Settings, models, plugins, and storage
Settings contains General, Models, Providers, Execution, Plugins, Storage, and About. Saving a provider or model-routing change restarts Desktop Runtime; avoid doing so while an immediate active operation still needs attention.
General
- Theme — System, Light, or Dark. Selection previews immediately; Save persists it.
- Language — English or Simplified Chinese, applied immediately and stored on this device.
Sidebar collapse state is also local UI storage. Appearance preferences do not enter Research Contracts or event streams.
Providers
A provider defines how Runtime reaches a model service; it is separate from cognitive-role routing. The current editor supports:
| API format | Structured-output modes |
|---|---|
| OpenAI Responses | JSON Schema |
| OpenAI-compatible Chat Completions | JSON Schema, JSON Object, Tool Call |
| Anthropic Messages | JSON Schema, Tool Call |
Remote providers
- Enter a stable lowercase name.
openaiandanthropicuse built-in protocol choices; another name denotes a compatible service. - Select the API format.
- Base URL may be blank for built-in OpenAI; every other remote provider needs an absolute HTTP(S) Base URL.
- Enter a model ID actually available from that service. UI defaults and documentation placeholders do not guarantee account availability.
- Select a structured-output mode implemented by the endpoint.
- Enter the API key, Save provider, then Test connection.
Keys are written only to OS Keychain, Credential Manager, or Secret Service. Runtime configuration contains provider, endpoint, model, format, and an environment-variable name. Leave the key blank while editing to retain it. Remove deletes the provider and stored credential; historical runs remain readable.
The official OpenAI API quickstart likewise treats the API key as an environment credential rather than research-YAML content.
Local Codex login
Scientific Agent can reuse an authenticated official Codex CLI session on the same machine:
codex login
Complete the browser sign-in, return to Settings → Providers, select Detect again, enter a verified Codex model, then choose Use local Codex and Test connection. Scientific Agent records executable/version/model metadata but neither copies nor stores the Codex credential. See the official Codex authentication guide.
If the CLI is absent from the Desktop process PATH, detection reports not found. Install and sign
in from the same user environment, then restart the app; do not place a personal token in Scientific
Agent settings files.
Models
Model Plane has three finite roles:
- Scientific Reasoning chooses strategy, evidence, and the next research action.
- Code Generation implements an already approved experiment or analysis request.
- Code Repair fixes bounded syntax, interface, shape, or serialization errors without changing scientific strategy.
With Use one model for all functions, the Scientific Reasoning selection is copied to the other
roles (strong_only). Turn it off for independent provider/model selections (role_separated).
Saving validates references, restarts Runtime, and affects new runs only.
There remains exactly one Scientific Reasoner even with separate models. Code Generation and Code
Repair are not additional research agents and cannot alter the goal, criteria, data plan, or declare
DONE.
Execution
Only executors actually available are shown. The installed app reports its bundled scientific Python environment; development mode reports the current Python environment. Local Executor availability does not imply a security sandbox: generated programs run as local child processes with the current user's authority.
Plugins
The manager separates Installed from Available:
- Install copies a local available package into the managed installed directory.
- Enable checks dependencies, imports the entry point, and registers capabilities.
- Disable unregisters capabilities while preserving package and state.
- Choose ZIP imports one self-contained custom package.
Select a plugin to inspect version, Core/Domain category, domain, status, capabilities/aliases, dependencies, input/output artifact kinds, and its full manifest. Enable is blocked for missing dependencies. Runtime reports dependencies but never runs pip automatically.
ZIP import validates without executing code, and a successful import still requires manifest review before Enable. Enabling is a trust decision: plugin code runs with Runtime permissions. See the Plugin SDK reference for package limits.
Storage
Storage displays Scientific Data Location, total size, Run count, and Artifact count, with:
- Open Folder — open the durable data root;
- Change Location — select and switch to a new location through Desktop Runtime;
- Export Backup — create a recovery ZIP under
exports/backups/.
A Runtime backup contains runs, artifacts, models, reports, and backup.json with per-file hashes.
It is for machine recovery. It differs from a successful run's human-facing Scientific Package.
The destination must be empty and cannot contain, or be contained by, the source. Migration uses
copy → hash verify → atomic switch and removes source components only after verification. Do not
manually move runs/ in a file manager while the app is active.
About
About shows Desktop/Runtime versions, Runtime health, local API session protection, executor state, and sanitized diagnostics. Open Logs Folder helps diagnose startup or sidecar problems. Updates currently report not configured and are not an online upgrade mechanism.