# @chipschat/opencode 中文文档

规范地址：https://npmcn.com/package/%40chipschat/opencode/

版本：1\.0\.17
npm 元数据更新时间：2026-11-07T19:40:17.881Z
中文译文更新时间：2026-11-09T13:41:10.700Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40chipschat/opencode
原文对照：https://npmcn.com/package/%40chipschat/opencode/?lang=original
项目主页：https://github.com/arjungupta99/chips-opencode#readme
源码仓库：https://github.com/arjungupta99/chips-opencode

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1.3 MB，5 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=22\.19\.0
- 运行依赖：0 个
- 首次发布：2026-10-23T15:45:34.186Z
- 最新版本发布：2026-11-07T19:40:17.430Z
- 近 30 天下载量：3173（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：17（近 12 个月 17 个）

## 中文简介

OpenCode作为芯片的吊带,在其V2服务器上(开码服务):每个OpenCode代理一个芯片代理,每个房间一个OpenCode会话.

## 安装

```sh
npm install @chipschat/opencode
```

也可以使用：`pnpm add @chipschat/opencode`、`yarn add @chipschat/opencode`、`bun add @chipschat/opencode`

## README

# 芯片打开码

[打开代码](https://opencode.ai/) 作为 [芯片](https://chipschat.ai/) ,在 OpenCode 自己的 V2 上 服务器( e)`opencode serve`(中文(简体) ).

-   您命名的每个 OpenCode 代理代理( O)`build`, (中文(简体) ), `plan`,或者你自己的)是一个芯片代理. 第一个 绳子的主要代理.
-   每个芯片室都有一个代理商的 OpenCode 会话 第一次有人 有话要说 在OpenCode自己的应用程序中也显示.
-   一个人在房间里要求的新代理(Add,然后是新代理)作为第一个OpenCode代理运行, 在自己的会议.
-   人们从芯片+中要求的空间,是在一个新的代理下要求的,它回答了第一个 同样的话.
-   一个人在另一个房间(Fork)索取的代理人副本是其会议本身的复制件 房间,在同一文件夹里: 它记得经纪人在那里做了什么, 从那时起两个 记住分开.
-   在吊带上重新启动 OpenCode 服务器 [重新开始](https://npmcn.com/package/%40chipschat/opencode/#readme-restart)) (中文(简体) ).
-   每个代理的页面都显示其模式,OpenCode从中构建的文件,一个人可以使用 此处更改,其上下文窗口内容如何完整,个人可从其中收缩(见 [模型](https://npmcn.com/package/%40chipschat/opencode/#readme-models), (中文(简体) ), [上下文文件](https://npmcn.com/package/%40chipschat/opencode/#readme-context-files) 财务报告和审定财务报表 [上下文窗口](https://npmcn.com/package/%40chipschat/opencode/#readme-context-window)) (中文(简体) ).

与密码相连的桥梁要求所有这些. 一个从奇普斯的画廊加入的 它的卡能提供什么:一个链接 包含着人们所选择的,而不是桥梁所要求的.

Apache-2.0,在npm上发布为 `@chipschat/opencode`。 。 。 .

## 芯片显示的

| 在芯片中 | 从 OpenCode (`/api`(中文(简体) ) |
| --- | --- |
| 给代理人的讯息 | `POST /api/session/{id}/prompt`:房间注,所言也 |
| 运行 | 会议的工作 `session.inbox.delivered` 这些词语改为: `session.execution.succeeded`, (中文(简体) ), `failed` 或者说 `interrupted` |
| 思想泡沫的话 | `session.reasoning.ended`, (中文(简体) ), `session.text.ended` 在路上,一个重试 `session.status` |
| 按种类划分的步骤 | `session.tool.called` 编号 : `success` 编号 : `failed`,由 OpenCode 调用 ID |
| 一个子代理 | 页:1 `subagent` 作为交接步骤的呼叫;其儿童会议的费用和询问是跑步的费用 |
| 答复 | 发言的最后答案 |
| 回复中的文件 | 每个 `MEDIA:<path>` 如OpenCode所说(每个转弯都被告知如何),从会话文件夹中取出自己的行并发送到会话文件夹(代理的自有);其外出的文件被拒绝,答复中说是这样 |
| 费用和代币 | 每个模式调用 `session.step.ended`: OpenCode 自己的成本,作为一步的股份 |
| 环境测量仪 | 最后的呼叫的标志 与模型的窗口 `GET /api/model` |
| 特工型号(芯片 ADR 0241) | 模型 `GET /api/model` 列出 OpenCode 运行的代码,每个代码的变体为等位;在代理服务器的下一封信件之前,将个人的选题放在代理服务器的会话上 `POST /api/session/{id}/model` (见 [模型](https://npmcn.com/package/%40chipschat/opencode/#readme-models)(中文(简体) ) |
| 代理文件(芯片 ADRs 0134, 0241) | 页:1 `AGENTS.md` 文档 OpenCode 读取其文件夹,并取自 OpenCode 2.0.30 ()`GET /api/info`文件其配置 `instructions` 名称 (`GET /api/config`); 一个人的编辑保存到OpenCode读取的地方(参见 [上下文文件](https://npmcn.com/package/%40chipschat/opencode/#readme-context-files)(中文(简体) ) |
| 代理上下文窗口( Chips ADRs 0146, 0241) | 其上下文限制的标志 `GET /api/model`; 压缩现在是 `POST /api/session/{id}/compact`,以及 `session.compaction.started`, (中文(简体) ), `.ended` 财务报告和审定财务报表 `.failed` 说吧 [上下文窗口](https://npmcn.com/package/%40chipschat/opencode/#readme-context-window)(中文(简体) ) |
| 一张批准卡 | `permission.asked` → `POST …/permission/{id}/reply`数字 : `always` 当一个人总是说, 否则 `once`,以及 `once` 用于一个指令,芯片会记住每个部分是如何开始的(芯片 ADR 0239); `reject` 他们拒绝的理由。 OpenCode 自己的应用软件中有一个被解答的软件位于 Chips (ADR 0079) |
| 一个问题 | (单位:千美元) `form.created` 其领域为选择或是或否,最多4个 `POST …/form/{id}/reply` |
| 停下来 | `POST …/interrupt`,而OpenCode 的词还没有收回 |
| 方向盘 后续 中断 | 一个提示 `delivery: "steer"`; 与 `"queue"`; 中断,然后提示 |
| 芯片 + (芯片 ADR 0241) 的空间 | 在一个新代理下, 由它的第一个单词的第一行命名; 代理作为第一个 OpenCode 代理在它自己的会话和文件夹中回答它们 |
| 分叉(Chips ADR 0087):另一个房间的代理人副本 | `POST /api/session/{id}/fork` (a) 代理人在其会议室开会,复制其记忆 `PATCH /api/session/{id}` 把复制件写到房间,并标记为复制件。 副本在之后注册(_Nova · 分叉_ 为Nova, `forkedFrom` 原作,为房间询问, 并工作在原作的文件夹。 听到的询问再次登记同一副本;从未在房间里发言的代理人被复制为新副本,没有任何记忆 |
| 不对吗 | 在会议室开会时,一连串说出这句话的代理人,在转过身来之后:在答复后迅速回答,什么是不对的,并代替回答;目标是: _再来一次:_ 和说明的第一行。 一个QQ,或任何其他反应, 什么都没有 |
| 吊带上的麻烦 | `GET /api/info` 每30个s |
| 重新开始(CDR 0094) | 桥是自己的 `opencode serve` 在同一端口和密码上停止并重新开始;然后 `GET /api/info`: 好吧,或者为什么它不回来 |

OpenCode在它的配置和代理商不允许(其规则回到"任务")之前询问, 因此,它的许可要求到达芯片作为牌。 一个 `always` 由 OpenCode 保存; a 命令从来就得不到一个,所以下一个命令又回到了奇普斯,他的规则回答了它.

当事件流下降时,OpenCode不会重放被错过的东西. 当它回来,桥 阅读每个回合的会话:取了哪些词句,它是否还在工作,以及它是如何最后的 回答结束.

还没有 :

-   自由文字,数字和链接组成字段,形式超过4个. 答复如下: OpenCode自己的应用程序.
-   OpenCode自己的应用软件中回答了一个问题,仍然在芯片中打开. 协议没有办法 还没回来.
-   OpenCode在芯片中的指令和技能.
-   每座桥都有一个以上的OpenCode服务器.

## 模型

芯片(Chips IDR 0241)中的代理模型组提供OpenCode的服务器运行: 以物配主者发誓`GET /api/model`减少任何残疾或退休者,最多40人. 每个模型的级别都是其在OpenCode(英语:OpenCode (U`low`, (中文(简体) ), `high`, (中文(简体) ), `max` 等),最底层第一.

在奇普斯没有自己选的模特儿的代理商 `model` 在桥上 配置("As in config.json"),否则其OpenCode代理的模型(C`GET /api/agent`),否则服务器的 默认( e)`GET /api/model/default`:"OpenCode的默认". 一个人的选择,一个模型和一个水平,是 保留在 `sessions.json`,没有写入 OpenCode 配置。 每次给代理人发信前 桥把会话放在上面`POST /api/session/{id}/model`),没有在上面的地方 已经, 并做了一个新的会话。 再次选择默认值会使代理会话恢复 在他们下一个消息之前 一份由Fork制作的拷贝 记录了它最初的运行情况 打开代码 任何模型都在那里,所以大桥拒绝一个 它的目录没有运行 没有,用这么多的话.

## 上下文文件

Chips( Chips IDRs 0134, 0241)中的代理背景组列出其构建的文件 OpenCode 2 从. 打开代码读取 `AGENTS.md` 只是,从来没有 `CLAUDE.md` 其国家: (单位:千美元)`~/.config/opencode/AGENTS.md`),然后是 `AGENTS.md` 显示代理文件夹和每个文件夹 上方, 上到你的家文件夹, 或者外边的文件夹, 上到项目根 。 从2.0.30 它在他们之后读文件 它的配置 `instructions` 名称。 之前都读过 每个模式调用并告诉代理更改了什么,所以一个编辑从它的下一封信中应用.

-   代理人自己的, 一个人可能改变的页面: 其文件夹的 `AGENTS.md`显示为空 直到有一个 和任何文件 `instructions` 在它的文件夹里找到.
-   绳子的自有套,在它的页面: `~/Chips/Agents/opencode/AGENTS.md`,每个代理 (a) 阅读或个人可更改 `AGENTS.md` 上面; 和你自己, 与文件 `instructions` 其它名称,您自己的OpenCode也读取这些名称,所以它们被显示而不是 换了.

只有文件仍然是被更改的, 编辑才被保存; 否则芯片会说 改变的同时。 由"叉"作成的复制品在其原始的文件夹中,因此它读取了相同的文件. 一个 URL 在 `instructions` 没有显示,也没有显示 `AGENTS.md` 的文件夹 OpenCode 只在代理读取文件时才读取 。 与一个 `directory` 在配置中,每个 探员自己的档案是那个项目的.

## 上下文窗口

Chips (Chips ADRs 0146, 0241) 中一个代理的上下文窗口组表示它的会话有多完整: 表示它最后的模型召唤, 所有它读和写, 它的模型的上下文限制。 一个 代理在它所在的每个空间有一个会话, 芯片一个窗口, 所以组是其中的 最后一次有效的会议;1.0.7之前的桥梁从该次会议的最新模式读取 当它开始。 翻过半个窗口的一圈 说它有多饱 多少次 OpenCode 同时将其压缩 .

Contracting 现在要求 OpenCode 压缩该会话(`POST /api/session/{id}/compact`: 即时 当它闲置时, 并在它的下一步 当它的工作。 OpenCode 的事件说它何时开始和 情况如何:它以前持有什么,之后它所写的摘要和最近所保存的文字 这四个字算成四个字母 一个符号,直到它的下一个模型呼叫准确. OpenCode 压缩一个会话, 当它几乎满了, 作为它的配置 `compaction` 说,和 不需要其他限制,所以芯片将极限显示为OpenCode的自有,而不提供.

## 重新开始

桥本身运行 OpenCode 服务器的地方( 无) `url` 在配置中,一个人可以重启 在芯片(Chips ADR 0094)中从绳子的一页取出. 桥停了服务器再启动 在同一端口和密码上,所以OpenCode保存在磁盘上的其会话继续其位置 对 它从之前接收到的服务器, 被一个被阻断的桥所留下, 被阻断了 根据它所说的过程 在服务器再次回答之前 桥上没有其他话了 说没事 如果服务器不回来,它会说为什么, 用OpenCode自己的话,它在哪里 他们,结束正在进行的运行, 和芯片再次提供重新启动。 重新开始,不管怎样 正如Chips的床单上说的 OpenCode正在做.

您运行的服务器( O)`url` 在配置中)不是桥的重启。 桥没有 请求 `restarts` 当其会合,而不闻所问. 一条绳子一起走,后来 配置另一个保存它加入时所赋予的 :

-   加入运行自己的服务器,然后给定 `url`:芯片仍然画出重新启动,并回答 与"芯片无法到达重启". 关机 _从芯片重新开始_ 编辑 绳子的页.
-   与一个 `url`,然后运行自己的服务器:桥接会听到重新启动,但芯片绘制不 重新开始直到打开 _从芯片重新开始_ 在绳子的页面.

OpenCode 的画廊卡 `restarts`所以在卡片发出之前就有一个桥连接了起来 一旦你打开它 它的一页.

## 从芯片的画廊

卡片的线是 `CHIPS_JOIN_LINK='<link>' chips connect opencode` (芯片 ADR 0218). 它作为 npm 软件包下载此桥 `@chipschat/opencode`最新的1.x 对照登记簿的验收和 运行在节点上 芯片携带,所以机器需要节点或npm本身。 桥检查OpenCode, 加入,并保持自己从登录运行. `chips disconnect opencode` 别闹了 在另一台电脑上, `curl -fsSL https://chipschat.ai/install | CHIPS_JOIN_LINK='<link>' sh -s -- connect opencode` 安装芯片 先说 下面的台阶是用这个检查结果来管理桥,以便进行这项工作.

## 运行它

1.  安装 OpenCode (opencode.ai),以及 `npm install` 一次在这个仓库.
    
2.  加入Chips一次,从Chips的画廊(Agents – Connect a tape – OpenCode)链接,其卡片给出 与该链接相一致:
    
    ```
    cd chips-opencode && CHIPS_JOIN_LINK='<link>' npm run keep
    ```
    
    桥会运行 OpenCode 的服务器本身(`opencode serve` 打开 `127.0.0.1`, 4096 当它是 ,并带有密码 `~/Chips/.bridges/opencode/server.json`可读的 仅: 没有人启动服务器或编造密码 。 桥运行时,一个停止的服务器 重新启动;当桥站停止时,其服务器也停止.
    
    在打开一次有效的链接之前, 它检查 OpenCode 及其服务器 答案;任何缺失的东西都会阻止它做什么,链接仍然是好的. 已经加入,它 写入发射代理( a)`~/Library/LaunchAgents/chat.chips.opencode.plist`; 一个系统化用户单位 在 Linux 上),它从登录开始运行桥,并在它停止时再次运行;保存的复制件 在房间里打个招呼,卡片等。 它的日志是 `~/Library/Logs/chips-opencode.log`。 。 。 . `npm run keep -- --stop` 停止并删除文件. `npm start` 一样,没有保存,在终端。 先停止手动复制: 两个回答两次。 密钥芯片给它保存;从芯片取而代之的新链接. 或者加入我们 `CHIPS_URL` 和一个人允许的代码.
    
3.  可以选择,请在 `~/Chips/.bridges/opencode/config.json` (见 `config.example.json`) (中文(简体) ). 没有配置就是OpenCode的 `build` 代理人,取名OpenCode.
    
    每个特工的会话都在自己的文件夹里进行, `~/Chips/Agents/opencode/<its name>`时 (一) 第一次与改名后保留; `folders` 移动它们。 A 类 `directory` 将每个会话放在同一个项目中,而是一个代理共享的仓库.
    
    桥上所有的东西都在下面 `~/Chips` (芯片 ADR 0283):它的配置,会话,服务器 密码和状态 `~/Chips/.bridges/opencode`,代理文件夹在 `~/Chips/Agents/opencode`,它自己的服务器运行的地方。 在1.015之前,他们都是 `~/.chips-opencode` 财务报告和审定财务报表 `~/chips-opencode/agents`。第一个开始的1.0.15 移动它们和 保存的文件夹路径,一旦 OpenCode 回答,请它移动文件夹的每次会话 移动( e)`POST /api/session/:id/move`)),里面都说:"OpenCode不会使用会话 他的文件夹不见了。 它重命名,从不复制;在新地方已经有东西了 移动到还没有的东西 并在它的日志中说它留下的东西.
    
    **一个你自己的服务器.** 用一个 `opencode serve` 输入密码 环境变量 `passwordEnv` 名称 (`OPENCODE_PASSWORD` 默认的,从不在文件中, 联 合 国 `url` 在配置中,当它不是 `127.0.0.1:4096`。 。 。 . `npm run keep` 密码 中,仅在文件中您可以读取;您的服务器继续运行您自己的方式.
    

## 测试

```
npm test
```

他们运行的桥对齐普斯的相配假 和一个脚本的OpenCode服务器 (单位:千美元)`test/fake-opencode.ts`),在OpenCode自己的路线和事件形状上. 包括芯片的黄金 场景。 SDK和工具包来自npm,在版本 `package.json` 针.

```
npm run e2e
```

画廊的卡 连接器,运行作为一个人运行, 与刮痕芯片从一个 芯片检出( E)`CHIPS_REPO`, (中文(简体) ), `~/Work/Chips/chips-main` 除非设置; 没有设置便跳过) 和相同的脚本 OpenCode. 每件没有设置的东西都用连接来阻止它。 然后它与卡片所赋予的, 在房间里打个招呼,再也没有别的开始了, 换了一个新的联系 钥匙 抓痕芯片 链路和跑道来自芯片 `tools/connect-kit`,它包了结账 并服务它 从站立npm注册, 所以卡的 `chips connect` 下载、检查和运行将公布的内容.

## 释放

`npm run release` 正在建设 `dist/main.js`一个SDK的文件 和所有其它文件 `dist/THIRD-PARTY-NOTICES.md` 旁边,进行测试,打包 `chipschat-opencode-<version>.tgz`为了出版, 变动 `version` 包件. json (中文(简体) )`npm version <x> --no-git-tag-version`),承诺并推向主: `.github/workflows/publish.yml` 运行测试并用 npm 发布 GitHub 的版本 信任的发布, 并跳过 npm 版本 。 一个版本的主要是芯片协议 和芯片的卡片名称 主要(芯片 IDR 0218): 修补是次要或补丁,并到达 每张主要卡片的发布当天.

## 常见问题

### @chipschat/opencode 是什么？

OpenCode作为芯片的吊带,在其V2服务器上\(开码服务\):每个OpenCode代理一个芯片代理,每个房间一个OpenCode会话\.

### 如何安装 @chipschat/opencode？

在项目目录运行 npm install @chipschat/opencode，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 chips-opencode，可以用 npx chips-opencode 直接运行。

### @chipschat/opencode 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/chipschat\_\_opencode 是否存在。

### @chipschat/opencode 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @chipschat/opencode 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22\.19\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @chipschat/opencode 可以商用吗？

@chipschat/opencode 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @chipschat/opencode 的下载量有多少？

根据 npm 官方下载统计，@chipschat/opencode 在 2026/10/10 – 2026/11/08 这 30 天内被下载 3,173 次，日均约 106 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @chipschat/opencode 还在维护吗？

最新版本 1\.0\.17 发布于 2026/11/08（1 天前）；至今共发布 17 个版本，其中过去 12 个月发布了 17 个；首次发布于 2026/10/23。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

