Skip to content

Configuration ​

Tablette has two kinds of configuration: build-time environment variables and browser-persisted settings. There are no server-side secrets.

Build-time environment ​

Set these in the shell that runs npm run build (or npm run dev).

VariableDefaultPurpose
VITE_FORGE_PROXY/forge-proxy/Proxy base baked into the bundle. Empty means direct/CORS.
VITE_DOCS_BASEhttps://docs.tablette.bimr.netBase URL for module documentation links
FORGE_ALLOWED_HOSTSemptyProxy allowlist (dev/preview and standalone proxy)
FORGE_ALLOW_ANY0Allow any proxy target; development only
FORGE_PROXY_PREFIX/forge-proxyProxy mount prefix
PORT8787Proxy listen port
HOST127.0.0.1Proxy listen address
STUDIO_MODULESemptyComma-separated module ids to include in the generated registry
STUDIO_REGISTRY_OUTsrc/modules/registry.generated.tsRegistry output path
BIMR_WEB_DIR$HOME/SOURCES/BIMR/bimr-webLocal @bimr/web checkout for sync:bimr

Examples ​

bash
# same-origin proxy, production build
VITE_FORGE_PROXY=/forge-proxy/ npm run build

# no proxy: the forge must send CORS headers
VITE_FORGE_PROXY="" npm run build

# a subset of modules for a demo build
STUDIO_MODULES=wikidata,wikimedia npm run build

VITE_APP_VERSION and VITE_GIT_HASH are injected by vite.config.ts from package.json and git rev-parse; they are not set by hand.

Browser settings ​

Open Settings (gear icon). The values are stored in localStorage under studio.agentConfig:

FieldDefaultMeaning
baseUrlhttps://openrouter.ai/api/v1OpenAI-compatible endpoint
apiKeyemptyProvider key
modeldeepseek/deepseek-v4-flashModel id
temperature0.4Sampling temperature
forgeUrlhttps://artefacts.bimr.netForgejo base URL
forgeUserbotDefault owner
forgeTokenemptyForgejo token
proxyUrlemptyCORS proxy base ending in /

Provider presets ​

PresetBase URLModelKey format
OpenRouterhttps://openrouter.ai/api/v1deepseek/deepseek-v4-flashsk-or-v1-...
DeepSeekhttps://api.deepseek.com/v1deepseek-flashsk-...

The preset and key must match. Another OpenAI-compatible endpoint works if it implements the chat-completions API.

Local storage keys ​

KeyContent
studio.agentConfigModel and forge configuration
studio.modeCurrent mode (sketch, explore, learn, build)
studio.modules.overridesModule enable/disable overrides
studio.module.<id>Per-module settings
studio.promptHistoryPrompt recall
studio.usageToken and cost totals
studio.learn.*Lesson progress
IndexedDB studio-fsWorkspace and git data

All of it is per-origin. Clearing site data removes it.

Proxy resolution ​

src/forge/proxy.ts resolves the proxy base in this order:

  1. the proxyUrl setting;
  2. /forge-proxy/ in development;
  3. VITE_FORGE_PROXY from the build;
  4. direct access.

The proxy accepts two path shapes:

text
/forge-proxy/https://forge.example/api/v1/...
/forge-proxy/forge.example/api/v1/...

The second is what isomorphic-git produces when it strips the scheme.

Documentation site ​

The docs site is a separate VitePress build:

bash
npm run docs:dev
npm run docs:build
npm run docs:preview

It reads docs/ and writes docs/.vitepress/dist. The site URL is https://docs.tablette.bimr.net; see Docs site.

Next steps ​

Released under the MIT license.