# @cultivx/codereach 中文文档

规范地址：https://npmcn.com/package/%40cultivx/codereach/

版本：0\.2\.34
npm 元数据更新时间：2026-11-07T04:45:07.797Z
中文译文更新时间：2026-11-11T04:41:55.043Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40cultivx/codereach
原文对照：https://npmcn.com/package/%40cultivx/codereach/?lang=original
项目主页：https://github.com/CultivX/codereach/tree/main/packages/agent#readme
源码仓库：https://github.com/CultivX/codereach

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

- 包体积（解压后）：2.5 MB，80 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.0\.0
- 运行依赖：5 个
- 首次发布：2026-10-22T01:44:42.978Z
- 最新版本发布：2026-11-07T04:45:07.628Z
- 近 30 天下载量：5485（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：29（近 12 个月 29 个）

## 中文简介

从您的手机中驱动本地的 OpenCode 会话 。 运行一个命令;扫描一个QR.

## 安装

```sh
npm install @cultivx/codereach
```

也可以使用：`pnpm add @cultivx/codereach`、`yarn add @cultivx/codereach`、`bun add @cultivx/codereach`

## README

# 代码

将本地的 OpenCode 会话转换成您手机能驱动的东西 .

```bash
cd ~/projects/my-app
npx @cultivx/codereach
```

## 安装

|  | 命令 | 需求 |
| --- | --- | --- |
| 无 | `npx @cultivx/codereach`,或 `npm install -g @cultivx/codereach` | 节点 22+ |

Npm包是捆绑的JavaScript. `opencode` 一定在你身边 `PATH`;不需要其他东西.

## 更新

`codereach` 每天检查一次npm注册 并告诉你什么时候有 新发布, 带有更新您副本的命令 :

```
CodeReach 0.3.0 is available (you have 0.2.11). Update with: npm install -g @cultivx/codereach@latest
```

或只请作道:

```bash
codereach upgrade
```

它的工作原理是如何安装和运行正确的软件包管理器.

## 语音模型

声音在你的电脑上被转录 电话发送一个语音给 机器是配对的, 没有任何东西去主机演讲服务.

有两个包:

| 包装 | 大小 | 封面 |
| --- | --- | --- |
| 联合国 | 541 甲基溴 | 英语,最准确 |
| 多语言 | 645 甲基溴 | 从语音中检测出30种语言 |

发动机是 [转写.cpp](https://github.com/handy-computer/transcribe.cpp)数字 : 苹果硅上的金属,Windows和Linux上的Vulkan,有一个CPU倒置. 这个 匹配本地软件包安装于此 CLI; 没有 GPU 或编译器 需要帮助.

代理开始时没有下载 。 当您想要语音时安装 :

```bash
codereach voice                         # what is installed
codereach voice setup                   # asks which language, then downloads
codereach voice setup --language en     # skip the question
codereach voice setup --language multi
codereach voice remove --language en    # delete one
codereach voice remove --all            # delete every pack
```

模特儿住在这里 `~/.codereach/voice/models`。下载将对照 安装前被绑住的SHA-256,所以断开的下载从未成为 发动机可以装入模型. `codereach voice setup --force` 又下载.

```
  Remote Control ready
  ─────────────────────
  Session:  studio-mac
  Folder:   ~/projects/my-app
  OpenCode: 2.0.29

  End-to-end encrypted: the relay cannot read this session.
  Scan the QR with the app, or paste this pairing link there.
  No pairing code: only the QR and the link pair an encrypted session.

  Scan with CodeReach:

  █▀▀▀▀▀█ ▄▀▄ █▀▀▀▀▀█
  █ ███ █ ▀▄▀ █ ███ █
  █ ▀▀▀ █ █▀▄ █ ▀▀▀ █
  ▀▀▀▀▀▀▀ ▀▀▀ ▀▀▀▀▀▀▀

  Pairing link: codereach-pair:eyJ2IjoyLCJjb2RlIjoiN0s5U...

  If end-to-end encryption slows things down, you can disable it with --no-e2e, at your own risk.

  Expires: 12:29:27 pm

  Waiting for phone… (Ctrl+C to stop)
```

与 `--no-e2e` 机器打印一个短代码, 而这是唯一的 配对纯文本会话的文物 :

```
  Code:  7K9P-2M4X

  Plaintext: the relay can read this session.
```

## 身份

每届都报告三件事 应用显示三件事:

|  | 示例 | 为什么 |
| --- | --- | --- |
| 会议 | `studio-mac`,或任何东西 `--name` 说 | 区分两个运行在同一个机器上 |
| 机器 | `studio-mac` (主持人名) | 区分两台计算机 |
| 文件夹 | `~/projects/my-app` | 区分同一还原的两次检出 |

`--name` 只更改会话标签; 主机名总是被报告 单独命名会话 `api` 仍然告诉你它在你的笔记本电脑上. 文件夹在您的主目录上崩溃, 所以中继器从未看到 你的账户名称.

## 它会做什么

1.  查找或开始 `opencode serve` 打开 **仅127.0.0.1**,带有新鲜的随机 密码保存在记忆中 .
2.  要求接力进行对接并打印对接文物. 在一个 端到端运行这些是QR和配对链接,它们携带一个 一次性保密,因此只有在stdout是终端时才打印;管道或 登录的输出表示它们被隐藏(电话之前的对接仍然连接). 没有 短码被打印: 中继器的配对和携带的代号 加密会话不需要任何材料 所以打一个电话 将用正文对齐,每个命令都将被拒绝。 单位 `--no-e2e` 模式代码是机器打印的,因为这是双相 纯文本会话 。 接力没有账号,因此它首先给代理递出一个小的工作证明挑战(大约一秒钟的CPU,用短片解开,所以Ctrl+C保持响应),代理随请求发出答案.
3.  连接您的手机命令到 OpenCode 并流回结果 .
4.  在 Ctrl+C 上清理: 在中继上结束会话并停止服务器 开始 .

您的网络中没有打开端口 。 特工只出门 连接,所以它工作在NAT,CGNAT和公司Egress代理之后.

## 旗帜

| 旗帜 | 含义 |
| --- | --- |
| `-n, --name <name>` | 应用程序中此会话的标签 。 默认主机名 . |
| `-r, --relay <url>` | 中继为用. 默认已部署的代码Reach中继器 . |
| `-a, --attach <url>` | 附在您已经启动的 OpenCode 服务器上 。 要求数 `OPENCODE_SERVER_PASSWORD`。 。 。 . |
| `-y, --yes` | 跳过第一跑 同意即时. **仅CI**:非TTY stdin被作为衰落来对待,所以这个存在是为了脚本而不是方便. 它从不启用手机命令. |
| `--e2e-auto-accept` | 端到端跑道:对接第一个不打入其六位数代码而扫描QR的手机. 任何看到 QR 的人可以对对, 所以它被拒绝 当 Stdout 不是一个终端,除非 `CODEREACH_E2E_SHOW_PAIRING_IN_PIPE=1` 已经设定. `--yes` 这并不意味着. |
| `--no-e2e` | Plaintext模式:中继器可以读取会话. 用于已有的平正文本配对, 或如果端到端加密太慢, 冒着风险 。 默认是加密结束 . |
| `-v, --verbose` | 调试细节到 Stderr . |

## 环境

| 变量 | 含义 |
| --- | --- |
| `OPENCODE_URL` | 使用此 OpenCode 服务器, 而不是生成一个 . |
| `OPENCODE_SERVER_PASSWORD` | 外部 OpenCode 服务器的密码 。 要求为 `OPENCODE_URL` 编号 : `--attach`。 。 。 . |
| `CODEREACH_RELAY_URL` | 与 `--relay`。 。 。 . |
| `CODEREACH_HOME` | 在同意记录的情况下,代理人的身份(`identity.json`)和可信任的电话(`devices.json`现场直播。 默认为 `~/.codereach`。 。 。 . |
| `CODEREACH_E2E_SHOW_PAIRING_IN_PIPE` | `1` 打印端到端对齐的QR和链接,即使Stdout不是终端,并允许 `--e2e-auto-accept` 在这里。 只有当输出对您是保密的时, 才会设定它: 读它的人可以配对 . |

## 它能做什么和不能做什么

默认情况下,电话可以发送提示,回答许可请求,中止一个转弯, 管理会话(创建、重命名、披针、删除、切换模式和模式),读取 diffs 并拖动屏幕截图和其他介质 生产。 破坏行动仍要经过OpenCode自己的 许可系统,它表面上显示为屏蔽批准/拒绝表.

**从手机上运行命令关闭.** 这是远程代码执行,所以 第一次电话问, `codereach` 问你在这个终端 (单位:千美元)`Allow commands from your phone? [y/N]`) (中文(简体) ). 直到你回答是的,电话被告诉了 在电脑上批准. `--yes` 无法做到这一点。 答复记录在 `~/.codereach/shell-consent.json`; 删除该文件以再次关闭。 图标 只从您的工程文件夹中开始 .

## 可选工具

不需要低于标准;工具打开时,每个功能都开关 `PATH`。 。 。 .

| 工具 | 用于 |
| --- | --- |
| `sips` (飞船与macOS) | JPEG 图像缩略图 |
| `ffmpeg` | WebP和视频缩略图, 720p 引渡,海报框, 标出相容 |
| `ffprobe` | 视频大小和长度 |
| `lsof` | dev 服务器正在监听的端口 |

## 日志

结构化 JSON 改为 **标准**; stdout 保留在横幅上, 所以 QR 代码 保持可扫描。 文件内容从未登录, 提示文本从未登录 `info`,工具输出在到达日志行前被截断.

## 归属

不隶属于OpenCode项目或获得其认可. 见寄存器 [`LICENSE`](https://npmcn.com/package/LICENSE) 财务报告和审定财务报表 [`docs/SECURITY.md`](https://npmcn.com/package/docs/SECURITY.md)。 。 。 .

## 常见问题

### @cultivx/codereach 是什么？

从您的手机中驱动本地的 OpenCode 会话 。 运行一个命令;扫描一个QR\.

### 如何安装 @cultivx/codereach？

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

### @cultivx/codereach 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @cultivx/codereach 支持 ESM 还是 CommonJS？

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

### @cultivx/codereach 需要什么版本的 Node\.js？

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

### @cultivx/codereach 可以商用吗？

@cultivx/codereach 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @cultivx/codereach 的下载量有多少？

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

### @cultivx/codereach 还在维护吗？

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

