carlos-flow-cindy

中文文档
2.5.1发布于 2026/11/03MITES Module

Carlos 工作流 MCP - Cindy 适配版(自动管理 Bridge,内置密钥库集成)

中文使用文档
文档目录12 节
  1. ✨ 特性
  2. 📦 安装
  3. 方式一:Cindy 插件市场(推荐)
  4. 方式二:本地源码安装
  5. ⚙️ 环境变量
  6. 🛠️ 可用工具(12 个)
  7. 🔄 工作流示例
  8. 🧪 测试
  9. 📁 目录结构
  10. 🔒 安全设计
  11. 📄 许可证
  12. 🤝 贡献

Carlos 工作流 - Cindy 适配版

机械门禁 MCP:留痕 → 派发 → 裁定 → 审计 → 快照还原 自动管理 Bridge 后台常驻,首次调用 ~3-5s,后续复用 ~1s

✨ 特性

  • 零配置启动:首次调用自动拉起 Bridge,无需手动运行后台进程
  • Cindy 原生集成:通过 ghost.json 声明,插件设置页可视化配置环境变量
  • 密钥库保护:Bridge Token 等敏感信息存入 Cindy 加密保险库,代码不含明文
  • 全平台支持:Windows / macOS / Linux 均可运行(需 Node.js 22+)
  • 完整门禁流程:12 个工具覆盖 T0/T1/T2 三档路由、四段合同、独立复核、审计链

📦 安装

方式一:Cindy 插件市场(推荐)

  1. 打开 Cindy → 设置 → 插件 → 浏览市场
  2. 搜索 carlos-flow 点击安装
  3. 在插件设置页填写 CARLOS_FLOW_MCP_ROOT 和 CARLOS_FLOW_HOME
  4. 重启 Cindy,输入 /门禁 或在对话中直接说“走门禁”

方式二:本地源码安装

# 1. 克隆仓库
git clone https://github.com/skyer-now/carlos-flow-cindy.git
cd carlos-flow-cindy

# 2. 安装依赖
npm install

# 3. 配置环境变量(复制模板并修改)
cp .env.example .env
# 编辑 .env 填入你的实际路径

# 4. 验证安装
npm test          # 冒烟测试(隔离临时目录)
npm run test:e2e  # 端到端测试(需配置好环境变量)

⚙️ 环境变量

变量必填说明示例
CARLOS_FLOW_MCP_ROOT✅MCP 源码根目录(含 src/、bridge/、client/)D:/cindy/carlos-flow-mcp
CARLOS_FLOW_HOME✅状态/审计/快照根目录~/carlos-flow
BRIDGE_PORT❌Bridge 监听端口(默认 19099)19099
REA_MCP_ROOT❌rea MCP 源码根目录D:/dev-env/rea
GHIDRA_HOME❌Ghidra 安装目录D:/dev-env/ghidra/ghidra_12.1.4_PUBLIC
JAVA_HOME❌JDK 21 安装目录D:/dev-env/jdk-21.0.12.1+1
NODE_PATH❌Node.js 可执行文件路径(默认 node)node

提示:Cindy 插件设置页修改环境变量后需完全退出 Cindy 重启生效。

🛠️ 可用工具(12 个)

工具作用
flow_protocol读取完整协议文档
flow_add_user_msg写入用户原话(锚点数据源)
flow_submit_requirement提交任务卡(留痕 + 校验)
flow_claim领取派发名额(executor/auditor)
flow_dispatch生成派发 prompt + 文件快照
flow_verdict记录裁定(PASS/DIRECTION/LOCAL)
flow_status查询门禁状态
flow_audit读取审计流水
flow_diff_hunksgit diff hunk 分析
flow_bypass免检开关
flow_save_result保存子 Agent 结果
flow_revert_plan生成还原计划

🔄 工作流示例

flowchart TD
    A[用户需求] --> B[flow_add_user_msg 写入原话]
    B --> C[flow_submit_requirement 留痕]
    C --> D[flow_claim executor]
    D --> E[flow_dispatch 生成快照+prompt]
    E --> F[子 Agent 执行]
    F --> G[flow_save_result 保存结果]
    G --> H[flow_claim auditor]
    H --> I[flow_dispatch 复核]
    I --> J[flow_verdict 裁定]
    J --> K{PASS?}
    K -->|是| L[完成]
    K -->|否| M[返工/方向调整]

🧪 测试

# 冒烟测试(完全隔离,不污染真实数据)
npm test

# 端到端测试(需配置好 CARLOS_FLOW_MCP_ROOT 等环境变量)
npm run test:e2e

# rea 真实 Ghidra 分析测试(需配置 GHIDRA_HOME/JAVA_HOME)
npm run test:rea

📁 目录结构

carlos-flow-cindy/
├── src/                    # MCP Server 核心(stdio 传输)
│   ├── index.js            # 入口:注册 12 个工具
│   ├── protocol.js         # 协议定义(路由表/合同/错误层/状态 schema)
│   ├── card.js             # 任务卡解析/修复/校验
│   ├── state.js            # 状态持久化/审计链/用户消息源
│   └── dispatch.js         # 四段合同/文件快照/结果保存
├── bridge/                 # TCP Bridge(安全桥接层)
│   ├── mcp-bridge.js       # 监听 127.0.0.1:19099,Token 认证、限流、超时控制
│   └── health.js           # /health 端点(就绪探测)
├── client/                 # CLI 客户端
│   ├── carlos.js           # 自动管理 Bridge 生命周期
│   └── rea.js              # rea 自包含客户端
├── test/                   # 测试套件
│   ├── smoke.js            # 冒烟测试(临时目录隔离)
│   ├── e2e-carlos.mjs      # 16 项端到端用例
│   └── e2e-rea.mjs         # 8 项 rea Ghidra 真实分析
├── ghost.json              # Cindy 插件清单
├── settings.html/js        # 插件设置页
├── .env.example            # 环境变量模板
├── package.json
└── README.md

🔒 安全设计

  • Bridge 仅监听 127.0.0.1,拒绝外部连接
  • Token 认证:每请求携带 CARLOS_BRIDGE_TOKEN,错误即拒绝
  • 限流:单连接 10 req/s,防止误刷
  • 请求体上限:1 MB,防止内存耗尽
  • 审计链 SHA-256:每条记录含 prevHash/hash,防篡改可验证

📄 许可证

MIT License - 详见 LICENSE

🤝 贡献

欢迎 PR!请先跑通 npm test 和 npm run test:e2e。


从 OpenCode 版迁移? 请看 carlos-flow-opencode —— 纯 stdio 传输,无 Bridge,配置走 .mcprc/opencode.json。

版本与发布记录

carlos-flow-cindy 共发布 2 个版本,首次发布于 2026/11/03;过去 12 个月发布了 2 个版本。

版本发布日期距今
2.5.1latest2026/11/03今天
0.0.0-stage2026/11/03今天

关于 carlos-flow-cindy 的常见问题

carlos-flow-cindy 是什么?

Carlos 工作流 MCP - Cindy 适配版(自动管理 Bridge,内置密钥库集成)

如何安装 carlos-flow-cindy?

在项目目录运行 npm install carlos-flow-cindy,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 carlos-flow,可以用 npx carlos-flow 直接运行。

carlos-flow-cindy 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/carlos-flow-cindy 是否存在。

carlos-flow-cindy 支持 ESM 还是 CommonJS?

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

carlos-flow-cindy 需要什么版本的 Node.js?

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

carlos-flow-cindy 可以商用吗?

carlos-flow-cindy 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

carlos-flow-cindy 还在维护吗?

最新版本 2.5.1 发布于 2026/11/03(今天);至今共发布 2 个版本,其中过去 12 个月发布了 2 个;首次发布于 2026/11/03。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。