甚至终端
even-terminal 设计与 Even App 一同使用.
制造眼镜土生土长的应用 而不是反射你的笔记本电脑? 见 @ even hub sdk 真实性。 。 。 .
支持 macOS, Linux, Windows.
所需资源
- 节点.js 18+ - 检查一下
node --version从 节点js.org,或brew install node(macOS),或您Distro的软件包管理器(Linux). - 一个 乃至真实 G2 + 键 R1环,通过 Even app(iOS/Android)对齐.
- 可选但建议:a 分级 在你的笔记本电脑和手机上注册的账户 让你有一个稳定的私人网络 而不需要下面的公共隧道供应商.
安装
npm install -g @evenrealities/even-terminal
验证安装 :
even-terminal --version
最新版更新:
npm install -g @evenrealities/even-terminal@latest
快速启动
even-terminal
在第一次运行时, 一个四步设置向导覆盖默认代理, 项目
目录,以及电话连接,然后生成一个持续的对接符. 这个
存储结果 ~/.even-terminal/config.json,然后开始前景
服务器。 后来运行重用该配置.
用箭头键, k编号 :j,或 w编号 :s 通过向导选择,然后
按 Enter 以确认。 接受项目指令输入 ~ 给家里
目录并在确认后打印已解析的绝对路径.
配置的项目目录成为新的工作目录
客户端省略时的会话 cwd。会话列表仍然未过滤,除非
客户明确提供 cwd 过滤器.
默认服务器端口是 3456。 。 。 .
有用的启动选项 :
even-terminal --cwd /path/to/project
even-terminal --port 8080
even-terminal --token mytoken123
even-terminal --name my-laptop
even-terminal --provider codex
even-terminal --lan
even-terminal --allow-cors
even-terminal --claude-use-system-cli
even-terminal --claude-allowed-tools Read,Glob,Grep,ToolSearch
even-terminal --config ~/.even-terminal/work.json
even-terminal --expose pinggy
even-terminal --expose bore
even-terminal --expose ngrok
如何运作
偶数运行本地 HTTP 服务器 :3456 (通过设置配置,
even-terminal config,或 --port),产出你的AI代理(Claude Code或
Codex)作为一个子进程,捕捉其流出输出,使其上到
G2的576×288画布,并将 R1 环形手势翻译回键盘事件
为代理.
Even的应用程序连接到你的笔记本电脑 以完成你选择的运输 默认情况下,服务器会在所有界面上收听并发布您检测到的局域网地址(同Wi-Fi). 过 --tailscale 将外部访问绑定到您的 Tailscale IPv4 地址(跨网络稳定,端到端的线导),或 -i <interface> 绑定外部访问特定网络接口。 两种模式都保留了本地Claude/Codex CLI集成的回回回听器. 使用 --expose pinggy 编号 : --expose bore 编号 : --expose ngrok 开通临时公共隧道.
┌──────────────────┐
│ your laptop │
[ claude / codex ] ─│ even-terminal │
│ :3456 │
└────────┬─────────┘
│
┌───────────────┴───────────────┐
│ transport (pick one) │
│ default: LAN (same Wi-Fi) │
│ --tailscale │
│ --expose pinggy │
│ --expose bore │
│ --expose ngrok │
└───────────────┬───────────────┘
│
┌────────┴─────────┐
│ Even app │
└──┬────────────┬──┘
(display) (input)
BLE ↓ ↑ BLE
┌────┴────┐ ┌────┴────┐
│ G2 │ │ R1 │
│ 576×288 │ │ ring │
└─────────┘ └─────────┘
代理在本地运行 笔记本电脑,使用捆绑或系统 可执行文件如下: 偶数为渲染器+输入桥.
国 际
even-terminal [command] [options]
Commands:
even-terminal start
even-terminal config [key] [value]
even-terminal complete <shell>
Local network options:
--lan
--tailscale
-i, --interface, --if <name>
Quick public expose options:
--expose <provider> Quick public expose provider (`pinggy`, `bore`, `ngrok`)
Options:
-p, --port <n>
-t, --token <str>
-n, --name <str>
-d, --cwd <path>
--provider <name> claude, claude-sync, codex (default: claude)
--config <path> Use another persistent config file
--allow-cors Allow cross-origin browser requests
--use-original-claude Use the original Claude SDK provider without terminal/app synchronization
--claude-use-system-cli Use the system Claude CLI for SDK sessions
--claude-allowed-tools <csv|none> Replace Claude SDK auto-approved tools
--log-file <path> Write logs to a file
--log-level <debug|info> Control log-file detail only (default: debug)
--verbose Print raw diagnostics to stdout only; does not change log files
-h, --help
-v, --version
Examples:
even-terminal
even-terminal -p 8080
even-terminal -t mytoken123
even-terminal --expose pinggy
even-terminal --expose ngrok
设置和持续配置
第一运行的向导会写一个带有权限的版本配置文件
0600 在macOS和Linux上。 重新激活时的配对标志保持稳定.
向导存储 claude 或者说 codex 作为默认提供者。 克劳德使用
Claude 默认同步; 通过 --use-original-claude 选择退出.
随时运行交互式配置菜单 :
even-terminal config
even-terminal config --reset
脚本可以在不打开菜单的情况下更新一个解析值 :
even-terminal config provider codex
even-terminal config cwd /path/to/project
even-terminal config token 'new-token'
even-terminal config network tailscale
even-terminal config network interface:en0
even-terminal config network expose:pinggy
even-terminal config port 4567
even-terminal config claudeUseSystemCli on
even-terminal config claudeAllowedTools Read,Glob,Grep,ToolSearch
even-terminal config claudeAllowedTools default
config --reset 重新运行向导,同时保留现有的配对符.
要旋转,就跑 even-terminal config token '<new-token>'。下一个服务器
开始打印新的 QR 代码; 使用它重新对客户端.
使用 --config <path> 为另一个配置。 从
当前目录; ~/... 从主目录解析路径.
启动值遵循此优先 :
CLI flag > environment variable > config file > built-in default
旗帜和环境变量影响当前进程而不重写 选择的配置文件。 无效的 JSON, 未知字段, 不支持的提供者 , 和错误的网络值在服务器启动前失败 .
跨源浏览器请求默认被禁用. 本地小蝶客户端
和同源网络客户端不受影响;通过 --allow-cors 仅在
不同的浏览器来源必须调用服务器.
设置向导不安装或启动背景服务 。 开始
自己使用前景服务器 even-terminal; 停下来 Ctrl+C。 。 。 .
even-terminal claude 财务报告和审定财务报表 even-terminal codex 连接到已运行
服务器并报告一个没有可用的错误.
日志
日志文件使用 debug 默认细节 保存原始 SDK 应用程序服务器 SSE,
并询问有效载荷。 选择一个较小的文件 :
even-terminal --log-level info
info 保留服务器和供应商生命周期事件、HTTP和即时摘要,
会话状态、用法、重试、警告和错误. --verbose 独立 :
它只控制 Stdout 上的原始诊断。 例如,它保持动词
写作时出站 info 日志文件 :
even-terminal --verbose --log-level info
快速公开曝光帮助器是用于简单的临时共享,而不是长期使用. 对于稳定的设置,更喜欢一个合适的网络路径,如Tailscale或生产地道配置.
目前快速曝光提供者 :
针头
不需要安装——使用您的系统SSH客户端. 刚刚通过 --expose pinggy。 。 。 .
幕后说:
ssh -p 443 -R0:localhost:<port> a.pinggy.io
平吉是一个托管的SSH-隧道服务;一旦隧道通通,公众URL就会出现在您的终端.
无聊
自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自 GitHub : (中文(简体) ) 克尚克/布尔。 。 。 .
安装 :
- 马可斯:
brew install bore-cli(或)cargo install bore-cli - 林纳:
cargo install bore-cli(或) 从 释放 设置bore在你身边$PATH - 窗口 : 下载
bore-vX.Y.Z-x86_64-pc-windows-msvc.zip从 释放,摘录bore.exe,将其文件夹添加到您的PATH
校验 bore --version接下来 --expose bore 运行 :
bore local <port> --to bore.pub
无
托管地道服务,可免费分级. 站点 : ngrok.com (英语)。 。 。 .
安装 :
- 马可斯:
brew install ngrok/ngrok/ngrok - 林纳: 参见 apt/yum repos at ngrok.com/下载 - 或下载焦油丸,取出并放入
ngrok在你身边$PATH - 窗口 : 下载 zip 从 ngrok.com/下载,摘录
ngrok.exe,将其文件夹添加到您的PATH
一次性设置——注册于 ngrok.com (英语)然后从仪表板上复制你的认证,然后:
ngrok config add-authtoken <your-token>
校验 ngrok --version接下来 --expose ngrok 运行 :
ngrok http <port>
贝壳补全(例用):
even-terminal complete zsh
even-terminal complete bash
even-terminal complete fish
even-terminal complete powershell
每个表单都打印该外壳的完成脚本.
流动
- 启动前景服务器
even-terminal。在先运行时,完成设置向导;然后服务器打印一个连接 URL,持久符号和QR 代码. - 在您的手机上打开 Even 应用程序并扫描 QR 代码—— 或者在扫描不方便的情况下手动粘贴 URL 和 指使 .
- 你的G2眼镜和R1戒指通过Even应用程序通过BLE连接. 代理商的输出流到眼镜上,环形手势将返回代理商的路由作为键盘事件.
供应商
甚至终端也可以同时运行所有支持的提供者. --provider <name>
选择默认提供者;客户端可能仍然为每个提供者选择另一个提供者
届会.
| 提供者 | 目的 | 状态 |
|---|---|---|
claude | Claude会话通过SDK探员管理 | 稳定 |
claude-sync | 共享 Claude 整个 CLI 和 app 的课程 | 实验 |
codex | 通过应用服务器实时编码会话 | 稳定 |
在使用前安装和认证相应的系统 CLI
even-terminal claude 或者说 even-terminal codex。 。 。 .
克劳德
Even 应用程序开始的会话通常使用 claude 提供者通过
克劳德探员SDK.
使用熟悉的 Claude 终端接口, 同时允许 Even 应用程序 加入同一会话, 运行 :
even-terminal claude
even-terminal claude --resume <session-id>
正常的克洛德论点通过系统 claude CLI(英语:CLI). 命令
自动发现运行中的 Even 终端服务器, 并在
有多种实例.
实验终端和应用程序同步
这个 claude-sync 供货商仍在试验中。 它依赖兼容性
claude CLI周围的地层 而不是本地共享会议协议.
期望在CLI输入、会话恢复、产出时间安排、,
权限,并与未来的克洛德CLI发布兼容.
鉴于安特罗皮克的整合面 已经选择了暴露,这仍然是 就连终端也能提供最好的共享会议经验.
克劳德同步运行在 claude 默认提供商名称 。 启动服务器 :
even-terminal
然后在另一个终端打开克洛德:
even-terminal claude
要使用最初的克洛德SDK提供商而不使用终端/应用同步,
启动服务器 even-terminal --use-original-claude明确
claude-sync 供养者仍可使用.
选择服务器端口
Claude 包装器通常会自动发现服务器. 把它连接起来 到一个特定的 Even 终端端口 :
even-terminal --port 4567
env EVEN_TERMINAL_PORT=4567 even-terminal claude
env EVEN_TERMINAL_PORT=4567 even-terminal claude --resume <session-id>
动力壳:
$env:EVEN_TERMINAL_PORT = "4567"
even-terminal claude --resume <session-id>
Claude 可执行文件兼容性
SDK代理会话默认使用由SDK捆绑的克洛德可执行文件. 如果是这样 版本行为不同于系统安装, 启动 Even 终端 改为:
even-terminal --claude-use-system-cli
此兼容选项可能有助于解决版本特定问题, 尽管
无法保证相同的行为. even-terminal claude 总是发射
系统 claude CLI(英语:CLI).
Claude 自动工具核准
连终端的默认列表都出现在 even-terminal --help数字 :
Read, Glob, Grep, ToolSearch, WebSearch, WebFetch, TaskOutput, ExitPlanMode,
ListMcpResources, ReadMcpResource, TodoWrite, TaskUpdate
WebSearch 财务报告和审定财务报表 WebFetch 可以不经应用程序确认进入网络.
要替换列表, 需要通过逗号分隔、 区分大小写的工具名称; 使用
none 清除 Even 终端提供的条目:
even-terminal --claude-allowed-tools Read,Glob,Grep,ToolSearch
even-terminal --claude-allowed-tools none
空名称和 none 与其他名字相混合则被拒绝。 未知名称是
被接受,因为克劳德可以从用户/项目 MCP 设置中装入自定义工具
和插件; 完全合格的 MCP 名称通常看起来像
mcp__<server>__<tool>。在 Claude 用户或项目设置中,本地允许规则
可在不考虑本选项的情况下核准其他工具.
代码
甚至终端也通过其本土的app-server协议与Codex集成. 应用程序服务器在本地运行, 当 Codex 会话首先需要时懒散开始 这个.
even-terminal codex
此命令发现了运行中的 Even 终端实例并启动系统
代码 CLI 与 codex --remote,将其连接到同一应用程序服务器
普通的 Codex 参数通过 CLI .
当终端和应用程序使用相同的 Codex 线程时,从任意一条输入的提示 侧面和流出的反应实时出现在双方. 编码提供了 一个实际的多客户共享会话协议,让 Even Termin 直接 更可靠的同步路径 克劳德目前的提议 没有等同的接口, 因此描述的实验兼容层 见上文.
在实践中,Codex同步通过设计提供了更强的经验: 本地实时事件,直接双向输入,版本敏感度减少 边框.
选择 Codex 应用程序服务器端口
Codex 应用程序服务器使用端口 8765 默认。 要使用另一个端口,请启动
服务器和 Codex CLI 使用 CODEX_APP_SERVER_PORT数字 :
env CODEX_APP_SERVER_PORT=8766 even-terminal
env CODEX_APP_SERVER_PORT=8766 even-terminal codex
动力壳:
$env:CODEX_APP_SERVER_PORT = "8766"
even-terminal
even-terminal codex
这个端口属于当地的Codex应用服务器. 主终端 HTTP
端口仍由 --port。 。 。 .
常见问题
| 症状 | 原因 | 修补 |
|---|---|---|
| 电话应用程序显示“ 服务员无法到达 ” | 不同运输工具的手提电脑和电话 | 匹配: 两者均在尾标上( M)--tailscale)或两者都在同一无线网上 |
EADDRINUSE :3456 | 另一个已运行的偶数 | lsof -i :3456 杀死老的,或通过 --port <other> |
command not found: claude 或者说 codex | 代理二进制未打开 $PATH | 按供应商表格安装;用 which claude 编号 : which codex |
Claude SDK 会话行为不同于 claude | SDK和系统Claude版本可能不同 | 尝试 --claude-use-system-cli; 无法保证此兼容性 |
--expose pinggy 绞刑 | 小猪的边缘时间 | 切换到 --expose bore, (中文(简体) ), --expose ngrok缩放 |
| 手机在手动更改后无法再认证 | 应用程序还有前一个符号 | 扫描新的 QR 代码或用 even-terminal config token <value> |
| 中流断接输出 | 代理打印的东西 576x288布局不能渲染 | 重运行 --verbose --log-file ./debug.log 并打开一个问题 与违法线 |
对于其他的事情: even-terminal --verbose --log-file ./debug.log,复制,将日志附加到电子邮件中 软件@evenrealities.com 。 。 。 .
更改日志
0.10.3 联合国
- 使 Claude 同步默认执行
claude - 替换
--claude-sync-as-claude与--use-original-claude选择退出
0.10.2 国家
- 禁用 Pingy 丰富的终端 UI 来防止对启动文本和 QR 代码的干扰
- 在不过滤接口名称的情况下,为局域网模式选择一个非滚动的私人 IPv4 地址
- 在保留 IPv4 回路的同时, 将 局域网 访问权限绑定在选定的地址; 仅对隧道模式使用回路, 或者当没有 局域网 地址 符合条件时
- 拒绝组合
--lan, (中文(简体) ),--tailscale,以及--expose在启动之前不更改已保存的配置
0.10.1 (中文(简体) )
- 当绑定时,为本地 Claude/Codex 集成保留回路访问 限制的外部地址
- 恢复 Claude 会话时保留原工作目录 服务器重新启动
- 使清晰的网络标志清晰地显示相冲突继承的网络设置
0.10.0 (中文(简体) )
- 设置和持续配置
- 为默认代理、 工程添加键盘驱动的首运行向导 目录、网络和配对符
- 存储已版本的配置文件, 并稳定配对只包含所有者的文件 macOS 和 Linux 权限
- 添加交互式和非交互式
config命令、 备选配置文件 结束--config,和明确的 CLI > 环境 > 配置 > 默认 优先级 - 持续网络选择,包括新的
--lan模式 - 在恢复时使用新会话配置的项目目录 保留原工作目录
- 克劳德和克洛德同步
- 使用 Claude Agent SDK 作为共享后端
claude和无头claude-sync部分,同时保留包罗万象的交互式CLI会话 - 将克洛德特工SDK升级为
0.3.231与新克劳德兼容 CLI 会话记录 - 将克洛德同步标记为实验并添加
--claude-sync-as-claude页:1 无法直接选择的客户端 - 添加
--claude-use-system-cli作为 SDK/CLI 相容性的倒置 - 显示和配置默认自动核准的工具列表,同时 接受自定义和 MCP 工具名称
- 使用 Claude Agent SDK 作为共享后端
- CLI、安全和诊断
- 接受不生成骆驼Case别名的已记录的已破碎选项名称
- 同步 shell 完成包装命令、配置密钥和 值、别名和新添加的选项
- 文档包装器发现和明确的 Claude/Codex 端口选择
- 从日志文件细节中分离出 stdout 动词
--verbose财务报告和审定财务报表--log-level - 将标签/界面模式绑入选定的地址,需要明确
--allow-cors对于允许的 CORS 值,并编辑查询字符串符号值 在保留其他请求参数的同时
0.9.0 (中文(简体) )
- 内部发布;未公开发布.
0.8.1 (中文(简体) )
- 优化大会话(窗口)的代码会话历史性能
- 添加
--expose ngrok支持( 需要先在其他地方签名)
0.8.0 (中文(简体) )
- 现在只在必要时启动一个背景进程
0.7.9 (单位:千美元)
- 为代码历史 api 添加调试时间
- 在多个权限请求中固定中间拒绝行为
0.7.8 (单位:千美元)
- 添加更新检查 api
0.7.7 (简体中文)
- 改进编码支持
even-terminal codex可以同步的包装器 代码和眼镜之间的信件 - 内部重构
许可证
麻省理工学院