| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561 |
- {
- "$schema": "https://json-schema.org/draft/2020-12/schema",
- "type": "object",
- "properties": {
- "preset": {
- "type": "string"
- },
- "setDefaultAgent": {
- "type": "boolean"
- },
- "autoUpdate": {
- "description": "Disable automatic installation of plugin updates when false. Defaults to true.",
- "type": "boolean"
- },
- "compactSidebar": {
- "description": "Render each agent on a single line in the TUI sidebar instead of the default multi-line layout. Default false.",
- "type": "boolean"
- },
- "presets": {
- "type": "object",
- "propertyNames": {
- "type": "string"
- },
- "additionalProperties": {
- "type": "object",
- "propertyNames": {
- "type": "string"
- },
- "additionalProperties": {
- "type": "object",
- "properties": {
- "model": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "minItems": 1,
- "type": "array",
- "items": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "variant": {
- "type": "string"
- }
- },
- "required": [
- "id"
- ]
- }
- ]
- }
- }
- ]
- },
- "temperature": {
- "type": "number",
- "minimum": 0,
- "maximum": 2
- },
- "variant": {
- "type": "string"
- },
- "skills": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "mcps": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "prompt": {
- "type": "string",
- "minLength": 1
- },
- "orchestratorPrompt": {
- "type": "string",
- "minLength": 1
- },
- "options": {
- "type": "object",
- "propertyNames": {
- "type": "string"
- },
- "additionalProperties": {}
- },
- "displayName": {
- "type": "string",
- "minLength": 1
- }
- },
- "additionalProperties": false
- }
- }
- },
- "agents": {
- "type": "object",
- "propertyNames": {
- "type": "string"
- },
- "additionalProperties": {
- "type": "object",
- "properties": {
- "model": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "minItems": 1,
- "type": "array",
- "items": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "variant": {
- "type": "string"
- }
- },
- "required": [
- "id"
- ]
- }
- ]
- }
- }
- ]
- },
- "temperature": {
- "type": "number",
- "minimum": 0,
- "maximum": 2
- },
- "variant": {
- "type": "string"
- },
- "skills": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "mcps": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "prompt": {
- "type": "string",
- "minLength": 1
- },
- "orchestratorPrompt": {
- "type": "string",
- "minLength": 1
- },
- "options": {
- "type": "object",
- "propertyNames": {
- "type": "string"
- },
- "additionalProperties": {}
- },
- "displayName": {
- "type": "string",
- "minLength": 1
- }
- },
- "additionalProperties": false
- }
- },
- "disabled_agents": {
- "description": "Agent names to disable completely. Disabled agents are not instantiated and cannot be delegated to. Orchestrator and council internal agents (councillor) cannot be disabled. By default, 'observer' is disabled. Remove it from this list and configure a vision-capable model to enable.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "disabled_mcps": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "disabled_tools": {
- "description": "Tool names to disable completely. Disabled tools are not registered with OpenCode and cannot be used by agents.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "disabled_skills": {
- "description": "Skill names to disable completely. Disabled skills are not granted to agents, even when referenced by presets or agent overrides.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "multiplexer": {
- "type": "object",
- "properties": {
- "type": {
- "default": "none",
- "type": "string",
- "enum": [
- "auto",
- "tmux",
- "zellij",
- "none"
- ]
- },
- "layout": {
- "default": "main-vertical",
- "type": "string",
- "enum": [
- "main-horizontal",
- "main-vertical",
- "tiled",
- "even-horizontal",
- "even-vertical"
- ]
- },
- "main_pane_size": {
- "default": 60,
- "type": "number",
- "minimum": 20,
- "maximum": 80
- },
- "zellij_pane_mode": {
- "default": "agent-tab",
- "type": "string",
- "enum": [
- "agent-tab",
- "current-tab"
- ]
- }
- }
- },
- "tmux": {
- "type": "object",
- "properties": {
- "enabled": {
- "default": false,
- "type": "boolean"
- },
- "layout": {
- "default": "main-vertical",
- "type": "string",
- "enum": [
- "main-horizontal",
- "main-vertical",
- "tiled",
- "even-horizontal",
- "even-vertical"
- ]
- },
- "main_pane_size": {
- "default": 60,
- "type": "number",
- "minimum": 20,
- "maximum": 80
- }
- }
- },
- "websearch": {
- "type": "object",
- "properties": {
- "provider": {
- "default": "exa",
- "type": "string",
- "enum": [
- "exa",
- "tavily"
- ]
- }
- }
- },
- "interview": {
- "type": "object",
- "properties": {
- "maxQuestions": {
- "default": 2,
- "type": "integer",
- "minimum": 1,
- "maximum": 10
- },
- "outputFolder": {
- "default": "interview",
- "type": "string",
- "minLength": 1
- },
- "autoOpenBrowser": {
- "default": true,
- "description": "Automatically open the interview UI in your default browser during interactive runs. Disabled automatically in tests and CI.",
- "type": "boolean"
- },
- "port": {
- "default": 0,
- "type": "integer",
- "minimum": 0,
- "maximum": 65535
- },
- "dashboard": {
- "default": false,
- "type": "boolean"
- }
- }
- },
- "backgroundJobs": {
- "type": "object",
- "properties": {
- "maxSessionsPerAgent": {
- "default": 2,
- "type": "integer",
- "minimum": 1,
- "maximum": 10
- },
- "readContextMinLines": {
- "default": 10,
- "type": "integer",
- "minimum": 0,
- "maximum": 1000
- },
- "readContextMaxFiles": {
- "default": 8,
- "type": "integer",
- "minimum": 0,
- "maximum": 50
- }
- }
- },
- "fallback": {
- "type": "object",
- "properties": {
- "enabled": {
- "default": true,
- "type": "boolean"
- },
- "timeoutMs": {
- "default": 15000,
- "type": "number",
- "minimum": 0
- },
- "retryDelayMs": {
- "default": 500,
- "type": "number",
- "minimum": 0
- },
- "retry_on_empty": {
- "default": true,
- "description": "When true (default), empty provider responses are treated as failures, triggering fallback/retry. Set to false to treat them as successes.",
- "type": "boolean"
- }
- },
- "additionalProperties": false
- },
- "council": {
- "type": "object",
- "properties": {
- "presets": {
- "type": "object",
- "propertyNames": {
- "type": "string"
- },
- "additionalProperties": {
- "type": "object",
- "propertyNames": {
- "type": "string"
- },
- "additionalProperties": {
- "type": "object",
- "propertyNames": {
- "type": "string"
- },
- "additionalProperties": {}
- }
- }
- },
- "timeout": {
- "default": 180000,
- "type": "number",
- "minimum": 0
- },
- "default_preset": {
- "default": "default",
- "type": "string"
- },
- "councillor_execution_mode": {
- "default": "parallel",
- "description": "Execution mode for councillors. \"serial\" runs them one at a time (required for single-model systems). \"parallel\" runs them concurrently (default, faster for multi-model systems).",
- "type": "string",
- "enum": [
- "parallel",
- "serial"
- ]
- },
- "councillor_retries": {
- "default": 3,
- "description": "Number of retry attempts for councillors that return empty responses (e.g. due to provider rate limiting). Default: 3 retries.",
- "type": "integer",
- "minimum": 0,
- "maximum": 5
- },
- "master": {
- "description": "DEPRECATED — ignored. Council agent synthesizes directly."
- }
- },
- "required": [
- "presets"
- ]
- },
- "companion": {
- "type": "object",
- "properties": {
- "enabled": {
- "type": "boolean"
- },
- "binaryPath": {
- "description": "Path to a custom companion binary to launch.",
- "type": "string",
- "minLength": 1
- },
- "position": {
- "type": "string",
- "enum": [
- "bottom-right",
- "bottom-left",
- "top-right",
- "top-left"
- ]
- },
- "size": {
- "type": "string",
- "enum": [
- "small",
- "medium",
- "large"
- ]
- },
- "gifPack": {
- "description": "Bundled companion animation pack to use.",
- "type": "string",
- "enum": [
- "default"
- ]
- },
- "loopStyle": {
- "description": "Companion animation playback style: classic loops or smooth ping-pong playback.",
- "type": "string",
- "enum": [
- "classic",
- "smooth"
- ]
- },
- "speed": {
- "description": "Companion animation playback speed multiplier. Defaults to 1.",
- "type": "number",
- "minimum": 0.25,
- "maximum": 4
- },
- "debug": {
- "description": "Enable verbose native companion debug logs.",
- "type": "boolean"
- }
- }
- },
- "acpAgents": {
- "type": "object",
- "propertyNames": {
- "type": "string"
- },
- "additionalProperties": {
- "type": "object",
- "properties": {
- "command": {
- "type": "string",
- "minLength": 1
- },
- "args": {
- "default": [],
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "env": {
- "default": {},
- "type": "object",
- "propertyNames": {
- "type": "string"
- },
- "additionalProperties": {
- "type": "string"
- }
- },
- "cwd": {
- "type": "string",
- "minLength": 1
- },
- "description": {
- "type": "string",
- "minLength": 1
- },
- "prompt": {
- "type": "string",
- "minLength": 1
- },
- "orchestratorPrompt": {
- "type": "string",
- "minLength": 1
- },
- "wrapperModel": {
- "type": "string",
- "pattern": "^[^/\\s]+\\/[^\\s]+$"
- },
- "timeoutMs": {
- "default": 0,
- "description": "Timeout for a single ACP run in milliseconds. Set to 0 to disable the timeout.",
- "type": "integer",
- "minimum": 0,
- "maximum": 2147483647
- },
- "permissionMode": {
- "default": "ask",
- "type": "string",
- "enum": [
- "ask",
- "allow",
- "reject"
- ]
- }
- },
- "required": [
- "command"
- ],
- "additionalProperties": false
- }
- }
- },
- "title": "oh-my-opencode-slim",
- "description": "Configuration schema for oh-my-opencode-slim plugin for OpenCode"
- }
|