流动的CLI
软件包安装两个等同的命令, flowmind 财务报告和审定财务报表 fm关于macOS, /usr/bin/fm 可能会是
苹果公司的基础模型工具,所以代理和钩子呼叫 flowmind。 。 。 .
设置编码代理
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 --ignore20分钟后
代理转折被记录在这样的寄存器中,每个会话一个提示重复作为简短的提醒.
Git 外被忽略的寄存器和文件夹没有上下文和提醒 .
Codex 运行新钩子时只信任过一次 /hooks。 。 。 . hooks status 显示两个安装,
财务报告和审定财务报表 hooks uninstall 只删除 Flowmind 条目.
那就叫你的经纪人"设置Flowmind" 这个技能可以盘点你的储存器,提议 选项,并在批准列表后创建和链接.
项目和储存库链接
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 而不使用网络.
按项目名称和期限列出已完成的工作:
fm log --project Flowmind --hours 1.5 --outcome "Shipped the reader"
没有开始时间,会话在保存时结束:10:00节省了90分钟 08:30-10:00记录。 要提供实际启动,请使用 ISO 8601 乘以 时区 :
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 证明链接.
例如:
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报告为不可读.
没有钩子, 通过观测值 :
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,包括修复更古老的配置时.
时刻简介
fm momentum
fm momentum --week 2026-10-12
fm momentum --json
见8周成果、个人和代理时间、项目趋势和信号 有源结果。 括号标记选定的一周; 每个火花线使用自己的 顶峰。 静态项目显示其最后成果的年代. 承诺思想是: 仅建议且无保留.
--week 需求 YYYY-MM-DD。API检查它是一个星期一,不在
未来 没有它, API 将选择您的当前个人周 .
--json 将响应数据打印为 JSON 。 错误转到 Stderr 和
以状态 1 退出。 颜色需要终端和未设置 NO_COLOR 变量.
项目船舶日志
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 曝光情况 apiRequest(descriptor, args, options) 通过共享响应解码器.
src/contracts.ts 将命令工作流程绑定为生成的描述符和 @flowmind/contracts/wire 类型.
每个API请求都会验证媒体类型,信封,状态协议,以及响应计划.
所安装的CLI可以比API更古老,因此它接受一种区别:一个其合同没有声明的反应字段,在被关闭的对象内.
它会在命令读取响应之前将字段降下,所以字段从未到达输出或 --json。 。 。 .
其它每个差异仍然失败:缺失,重打或更名的字段,未知的enum值,匹配无分行的联盟,以及未知的顶级信封字段.
src/response-additions.ts 拥有此规则 决定 给出理由和限制.
规则只适合一些图案形式,所以构件运行 response-forms.mjs 当所读的 CLI 的响应使用另一种形式时失败.
见 合同生成流程 财务报告和审定财务报表 结束点程序。 。 。 .
不投放响应数据, 写入有效载荷解析器, 或添加通用请求帮助器 .
当运输、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的可用性.