@dotobokuri/fleet-console

中文文档
1.204.0发布于 2026/09/29TypeScriptES Module近 30 天下载 3383

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

中文使用文档
文档目录8 节
  1. 它会做什么
  2. 运行时频道
  3. 会话具有约束力
  4. 使用观测输出
  5. 安全说明
  6. 使用量
  7. 桌面共存
  8. 发展

舰队控制台

独立回回回网络控制台,用于观测活输出流和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/wsConsole 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 严格美人鱼渲染,以及用于工作空间注册的锁定文件无记名认证.

使用量

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 控制台屏幕编辑 :

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/ 是核心和内置插件的共享插件合同表面.

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 共发布 142 个版本,首次发布于 2026/06/14;过去 12 个月发布了 142 个版本。

版本发布日期距今
1.204.0latest2026/09/291 个月前
1.203.02026/09/291 个月前
1.202.32026/09/291 个月前
1.202.22026/09/291 个月前
1.202.12026/09/291 个月前
1.202.02026/09/291 个月前

其他发布通道:beta → 1.18.0,next → 1.46.0。

关于 @dotobokuri/fleet-console 的常见问题

@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 和提交记录判断。