mirror of
https://github.com/DeusData/codebase-memory-mcp.git
synced 2026-11-04 10:48:20 +00:00
74 lines
3.6 KiB
Markdown
74 lines
3.6 KiB
Markdown
# Frontend configuration
|
|
|
|
Open **System**, then **Configuration**. Settings are grouped by indexing,
|
|
resources, server, diagnostics, and browser. The **External inputs** reference
|
|
covers repository files, installation, launch flags, integration paths, and
|
|
development settings whose owner is outside the running daemon.
|
|
|
|
## Daemon overrides
|
|
|
|
Daemon edits are staged until **Save changes**. A batch is validated and committed
|
|
atomically to `_config.db` in the CBM cache directory. Invalid keys or values reject
|
|
the whole batch. Each row exposes its source, default, saved override, current
|
|
process value, and application timing. **Reset** removes the saved override; it
|
|
does not overwrite the inherited environment or replace it with a hardcoded default.
|
|
Legacy environment values outside the registry's canonical format are shown as
|
|
runtime-interpreted inputs, rather than guessed effective values. Saving an override
|
|
requires a validated value.
|
|
|
|
Supported environment overrides are loaded once when a process starts, ahead of
|
|
the inherited environment and built-in defaults. They do not mutate or export the
|
|
process environment. Restart CBM to apply changes throughout the installation;
|
|
newly launched index workers can load saved values before the existing daemon is
|
|
restarted. Explicit command flags, per-index options, and supervisor recovery caps
|
|
retain their documented precedence.
|
|
|
|
The existing `auto_index`, `auto_index_limit`, `auto_watch`, `watcher_enabled`, and
|
|
`ui-lang` settings share their canonical SQLite values with CLI configuration.
|
|
UI enablement and port overrides use the same transactional store, with legacy
|
|
UI `config.json` as a fallback. Explicit CLI/UI saves update that store too.
|
|
Concurrent edits use a revision check; a stale save fails without changing data.
|
|
|
|
Launch locations, filesystem access grants, arbitrary output destinations,
|
|
installer settings, test injection, and supervisor controls are references rather
|
|
than editable process overrides. Platform-specific or unlinked functionality is
|
|
marked unavailable. No generic environment editor or secret enumeration is exposed.
|
|
|
|
## Browser preferences
|
|
|
|
Browser changes apply immediately. Graph display and edge motion use their existing
|
|
preference stores. Galaxy budgets, coverage shadow, and architecture appearance
|
|
share a versioned, per-project browser store with the controls in those views.
|
|
Changing these values preserves the current selection. If storage is unavailable,
|
|
preferences remain usable for the current session.
|
|
|
|
The top-bar agent status opens separate local model controls. Opening configuration never
|
|
downloads weights or starts a model. Repository extension mappings and ignore files
|
|
remain repository-owned and take effect on subsequent indexing.
|
|
|
|
## Local HTTP API
|
|
|
|
`GET /api/config` returns `{ revision, settings }`. Each setting declares its type,
|
|
validation bounds or enum choices, lifecycle, provenance, and editability.
|
|
The registry lives in `src/cli/runtime_settings.c`; consumer locations are included
|
|
in its metadata. Browser response validation lives in `src/settings/config-model.ts`.
|
|
|
|
`POST /api/config` accepts JSON with the revision just read and a nonempty changes
|
|
object. Values are canonical strings; `null` removes an override:
|
|
|
|
```json
|
|
{
|
|
"revision": "12",
|
|
"changes": {
|
|
"CBM_WORKERS": "4",
|
|
"CBM_SEMANTIC_ENABLED": "false",
|
|
"CBM_SQLITE_MMAP_SIZE": null
|
|
}
|
|
}
|
|
```
|
|
|
|
Success returns the updated snapshot. Invalid batches return 400, conflicting
|
|
revisions return 409, and storage failures return 500. Existing loopback Host,
|
|
same-origin, and JSON-content checks protect the endpoint. Frontend drafts survive
|
|
errors so users can inspect the conflict before reloading or discarding them.
|