Dashboard › opencode › Distillation
a34ba325-2b2e-4742-aae8-689fc288676d["lore_tm_v1_C7H5CD72MCqcfqHu-umMHNIGdbobyjbXtOrDRgG0E0E","lore_tm_v1_mQge_w4GaWkJdSbXNM1ZcDAG2jpX_vc6eKp4MmiitPQ","lore_tm_v1_i-g07Fepdtfay8Nubj24hryUHNyYt4LJtbGOS6SFQF8","lore_tm_v1_XHy7H9g_-mVm_PNyRao7dgl820pE1mrVgOeSTUDxHyk","lore_tm_v1_P9FsK0UhUwFhkAxVvOfuKJD8QYeohwSpjosIGsp0Jkw","lore_tm_v1_gKHdduRijdl2GGGiwk59NdaNoRfjYdJEwjzl13Xbefw","lore_tm_v1_2PUhD4M87eaNfVfzA8SaG5c5b8q16Jo-eCIZkc2I7dU"]
/home/byk/.local/share/opencode-v2-pilot/config/opencode/node_modules/@types/node/child_process.d.ts, including spawn() overloads at lines 697–777 and spawnSync() overloads at lines 1242–1257.mi and exited with code 0./home/byk/.local/share/opencode-v2-pilot/config/opencode/plugins/pty.ts showed type PtyPluginOptions = SupervisorOptions & {, CLOSE_TIMEOUT_MS = 27_000, and a transport: SupervisorTransport field; the file includes spawn/session reservation, authorization, ownership, paging, write/read/kill, teardown, work-directory verification, command-length validation, shell permission assertion, and grep-related logic./home/byk/.local/share/opencode-v2-pilot/config/opencode/plugins contains exactly 3 files: followup.ts, pty-transport.ts, and pty.ts./home/byk/.local/share/opencode-v2-pilot/opencode-v2.service currently depends on the PTY supervisor through After=network.target opencode-pty-supervisor.service, Requires=opencode-pty-supervisor.service, and ExecCondition=/usr/local/libexec/opencode-pty-verify-readiness./home/byk/.local/share/opencode-v2-pilot/opencode-v2.service runs as User=byk from WorkingDirectory=/home/byk; it starts /home/byk/Code/opencode-v2-pilot/packages/cli/dist-v2-pilot-final/cli-node-linux-x64/bin/opencode2-node serve --hostname=0.0.0.0 --port=4096, uses Restart=always with RestartSec=5, and sets Nice=-5, LimitNOFILE=65535, LimitNPROC=4096, MemoryMax=13G, and MemoryHigh=12G./home/byk/.local/share/opencode-v2-pilot/opencode-v2.service loads /home/byk/.opencode/env and /home/byk/.local/share/opencode-v2-pilot/server.env; sets OPENCODE_CONFIG_DIR=/home/byk/.local/share/opencode-v2-pilot/config/opencode, OPENCODE_DB=/home/byk/.local/share/opencode-v2-pilot/data/opencode/opencode.db, and project-specific XDG_DATA_HOME, XDG_CACHE_HOME, XDG_CONFIG_HOME, and XDG_STATE_HOME; hardening includes NoNewPrivileges=true, ProtectSystem=strict, ProtectHome=read-only, ReadWritePaths=/home/byk, PrivateTmp=yes, and an empty SupplementaryGroups=./home/byk/.local/share/opencode-v2-pilot/config/opencode/tsconfig.json uses "module": "Preserve", "moduleResolution": "Bundler", "target": "ESNext", "strict": true, "noEmit": true, "allowImportingTsExtensions": true, "skipLibCheck": true, Bun types, and libraries ESNext, DOM, and DOM.Iterable./home/byk/.local/share/opencode-v2-pilot/config/opencode/tsconfig.json maps @opencode/plugin to /home/byk/Code/opencode-v2-pilot/packages/plugin/src/promise/index.ts and @opencode/plugin/* to /home/byk/Code/opencode-v2-pilot/packages/plugin/src/promise/*.ts; compilation includes plugins/**/*.ts and test/**/*.ts.model value always carries a provider prefix, such as "anthropic/claude-sonnet-4-6".mcp[name].command is an array of strings, never a single string, and that the MCP server type is required.description are filtered out and never surfaced to the model.customize-opencode skill identifies https://opencode.ai/config.json as the authoritative configuration schema and says every opencode.json should declare "$schema": "https://opencode.ai/config.json"; unknown top-level keys cause ConfigInvalidError.customize-opencode skill states that config is loaded only at startup and is not hot-reloaded; after changing opencode.json, an agent, skill, plugin, or another config-time file, the user must quit and restart opencode.skills is an object containing paths and/or urls; references, agent, command, and mcp are objects keyed by alias/name; plugin is an array of strings or [name, options] tuples; and permission is either a string action or an object keyed by tool name.SKILL.md, live under a skill-named folder such as .opencode/skills/my-skill/SKILL.md, and require a lowercase hyphen-separated name of at most 64 characters matching the folder. Skill descriptions should explain both what the skill does and when it triggers, use third person, and front-load concrete trigger terms or filenames.agent or file-based at .opencode/agent/<name>.md or .opencode/agents/<name>.md; file bodies become the agent prompt and must not duplicate it via prompt: frontmatter. Agent mode is "primary", "subagent", or "all", and default_agent must reference a non-hidden primary-mode agent.build, plan, general, and explore; hidden internal agents are compaction, title, and summary..opencode/command/<name>.md or the plural equivalent; the Markdown body is the required command template, $ARGUMENTS expands to all user input, and $1, $2, etc. select positional arguments.*.ts and *.js plugins under .opencode/plugin/ or .opencode/plugins/. A plugin exports a function of type Plugin, not a plain object; supported callback hooks include event, config, chat.message, chat.params, chat.headers, tool.execute.before, tool.execute.after, tool.definition, command.execute.before, shell.env, permission.ask, and experimental chat/session/compaction/text hooks."allow", "ask", and "deny". For per-tool pattern objects, insertion order matters because opencode evaluates the last matching rule, so broad rules should precede narrow rules. A top-level permission: "allow" permits everything and is described as rarely desirable.OPENCODE_DISABLE_PROJECT_CONFIG=1 to skip project config, OPENCODE_CONFIG=/path/to/file.json for an additional explicit config, OPENCODE_CONFIG_CONTENT='{"$schema":"https://opencode.ai/config.json"}' for a final inline merge, OPENCODE_DISABLE_DEFAULT_PLUGINS=1, OPENCODE_PURE=1, OPENCODE_DISABLE_EXTERNAL_SKILLS=1, and OPENCODE_DISABLE_CLAUDE_CODE_SKILLS=1.