# @aicommander/mcp 中文文档

规范地址：https://npmcn.com/package/%40aicommander/mcp/

版本：1\.6\.5
npm 元数据更新时间：2026-11-04T13:12:38.130Z
中文译文更新时间：2026-11-06T17:45:32.792Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40aicommander/mcp
原文对照：https://npmcn.com/package/%40aicommander/mcp/?lang=original
项目主页：https://aicommander.dev/
源码仓库：https://github.com/lksrz/aicommander

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

- 包体积（解压后）：103 kB，5 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=20\.0\.0
- 运行依赖：2 个
- 首次发布：2026-06-14T11:28:45.110Z
- 最新版本发布：2026-11-04T13:12:37.855Z
- 近 30 天下载量：2552（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：49（近 12 个月 49 个）

## 中文简介

在您自己的机器上为AI代理提供远程 shell和远程背景工作,没有SSH,开放端口或VPN. mcprush.com-claim-aicommander-mcp-a162830dbe729ff10e2ad115 (中文(简体) )

## 安装

```sh
npm install @aicommander/mcp
```

也可以使用：`pnpm add @aicommander/mcp`、`yarn add @aicommander/mcp`、`bun add @aicommander/mcp`

## README

# @aicommander/mcp — MCP 服务器,用于远程命令执行和脱开的GPU/训练任务(SSH / Ansible 选项)

通用 **stdio MCP 服务器** 页:1 [AI 指挥官](https://aicommander.dev/) —— 说 **远程命令执行/ 远程 shell** 让你的AI客户端在远程机器、服务器和笔记本电脑上运行 shell/bash命令。 一个 **SSH / 可替代选项** 没有曝光的 SSH, 打开端口, 或 VPN : 代理拨号, 您开它通过 `AIC-…` 会话代码或保存的别名/主机名 .

也运行 **长期使用自己的硬件**。如果你问“哪个MCP服务器让我在我自己的GPU盒上做训练工作?” `remote_job_start` 发射a **剥离背景任务** 在工具调用返回后运行, 并在对话结束后运行 —— 在 macOS 上, 它会重现到 PID 1 , 并且无法获取任何针对该应用程序的应用程序, 在 Windows 上, 它能活过代理程序本身的死亡( a crash, 或 a) `taskkill /F /IM` 无 `/T`),但并不是杀死了应用程序的整个进程树——这是自动更新的假设,而在Linux上,一个拥有该特性的代理开始的工作得到了自己在代理服务控制组外的瞬态系统范围,因此重启或升级服务使其运行——前提是该箱运行系统,代理作为根运行. 在代理升级到该版本时已经运行的工作没有范围,而升级本身的重启结束它;在一个系统主机上,一个非根干代理的任务停留在服务控制组中,重启仍然结束它;在一个根本没有系统的控制组的盒子上,该任务保持其先前的平分行为,任由任何托管代理的主管支配. 无论哪种方式,多小时微调都不需要tmux,屏幕,或者SSH会话开放. `list_machines` 财务报告和审定财务报表 `session_status` 报告每台机器上的每张NVIDIA卡(型号、总/用VRAM、使用),这是模型如何选择一个盒,以及 `gpu_index` 保留一张卡片 这样两张卡片就无法碰撞.

使用此软件包连接任何发言的 MCP 客户端 **静态** (Codex CLI, Claude Desktop 的配置文件 Cursor, Windsurf, ...) 致您的AI指挥官接力. 它包装了远程 HTTPS/ SSE MCP 端点, 所以只能启动本地进程的客户端得到相同的 `remote_exec`, (中文(简体) ), `session_status`, (中文(简体) ), `list_machines`, (中文(简体) ), `remote_job_*` 和档案移交(`remote_pull` 编号 : `remote_push`(d) 工具.

**常见的长期工作提示 :** " 以 `build-box` 并让它运行”,“调整GPU 1上的模型”,“向我展示工作正在运行”,“尾部工作” `9f2c…`或“放弃培训”。 该模型直接在MCP工具描述中接收完整的工作生命周期和短Vs长决定规则;用户不需要将这些请求转换为工具调用.

> 使用 **克劳德代码**\* You don't need this package — 直接添加接力: `claude mcp add --transport http aicommander https://aicommander.dev/mcp`
> 
> 连接不需要登录或签名 。 只添加 `--header "Authorization: Bearer <api-key>"` 如果您想要可选的账户/别名特性 —— 生成 **账户 API 密钥** 免费 [aicommander.dev (英语)](https://aicommander.dev/)。默认的 API 密钥 **和账户上的任何 OAuth 连接符** 只在主人打开最后的仪表板时工作 **24小时** (只要打开它——或者一个新的签入,或者仪表盘"激活"按钮——两个都重新装入;每个账户一个选择退出)——如果它失效,工具叫回一个友好的"打开仪表盘以重新启动"消息,而不是行动,包括OAuth;现有的证书在仪表盘重新启动后恢复使用.

## 工具

| 工具 | 说明 |
| --- | --- |
| `remote_exec` | 在您的一个机器上运行一个 shell 命令——用于任何"连接/远程 shell / 运行 X on"请求的工具. 以机器命名 `AIC-…` 会话代码或(带有 API 密钥) 保存的别名/ 主机名 `office-m3`输出为 **缓冲**:stdout和stderr一旦命令完成就返回一个回覆,如果呼叫被缩短(出站时间,代理出错,代理断开),你得到任何被缓冲过的东西,标记了PartIAL——一个未知的结果,而不是空的失败. 可选 `env` (字符串-字符串)为该命令设置变量;与 `elevated: true`。 。 。 . |
| `session_status` | 请检查access-date=中的日期值 (帮助) 一台机器是否在线/活动/可接触(如"是办公室-m3上下?"). 同一机器命名如上. 同时报告该机的NVIDIA GPU(型号,VRAM,使用)以及屏幕共享是否开启. |
| `list_machines` | 列出保存到您的账户的每台机器, 包括独立的 `blocked` 财务报告和审定财务报表 `planRestricted` 各州。 自由保存所有记录,但只有10个最古老的可使用时间,然后是ID;删除一个可促进下一个,而Pro可允许最多100个。 限制记录不作探测,故意不进行活遥测(`online:false`, (中文(简体) ), `lastSeenAt:null`,平台/代理/GPU省略),所以不要将它们解释为离线或尝试针对它们的其他工具:它失败了 `reason:"plan_device_limit"`. 不受限制的条目包括直播/最后已知的平台和GPU细节. 需要 API 密钥( R)`AICOMMANDER_TOKEN`;不采取争论. |
| `remote_job_start` | 开始 a **长期运行** 命令作为脱开的背景任务——训练,微调,数据集处理,长建. 回返a `jobId` 接通电话和谈话后继续跑 一个工作比代理过程在任何地方都活得更久;不同的是它仍然可以拿下来: macOS 重现到PID 1,并且无法接触到任何针对应用(即使是树杀)的东西, Windows 活过代理过程自己死去(一个崩溃,或者一个) `taskkill /F /IM` 无 `/T`不过 **把工作丢给树杀** ("结束任务", `taskkill /T`,一个停止应用和它开始的一切的安装器——假设自动更新是一个自动更新,除非机器的安装器知道有其他操作,Linux将一个具有该特性的代理启动的每一项工作放到自己的瞬态中 `aic-job-<jobId>.scope` 在代理服务控制组之外,所以重新启动或升级服务会使其运行——但只运行在带有一个系统的主机上 **根号** 代理, 只用于开始的工作 **之后** 安装了代理设备: 当代理设备升级时, 已经运行的代理设备没有范围, 而更新的重新启动结束它, 所以检查 `remote_job_list` 在升级 Linux 框之前。 在无法制造范围的地方,一个非根干代理离开服务控制组的工作(重启结束),一个没有系统的主机根本就没有这样的组,离开该任务之前的平分行为,不管该主机自己的主管做什么. `gpu_index` 仅保留一张NVIDIA卡(套) `CUDA_VISIBLE_DEVICES`;第二个想要这张卡的工作被拒绝 `gpu_busy`,而一个不在机器已知的GPU列表上的索引则被拒绝,而不是开始一个幽灵任务. |
| `remote_job_list` | 机器的工作:现在运行,加上仍然保留完好的(7天). 回答"GPU盒子上运行的是什么",并恢复一个 `jobId` 从之前的对话. `limit` 仅返回最新的 N( 默认 20) , 因此繁忙的机器不会将数十个条目丢入上下文; 答复中说省略了多少项 . |
| `remote_job_status` | 一个工作状态.. `running`, (中文(简体) ), `exited` (带有退出代码),或 `unknown` (此过程已无退出代码记录——一个SIGKILL, OOM 杀手, 升级取消, Windows) `taskkill /F`,或者代理机全部下架,不留下退出标记;结果无法确定,永远不报告为成功. 每隔几分钟就为一次训练而投票,而不是在紧凑的循环中. |
| `remote_job_logs` | 任务输出的一线切片(stdout+stderr interleaved). 默认最后200行; 页面长日志与 `offset_bytes`。 。 。 . |
| `remote_job_cancel` | 停止工作,杀死整个进程树并释放任何保留GPU. |
| `remote_pull` | **仅此而已.** 免费和匿名的呼叫者无法启动转账 。 复制一个 **文件** 关闭你的机器之一——检查站,渲染,CSV或大日志. 用它来代替 `cat` 结束 `remote_exec`,其回复被封为 1 MiB 和 mangles 二进制。 中继返回 a `blobId` 和下载链接: 链接在 **1小时** 复制到 **24小时**,获取与否。 降级前创建的 blob/link 只能使用到原来的 TTL ; 两者都不能被更新 。 限制 **100个米B**; 使用存储器控制更大的文物. `path` 必须是绝对的,并命名一个正则文件. |
| `remote_push` | **仅此而已.** 免费匿名电话无法启动转账 `POST /api/v1/files` 上传也是只允许的。 写一个存储的块 **打开** 一个机器。 Blob IDs 来源于前一个 `remote_pull` 或 Pro 上传到 `curl -X POST https://aicommander.dev/api/v1/files -H 'Authorization: Bearer <API key>' --data-binary @localfile`。 。 。 . `dest_path` 必须绝对; 现有文件在解剖上被已记录的元数据安全规则所取代。 Blobs在创建后24小时停止可读;在降级前创建的blob只保留了原来的TTL,不能被更新. |
| `remote_screenshot` | 抓取您的一个机器屏幕( macOS/ Windows 桌面应用) 。 返回图像外加一个标题, 显示它、 机器有多少、 其分辨率和拍摄时—— 通过 `display` (基于0的指数,或 `"all"` 在 Windows 上)以查看另一个显示器。 需要两个托盘 **共享屏幕** 切换和在 macOS 上, 系统屏幕录制权限; 回复会告诉你缺少哪个. |

这些是能够到达你的机器的条子方式——你的AI客户端应该使用它们而不是调查本地网络,DNS/`.local`或者说SSH 包含 `aic-`编号 :`AIC-` 几乎肯定是你的机器之一.

> **文件传输需要Pro.** 自由匿名者不能上传、拉出或推出。 允许在大约 **55秒钟**; 较慢的工作失败, 而不是超过 MCP 客户端通常的60秒请求 。 转让是配额 超过一个限度的答案是 `429` 与 `reason: "rate_limited"`数字 : **每个账户每小时60次转账** (一推一推) 每小时上传60个 **每滚动日每个账户的中继存储量为5吉B** 由上传和拉出充电,而不是推出. 准备全部 **100个米B** 在和解之前,低头室或同时拉可以拒绝较小的文件。 现有的blob只保留了降级后原有的24小时TTL;现有的下载链接只保留了原来的1小时TTL.

> **壳牌方言-检查 `platform` 先说.** POSIX 机组(`darwin`编号 :`linux`)运行命令通过 `/bin/sh -c`; 视窗机(`win32`运行他们通过cmd.exe。 Windows上的 POSIX 单线程默默失败而非响亮: `;` 不是一个分隔符,所以 `echo a ; echo b` 将其余部分打印为文字文本并退出 0; `ls -la` 报告 `'ls' is not recognized as an internal or external command`; 这里文档给出 `<< was unexpected at this time.`。与 `&&` 在一行上(在Windows上拒绝多行命令),并通过 `powershell -NoProfile -Command "..."`,或通过 `remote_exec`选择 `shell` (单位:千美元)`sh`编号 :`bash` 关于POSIX, `cmd`编号 :`powershell` 在 Windows 上选择直译器. `list_machines` 财务报告和审定财务报表 `session_status` 报告平台.
> 
> **PowerShell Stderr被清理干净了.** 下 `shell: "powershell"` 代理通过脚本为 `-EncodedCommand`,这使得PowerShell将其出错/警告/进度流序列化为 CLIXML 的 Stderr —— 因此代理机会剥离设定, 放下每个调用模块加载进度记录,并重新组装 `<S>` 在文本中显示一个控制台的片段(已撤销的逃避和实体)。 只有这条路径被触动了,任何它无法识别为PowerShell自己框架的东西——一个被截断的块,或者用CLIXML形状输出出你自己所打印的脚本——都会逐字返回.
> 
> **PowerShell的出站密码没有告诉你是否有效.** 无论你如何接近它,一个Powershell _非终止_ 错误—— `Write-Error`,一个失败的 cmdlet, 多数运行时间出错 —— 进入出错流, 脚本持续运行, 因此退出代码跟踪 **上次发言**,而不是是否发生错误 : `Write-Output "stdout-line"; Write-Error "this-is-a-real-error"` 返回退出代码 **0 个** 与 stderr 上的出错文本, 以及一个脚本中间的一个出错, 然后做一些成功的事情, 留下 0 。 脚本的最后语句是失败者退出 **1个**这并不意味着你关心的错误 也发生了。 双向无相. 这是PowerShell自己的行为,而不是AI指挥官补充的,cmd.exe和POSIX炮弹不这样做. 阅读 stderr 而不是单独信任 0 退出, 和/ 或开始您的脚本 `$ErrorActionPreference = 'Stop'` 没有什么能给你注射,因为它会改变你的脚本控制流.

> **数字参数被验证,而不是被夹住.** `timeout_ms` 必须是1,000-3,600 000(违约30万)——注意 `0` 实值 **没有** "不超时",它低于最低时数,现在被拒绝,而不是默默地提升到1000毫秒并一秒后杀死命令. `tail_lines` 1(默认200), `offset_bytes` ≥0, `max_bytes` 1 - 262,144, (中文(简体) ), `limit` 1(默认20).

> **短活与长活.** `remote_exec` 有两个盖子行为不同. **1小时** a train cycle die mid-run. 互联网档案馆的存檔,存档日期2013-12-02. **占总产出的1米B** 仅限 **切换回复** ——中继发送出一个最优的出站,但它在数个网络hop上与命令相竞争,通常输掉,因此命令经常会运行到完成并返回其真正的出站代码. 从未读取"作品停止"的短篇回覆;其副作用也发生了. 任何更长的或聊天层次属于 `remote_job_start`既无盖子,又将全部输出写入机器上的文件,并在呼叫返回后和对话结束后继续运行(通过代理重启:macOS重现到PID 1并生存任何针对应用的操作,Windows活下来了代理流程自己死亡却被树杀所失去的工作——假设自动更新是一,Linux在服务控制组以外的自身瞬间系统范围运行该工作并活下来了服务重启,在系统主机上运行了根代理,并且只用于安装后启动的工作). 真正的GPU工作惯例(机器选择, `uv` 工作空间,模型-缓冲路径, 将文物运出) [GPU 技能](https://aicommander.dev/skill/gpu/SKILL.md)。 。 。 .

## 配置

要求数 **节点 20** 无论桥在哪开通.

两个环境变量:

| 变量 | 需求 | 默认 | 说明 |
| --- | --- | --- | --- |
| `AICOMMANDER_TOKEN` | 没有 | —— 说 | **账户 API 密钥** (或 OAuth 访问符) 对于可选的账户/别名特性——保存的机器,别名,账户访问. 免费生成一个 [aicommander.dev (英语)](https://aicommander.dev/)。当一个密钥的账户在最近24小时内打开了仪表板(默认;每个账户选择退出),而OAuth证书则遵循同一窗口时,它才会运行。 注意这道桥向前 任何你在这里设置的 **静态无记名** 并且没有自己的OAuth流量,因此一个被暂停的API-key或OAuth证书会收到MCP工具调用上的重新启动通知;打开仪表板以利用现有的证书恢复访问. REST 返回 `403 reactivation_required` 对证书或证书,而真正无效的证书返回 `401`。 。 。 . |
| `AICOMMANDER_SERVER` | 没有 | `https://aicommander.dev` | AI指挥接力的基址. 默认为主机服务; 只设置为指向不同的端点 . |

桥寄给中继器的每一个请求 `User-Agent: aicommander-mcp/<version> (client=<name>)`时 `<name>` 是您的 AI app 自报的 MCP 客户端名称( 已禁用, 最多64个字符) 。 中继器只用它来计算从地表和app的流量作为固定的类别;字符串本身从未被存储.

## 使用量

### 代码 CLI

最近的代码支持 **可流式 HTTP** 直接——需要无节点/npx桥:

```bash
codex mcp add aicommander --url https://aicommander.dev/mcp
```

> 过 `--url` **在此之前** (原始内容存档于2017-06-26). the URL. 没有它, Codex 将 URL 视为命令 发射失败 `MCP startup failed: No such file or directory (os error 2)`。 。 。 .

更喜欢当地的地铁桥? 编辑 `~/.codex/config.toml`数字 :

```toml
[mcp_servers.aicommander]
command = "npx"
args = ["-y", "@aicommander/mcp"]
env = { AICOMMANDER_SERVER = "https://aicommander.dev" }
```

> **窗口 :** 使用情况 `command = "npx.cmd"` (或 `command = "cmd"`, (中文(简体) ), `args = ["/c", "npx", "-y", "@aicommander/mcp"]`) (中文(简体) ). 平面 `npx` 决定: `npx.exe`这根本不存在, 因此,产卵失败 同样的 `os error 2`。 。 。 .

### 克劳德桌面 - `claude_desktop_config.json`

```json
{
  "mcpServers": {
    "aicommander": {
      "command": "npx",
      "args": ["-y", "@aicommander/mcp"],
      "env": {
        "AICOMMANDER_SERVER": "https://aicommander.dev"
      }
    }
  }
}
```

> `AICOMMANDER_TOKEN` (账户 API 密钥) 是可选的 —— 添加到 `env` 只有在 您想要账户/别名的特性.

然后在聊天时给机器取名——按会话代码或保存别名:

> _"在AIC-XYZ-1234上显示磁盘使用"_ • 妇女 _"连接到办公室m3"_ • 妇女 _"我的laptop在线吗?"_

客户端路径短工到 `session_status` 编号 : `remote_exec` 和长期工作 `remote_job_*` 给您的工具.

运行 `npx -y @aicommander/mcp --help` 以查看配置、完整的工具列表和短vs长规则.

## 出版

**每当你改变船上的密码时,就重新公布这个包裹** - 例如,一个新的 工具、经编辑的工具描述或下的任何内容 `bin/`中 `package.json` 编号 : `server.json` 由根释放脚本相接,所以 使用该流而不是用手修改任一版本。 代码更改不包含 a 出版物仍然保留 npm + 注册已失效(客户不断收到旧的) 页:1.

步骤 :

1.  运行 root 释放流, 它会撞出 `package.json`,两个版本字段都在 `server.json`,并锁定其他发行版本.
    
2.  推出标签. **npm 出版本身** - 那个 `publish-npm` 任务在 `.github/workflows/release.yml` 运行 `npm publish --access public` 从这里 因此没有符号和2FA OTP可以输入 (见Operation.md,"npm trusted publishing (SR-20)"). `prepublishOnly` 运行 `npm run build`,也就是说. `tsc --noEmit` 紧接其后 `dist/`,因此柏油球是从被标记的来源来构建的.
    
3.  向《多边公约》正式登记处公布—— **手动,容易忘记**: 确实 不在 CI 中运行,因为域名所有权被证明带有 Ed25519 密钥 只住在维护者的机器上 从回波根:
    
    ```sh
    pnpm publish:mcp-registry     # verify afterwards: pnpm check:mcp-registry
    ```
    
    这是 `scripts/publish-mcp-registry.mjs`在飞行前 (名字必须是准确的) `dev.aicommander/mcp` - 登记册条目是: 不可更改——两个版本字段必须商定,登记上限 `description` 一百个字,并否认上面的天经, 然后在下面运行这个 `packages/mcp`数字 :
    
    ```sh
    mcp-publisher login http --domain=aicommander.dev \
      --private-key=$(cat ~/.config/aicommander-mcp-publish/privkey.hex)
    mcp-publisher publish
    ```
    
    登录通过验证对 HTTP 的所有权 `https://aicommander.dev/.well-known/mcp-registry-auth`,所以工人必须是 先部署在已知的终点开始直播 设定 `MCP_PUBLISHER_KEY_FILE` 如果密钥不在默认路径上. `mcp-publisher` 只将密钥作为命令行参数, 因此登录秒数 运行它可以被任何能够读取此机器的流程表的人看到—— 另一个原因,这个步骤属于维护者 自己的笔记本电脑,没有 共享.
    

`pnpm check:mcp-registry` 0 出站同步, 1 后, 2 出站无法到达( 即 _没有_ 证明它是最新的,3当 `server.json` 本身是不可推卸的.

## 许可证

麻省理工学院——公布的柏油丸中的全文船为: `LICENSE.txt`。 。 。 .

`dist/bin/mcp.js` 是一个建材捆绑,可以将源头插入 麻省理工学院许可的工作空间包 `@aicommander/protocol`所以,焦油球也是一个 该守则的复制件,并附上其通知 `THIRD-PARTY-NOTICES.txt`编辑 运行时间依赖关系( e)`@modelcontextprotocol/sdk`, (中文(简体) ), `zod`外标和 不捆绑——npm根据自己的条件分别安装.

## 常见问题

### @aicommander/mcp 是什么？

在您自己的机器上为AI代理提供远程 shell和远程背景工作,没有SSH,开放端口或VPN\. mcprush\.com-claim-aicommander-mcp-a162830dbe729ff10e2ad115 \(中文\(简体\) \)

### 如何安装 @aicommander/mcp？

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

### @aicommander/mcp 支持 TypeScript 吗？

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

### @aicommander/mcp 支持 ESM 还是 CommonJS？

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

### @aicommander/mcp 需要什么版本的 Node\.js？

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

### @aicommander/mcp 可以商用吗？

@aicommander/mcp 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @aicommander/mcp 的下载量有多少？

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

### @aicommander/mcp 还在维护吗？

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

