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, and select Detect again. Scientific Agent asks the installed CLI for its current visible model catalog, offers those model IDs in the Codex field, and still permits another model ID that you have verified for the same login. 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).
For a codex-cli route, Reasoning effort can use the model default or an explicit supported
level. For a model reported by the installed CLI, the selector shows only that model's advertised
levels. Scientific Agent passes the saved value directly to each Codex CLI invocation rather than
inheriting ~/.codex/config.toml.
Saving validates references and restarts Runtime. These assignments are the defaults for new runs;
an existing non-terminal run can use Control Room → State → Active models → Switch models to
record a run-specific route update that becomes effective on its next model call.
After editing the endpoint, API format, or structured-output mode of a provider with the same name,
submit Switch models once in an existing run as well. Runtime refreshes the run's saved protocol
configuration even when the visible provider/model identity is unchanged, while preserving the
role's existing temperature, timeout, maximum output tokens, retry, and schema-repair execution
policy.
Desktop model templates also carry a non-secret temperature. A provider named exactly deepseek
uses an explicit temperature=0.0 for all three roles so different machines do not inherit
different service-side sampling defaults. Other providers leave temperature unset and retain their
native default. Switch models saves and audits this value with the selected template.
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 starts generated programs in dedicated action workspaces on Linux, macOS, and Windows. It filters credential variables and enforces timeout/output handling, but it is not an OS sandbox and retains the current user's filesystem and network authority.
Plugins
The manager separates Installed from Available:
- Install copies a local available package into the managed installed directory and uses bundled
uvto prepare an immutable dependency environment belonging only to that plugin. It does not import plugin code. - Enable probes/imports the entry point in an isolated worker and registers capabilities.
- Disable unregisters capabilities and stops the worker while preserving package, environment, and state.
- Choose ZIP imports one self-contained custom package; the current release has no remote plugin marketplace.
Select a plugin to inspect version, Core/Domain category, domain, status, capabilities/aliases, dependencies, isolation/environment identity, input/output artifact kinds, and its full manifest. Dependency preparation is automatic and never modifies Runtime Core, another plugin, or system Python.
Desktop uses domestic mirrors for this managed download path by default: Tsinghua TUNA for Python
packages and Nanjing University's python-build-standalone mirror for the isolated CPython
runtime. The exact defaults are
https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/ and
https://mirrors.nju.edu.cn/github-release/astral-sh/python-build-standalone/. Set
SCIENTIFIC_AGENT_PLUGIN_PACKAGE_INDEX or
SCIENTIFIC_AGENT_PLUGIN_PYTHON_MIRROR before launching Desktop to use another credential-free
HTTPS endpoint; set either variable to an empty value to restore that installer's upstream source.
The application does not inherit general UV_* index configuration into this isolated installer.
ZIP import validates without executing code, and a successful import still requires manifest review before Enable. Worker separation prevents dependency conflicts but is not an OS security sandbox; enabled plugin code still has the current user's local authority. See the Plugin SDK reference for package limits.
The reviewed bundle preinstalls beam.xsuite, evaluation.classification,
evaluation.regression, ml.symbolic_regression.builtin, scientific.analysis,
scientific.knowledge, and scientific.report. Xsuite remains outside Runtime Core and is resolved
into its plugin environment. The general PySR symbolic-regression provider is shipped under
Available and uses the managed worker path when installed on demand; other specialized and custom
plugins use the same managed path when supplied.
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.