protocol

oc-protocol · package · G2-通信协议 · Layer 4

① 作用

通信协议层。src/api.ts:26-86 用 effect/unstable/httpapi 定义 OpenCode HttpApi 结构:注册 Health/Location/Agent/Session/Message/Model/Provider/Integration/Credential/Permission/FS/Command/Skill/Event/Pty/Question/Reference/ProjectCopy 共 18 个 Group(src/api.ts:38-55),并挂 Authorization/SchemaError 中间件(src/api.ts:63-64)。src/errors.ts:3-40 定义带 httpApiStatus 的 TaggedError(400/401/409/503 等)。src/groups/* 按资源定义端点与契约,middleware/authorization.ts:4-6 定义 Authorization 服务。

② 提供能力

· OpenCode HttpApi 协议定义(packages/protocol/src/api.ts:37-55)
· 18 个资源端点组(packages/protocol/src/groups/*)
· 统一错误契约(httpApiStatus 标注,packages/protocol/src/errors.ts:3-40)
· Authorization/SchemaError 中间件契约(packages/protocol/src/middleware/)
· OpenAPI 注解(packages/protocol/src/api.ts:56-62)

③ 依赖(上游)

节点机制证据
schemaworkspace-dep@opencode-ai/protocol/package.json dependencies.@opencode-ai/schema

④ 被依赖(下游)

节点机制证据
clientworkspace-dep@opencode-ai/client/package.json dependencies.@opencode-ai/protocol
serverworkspace-dep@opencode-ai/server/package.json dependencies.@opencode-ai/protocol
opencodesemantic-depstage-01 opencode

⑤ 为什么存在(why)

设计意图(官方)

协议与实现分离:protocol 只声明端点/中间件/错误的契约(server 注入具体服务身份,见 src/api.ts:25 注释),使 server、client、cli 对同一协议的不同实现方共享同一类型面。

改造关联

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

⑥ 怎么用(how)

怎么用

典型场景与协作

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