feat(opencode): migrate agent runtime to v2

This commit is contained in:
2026-08-04 16:56:04 +08:00
parent 07016451d6
commit 764a1f4e82
33 changed files with 1662 additions and 1057 deletions
+6 -5
View File
@@ -5,10 +5,10 @@
## 主要能力
- 提供 `POST /api/v1/agent/sessions/{session_id}/runs` SSE 聊天接口。
- 支持 embedded OpenCode 运行时,也可连接外部 OpenCode server
- 使用 OpenCode 2.0 beta client支持 embedded `opencode2` service,也可连接外部 V2 service。
- 管理前端 `session_id` 与 OpenCode session 的映射。
- 在服务端保存当前会话的用户 token、项目、network 和 trace 上下文。
- 通过 `.opencode/tools` 和 MCP 工具驱动地图定位、图表、SCADA、历史数据和业务 API 调用。
- 通过 `.opencode/plugins` 注册 `.opencode/tools` 中的工具实现,驱动地图定位、图表、SCADA、历史数据和业务 API 调用。
- 通过 `data/` 保存运行时会话元数据、结果引用和本地状态。
## 目录结构
@@ -21,7 +21,8 @@ src/runtime/ OpenCode 运行时管理
src/session/ 会话映射和运行上下文
src/mcp/ MCP 服务与工具桥接
.opencode/agents/ Agent prompt 和模型行为配置
.opencode/tools/ OpenCode 自定义工具
.opencode/plugins/ OpenCode V2 插件入口
.opencode/tools/ 插件注册的工具实现
.opencode/skills/ 可复用分析工作流
node-tests/ Node CLI 测试
data/ 本地运行时数据,禁止提交
@@ -60,14 +61,14 @@ docker build -t tjwater-agent:local .
## 运行模式
Embedded 模式由服务进程拉起本机 OpenCode
Embedded 模式由服务进程拉起本机 `opencode2 serve --service`。本地需要安装与 `@opencode-ai/client``@opencode-ai/plugin` 对齐的 V2 beta CLI;Docker 镜像会安装仓库固定版本
```bash
OPENCODE_MODE=embedded
TJWATER_API_BASE_URL=http://127.0.0.1:8000
```
Client 模式连接外部 OpenCode server
Client 模式连接外部 OpenCode V2 service
```bash
OPENCODE_MODE=client