# @deepdockai/cli 中文文档

规范地址：https://npmcn.com/package/%40deepdockai/cli/

版本：1\.5\.0
npm 元数据更新时间：2026-11-11T16:20:34.927Z
中文译文更新时间：2026-11-11T19:57:53.242Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：663 kB，18 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=22\.13
- 运行依赖：0 个
- 首次发布：2026-10-23T18:18:45.595Z
- 最新版本发布：2026-11-11T16:20:34.556Z
- 近 30 天下载量：6525（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：36（近 12 个月 36 个）

## 中文简介

Deepdock partner CLI: 配对设备, 查看系统和动作, 创建您的代码所运行的 API 密钥 .

## 安装

```sh
npm install @deepdockai/cli
```

也可以使用：`pnpm add @deepdockai/cli`、`yarn add @deepdockai/cli`、`bun add @deepdockai/cli`

## README

# 深达克CLI

[深渊](https://deepdock.ai/) 使客户的商业系统能够到达 一个API。 一个小的Deepdock客户端在客户的电脑上运行在他们的系统旁边;您的代码调用 Deepdock的REST API,而Deepdock在设备上运行动作. 顾客什么也没有 网络向互联网开放 每一个动作都由Deepdock构建和验证 是给你的.

此寄存器持有合作伙伴 CLI, 发布为 [`@deepdockai/cli`](https://www.npmjs.com/package/@deepdockai/cli) 带有命令 `deepdock`,以及它为编码代理安装的技能.

```bash
npx @deepdockai/cli auth login
```

CLI 管理: 组织、 设备配对和 API 密钥, 它列出 设备提供的系统和动作。 它从不运行动作,从不保存或使用API 键。 动作从您自己的代码中运行,其中键为 CLI 写入您的 env 文件 .

节点22.13或更新. 在全球安装`npm install -g @deepdockai/cli`命令为 `deepdock`;以下示例使用该表.

## 在你开始之前

您需要一个 Deepdock 伙伴组织以及其中的一个成员账户; Deepdock 设置 与您一起组织(联系 [深渊.ai](https://deepdock.ai/)) (中文(简体) ). 试试看 您需要一个演示设备: 由您自己运行的 Windows 机器与您的客户运行相同的系统, 并安装了 Deepdock 客户端 `https://api.deepdock.ai/public/client/download` 财务报告和审定财务报表 仅持有被发明,标记的数据. 客户端在未发作时会在其屏幕上显示一对编码.

## 快开始

签字 CLI 打印链接并在您的浏览器中打开( 不是在 CI 中, 没有显示, 用 `--no-browser` 或者说 `DEEPDOCK_NO_BROWSER=1`) (中文(简体) ). 请检查date=中的日期值 (帮助) 页面名称为您的计算机和CLI版本, 并单击批准。 没有输入终端密码 .

```
$ deepdock auth login
Opening the approval page in your browser (it expires in 10 minutes):
  https://dash.deepdock.ai/cli?request=rq_...
The page shows this computer's name and the CLI version: check them before you approve.
Opened in your browser.
Waiting for approval in the browser.

Signed in as anna.mueller@muster-it.example.
```

选择工作组织,然后四处看看:

```bash
deepdock orgs select muster-it           # the default for every later command
deepdock devices list                   # paired devices, their status and systems
deepdock systems list                   # the systems and actions assigned to you
deepdock systems openapi example-erp > example-erp.openapi.json
```

用屏幕上的代码对齐您的演示设备 :

```bash
deepdock devices pair K7Q-4MX --label "Demo PC"
```

创建您的代码运行动作的 API 密钥 。 您需要组织中的管理角色; a 人类批准浏览器中的密钥, CLI 直接将其写入env文件, 保存 没有复制并显示值给任何人。 文件必须被 git 忽略, 以及 CLI 的 临时文件: a `.gitignore` 线条 `.env*` 两者都涵盖在内,如果Git能分辨出,则CLI拒绝另作选择.

```bash
deepdock keys create "myapp dev" --expires 30d --write-env .env.local
```

从这里你的代码读 `DEEPDOCK_API_KEY` 从 `.env.local`,以 `Authorization: Bearer` 每次请求 `https://api.deepdock.ai/v1` 并打电话给 openAPI 文档中描述的动作。 API本身(付费、写作) `Idempotency-Key`,每个错误代码、暂停和事件)由每个系统描述 `deepdock systems openapi <system>` 并显示在仪表板上;以下技能带有相同的 知识进入你的编码代理.

## 图标

```
deepdock auth      login | status | logout
deepdock org       list | select [slug]
deepdock systems   list | openapi <system>
deepdock devices   list | pair <code> | rename <deviceId> <label> | release <deviceId> | systems <deviceId>
deepdock actions   list <deviceId> <system>
deepdock keys      list | create <name> | revoke <id>
deepdock incidents list
deepdock skill
```

| 命令 | 它会做什么 |
| --- | --- |
| `auth login` | 在浏览器中签名和批准; 登录持续90天 |
| `auth status` | 由谁签名, 组织, 以及创建的 CLI 密钥( id, name, prefix, external, 文件; 从不包含值); 未签名时退出 5, 如 `gh auth status` |
| `auth logout [--keep-keys]` | 取消登录和创建的每个 CLI 密钥(`--keep-keys`:只有登录) |
| `orgs list`, (中文(简体) ), `orgs select [slug]` | 您的组织; 设置默认的组织 |
| `systems list` | 分配给贵组织的系统与行动 |
| `systems openapi <system>` | 系统在 stdout 上的 OpenAPI 文档, 重定向时赤裸; 保存到文件 |
| `devices list` | 配对设备,包括id、标签、状态、系统以及上次看到的设备 |
| `devices pair <code> [--label <text>]` | 按屏幕上的代码对一设备 |
| `devices rename <deviceId> <label>`, (中文(简体) ), `devices release <deviceId>` | 重命名设备; 从组织中解开它( admin) |
| `devices systems <deviceId>` | 设备的活系统与动作状态, 包括暂停的原因 |
| `actions list <deviceId> <system>` | 设备提供的每一个动作, 及其操作和领域 |
| `keys list`, (中文(简体) ), `keys create <name>`, (中文(简体) ), `keys revoke <id>` | 该组织的 API 密钥( 创建并撤销: 管理员) |
| `incidents list` | 公开事件和过去30天内结案事件 |
| `skill [--agent claude|codex|cursor|all]` | 将代理技能安装到当前目录 |

全球旗帜 : `--org <slug>` 财务报告和审定财务报表 `--json` 每个命令, `--yes` 以确认 `devices release` 财务报告和审定财务报表 `keys revoke` 没有问题, `-h, --help` 无处不在 `-v, --version` 在根头. `deepdock <command> --help` 有细节, `deepdock help exit-codes` 出口密码.

二事从来猜. 设备总是以其全名命名: 无默认设备, 无 通过标签搜索。 这个组织来自 `--org`,则 `DEEPDOCK_ORG`默认值 选择方式 `deepdock orgs select`完全由一个组织使用,无需询问(和 以 stderr 命名 ; 没有选择命令停止并列出它们.

## 批准流程

`auth login` 财务报告和审定财务报表 `keys create` 从不要求密码或密钥。 他们打印了一个链接,一个人类 在Deepdock仪表板中打开并点击批准,CLI收集结果. 页面 显示请求的计算机名称和 CLI 版本,这样您就可以告诉请求属于您. 批准不会给批准人任何好处:只有启动申请的CLI才能收取 结果。 请求停留10分钟.

没有终端(一个编码代理的外壳,一个脚本),两个命令都会打印请求并退出; 人类批准, 请求将在后面完成:

```bash
deepdock auth login --no-wait --json      # data.pending.request and data.pending.url
deepdock auth login --wait <request>
deepdock keys create "myapp dev" --expires 30d --write-env .env.local --no-wait --json
deepdock keys create --wait <request>
```

Ctrl-C在等待期间将请求搁置; `--wait <request>` 还原它.

## 代理和脚本的 JSON 模式

在终端上,你得到的桌子和普通句子。 当Stdout不是终点站时,或者与 `--json`,每个命令都会在 stdout 上打印出一个文档:

```json
{
  "data": { "...": "the API's data, unchanged" },
  "meta": { "org": { "slug": "muster-it", "name": "Muster IT" }, "requestId": "..." }
}
```

`systems openapi` 是终端上唯一的例外: 它会打印 OpenAPI 文档本身, 所以 `deepdock systems openapi <system> > openapi.json` 保存生成器可以读取的文档(`--json` 给信封。 列表和显示命令 `data` aPI的答案没有改变 所以CLI显示的是 您的代码会收到; `auth`, (中文(简体) ), `orgs select` 财务报告和审定财务报表 `keys create` 从命名的地上建起 。 A 类 失败是 stderr 上的一份文件, `{ "error": { "code", "message" }, "meta": { "hint" } }`, (中文(简体) ), ,而API的错误对象不变。 打开 `code` 或者在退出代码上,永远不要 `message`。 。 。 .

| 退出 | 含义 |
| --- | --- |
| 0 个 | 已执行 |
| 1个 | 命令行中要修正的( )`invalid_usage`, (中文(简体) ), `org_required`(中文(简体) ) |
| 2个 | aPI拒绝了请求;不重复不变(`invalid_request`, (中文(简体) ), `not_found`, (中文(简体) ), `forbidden`, (中文(简体) ), `rate_limited` 和其他拒绝) |
| 3个 | 稍后重试( r)`device_offline`, (中文(简体) ), `device_timeout`, (中文(简体) ), `device_syncing`, (中文(简体) ), `device_outdated`, (中文(简体) ), `action_paused`, (中文(简体) ), `access_outdated`, (中文(简体) ), `access_missing`, (中文(简体) ), `credentials_rejected`, (中文(简体) ), `certificate_changed`, (中文(简体) ), `system_unavailable`, (中文(简体) ), `target_busy`, (中文(简体) ), `temporarily_unavailable`, (中文(简体) ), `internal_error`, (中文(简体) ), `outcome_unknown`, (中文(简体) ), `connection_lost`(中文(简体) ) |
| 页:1 | cLI对API来说太老了(`cli_outdated`: 运行 `npx @deepdockai/cli@latest` |
| 页:1 | 需要登录( e)`sign_in_needed`, (中文(简体) ), `approval_denied`, (中文(简体) ), `approval_expired`(三); `auth status` 当没有人签名时 |

CLI从不自行复试:出道口3表示复试,由你决定何时复试. `deepdock commands --json` 打印整个命令树.

## 编码代理人的技能

[`skill/`](https://npmcn.com/package/%40deepdockai/cli/skill/) 是克洛德密码 密码和克塞尔的技巧 它教一个特工 Deepdock 模型(组织、 API 密钥、 设备、 系统、 动作), 食谱从登录到 a 测试集成, 如何读取 OpenAPI 文档而不是猜测字段名称, 写 与 `Idempotency-Key`,每一个错误代码,是否要重试, 和规则它永远不会 请求、读取或打印 API 密钥值。 它在TypeScript和 彼菩萨. 通话速度最快于一次再利用的HTTP连接(keep-alive),因为一新连接可以打出一个冷开.

```bash
deepdock skill                      # all three agents
deepdock skill --agent claude       # .claude/skills/deepdock/
deepdock skill --agent codex        # a marked section in AGENTS.md
deepdock skill --agent cursor       # .cursor/rules/deepdock.mdc
```

Codex 和 Cursor 共享下面的参考文件 `.deepdock/references/`做它写的, 所以每个克隆人和特工都看到了同样的技能 更新 CLI; 后再次运行命令 重写它安装的文件 .

该技能坚持用发明的,有标记的数据对演示设备进行测试: 您的代码设置了一个 `TEST-DEEPDOCK-<6 random characters>` 在它创建的每一个记录中标记,没有真正的客户数据到达固定,日志或提示.

## 窗口

macOS和Linux不需要什么特别的。 在视窗上 :

-   `npx @deepdockai/cli` 需要节点22.13或更新.
-   用于 Windows 的 Git 必须安装用于忽略检查 `--write-env`没有它,关键是 仍然写着,在stderr上警告说CLI无法用git检查.
-   文件设置在 `%APPDATA%\deepdock\config.json` 和嵌入文件,无论您在哪里 点 `--write-env`。Windows没有 POSIX 文件模式:两个文件都保留其权限 文件夹。 下 `C:\Users\<you>` 只有您可以读取它们; 在其它文件夹中, PC 的其他用户 也许可以。 因此,每一次写Env文件的运行都会印出一行这样写的字. 这个 设置文件保存您的签名和生活 `%APPDATA%`,只有您可以读取 默认.
-   在"PowerShell"中,引用一条带有空格的路径,并对整个论据使用相同的引用: `deepdock keys create "myapp dev" --expires 30d --write-env ".\my app\.env.local"`后鞭打 和前锋鞭打两个工作.

## 警卫

-   **没有显示任何密钥 .** CLI 既不打印 CLI 签名,也不打印 API 密钥值 任何旗帜,任何溪流. `auth status` 财务报告和审定财务报表 `keys list` 显示标识、前缀和过期。 报告 键值达到 stdout, stderr, 设置文件或日志是安全报告.
-   **钥匙直接写到你的文件.** `keys create` 写入 `DEEPDOCK_API_KEY=<key>` 输入 文件名称 `--write-env` 并且没有副本。 在 git 仓库内必须忽略文件 ;拒绝象征性链接。 在寄存器之外, 密钥被写入 警告; 如果 git 无法回答( 未安装, 权限或所有权错误, 其他任何错误 ) 失败)键仍然被写入,并在stderr上发出警告,命名文件和原因,以及 你一定要保证它不是 承诺。 现有 `DEEPDOCK_API_KEY=` 替换行并设置文件为模式 600. 键被写入时,它坐落在目标旁边的600模式临时文件(用于 `.env.local`, (中文(简体) ), `.env.local.deepdock-tmp-<random>`页:1 `.gitignore` 线条 `.env*` 或者说 `*.deepdock-tmp*` 覆盖它;当 git 答案和名称不被忽略时, CLI 拒绝在任何事情之前 创建.
-   **批准链接不是证书.** 它命名请求;结果以 一个CLI生成并保存的秘密.
-   **密钥已过期, 可以被撤销 .** 钥匙到达组织的所有设备直到它 过期(最长为90天,离《民事责任法》)或被撤销. `deepdock keys revoke <id>` 撤销它 删除 CLI 所写的行; `deepdock auth logout` 取消登录和每个密钥 创建 CLI, 除非你通过 `--keep-keys`。在一个终端上,它列出密钥并先问 (默认:保留);与 `--json` 或者没有终点站,它就会取消他们,除非 `--keep-keys` 通过。 单位 `--json`, (中文(简体) ), `data.removed` 说到底发生了什么 `null` 用于此密钥 CLI从来不写,不然 `{ file, name, removal }` 与 `removal` `done`, (中文(简体) ), `absent` (行 )或 `failed` (带有 `reason`) (中文(简体) ). 如果文件被打开 通过另一个程序(一个Dev服务器在Windows上观看),密钥仍然被吊销,并且 命令退出 0,同时警告该行仍在文件中,必须手取删除. `keys revoke` 然后保持它的分类账条目, 所以运行 `keys revoke <id>` 文件再次出现 免费删除行( API 的“ 未找到” , 用于键本身的组织计数 ) 撤销,和 `data.alreadyRevoked` 说吧. `auth logout` 报告失败 `apiKeysRevoked[].removed` 内 `meta.hint`,并清除其本地记录 无论是哪种方式.
-   **当地州** 住在这里 `$XDG_CONFIG_HOME/deepdock/config.json`,则 `~/.config/deepdock/config.json` (单位:千美元)`%APPDATA%\deepdock\config.json` 在窗口上,或者在 `$DEEPDOCK_CONFIG_DIR/config.json` 当设定绝对路径时; 模式 600, 在目录中 CLI在不存在时创建了模式700. 它持有登录、默认组织、 密钥的代号 创建了CLI(绝不是其价值),并提出了等待批准的申请. 其它用户可以读取的文件 与 `chmod` 运行.
-   **环境:** `DEEPDOCK_ORG`, (中文(简体) ), `DEEPDOCK_BASE_URL` (仅供本地主机使用), `DEEPDOCK_CONFIG_DIR`, (中文(简体) ), `NO_COLOR`, (中文(简体) ), `FORCE_COLOR` (在不是终端的流上显示颜色;); `NO_COLOR` ) (中文(简体). 签名或待决请求从不会发送到与其不同的基址 被提出反对.

以电子邮件报告易被 [托尔本@deepdock.ai](mailto:torben@deepdock.ai),而不是公开问题: [警卫](https://npmcn.com/package/%40deepdockai/cli/SECURITY.md)。 。 。 .

## 发展

```bash
bun install
bun run build         # dist/deepdock.js, one ESM file with no runtime dependencies
bun run test          # builds, then runs vitest under Bun
bun run test:node     # the same tests under Node (needs dist/ from the build)
bun run format && bun run lint && bun run typecheck && bun run check:public
```

### 尝试本地更改

`bun run dev` 从源头运行 CLI 。 每个 API 在下方获得自己的设置目录 `<config dir>/deepdock-dev/<api host>/`因此,一个对一个API的签注 从来没有坐在旁边 ; 只有 CLI 自己的设置移动(`DEEPDOCK_CONFIG_DIR`),机器上没有其它内容:

```bash
bun run dev -- auth status                                      # the production API
DEEPDOCK_BASE_URL=http://localhost:3000 bun run dev -- auth login --no-wait
```

脚本不依赖于当前目录: 从其它地方, 按其路径称呼它 (单位:千美元)`bun /path/to/devkit/scripts/dev.ts ...`),或放进 `DEEPDOCK_BASE_URL=... bun .../dev.ts` 线条 每个API的外壳别名。 要运行精确的柏油球 npm 会发布,从任何目录:

```bash
bun run pack:try -- auth status      # builds, packs, prints the one-line command to run it
```

它印着 `DEEPDOCK_BASE_URL=... DEEPDOCK_CONFIG_DIR=... npx -y --package=/path/to/deepdockai-cli-<version>.tgz deepdock auth status`, (中文(简体) ), 用于相同的 API 和设置目录 `bun run dev` 将使用(`npx <tarball>` 一个人会尝试 以执行归档). `tests/fakeApi.ts` 本地站点,可按 一次:

```bash
bun scripts/fakeServer.ts &              # prints its URL
DEEPDOCK_BASE_URL=http://127.0.0.1:<port> bun run dev -- auth login
```

## 许可证

[麻省理工学院](https://npmcn.com/package/%40deepdockai/cli/LICENSE)。 。 。 .

## 释放

更改合并后自动发布; 没有人运行 `npm publish`来运送一个变化,起伏 `version` 内 `package.json` 并添加匹配 `## <version>` 条目为 `CHANGELOG.md` 在你的拉动请求。 检查拉动请求需要 当已发布文件更改时, 凸起值。 当拉动请求合并到 `main`,释放 工作流程测试代码,扫描准确的柏油球,发布到 npm 与出处,然后标记 `v<version>` 并创建一个 GitHub 发布,以更改日志条目作为注释.

## 常见问题

### @deepdockai/cli 是什么？

Deepdock partner CLI: 配对设备, 查看系统和动作, 创建您的代码所运行的 API 密钥 \.

### 如何安装 @deepdockai/cli？

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

### @deepdockai/cli 支持 TypeScript 吗？

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

### @deepdockai/cli 支持 ESM 还是 CommonJS？

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

### @deepdockai/cli 需要什么版本的 Node\.js？

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

### @deepdockai/cli 可以商用吗？

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

### @deepdockai/cli 的下载量有多少？

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

### @deepdockai/cli 还在维护吗？

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

