opencode

oc-opencode · package · G19-主入口 · Layer 0

① 作用

主应用/CLI 入口。src/index.ts:45 用 yargs 装配 run/serve/tui/agent/acp 等全部子命令;src/cli/tui/layer.ts:1 经 @opencode-ai/tui 拉起终端 UI;src/server/server.ts:4-13 组装 Node HTTP/WebSocket 服务器与 HttpApi 路由。会话编排由 src/session/processor.ts:26-27 驱动(回退 LLM、工具调度),工具清单在 src/tool/registry.ts:4-16 注册(read/edit/shell/glob/grep/webfetch 等 20+ 内置工具)。

② 提供能力

· CLI 入口:yargs 子命令体系(run/serve/tui/agent/acp/github 等 20+ 命令,packages/opencode/src/index.ts:45)
· HTTP/SSE/WebSocket 服务器实例(packages/opencode/src/server/server.ts:27-30)
· 会话处理器:消息输入→LLM 请求→工具执行的编排循环(packages/opencode/src/session/processor.ts:32)
· 内置工具集:read/write/edit/shell/glob/grep/task/webfetch 等(packages/opencode/src/tool/registry.ts:4)
· Session 状态机、compaction/retry/summary/reminders 生命周期(packages/opencode/src/session/*)
· 插件宿主:加载外部 plugin 与 provider 扩展(packages/opencode/src/plugin/index.ts:8)
· Code Mode 工具桥接(packages/opencode/src/tool/code-mode.ts:4)

③ 依赖(上游)

节点机制证据
coresemantic-depstage-01 opencode
llmsemantic-depstage-01 opencode
pluginsemantic-depstage-01 opencode
protocolsemantic-depstage-01 opencode
schemasemantic-depstage-01 opencode
sdksemantic-depstage-01 opencode
serversemantic-depstage-01 opencode
tuisemantic-depstage-01 opencode
codemodesemantic-depstage-01 opencode
http-recordersemantic-depstage-01 opencode
scriptworkspace-depv1.18.25 workspace dep
planagent-core装配层→官方包
buildagent-core装配层→官方包
agent-protocolinstruction-load装配层→官方包
architecture-behaviorinstruction-load装配层→官方包
auto-modeinstruction-load装配层→官方包
browser-managementinstruction-load装配层→官方包
requirement-discovery-behaviorinstruction-load装配层→官方包
search-behaviorinstruction-load装配层→官方包
reflectioncommand-dep装配层→官方包
archcommand-dep装配层→官方包
rdcommand-dep装配层→官方包
mainconfig-dep装配层→官方包

④ 被依赖(下游)

无下游依赖

⑤ 为什么存在(why)

设计意图(官方)

作为可分发 CLI 二进制(bin/opencode)聚合所有上层能力,把核心服务、LLM、TUI、协议编排成终端可执行产品,同时保持与 server 分离以便 web/desktop 前端复用同一套服务。

改造关联

官方底座,未被本机装配层直接引用

⑥ 怎么用(how)

怎么用

典型场景与协作

模块内部结构 DAG(362 模块 · 1504 边 · 组级视图) 内部结构基线 v1.18.29,v1.18.35 包级结构未变(36 包集合逐一致)

按目录分组的组级视图:点击组节点下钻查看组内模块依赖;点击模块节点查看完整路径。

组级视图