# @flowmind/cli 中文文档

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

版本：0\.3\.13
npm 元数据更新时间：2026-11-10T12:10:42.790Z
中文译文更新时间：2026-11-15T00:57:52.100Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：567 kB，5 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=20
- 运行依赖：5 个
- 首次发布：2026-10-14T20:15:29.974Z
- 最新版本发布：2026-11-10T12:10:41.997Z
- 近 30 天下载量：2454（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：17（近 12 个月 17 个）

## 中文简介

Flowmind CLI:记录你和你的编码代理船,结果和证明它的链接. 和克洛德密码合作.

## 安装

```sh
npm install @flowmind/cli
```

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

## README

# 流动的CLI

软件包安装两个等同的命令, `flowmind` 财务报告和审定财务报表 `fm`关于macOS, `/usr/bin/fm` 可能会是 苹果公司的基础模型工具,所以代理和钩子呼叫 `flowmind`。 。 。 .

## 设置编码代理

```sh
npm install -g @flowmind/cli
flowmind auth login
flowmind hooks install
```

`hooks install` 将 Flowmind 技能复制到 Codex 和 Claude 代码并添加会话钩钩 `~/.codex/hooks.json` 财务报告和审定财务报表 `~/.claude/settings.json`这些文件中的其他钩子保持不变. 当 Flowmind Claude 代码插件(`flowmind@flowmind` 从 `afgonullu/flowmind-skill`)为 安装和启用时,插件提供克洛德码中的技巧: `hooks install` 写入否 复制到 `~/.claude/skills`,删除它先前写的未修改的复制件,仍添加了钩子. 钩子在跑 `agent hook` 通过安装节点二进制和CLI文件的绝对路径, 因为钩子启动时没有您的 shell profile 和版本管理器可能无法设置 `node` 在路径. Windows上的编码程序获得PowerShell命令(`& '<node>' '<cli>' agent hook --agent codex`) (中文(简体) ). 升级节点或移动CLI后, `hooks status` 显示 `outdated`; 运行 `hooks install` 再来一次 相信变了的钩子 钩子记录每个代理在 CLI 配置文件夹下翻转. 在链接到的寄存器中,会话启动钩子告诉代理器它的工作对象. 20分钟或以上一次 完成的代理转折不设舞台,每个提示还带有提示和记录 执行命令 一个成功的 `agent stage` 重新计数 .

在一个没有 `.flowmind.json`,会话启动钩首读取 `.flowmind.json` 从 本地远程跟踪参考文件:当前分支的上游,然后 `origin/HEAD`, (中文(简体) ), `origin/main` 财务报告和审定财务报表 `origin/master`它不获取。 如果远程读取器链接到寄存器,代理器会学习项目和 被告知要运行 `git pull` 永远不要创建新项目。 否则,代理得到 步骤链接 存储器:拉出、找到现有项目、只为新产品创建一个、链接和承诺 `.flowmind.json`,或标记第三方克隆或抓取文件夹 `link --ignore`20分钟后 代理转折被记录在这样的寄存器中,每个会话一个提示重复作为简短的提醒. Git 外被忽略的寄存器和文件夹没有上下文和提醒 . Codex 运行新钩子时只信任过一次 `/hooks`。 。 。 . `hooks status` 显示两个安装, 财务报告和审定财务报表 `hooks uninstall` 只删除 Flowmind 条目.

那就叫你的经纪人"设置Flowmind" 这个技能可以盘点你的储存器,提议 选项,并在批准列表后创建和链接.

## 项目和储存库链接

```sh
flowmind projects --json
flowmind projects add "Bead Focus" --description "Focus timer for iOS" --json
flowmind link "Bead Focus"              # writes .flowmind.json at the repository root
flowmind link <project-id> --dir ~/projects/bead-focus
flowmind link                           # shows the current link
flowmind link --ignore --reason "Third-party clone"
flowmind link --scan ~/projects ~/code --depth 2
```

一个链接通过 id 来命名工程,并保留其名称作为标签. `link` 接受一个id或一个精确 项目名称,并对照代理商可以看到的项目加以核对。 提交 `.flowmind.json` 共享 与其他机器和特工的联系.

一种产品是每台机器上的一个项目. API拥有这个规则: `projects add` 发送一个请求,和 API 拒绝一个已有项目已有的名称 。 CLI 打印 API 的信息并给出建议 `--allow-duplicate` (反正它创造了第二个项目)或 `flowmind link <project>` 对于现有的一个.

`link --ignore` 写入 `{"ignore": true, "reason": "..."}` 作为 `.flowmind.json` 用于第三方克隆或 一个抓取文件夹. `link` 然后打印 `Ignored for Flowmind`钩子保持安静 `agent stage` 失败,除非你通过 `--project`交出标记,其他机器也跳过它.

`link --scan <dir...>` 在每个目录中找到 git 寄存器 `--depth` 下面文件夹级别 (默认值2) 它跳过隐藏文件夹和 `node_modules`,而不在仓库内搜索. 每个寄存器都有一个状态 : `linked`, (中文(简体) ), `ignored`, (中文(简体) ), `remote-linked` (当地远程跟踪员有: 链接; 运行 `git pull`)或(或) `unlinked`,带有没有证书的项目和源 URL. `--json` 指纹 `{ "repositories": [...] }`。扫描输出 0 而不使用网络.

按项目名称和期限列出已完成的工作:

```sh
fm log --project Flowmind --hours 1.5 --outcome "Shipped the reader"
```

没有开始时间,会话在保存时结束:10:00节省了90分钟 08:30-10:00记录。 要提供实际启动,请使用 ISO 8601 乘以 时区 :

```sh
fm log --project Flowmind --hours 1.5 --started-at 2026-10-02T08:30:00+02:00 --outcome "Shipped the reader"
```

未来会话结束在联系API前被拒绝. API 执行 存储的时区中的七天记录窗口. `--started-at` 适用于 结构化项目/小时记录。 使用经审查的自然语言伐木 AI确认时间. 运行 `fm log --help` 所有选项.

## 阶段代理证明

代理人们完成了人类明确批准的工作。 与会话链接的存储库 已经安装了钩子,意图和结果都足够了. 最多将结果写为一行 120个字符:项目或其用户的改变. 添加最多三个可选 `--detail` 用于证明或打开项目的值。 每个细节必须是最多100个字符的一行. 保持细节或用途中的承诺、运行、路径和打开项目 `--artifact-url` 证明链接.

例如:

```sh
flowmind agent stage --intention "Fix CLI sign-in" \
  --outcome "Signed-out CLI sign-in now returns to Authorize CLI" --detail "Cause: Supabase rejected the www callbacks" --detail "Still needs: deploy approval" \
  --json
```

如果有证据违反这些规则,则CLI在提出要求之前予以拒绝。 错误是准确的 哪些内容可以缩短或拆分,并包括上述实例。 单位 `--json` 模式, stderr 包含 a 一个 `error` 信件和邮件 `issues` 列表中选择一个选项。 API拒绝保留服务器的确切消息. 现有的长音符仍然可以读取;这一规则适用于新的证明. `agent proposals` 显示 细节为缩进子弹,以及 `--json` 包括API的细节不变.

CLI从 `.flowmind.json` 届会的日期和地点 `CODEX_THREAD_ID` 或一个 对话会,在存储处进行。 持续时间是主要代理的录音转弯 自会议最后阶段的证明以来,用整分时间;其余的几分时间转至 下一个证据。 停站仅关闭其匹配的转弯;未完成的转弯仅通过上一次被记录的活动计数. 转弯之间的时间不计数,睡眠也不计数:钩子读取了 用于"工作"的"醒钟". 副剂提示从不转弯 因为主 特工的轮回已经包含他们的工作。 Codex 无法运行另一个聊天的快捷钩 开始( e)`send_message_to_thread`, (中文(简体) ), `create_thread`) (中文(简体) ). 如此一转,CLI读取开始,结束 和 Codex 自己的清醒时间 从 Codex 会话文件。 它把时间放在清醒的时钟上 只有在那里 记录显示之间没有睡眠;在macOS上,记录是内核的最后一次醒悟时间. 杰森号 输出给出记录 `unstagedSeconds`。当没有新记录时,或者当 Codex 子代理时 调用命令, 它不处理任何问题, 打印 `"staged": false` 带有 `reason` (单位:千美元) `message`, (中文(简体) ), 和0号出口。 来源类型是 `codex` 或者说 `claude_code` 从录制主机. `--dry-run` 打印请求及其重试的密钥,而不显示任何内容.

添加 `--suggest-share` 仅用于带有文物链接的运出结果 `--artifact-url` (合并的PR,发布,部署的页面,或已公布的文档),建设者会想向他人展示. 从不建议例行工作、私人工作、在建工程、失败工作、安全敏感工作,或建议停止工作. 国旗只在审查台上添加提示. 由当事人决定;代理人永远不能分享. `--dry-run` 显示 `suggestShare: true` 在设置国旗时的请求中。 保存阶段 旗并用完全相同的身体重试; 阶段没有被旗帜省略. 用旗所制作的被保存的舞台需要CLI 0.3.13或后期再试;更古老的CLI报告为不可读.

没有钩子, 通过观测值 :

```sh
fm agent stage --project <project-id> --minutes 45 \
  --intention "Finish the reader" --outcome "Shipped the reader" \
  --started-at 2026-10-02T08:30:00+02:00 --source-kind claude_code \
  --artifact-url https://example.com/proof --session-id <stable-session-id> --json
```

来源类型 : `calendar`, (中文(简体) ), `claude_code`, (中文(简体) ), `cli`, (中文(简体) ), `codex`, (中文(简体) ), `github`, (中文(简体) ), `linear`, (中文(简体) ), `manual`, (中文(简体) ), `session_log`, (中文(简体) ), `other`。 。 。 . `claude` 不是别名。 使用 `--source-label` 以覆盖 Claude 代码显示标签。 运行 `fm agent stage --help` 所有选项. 显示不增加时数;单独批准或确认活动 **核准所有链接(N)**。 。 。 .

重试密钥来自会话 id, project id, 和开始时间, 因此每个工作单位在一个 语句获得自己的密钥. `agent capabilities`, (中文(简体) ), `agent projects`, (中文(简体) ), `agent routines`, (中文(简体) ), `agent proposals`, (中文(简体) ), 财务报告和审定财务报表 `agent cancel` 接受 `--json`。 。 。 . `auth status` 检查证书与 API 并接受 `--json`。失败的连接报告出错;已撤销的关键报告 `authenticated: false`。 。 。 .

### 保存的阶段

登录 CLI 后为 API 保存每个阶段并在发送前进行帐号, 所以崩溃、 超时或丢失的答案 永远不会失去它。 当Flowmind没有登上舞台时,因为API是无法到达的,也回答 慢地( 30 秒) , 失败, 限制请求, 或发送无法读取的 CLI 答案, 舞台 保留保存,命令出口为 0 `"staged": false`, (中文(简体) ), `"reason": "saved"`,则 `error`,则a `pendingStageId`。会话将时间计算为舞台,所以下一个证据不会重复。 A 类 因已知账户或意外的 CLI 错误而拒绝的证书, 保留了舞台保存, 但退出 1, 因为 有人必须行动。 API拒绝其内容的阶段被去除,而其时间没有被阶段化 需要更正的证据.

被保存的相片会用同样的重试键和正文发送. API每个账户保存一个证据 重新测试寄出证书的密钥, 也在其24小时接收到期之后, 所以一个阶段 在服务器失去答案之前就已经到达了 同样的建议 之后 `flowmind auth login` 替换存储的密钥, API 回答旧密钥已经交付的阶段 与 `This stage key is already in use`钥匙可以持有不同的身体, 所以CLI保持请求, 其原始证书指纹(不是密钥本身)及其时间 `conflict`没有钩子或后期 发送它。 检查活动,然后使用 `flowmind agent retry` 具有原始证书或明确证书 丢弃它 `flowmind agent discard <id>`重试未解决的项目 `conflicts`; 只有一个 退回的建议书确认交货. 每个已保存的文件在发送前都要检查,包括名称、密钥/体散列、时间戳、来源、细节和 证据。 保留了不可读的保留。 它挡住了这个账户的运行直到修复 并重试它,或在检查活动后丢弃它。 保存的阶段在下一个被接受的阶段之后退出 (单位:千美元)`savedStagesSent` 在 JSON 输出中)和会话钩,开始 `agent retry --due` 在每次尝试失败后几分钟,最多一小时. `agent pending` 列出他们和 `agent retry` 现在发送它们; 都接受 `--json`一个保存的舞台 aPI后来拒绝将其内容保留为 `rejected` 不再被派遣. 如果一个进程在保存一个舞台和标记它的会话之间结束,则在机器上的下一个阶段 首先恢复标记。 一次只有一个处理阶段或发送一个账户。 登录后返回同一账户恢复其队列. 签到另一个账户 从来没有通过它.

CLI将每个账户的登录期保留在这个机器上,包括登录后的更早时期. 整个转弯属于当时签的帐户,即使它在该会话中的第一个钩子后来才出现. 在这段时间里,经过一个签入或签出 转弯只算它的一部分 只有在清醒的时候 时钟将边界放入转弯内. 没有这些证据,不确定的部分就不算什么. 在没有转弯ID的主机上,重叠的提示在它们所有的停站到达之前什么都不算. 普通的即时和停止仍然计数;重启或超过12小时的空隙不会增加未经核实的时间.

从0.3.7升级不需要新的登录。 永无限制的配置文件询问账户的 API 存储密钥( e)`GET /v1/me`,一次). 证书或来源不再匹配的前绑定密钥 当地拒绝。 虽然一个档案只被签进一个帐户,这是正常的情况 记录的0.3.7的证明 账户位于升级后的首个命令或钩子上: 正在运行的代理会话 和以前一样升级阶段,保存的证明会和其他的一样发送。 在一个有 切换账户,0.3.7证据留在原址和 `unowned` 列表中 `agent pending` 只显示中性元数据。 在通过属于你的证明前检查活动 `flowmind agent adopt <id>`,或删除其不赞同 `flowmind agent discard <id>`。一个已撤销的密钥要求您 签名; 无法获取的 API 报告账户无法被校验, 并更改任何内容 。 关于POSIX 配置目录为0700,其认证文件为0600,包括修复更古老的配置时.

## 时刻简介

```sh
fm momentum
fm momentum --week 2026-10-12
fm momentum --json
```

见8周成果、个人和代理时间、项目趋势和信号 有源结果。 括号标记选定的一周; 每个火花线使用自己的 顶峰。 静态项目显示其最后成果的年代. 承诺思想是: 仅建议且无保留.

`--week` 需求 `YYYY-MM-DD`。API检查它是一个星期一,不在 未来 没有它, API 将选择您的当前个人周 . `--json` 将响应数据打印为 JSON 。 错误转到 Stderr 和 以状态 1 退出。 颜色需要终端和未设置 `NO_COLOR` 变量.

## 项目船舶日志

```sh
fm ship-log "My Project"
fm ship-log <project-id> --json
```

使用工程代号或精确的工程名称,忽略大小写. 需要复制名称 aid; 未知名称列出可用的工程。 两种错误均以状态 1 退出 . 已归档的项目仍然可用.

文本视图显示出版状况、公开标题和摘要以及API的 公开的,新的,和改变的计数。 现有出版物包括网页、卡片和 原子反馈链接,加上README徽章Markdown. 未发表的链接仍然列出, 但公共读者收到404,直到日志公布结果.

公共计数只包括仍然与其所保存的文摘相匹配的选定结果. 更改的计数包括编辑的选定和对选定结果的合格更正. 新的计数包括上次保存后创建的其他合格,未选择的结果. 在第一次发布前,新是零。 省去结果的新计数. 当新的或更改的结果存在时,命令会提示您在网络app中审查.

此命令只读 。 项目代号接受 `read_only` API 密钥; 解析 名称使用现有的项目列表,其中需要 `full_personal`出版, 更新,或者在网络应用程序中解禁. `--json` 将 API 数据打印为 JSON . 出错进入 stderr 并退出状态 1 .

## 反应失败

[`src/api.ts`](https://npmcn.com/package/%40flowmind/cli/src/api.ts) 曝光情况 `apiRequest(descriptor, args, options)` 通过共享响应解码器. [`src/contracts.ts`](https://npmcn.com/package/%40flowmind/cli/src/contracts.ts) 将命令工作流程绑定为生成的描述符和 `@flowmind/contracts/wire` 类型. 每个API请求都会验证媒体类型,信封,状态协议,以及响应计划. 所安装的CLI可以比API更古老,因此它接受一种区别:一个其合同没有声明的反应字段,在被关闭的对象内. 它会在命令读取响应之前将字段降下,所以字段从未到达输出或 `--json`。 。 。 . 其它每个差异仍然失败:缺失,重打或更名的字段,未知的enum值,匹配无分行的联盟,以及未知的顶级信封字段. [`src/response-additions.ts`](https://npmcn.com/package/%40flowmind/cli/src/response-additions.ts) 拥有此规则 [决定](https://npmcn.com/package/docs/decisions/2026-10-23-cli-response-additions.md) 给出理由和限制. 规则只适合一些图案形式,所以构件运行 [`response-forms.mjs`](https://npmcn.com/package/%40flowmind/cli/response-forms.mjs) 当所读的 CLI 的响应使用另一种形式时失败. 见 [合同生成流程](https://npmcn.com/package/docs/reference/codebase/ARCHITECTURE.md#api-contract-generation-and-decoding) 财务报告和审定财务报表 [结束点程序](https://npmcn.com/package/docs/reference/codebase/CONVENTIONS.md#add-or-change-an-endpoint)。 。 。 . 不投放响应数据, 写入有效载荷解析器, 或添加通用请求帮助器 . 当运输、JSON、媒体类型、信封或有效载荷检查失败时,命令以状态1退出. 有效的 API 拒绝也以状态 1 退出 . 一个诊断点命名动作,操作,计划位置,并在有可用时请求ID. 诊断省略了响应值,资质,查询值,以及服务器消息.

运输失败、超时或无法读取反应的个人日志不予确认。 CLI 不自动重试 。 运行相同的日志命令以重放其已保存的字段和密钥 。 一个天然的原木重新使用你已经审查过的东西。 24小时收件窗口后,同一命令被拒绝,因为服务器可能不再识别密钥. 检查活动,然后关闭保存的日志 `flowmind pending-logs done <id>` 当条目存在时,或 `flowmind pending-logs discard <id>` 重新登录工作. `flowmind pending-logs` 列出已保存的日志; 两个动作都没有发布任何内容. `--hours` 需要几个小时或几分钟: `1.5`, (中文(简体) ), `1,5`, (中文(简体) ), `2h`, (中文(简体) ), `90m` 或者说 `1h30m`,四舍五入到最近的一分钟。 在申请之前,其他的都被拒绝. 在一次失败的民意测验中,认证立即停止. 等待批准继续投票. 过期授权退出1级. 没有失败的授权会保存证书 . 使用 `fm auth login --no-browser` 打开打印授权 URL .

## 校验 CLI

运行 `pnpm --filter @flowmind/cli test` 从寄存器根. 这构建了CLI,运行了针对回回回HTTP固定装置的指令测试,并测试了已安装的软件包. 软件包检查使用 `npm pack` 和本地 npm 安装到临时前缀. 循环包固定服务于已安装在这个工作空间的运行时间依赖. 安装使用一个空 npm 缓存, 并且从不联系公共注册 . 安装的命令运行在寄存器外 .

报告保存在 `tools/cli/test-results/`数字 :

-   `response-contracts-packed.json`:安装命令输入,构建散列,结果,以及请求计数.
-   `pack-install.txt`:包安装和钩子生命周期结果.

反应矩阵还检查证书持久性、诊断校正和写计数. 修饰是合成的 这些测试无法证明生产API的可用性.

## 常见问题

### @flowmind/cli 是什么？

Flowmind CLI:记录你和你的编码代理船,结果和证明它的链接\. 和克洛德密码合作\.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

