# @dotobokuri/fleet-console 中文文档

规范地址：https://npmcn.com/package/%40dotobokuri/fleet-console/

版本：1\.204\.0
npm 元数据更新时间：2026-09-29T15:30:01.663Z
中文译文更新时间：2026-11-12T23:07:17.683Z
软件包许可：未声明

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

原始 npm 页面：https://www.npmjs.com/package/%40dotobokuri/fleet-console
原文对照：https://npmcn.com/package/%40dotobokuri/fleet-console/?lang=original
项目主页：https://github.com/sbluemin/fleet-harness#readme
源码仓库：https://github.com/sbluemin/fleet-harness

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

- 包体积（解压后）：25.8 MB，225 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=20\.19\.0
- 运行依赖：10 个
- 首次发布：2026-06-14T10:02:21.547Z
- 最新版本发布：2026-09-29T15:30:01.477Z
- 近 30 天下载量：3383（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：142（近 12 个月 142 个）

## 中文简介

Fleet Console——舰队和分舰队-Console bins,Console web表面以及瘦克洛德密码发射器的独家.

## 安装

```sh
npm install @dotobokuri/fleet-console
```

也可以使用：`pnpm add @dotobokuri/fleet-console`、`yarn add @dotobokuri/fleet-console`、`bun add @dotobokuri/fleet-console`

## README

# 舰队控制台

独立回回回网络控制台,用于观测活输出流和Console自有代理和终端会话.

## 它会做什么

Fleet Console核心拥有HTTP,代理执行,Chat,Global Shell,PTYs,门票,WebSocket运输,以及AI Gateway组成. 插件会消耗明显的控制台能力;它们不依赖于终端插件 .

-   控制台拥有的终端会话,并在可通航的铁路上观察到工作.
-   工作空间中枢会话通过一个内置目录浏览器创建——没有OS-native对话框.
-   轴承喷出物剂 CLI PTY 有在过程观察.
-   代码/ Fleet 维基浏览器在共享控制台 GNB 下 `/console/codex`。 。 。 .
-   Codex Cowork 允许您在焦点 AI 编辑会话中打开一个 Wiki 条目: 将其不可改变的当前版本与活的草稿进行比较,给助手选择的文本或说明作为上下文,并在准备好时应用一次. 您的草稿和谈话在刷新或重新启动中存活下来, 而直到最终应用前, 知识保持不变; Cowork没有终端或 PTY 访问, 并且将提供者的细节、 工作空间路径和证书保存出浏览器 .
-   浏览器观察者快照和SSE流由控制台拥有的全局观测到的ID支持.
-   浏览器终端通过WebSocket上的短寿命票访问.

代理是耐用控制台的操作(`pluginId: null`, (中文(简体) ), `type: "agent"`) (中文(简体) ). 壳体是一个全球不可再生地表,拥有Console自有寿命. 终端和聊天是代理执行适配器,而不是插件.

## 运行时频道

| 频道 | 目的 | 键入边界 |
| --- | --- | --- |
| `/observer/*` | 浏览器快照和SSE观察者表面. | 仅循环; 没有浏览器无记名符号 . |
| `POST /api/v1/theaters/folder-listings` | 返回目录列表( E)`{ path, parentPath, roots, entries, truncated? }`用于给定路径,或服务器主目录,当 `path` 无效。 只有目录,不重复,封顶有500个条目. | 需要终端 Origin 边界(`isTerminalAuthorized`);没有管理员Token. |
| `POST /api/v1/theaters/folder-grants` | 验证客户端提供的绝对路径 `validateAbsoluteDirectory` 返回一个使用 `{ folderGrantId }`。 。 。 . | 需要终端 Origin 边界; 没有管理员. |
| `/api/v1/shell/*` | 壳牌发布会及全球壳牌的售票路线. | Shell cwd是从所选的剧场中解析出服务器侧;浏览器只接收一用终端票. |
| `/api/v1/agent/*` | 代理发布,会话,罚单,工作,活动,租户,以及代理业务的州道. | 需要终端 Origin 边界; MCP/会话令牌仍然只使用服务器 . |
| `/api/v1/terminal/ws` | Console PTY和Chat WebSocket运输机. | 短生一用车票和"起源"授权. |
| `/console/` | 静态反应客户端服务于此软件包 `dist/client`。 。 。 . | 直接从回转控制台 URL 服务 . |
| `/console/codex/*` | Console-owned Codex/Fleet Wiki web,工作空间API,并迁移出海事Codex客户端. | 管理工作空间注册使用锁无记名符;浏览器读取在允许的本地源上保持无记名符. |

`/observer/tenants` 可能包括 `terminalSessionId` 用于插件拥有的终端会话。 贝壳和特工的路线在下面 `/api/v1/{shell,agent}/*`; WebSocket 运至 `/api/v1/terminal/ws`。 。 。 .

## 会话具有约束力

当Console创建终端会话时,它会生成会话id并解决每个代理CLI,包括AI Gateway操作,通过共享的舰队-航空运行时间. 它通过通用控制台操作和事件能力,保留选定的绝对cwd服务器侧并记录非秘密会话元数据用于观察者水合.

文件夹选择完全在浏览器 UI 中处理: React 目录浏览器模式调用控制台所有 `POST /theaters/folders/list` 浏览服务器本地文件系统的路由,然后调用 `POST /theaters/folders/grants` 一旦操作员确认目录。 由此产生的一次性使用补助金由剧院注册使用;壳牌和代理发射从剧院服务器侧解决了cwd. 不参与OS- 本地对话或儿童进程 。 浏览器模式在远程和无头浏览器会话中工作,没有任何OS级对话框支持.

文件夹赠与为一用和内存. 浏览器- 侧取消保留到模式中, 不调用服务器授权端点 .

## 使用观测输出

`computer_apps({ query, includeWindowState: true })` 不检查窗口状态 启动或捕获最多20个匹配装置。 报告截取情况; 使用精确的应用路径来缩小读取. `no_window` 表示一个成功的 AX Windows 读取返回的空列表; `unknown` 保留权限和搜索失败. 单是运行的过程并不能证明窗口是开放的.

`computer_open({ app, reason, activate: false })` 明确发射/重新发射 绝对 `.app` 通过 macOS 背景打开请求安装(`open -g`) (中文(简体) ). `activate` 默认为虚假; 应用程序仍然可以激活自己, 所以焦点保存 没有保证或恢复。 使用 `activate: true` 仅用于授权的前景 打开 背景准备状态是指存在一个非最小化的 AX 窗口; 它没有 承诺能见度或背景捕捉。 一会儿 `computer_state` 与 `allowActivation: true` 可能会集中精神。 只在打开应用程序时使用 在用户任务范围内。 它不需要快照, 无效以前的快照,以及 共享本地控制、选入、取消和会话所有权门。 没错 不抓取、类型、开关装置、力平分或重试. `requestDispatched` 表示请求进程已经开始,而不是窗口打开。 检查 `windowReady`, (中文(简体) ), 然后请求 `computer_state` 为了新的观察。 Apps 可以忽略重开或显示 a 选择者;未准备好的结果需要用户指导而不是重放输入. 关闭窗口不同于最小化窗口:即使有 `allowActivation: true`, (中文(简体) ), 已确认的空窗口列表拒绝抓取/输入 `computer_use_no_action_window`。未知窗口状态不会被猜测为空. 已确认的隐藏应用程序拒绝抓取/输入 `computer_use_app_hidden`: 本国 AX读取可以成功,而单独的桌面活预览是空白的. 显示时 应用程序被授权, 请求重新打开背景, 验证 `hidden: false`,并读 新状态 窗口准备状态要求应用程序未隐藏,并不一定 前观相. 桌面在验证预览源时也拒绝隐藏的应用程序. 土著 `-10005` 不是允许诊断:保留其信息并区分 从超时抓取失败 .

`fleet-computer-use` 使用已安装的 Codex 本地后端. `computer_state` 财务报告和审定财务报表 `computer_action` 财务报告和审定财务报表 `computer_paste` 默认为 `observation: "text"`:本土捕捉没有改变, 但在模型输出中省略了截图块, 包括错误反应。 使用 `observation: "text_and_image"` 当任务需要时 视觉校验或先于坐标单击、滚动或拖动。 在行动中,这个 选项控制其 **结果**,而不是其输入快照的有效性.

`imageAvailable` 报告本地图像的可用性; `imageDelivered` 报告是否 目前的反应包括: 协调行动需要新的快照 `imageDelivered: true`。请求视觉状态生成一个新的 `snapshotId` 财务报告和审定财务报表 取消上一个。 要素动作仍然可用文本模式. 一个动作只返回自己的本土观察 。 舰队一分不发 读取,包括抓取错误或不完整的Chrome观察后:读取可以 激活应用程序或取消最小化 。 可用原生AX观测(被包装状态或 动作的平面 App/ Window 树)产生新的 快照; 没有它的确认 `observation: "unavailable"` 财务报告和审定财务报表 `snapshotId: null`。从不重复获取快照的动作。 请求另一个 `computer_state` 只在必要的时候才明确。 详细的动作计划仍然保存在版本中,可以 再次请求使用 `includeActionSchemas: true` 后上下文收缩.

使用 `computer_state({ app, fullTree: true })` 在失去之前的 AX 上下文之后. 这需要独立的 App/Window 树, 而不是 diff: 当前本地的 MCP 返回无完整树 `disableDiff` 参数。 舰队验证反应 返回时 `computer_use_full_tree_unavailable` 无法时没有快照 认识一棵完整的树。 它使一个人阅读, 从来没有重放缓存树或复刻. 这并不能保证一个应用程序通过AX来暴露其所有内容.

`computer_paste({ app, snapshotId, text, format, reason })` 在已插入时 已校验可编辑焦点/ 选择 . `format` 明确 `text`, (中文(简体) ), `md`,或 `html`· ; Markdown被渲染为HTML,以原始源为正文倒置. 格式化和粘贴支持取决于应用程序. 它使用本地命令+ 曾经, 没有 `type_text` 或全外地 `set_value`,并返回动作的观察 下一张快照就不用读了 检查之前产生的内容 提交; 已完成的关键动作不是应用程序接受粘贴的证明.

粘贴帮助器将上一个剪贴板项目/类型保存在进程内存中, 而不是 临时文件或日志. `clipboardRestoration` 报告 `restored`, (中文(简体) ), `preserved_newer_contents` (另一个作者更改了剪贴板),或 `failed`。 。 。 . 拒绝的电话可以报告 `not_touched`; 准备失败可报告 `unverified`。 。 。 . 它在检测到更新剪贴板更改时跳过恢复; 此检查是 最好的,而不是原子跨应用程序。 修复是最佳的 本地故障和父母退出,在强制终止或操作系统关闭后得不到保障 错误。 超过64 MiB的剪贴板备份在被替换前被拒绝.

所有三个工具默认为 `allowActivation: false`。只读 macOS 机前飞行拒绝 本地发送,除非目标运行,活动,并有焦点, 未最小化窗口。 这是一个最好的警卫, **没有背景执行**数字 : 本地后端没有激活选项,桌面状态可以比对 检查. `allowActivation: true` 仅用于该呼叫的许可前景,包括: 发射/激活/恢复;仅在任务授权产生这种效果时使用, 不是自动错误倒置。 窗口地址和交叉应用快照再利用 仍然不支持; 本地元素识别寿命不是在应用程序中设定的.

粘贴将呼叫的明确激活权限带入经纪人( 默认) 虚假)。 它在剪贴板准备前检查准备状态, 检查前景 在替换剪贴板内容之前再次应用, 并重新检查准备状态 在发送命令+V之前。 逾期拒绝发送不粘贴密钥并尝试剪贴板 恢复; 它返回 `actionOutcome: "not_started"` 与 `snapshotId: null`。 。 。 . 这些检查不是原生发送的原子,也不将快照绑在 特定窗口。 不要把它们当作是防止每一次相同的应用窗口变化.

使用诊断日志区分 `scope: "native_output"` (缩小后端) 答复) `scope: "model_output"` (预测后的最后服务响应和 页:1 它们只记录文字字符数,图像数/解码字节数, 时间、结果和粘贴的有效激活权限——不是屏幕文本, 图像数据,输入文本或原因. 这些是 有效载荷测量,而非计费符;分别比较供应商的使用情况.

## 安全说明

HTTP表面只回放. 浏览器观察路线可直接通过回回路获得,终端路线保留其起源地边界(`isTerminalAuthorized`). MCP会话令牌,靴子令牌,以及所选的绝对路径不会通过浏览器有效载荷,URL查询字符串,SSE帧,终端门票,日志,或静态资产被曝光.

`POST /theaters/folders/list` 财务报告和审定财务报表 `POST /theaters/folders/grants` 两者都要求 `validateHost` 财务报告和审定财务报表 `isTerminalAuthorized`。文件夹的端点不使用管理员或无记名认证。 选定的绝对路径仅出现在列表中,并给予API响应;这些路径不包含在会话,剧场,观察者或SSE有效载荷中. 当剧院注册时,解析的cwd会被存储在持久的当地状态中(`~/.fleet/console/state.json`, (中文(简体) ), `sensitivity: "sensitive"`)完全如前;这是一个敏感的本地文件,不会被传送到浏览器上.

Codex/Fleet Wiki 路由保存已迁移的维基安全边界:主机许可列表 写出路由的出处检查 回回回写出门 路径封装 DOMPurify markdown sanitization 严格美人鱼渲染,以及用于工作空间注册的锁定文件无记名认证.

## 使用量

```bash
fleet console
fleet console status
fleet console restart
fleet console stop

# transitional alias
fleet-console
```

偏爱 `fleet console`过渡 `fleet-console` bin还行。 发射器确保本地控制台服务器运行并打印其 `/console/` 地址——没有浏览器符号碎片——供您打开自己;它从不代表您发射浏览器.

AI Gateway 配置自同一发射装置, 相对相同 `ai-gateway.json` 控制台屏幕编辑 :

```bash
fleet gateway                          # interactive configuration
fleet gateway status                   # configuration and credential state
fleet gateway models --json            # what the gateway currently exposes
fleet gateway auth login               # OpenCode Go / TypeSafe API keys
fleet gateway set xai-endpoint direct  # one policy axis, no prompts
fleet gateway serve                    # a standalone loopback gateway
```

CLI 直接写入设置文件, 因此它与停止的 Console 工作; 一个打开的 Console 标签显示重装后的变化 . `fleet gateway serve` 绑定 127. 0.0.1 且没有认证: 客户端集 `ANTHROPIC_BASE_URL` 到打印的 URL 和任何 `ANTHROPIC_API_KEY` 从开始 `sk-ant-`,其价值 网关从未读取.

## 桌面共存

Fleet Console桌面是围绕这一服务而设的一薄电子外壳,而不是第二个Console执行. 被打包的外壳既不嵌入此软件包, 也不嵌入节点: 它获取一个检查和校验的节点运行时间, 并安装此软件包 `~/.fleet/desktop/runtime/`,然后监督此包的 `dist/cli.mjs serve` 作为电路外的侧车过程 并满载精确 `http://127.0.0.1:<verified-port>/console/`. 该服务仍然是HTTP/REST/SSE/WebSocket,PTY,提供商政策,插件运行时间,耐用JSON状态,以及反应UI的拥有者.

发布了稳定的CLI/浏览器和桌面监督的Console共享一个Cononical稳定锁和 `~/.fleet/console` 持久状态命名空间( 除非 `FLEET_CONSOLE_DATA_DIR` 超常 – 先前 `FLEET_CONSOLE_DIR`,仍然被接受——是故意设定的). 拥有者元数据仍然是出处/生命周期相容数据;它不会改变Console通道,健康,更新,或CLI控制行为. 桌面只采用它自己启动的控制台; 当另一个控制台, 如一个启动时 `fleet console`,已经握住锁了,桌面请您停止,不碰它就退出.

更新仅通过 npm- global 工作者适用于普通的全球软件包。 用于桌面管理 `console/latest` 运行时间, `POST /api/v1/updates/apply` 永不突变 运行时间: 它回答 `delegated` 并且将请求交给监督桌面,桌面重新启动,使其硬化的入流安装器安装了新版本。 这个 `/api/v1/pairing-identity` 结束点只是发现,从不认证.

## 发展

来源在 `core/host/` 用于节点CLI/后端和 `core/client/` 用于Vite React SPA. Agent, Terminal, 以及 AI Gateway 运行时间执行在下面 `core/host/`;他们的UI生活在 `core/client/src/`私人 `@fleet-console/sdk` 软件包下 `sdk/` 是核心和内置插件的共享插件合同表面.

```bash
pnpm --filter @dotobokuri/fleet-console dev
pnpm --filter @dotobokuri/fleet-console test
pnpm --filter @dotobokuri/fleet-console typecheck
pnpm --filter @dotobokuri/fleet-console build
```

`build` 发射 `dist/fleet.mjs`, (中文(简体) ), `dist/cli.mjs`, (中文(简体) ), `dist/client/`,其余内置插件捆绑。 没有外部嵌入步骤.

见 `CLAUDE.md` 拥有权, 象征性的边界, 和流出的变化.

## 常见问题

### @dotobokuri/fleet-console 是什么？

Fleet Console——舰队和分舰队-Console bins,Console web表面以及瘦克洛德密码发射器的独家\.

### 如何安装 @dotobokuri/fleet-console？

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

### @dotobokuri/fleet-console 支持 TypeScript 吗？

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

### @dotobokuri/fleet-console 支持 ESM 还是 CommonJS？

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

### @dotobokuri/fleet-console 需要什么版本的 Node\.js？

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

### @dotobokuri/fleet-console 可以商用吗？

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

### @dotobokuri/fleet-console 的下载量有多少？

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

### @dotobokuri/fleet-console 还在维护吗？

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

