llm

oc-llm · package · G5-LLM请求层 · Layer 4

① 作用

LLM 请求/协议层。src/index.ts:1-28 导出 LLMClient/Auth/Provider/Tool/ToolRuntime;核心 LLM 门面 src/llm.ts:45-48 提供 generate/stream 等请求方法。src/route/client.ts:29-49 定义 Route 结构(provider+protocol+endpoint+auth+transport)与 RequestExecutor;src/route/transport/http.ts、websocket.ts 实现 HTTP/WS 传输。内置 8 个 provider(src/providers/:anthropic、openai、google、azure、amazon-bedrock、openrouter 等,package.json:17-28)与 6 个协议适配(src/protocols/:anthropic-messages、openai-chat、openai-responses、gemini、bedrock-converse,package.json:29-35)。

② 提供能力

· 统一 LLM 客户端门面 generate/stream(packages/llm/src/llm.ts:45)
· Route 路由抽象:endpoint/auth/transport/body schema(packages/llm/src/route/client.ts:36-48)
· HTTP 与 WebSocket 传输层(packages/llm/src/route/transport/http.ts、websocket.ts)
· 多提供商适配:OpenAI/Anthropic/Google/Azure/Bedrock/OpenRouter/xAI 等(packages/llm/src/providers/)
· 多协议编解码:chat/responses/messages/gemini/bedrock(packages/llm/src/protocols/)
· Tool 定义与执行运行时(packages/llm/src/tool.ts、tool-runtime.ts)
· 上下文溢出检测(packages/llm/src/provider-error.ts:4)

③ 依赖(上游)

节点机制证据
schemaworkspace-dep@opencode-ai/llm/package.json dependencies.@opencode-ai/schema
planagent-core装配层→官方包
buildagent-core装配层→官方包

④ 被依赖(下游)

节点机制证据
coreworkspace-dep@opencode-ai/core/package.json dependencies.@opencode-ai/llm
opencodesemantic-depstage-01 opencode

⑤ 为什么存在(why)

设计意图(官方)

将多提供商/多协议的请求差异隔离在路由与协议适配层之下,向上提供单一 LLM 门面,支持 HTTP/WS 双通道并可被 http-recorder 录制回放(llm devDependency 依赖 recorder)。

改造关联

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

⑥ 怎么用(how)

怎么用

典型场景与协作

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