# @evenrealities/even-terminal 中文文档

规范地址：https://npmcn.com/package/%40evenrealities/even-terminal/

版本：0\.10\.5
npm 元数据更新时间：2026-09-24T09:54:50.004Z
中文译文更新时间：2026-11-14T01:04:46.742Z
软件包许可：未声明

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

原始 npm 页面：https://www.npmjs.com/package/%40evenrealities/even-terminal
原文对照：https://npmcn.com/package/%40evenrealities/even-terminal/?lang=original

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

- 包体积（解压后）：314 kB，42 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=18
- 运行依赖：9 个
- 首次发布：2026-04-25T04:28:18.967Z
- 最新版本发布：2026-09-24T09:54:49.847Z
- 近 30 天下载量：3652（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：6（近 12 个月 6 个）

## 中文简介

甚至终端 — 智能眼镜和Flutter App上的 AI 编码 CLI

## 安装

```sh
npm install @evenrealities/even-terminal
```

也可以使用：`pnpm add @evenrealities/even-terminal`、`yarn add @evenrealities/even-terminal`、`bun add @evenrealities/even-terminal`

## README

# 甚至终端

`even-terminal` 设计与 Even App 一同使用.

> 制造眼镜土生土长的应用 而不是反射你的笔记本电脑? 见 [@ even hub sdk 真实性](https://www.npmjs.com/package/@evenrealities/even_hub_sdk)。 。 。 .

支持 macOS, Linux, Windows.

* * *

## 所需资源

-   **节点.js 18+** - 检查一下 `node --version`从 [节点js.org](https://nodejs.org/),或 `brew install node` (macOS),或您Distro的软件包管理器(Linux).
-   一个 **乃至真实 G2** + 键 **R1环**,通过 Even app(iOS/Android)对齐.
-   可选但建议:a [分级](https://tailscale.com/) 在你的笔记本电脑和手机上注册的账户 让你有一个稳定的私人网络 而不需要下面的公共隧道供应商.

* * *

## 安装

```bash
npm install -g @evenrealities/even-terminal
```

验证安装 :

```bash
even-terminal --version
```

最新版更新:

```bash
npm install -g @evenrealities/even-terminal@latest
```

* * *

## 快速启动

```bash
even-terminal
```

在第一次运行时, 一个四步设置向导覆盖默认代理, 项目 目录,以及电话连接,然后生成一个持续的对接符. 这个 存储结果 `~/.even-terminal/config.json`,然后开始前景 服务器。 后来运行重用该配置.

用箭头键, `k`编号 :`j`,或 `w`编号 :`s` 通过向导选择,然后 按 Enter 以确认。 接受项目指令输入 `~` 给家里 目录并在确认后打印已解析的绝对路径.

配置的项目目录成为新的工作目录 客户端省略时的会话 `cwd`。会话列表仍然未过滤,除非 客户明确提供 `cwd` 过滤器.

默认服务器端口是 `3456`。 。 。 .

有用的启动选项 :

```bash
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   │
                     └─────────┘  └─────────┘
```

代理在本地运行 __ 笔记本电脑,使用捆绑或系统 可执行文件如下: 偶数为渲染器+输入桥.

* * *

## 国 际

```text
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` 选择退出.

随时运行交互式配置菜单 :

```bash
even-terminal config
even-terminal config --reset
```

脚本可以在不打开菜单的情况下更新一个解析值 :

```bash
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>` 为另一个配置。 从 当前目录; `~/...` 从主目录解析路径.

启动值遵循此优先 :

```text
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, 并询问有效载荷。 选择一个较小的文件 :

```bash
even-terminal --log-level info
```

`info` 保留服务器和供应商生命周期事件、HTTP和即时摘要, 会话状态、用法、重试、警告和错误. `--verbose` 独立 : 它只控制 Stdout 上的原始诊断。 例如,它保持动词 写作时出站 `info` 日志文件 :

```bash
even-terminal --verbose --log-level info
```

快速公开曝光帮助器是用于简单的临时共享,而不是长期使用. 对于稳定的设置,更喜欢一个合适的网络路径,如Tailscale或生产地道配置.

目前快速曝光提供者 :

### 针头

不需要安装——使用您的系统SSH客户端. 刚刚通过 `--expose pinggy`。 。 。 .

幕后说:

```bash
ssh -p 443 -R0:localhost:<port> a.pinggy.io
```

平吉是一个托管的SSH-隧道服务;一旦隧道通通,公众URL就会出现在您的终端.

### 无聊

自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自取自 GitHub : (中文(简体) ) [克尚克/布尔](https://github.com/ekzhang/bore)。 。 。 .

安装 :

-   **马可斯:** `brew install bore-cli` _(或)_ `cargo install bore-cli`
-   **林纳:** `cargo install bore-cli` _(或)_ 从 [释放](https://github.com/ekzhang/bore/releases) 设置 `bore` 在你身边 `$PATH`
-   **窗口 :** 下载 `bore-vX.Y.Z-x86_64-pc-windows-msvc.zip` 从 [释放](https://github.com/ekzhang/bore/releases),摘录 `bore.exe`,将其文件夹添加到您的 `PATH`

校验 `bore --version`接下来 `--expose bore` 运行 :

```bash
bore local <port> --to bore.pub
```

### 无

托管地道服务,可免费分级. 站点 : [ngrok.com (英语)](https://ngrok.com/)。 。 。 .

安装 :

-   **马可斯:** `brew install ngrok/ngrok/ngrok`
-   **林纳:** 参见 apt/yum repos at [ngrok.com/下载](https://ngrok.com/download) - 或下载焦油丸,取出并放入 `ngrok` 在你身边 `$PATH`
-   **窗口 :** 下载 zip 从 [ngrok.com/下载](https://ngrok.com/download),摘录 `ngrok.exe`,将其文件夹添加到您的 `PATH`

一次性设置——注册于 [ngrok.com (英语)](https://ngrok.com/)然后从仪表板上复制你的认证,然后:

```bash
ngrok config add-authtoken <your-token>
```

校验 `ngrok --version`接下来 `--expose ngrok` 运行 :

```bash
ngrok http <port>
```

贝壳补全(例用):

```text
even-terminal complete zsh
even-terminal complete bash
even-terminal complete fish
even-terminal complete powershell
```

每个表单都打印该外壳的完成脚本.

## 流动

1.  启动前景服务器 `even-terminal`。在先运行时,完成设置向导;然后服务器打印一个连接 URL,持久符号和QR 代码.
2.  在您的手机上打开 Even 应用程序并扫描 QR 代码—— 或者在扫描不方便的情况下手动粘贴 URL 和 指使 .
3.  你的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 应用程序 加入同一会话, 运行 :

```bash
even-terminal claude
even-terminal claude --resume <session-id>
```

正常的克洛德论点通过系统 `claude` CLI(英语:CLI). 命令 自动发现运行中的 Even 终端服务器, 并在 有多种实例.

#### 实验终端和应用程序同步

这个 `claude-sync` 供货商仍在试验中。 它依赖兼容性 claude CLI周围的地层 而不是本地共享会议协议. 期望在CLI输入、会话恢复、产出时间安排、, 权限,并与未来的克洛德CLI发布兼容.

鉴于安特罗皮克的整合面 已经选择了暴露,这仍然是 就连终端也能提供最好的共享会议经验.

克劳德同步运行在 `claude` 默认提供商名称 。 启动服务器 :

```bash
even-terminal
```

然后在另一个终端打开克洛德:

```bash
even-terminal claude
```

要使用最初的克洛德SDK提供商而不使用终端/应用同步, 启动服务器 `even-terminal --use-original-claude`明确 `claude-sync` 供养者仍可使用.

#### 选择服务器端口

Claude 包装器通常会自动发现服务器. 把它连接起来 到一个特定的 Even 终端端口 :

```bash
even-terminal --port 4567
env EVEN_TERMINAL_PORT=4567 even-terminal claude
env EVEN_TERMINAL_PORT=4567 even-terminal claude --resume <session-id>
```

动力壳:

```powershell
$env:EVEN_TERMINAL_PORT = "4567"
even-terminal claude --resume <session-id>
```

#### Claude 可执行文件兼容性

SDK代理会话默认使用由SDK捆绑的克洛德可执行文件. 如果是这样 版本行为不同于系统安装, 启动 Even 终端 改为:

```bash
even-terminal --claude-use-system-cli
```

此兼容选项可能有助于解决版本特定问题, 尽管 无法保证相同的行为. `even-terminal claude` 总是发射 系统 `claude` CLI(英语:CLI).

#### Claude 自动工具核准

连终端的默认列表都出现在 `even-terminal --help`数字 :

```text
Read, Glob, Grep, ToolSearch, WebSearch, WebFetch, TaskOutput, ExitPlanMode,
ListMcpResources, ReadMcpResource, TodoWrite, TaskUpdate
```

`WebSearch` 财务报告和审定财务报表 `WebFetch` 可以不经应用程序确认进入网络. 要替换列表, 需要通过逗号分隔、 区分大小写的工具名称; 使用 `none` 清除 Even 终端提供的条目:

```bash
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 会话首先需要时懒散开始 这个.

```bash
even-terminal codex
```

此命令发现了运行中的 Even 终端实例并启动系统 代码 CLI 与 `codex --remote`,将其连接到同一应用程序服务器 普通的 Codex 参数通过 CLI .

当终端和应用程序使用相同的 Codex 线程时,从任意一条输入的提示 侧面和流出的反应实时出现在双方. 编码提供了 一个实际的多客户共享会话协议,让 Even Termin 直接 更可靠的同步路径 克劳德目前的提议 没有等同的接口, 因此描述的实验兼容层 见上文.

在实践中,Codex同步通过设计提供了更强的经验: 本地实时事件,直接双向输入,版本敏感度减少 边框.

#### 选择 Codex 应用程序服务器端口

Codex 应用程序服务器使用端口 `8765` 默认。 要使用另一个端口,请启动 服务器和 Codex CLI 使用 `CODEX_APP_SERVER_PORT`数字 :

```bash
env CODEX_APP_SERVER_PORT=8766 even-terminal
env CODEX_APP_SERVER_PORT=8766 even-terminal codex
```

动力壳:

```powershell
$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](mailto:software@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 工具名称
-   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` 可以同步的包装器 代码和眼镜之间的信件
-   内部重构

* * *

## 许可证

麻省理工学院

## 常见问题

### @evenrealities/even-terminal 是什么？

甚至终端 — 智能眼镜和Flutter App上的 AI 编码 CLI

### 如何安装 @evenrealities/even-terminal？

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

### @evenrealities/even-terminal 支持 TypeScript 吗？

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

### @evenrealities/even-terminal 支持 ESM 还是 CommonJS？

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

### @evenrealities/even-terminal 需要什么版本的 Node\.js？

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

### @evenrealities/even-terminal 可以商用吗？

@evenrealities/even-terminal 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @evenrealities/even-terminal 的下载量有多少？

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

### @evenrealities/even-terminal 还在维护吗？

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

