跳到正文
SGSteven Guan

产品路线 / OpenCode

OpenCode

以客户端与HTTP server分离方式提供多provider代码Agent。

要解决的问题它怎样运行Agent,哪些状态和权限仍由应用负责?

检索别名:Anomaly OpenCode · sst/opencode

BLUEPRINT局部蓝图

01 输入

  1. 代码或文件Task
  2. OpenCode server与provider
  3. 外层企业权限和产物合同
→

02 处理机制

  1. 锁定发行渠道与版本
  2. 通过受控server接口运行
  3. 保存消息及工具结果
  4. 导出并验证业务产物
→

03 输出与证据

  1. 代码与文件变更
  2. 会话和Step记录
  3. 适配及恢复验证

技术路线档案

与其他产品比较 ↗
团队 / 厂商
Anomaly
路线类型
多Provider代码Harness
执行边界
Server在所选环境执行工具,客户端经HTTP/OpenAPI连接。
编排机制
模型驱动循环,显式step结果、会话队列与context压缩。
上下文与知识
会话消息、inbox与近期原文/摘要分开;provider原生context另有兼容边界。
状态与记忆
源码可见SQLite session、消息顺序、fork、token/cache计数与compaction;不能直接当多租户云数据库架构。
模型可替换边界
多provider是产品方向;每模型原生能力与压缩状态需独立核验。
部署形态
本地或受控云worker;企业入口另加身份、scope和网络边界。
许可边界
MIT
截止日状态
观察于2026-10-15:latest non-prerelease与研发渠道区分展示;v1.19.1;dev SHA f40dc433cb52eeb3ff5ec7a755f0ba0162216a51
适用优势
开放源码与client/server边界便于集成,适合代码执行worker。
限制与未知
待验证或未公开:stable包与dev结构差异;多实例云持久化;特定provider质量。公开能力不等同企业负载与领域任务实测。

观察时点:2026-10-15。以客户端与HTTP server分离方式提供多provider代码Agent。

已公开的技术路线与控制边界

TUI/客户端+OpenAPI server+工具runtime;研发源码有session_v2、inbox与显式step结果。server工具执行权限与企业SSO/租户网关不同;Basic Auth不能替代完整企业授权。

OpenCode采用客户端与server分离的产品架构。官方文档说明headless server通过HTTP和OpenAPI提供接口,TUI及其他客户端连接它。这使代码Agent可以被程序调用,但server入口本身不等于企业SSO、租户和任务治理;文档中的Basic Auth需要结合外层网络与身份控制评估。

本页引用的固定dev源码属于新的packages/core结构。session_v2保存project、workspace、parent、fork边界、directory、model、permission、token/cache计数与恢复字段;消息、pending和inbox分表并维护顺序。这些设计说明会话不只是聊天文本,也显示本地产品状态与多实例云平台之间仍有差距。

Step runtime对Completed、Retry、Continue、RecoverFull、Compacted和OutputLimit等结果作显式区分。模型流和工具可以并行,中断工作时仍保护最终事件发布;完整重试取决于是否已产生输出。企业可以借鉴这种取消与结果持久化分离,避免外部动作发生后内部只剩一个aborted状态。

Compaction实现保留近期原文并总结更早历史,区分provider原生context。源码仍有演进中尚待完善的细节,也提示多模型行为不能想当然。模型可替换是产品方向,native工具、缓存和opaque压缩仍需逐项验证。

版本与名称要特别小心:原sst/opencode当前迁移到anomalyco/opencode;opencode-ai/opencode是另一个已归档的Go项目,后继为Crush;ducan-ne/OpenCoder又是独立项目。本页的dev SHA也不能当成stable v1.19.1二进制已经具备相同结构。PoC必须锁渠道、包版本和源码。

MIT许可有利于复用,推荐先作为受限代码文件worker集成,而非整仓重写企业认证、数据库和工作流。测试路径迁移、日志增长、重启恢复、取消、provider切换和产物读回;相关issue只是特定环境的测试线索,不能被概括成所有当前版本的缺陷。

适合的集成切片是一个云端受限工作区:应用把Task映射为独立工作目录或环境,经受控HTTP入口提交,读取事件和最终产物。先验证目录与项目身份的迁移、会话恢复和多客户端行为,再考虑增加更多用户。SQLite的本地便捷性不等于可把文件放共享卷供多实例任意写;若改为企业持久层,必须估算核心模型、迁移和上游同步成本。还要验证工具快照如何增长、何时清理以及删除是否保留必要产物。只有这些关键差异可在清晰边界外实现时,集成才比大规模fork更有优势。

数据、记忆与模型替换

源码可见SQLite session、消息顺序、fork、token/cache计数与compaction;不能直接当多租户云数据库架构。

多provider是产品方向;每模型原生能力与压缩状态需独立核验。

执行、部署与采用取舍

Server在所选环境执行工具,客户端经HTTP/OpenAPI连接。模型驱动循环,显式step结果、会话队列与context压缩。本地或受控云worker;企业入口另加身份、scope和网络边界。

开放源码与client/server边界便于集成,适合代码执行worker。

观察于2026-10-15:latest non-prerelease与研发渠道区分展示;v1.19.1;dev SHA f40dc433cb52eeb3ff5ec7a755f0ba0162216a51

许可边界:MIT。采用前按实际使用方式核验组件、云服务与模型条款。

证据范围与未知

固定dev源码已读schema、step和compaction;旧sst入口迁移至anomalyco;另一个opencode-ai项目已归档。

未公开或仍需目标环境验证的部分:stable包与dev结构差异;多实例云持久化;特定provider质量。本页不以产品表面行为推断其隐藏实现。

OpenCode:HTTP与OpenAPI server;OpenCode:session_v2与消息表源码;OpenCode:流、工具和取消源码;OpenCode:摘要与近期原文;OpenCode:MIT许可。

RELATIONSHIP MAP

与其他节点的关系

箭头从本节点指向目标;关系是工程分析映射,不代表厂商合作或已披露的内部实现。

PRIMARY SOURCES

来源与阅读边界

来源按研究截止日整理。官方文档说明能力和约束,代码只证明对应版本,论文与讲座不自动证明生产效果。 资料截止:2026-10-15。

  1. OpenCode:HTTP与OpenAPI server ↗官方文档 / 声明

    观察基线:2026-10-15。固定SHA代码用于说明可见实现;产品声明不等同目标环境实测。

  2. OpenCode:session_v2与消息表源码 ↗公开代码

    观察基线:2026-10-15。固定SHA代码用于说明可见实现;产品声明不等同目标环境实测。

  3. OpenCode:流、工具和取消源码 ↗公开代码

    观察基线:2026-10-15。固定SHA代码用于说明可见实现;产品声明不等同目标环境实测。

  4. OpenCode:摘要与近期原文 ↗公开代码

    观察基线:2026-10-15。固定SHA代码用于说明可见实现;产品声明不等同目标环境实测。

  5. OpenCode:MIT许可 ↗公开代码

    观察基线:2026-10-15。固定SHA代码用于说明可见实现;产品声明不等同目标环境实测。