Skip to content

Configuration ​

Environment Variables ​

VariableDefaultDescription
PORT8000Preferred starting port for the backend. If busy, scans 8001–8099.
SILICON_AUTH_TOKEN(unset)Shared secret between Electron and backend. When set, all non-public API endpoints require Authorization: Bearer <token> (or ?token= for SSE). Unset = no auth (dev mode).
SILICON_PARENT_PID(unset)PID of the Electron parent. Backend polls every 5 s and exits if the parent is gone. Set automatically when launched by Electron.

The backend binds to 127.0.0.1 only. No external network access.

Frontend Settings ​

Settings are stored in the browser's localStorage and persist across sessions.

Chat Settings ​

Key: silicon-studio-chat-settings

FieldTypeDefaultDescription
systemPromptstring"You are a helpful AI assistant running locally on Apple Silicon."System message prepended to every conversation
temperaturenumber0.7Sampling temperature (0 = deterministic, 2 = max randomness)
maxTokensnumber2048Maximum tokens per response
maxContextnumber4096Conversation context window size
topPnumber0.9Nucleus sampling threshold
repetitionPenaltynumber1.1Penalty for repeated tokens
reasoningModestring"auto"One of: off, auto, low, high
webSearchEnabledbooleanfalseInject web search results into context

These values can be changed in the Settings page or per-conversation via the collapsible parameters sidebar.

RAG Settings ​

Key: silicon-studio-rag-settings

FieldTypeDefaultDescription
chunkSizenumber512Characters per chunk during ingestion
chunkOverlapnumber50Overlap between consecutive chunks

Per-Conversation Overrides ​

The parameters sidebar in the Chat view stores overrides in component state. These are not persisted to localStorage — they reset when switching conversations. The sidebar also controls:

SettingDescription
Show PromptDisplay the raw system prompt sent to the model
Syntax CheckAuto-validate code blocks in responses
Auto-fix SyntaxShow a "Fix" button on invalid code
Memory MapAuto-summarize context every N messages
PII RedactionReplace emails, phones, IPs with tokens before sending
RAG KnowledgeEnable and select a knowledge collection
Web SearchEnable DuckDuckGo search injection
Visible ActionsToggle which quick actions appear on responses

Backend Storage ​

All backend data lives in ~/.silicon-studio/. There is no database — everything is JSON files on disk.

models.json ​

json
{
  "model-id": {
    "id": "model-id",
    "name": "Qwen3-1.7B-MLX-8bit",
    "size": "1.7B",
    "architecture": "qwen2",
    "downloaded": true,
    "local_path": "/Users/you/.silicon-studio/models/...",
    "is_finetuned": false
  }
}

mcp_servers.json ​

json
{
  "server-uuid": {
    "id": "server-uuid",
    "name": "filesystem",
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"],
    "env": {},
    "transport": "stdio"
  }
}

Electron Configuration ​

Build config is in the root package.json under the "build" key. Key settings:

FieldValue
appIdcom.silicondev.app
mac.target["dmg", "zip"]
mac.hardenedRuntimetrue
mac.iconresources/icon.icns

The backend is bundled as a PyInstaller binary in backend/dist/silicon_server and included via extraResources.

Released under the MIT License. · Privacy & legal