代码
将本地的 OpenCode 会话转换成您手机能驱动的东西 .
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
或只请作道:
codereach upgrade
它的工作原理是如何安装和运行正确的软件包管理器.
语音模型
声音在你的电脑上被转录 电话发送一个语音给 机器是配对的, 没有任何东西去主机演讲服务.
有两个包:
| 包装 | 大小 | 封面 |
|---|---|---|
| 联合国 | 541 甲基溴 | 英语,最准确 |
| 多语言 | 645 甲基溴 | 从语音中检测出30种语言 |
发动机是 转写.cpp数字 : 苹果硅上的金属,Windows和Linux上的Vulkan,有一个CPU倒置. 这个 匹配本地软件包安装于此 CLI; 没有 GPU 或编译器 需要帮助.
代理开始时没有下载 。 当您想要语音时安装 :
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 仍然告诉你它在你的笔记本电脑上.
文件夹在您的主目录上崩溃, 所以中继器从未看到
你的账户名称.
它会做什么
- 查找或开始
opencode serve打开 仅127.0.0.1,带有新鲜的随机 密码保存在记忆中 . - 要求接力进行对接并打印对接文物. 在一个
端到端运行这些是QR和配对链接,它们携带一个
一次性保密,因此只有在stdout是终端时才打印;管道或
登录的输出表示它们被隐藏(电话之前的对接仍然连接). 没有
短码被打印: 中继器的配对和携带的代号
加密会话不需要任何材料 所以打一个电话
将用正文对齐,每个命令都将被拒绝。 单位
--no-e2e模式代码是机器打印的,因为这是双相 纯文本会话 。 接力没有账号,因此它首先给代理递出一个小的工作证明挑战(大约一秒钟的CPU,用短片解开,所以Ctrl+C保持响应),代理随请求发出答案. - 连接您的手机命令到 OpenCode 并流回结果 .
- 在 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 财务报告和审定财务报表 docs/SECURITY.md。 。 。 .