← 返回目录
G

GraphARC

社区
框架 / SDK
面向智能体图的准入闸门,构建于 LangGraph 之上

这是用于开发 MCP Server 或 Agent 的框架,不是可以直接连接到客户端的 Server。

分类
开发工具 第 108 / 438
Stars
★ 84 热门
传输方式
stdio(本地进程)
运行环境
Python 3.12+
凭据
可选 API Key
许可证
MIT
最近提交
61FMRS · C

GraphARC(版本 0.1.7,MIT 许可)是一个基于 LangGraph 的受治理多节点图运行时,核心主张是“准入闸门”:图在运行时被提出,由确定性检查器依据注册表、策略、剩余预算、深度与无环性放行或带理由拒绝,只有被放行的图才会执行。它强调运行前的最坏情况定价与运行后的按节点计费、单份可重放 JSONL 追踪,以及从 Slack 发起的人类批准后才执行的受监督流程。默认后端驱动 PATH 上的 claude CLI,无需 API 密钥;同时可选 openrouter、openai、ollama、server 等后端。README 明确列出边界:参数仅在声明 args_schema 时受校验、进程内沙箱只是纵深防御且 run_command 子进程不受限、HTTP API 尚无持久会话层、Claude CLI 后端上智能体节点是被委派而非受治理、工具平面仍读 CLI 标志、MCP 闸门只绑定 MCP 表面而非宿主。适合需要确定性准入与可审计成本控制的团队,不适合把它当作通用个人助理或期待未经声明的完整沙箱与参数治理的使用者。

最强项 · 文档质量 15/20 最弱项 · 可靠性 10/20

可靠性
10/20
安全与权限
10/20
维护活跃度
14/20
文档质量
15/20
安装易用性
12/20
查看各项评分依据
可靠性 10/20
静态证据:README 声称 tests/test_readme.py 在每个提交上执行两段示例,并给出 CI badge 指向 actions/workflows/ci.yml;项目提供 grapharc plan --scripted 的免费确定性排练、grapharc replay 从 JSONL trace 重建运行、以及逐节点成本记账,说明作者对可复现性和失败诊断有设计考虑。但本次评审未缓存 SERVER MANIFEST,仓库根目录未提供可核验的 MCP 服务器声明(无工具清单、无 schema、无传输协议配置、无 stdio/HTTP 启动命令),因此无法确认 MCP 初始化与工具列表握手能否完成,也无法验证声明工具与实际行为是否一致。扣分点:MCP 服务器入口与工具契约完全缺失;README 自述的测试执行与 CI 属于未缓存的自我声明,按规则 README 为不可信证据;Limits 章节承认 HTTP API 尚未使用持久会话层、agent 节点在 Claude CLI 后端为 'delegated' 而非受治、bypass 层无任何检查,说明存在已知未闭合的可靠性缺口。错误处理方面有结构化 rejection 与 fail-closed 预算的机制描述,但缺少可核验的错误码表与排障手册。按静态校准,无 CI 工作流文件与测试文件的直接证据,可靠性不得高于 12,故取 10。
安全与权限 10/20
静态证据:设计上以确定性准入闸门(registry/policy/预算/深度/无环)在提案与执行之间把关,未准入的步骤不执行;Slack 集成强制在 --go 上追加 --approve,使运行在首个节点前停住等待人工点击,且按钮绑定 plan fingerprint 防止对已废弃提案的确认;工具面有 DENY→ASK→ALLOW 的边策略,未匹配默认拒绝;成本预算 worst-case 前置定价。未发现恶意代码、凭据窃取、隐蔽外传、伪造维护者身份或真实 token 的安装示例。扣分点:README 的 Limits 自述三类严重风险——(1) 进程内沙箱仅是纵深防御,ContainerExecutor 才是真正边界,run_command 子进程不受限制;(2) MCP 闸门只约束 MCP 面而非宿主,具备自有文件工具的 agent 可在运行目录内伪造审批决定,信任边界就是工作目录;(3) Claude CLI 后端的 bypass 层显式选择后毫无检查。此外凭据处理仅在描述层面(claude CLI / OpenRouter / OpenAI / Ollama 等后端),未见密钥存储、脱敏、日志过滤的具体说明;破坏性操作(deploy 等)的默认确认链依赖策略配置而非内置硬约束。这些属于已知且已披露但未闭合的权限与边界缺口,未触及红线(无默认未确认的不可逆部署/支付/远程命令默认开关),故不予 0-4 区间,取 10。
维护活跃度 14/20
静态证据:MIT 许可证明确;有 CHANGELOG.md 与 ROADMAP.md;版本 0.1.7 且已发布至 PyPI(含下载量 badge);GitHub Actions CI workflow 存在;仓库非归档;69 stars、13 个开放 issue,说明有外部使用且问题被公开跟踪;提交历史与发布节奏从描述看处于活跃维护。扣分点:无法核验 issue 响应时效、依赖更新策略(Dependabot 等)、安全响应通道(SECURITY.md 或私密披露流程)均未在材料中出现;治理与所有权信息仅有 org 名,未见维护者清单或发布权限说明;仍处 0.1.x 早期版本,API 稳定性未承诺。属于'活跃但治理/版本化有缺口'区间,取 14。
文档质量 15/20
静态证据:文档分层清晰——README 提供安装、快速开始、直接构建图的可运行示例、准入闸门示例、Slack 受监督流程、与 Claude Code/OpenClaw/raw LangGraph 的对照表;另有 docs/deep-dive.md、docs/cookbook/(含 07-slack.md)、docs/demo/(逐条说明哪些是摆拍哪些不是)、bench/(含原始日志)、CHANGELOG、ROADMAP 与项目网站;README 中两段 Python 代码声称由 tests/test_readme.py 在每次提交上执行以防文档漂移(未核验);Limits 章节逐条披露限制并把最严重者置顶;记录媒体(gif/mp4)并标注 staging 情况,属可审查证据。扣分点:缺失 MCP 服务器层面的关键文档——无工具参数说明、无 MCP 初始化/鉴权流程、无 MCP 客户端配置示例、无按工具的失败模式与排障章节;成本与预算只有概念描述,未见具体计费口径示例;'end to end implementation of Graph Engineering' 的主张缺少与论文的对齐说明。整体为可用但存在隐藏假设与排障缺口的层级,取 15。
安装易用性 12/20
静态证据:安装路径明确且短——pip install grapharc(Python >= 3.12),grapharc demo stage0 零成本零密钥;后端以 extras 划分(openrouter/openai/ollama/server/all);默认后端驱动 PATH 上的 claude CLI,可用订阅而非 API key;提供 grapharc start 引导、grapharc init 脚手架、grapharc serve 本地浏览器视图,示例命令具体可复制。扣分点:未提供任何主流 MCP 客户端的配置样例(无 claude_desktop_config.json 或等价片段、无传输方式与启动入口说明),因仓库根目录未缓存 SERVER MANIFEST,无法确认如何把该服务器接入客户端;Python 3.12+ 门槛较高;Slack 流程需要额外工作区与 bot 配置;后端选择与 claude CLI 在 PATH 的存在构成隐式前置条件,材料中未给出前置检查或故障排除。按要求静态校准且无文件级执行证据,setup 不得高于 15,取 12。

静态评测 · 未实际运行收录于 2026-09-10

查看 FMRS 评分方法 →

选型与风险

能访问什么写入 / 删除本地文件执行命令或代码访问网络

适合谁

  • 需要把智能体工作流纳入确定性准入与策略约束的团队
  • 要求在运行前掌握最坏情况成本、运行后按节点核算费用的场景
  • 需要单份可重放审计追踪、且仪表盘必须与审计记录一致的合规或调查类工作流
  • 希望由人类按下按钮才启动执行(例如从 Slack 发起)的组织
  • 希望用 `--scripted` 在任意 checkout 上确定性复现演示与测试的开发者

不适合谁

  • 只需要交互式单智能体循环、不要求预执行授权的场景
  • 把 GraphARC 当作通用个人 AI 助理网关或配置白名单工具的替代品
  • 期望节点参数被完整校验的使用者:准入只授权节点的“种类”,仅当该种类声明 args_schema 时才校验参数,而 schema 只约束形状、不约束工厂能触及的范围
  • 要求 HTTP API 具备持久会话层,或要求工具平面由策略文档而非 CLI 标志控制的场景
  • 需要把 Claude CLI 后端上的智能体节点视为完全受治理的使用者:默认它在由节点自身工具映射出的允许列表下运行,但执行方是 Claude Code,且显式选择的 bypass 层级完全没有任何检查

所需权限

  • 默认后端会调用 PATH 上的 claude CLI(使用 Claude 订阅,无需 API 密钥)
  • 节点实现体来自注册表(registry)而非提案,注册表是提供节点种类的来源
  • 策略决定规划器“能够提出什么”:被拒绝的边会改变图的形状,而不是产生一次待重试的拒绝
  • MCP 闸门只绑定 MCP 表面而非宿主:若智能体在运行目录中拥有自己的文件工具,可能伪造批准决定,信任边界是工作目录
  • run_command 派生的子进程不受限制
  • 容器化执行(ContainerExecutor)才是真正的边界,进程内沙箱只是纵深防御

风险与副作用

  • 准入只授权节点的种类;参数仅在种类声明 args_schema 时受校验,且 schema 只约束形状而非可达范围
  • 进程内沙箱属于纵深防御,run_command 子进程不受限制,真正的边界是有意启用的 ContainerExecutor
  • HTTP API 尚未使用持久会话层
  • 在 Claude CLI 后端上,智能体节点是被“委派”而非被治理:默认在由节点自身工具映射出的允许列表下运行,但执行由 Claude Code 负责,bypass 层级完全无检查
  • 策略文档治理的是规划,工具平面仍读取 CLI 标志
  • MCP 闸门绑定 MCP 表面而非宿主,拥有自身文件工具的智能体可能伪造批准决定;信任边界为工作目录(Slack 工作区同理)

安装接入

准备工作

运行环境:Python 3.12+

需要 Python 3.12 或更高版本。

  1. 执行 pip install grapharc 安装。
  2. 运行 grapharc demo stage0 验证:该命令不花钱也不需要密钥。
  3. 运行 grapharc start 进入引导式教程。
  4. 运行 grapharc init 生成 registry.py 与 grapharc.toml。
  5. 可选:安装后端扩展 grapharc[openrouter]、grapharc[openai]、grapharc[ollama]、grapharc[server] 或 grapharc[all];默认后端使用 PATH 上的 claude CLI。
  6. 用 grapharc plan "..." --model ollama/qwen3:8b 生成并保存计划,用 grapharc go 执行;grapharc plan "..." --scripted 可做不涉及 AI 的免费演练。
  7. 用 grapharc serve --live-root .grapharc/runs 在浏览器中实时查看运行,用 grapharc replay <trace> <run-id> 依据追踪重放一次运行。

验证是否装好

运行 `pip install grapharc` 后执行 `grapharc demo stage0`,若能在无密钥情况下看到示例图流程输出,即说明安装成功。

常见排障

  1. 确认 Python 版本不低于 3.12,否则 pip 安装会失败
  2. 先用 `grapharc demo stage0` 与 `grapharc plan "..." --scripted` 验证:两者免费且不需要密钥,可排除模型与凭据问题
  3. 若规划阶段反复被拒,查看结构化拒绝反馈中的代码(例如 edge_denied),它会被规划器用于重新规划
  4. 默认后端依赖 PATH 上的 claude CLI;如需其他后端请安装对应扩展(openrouter、openai、ollama、server、all)
  5. 配置来源可被打印核对:运行输出会显示 registry、kinds、policy 与 config(是否读取 grapharc.toml)
  6. 要复盘一次运行,使用 `grapharc replay <trace> <run-id>` 依据追踪重建;仪表盘与审计记录来自同一文件
  7. 页面上的示例由 tests/test_readme.py 在每次提交上执行,若示例与代码不符可据此定位漂移

使用场景

在运行时提出一张工作图,并让确定性准入检查器放行或带理由拒绝
在运行前对最坏情况成本定价、运行后按节点计费,实现失败即关闭的成本控制
把一次运行的完整审计信息写入单份可重放的 JSONL 追踪,并据此重建运行
从 Slack 发起工作请求,先由机器人返回拟运行的图与批准/拒绝按钮,人类批准后才执行
用 `--scripted` 做免费、确定性的规划与准入演练,无需 AI 与密钥
在同一任务上比较第三方智能体的成功率、成本、墙钟时间与策略违规情况

详细介绍

GraphARC 是基于 LangGraph 构建的受治理多节点图运行时。模型在运行时提出一张工作图,一个确定性检查器(覆盖注册表、策略、剩余预算、深度与无环性)决定放行或带理由拒绝;只有被放行的图才会在预算约束下执行,并落到一份可重放的 JSONL 追踪文件上。没有任何步骤会在未获放行的情况下运行,最坏情况成本在运行前定价、按节点在运行后计费,仪表盘与审计记录来自同一文件因此不会互相矛盾。它提供 CLI 命令(start、init、plan、go、serve、replay、demo)、一个可直接构建图的 Python API,以及从 Slack 发起的受监督 Claude Code 工作流:机器人先回复拟运行的图与批准/拒绝按钮,人类按下按钮后才会执行。默认后端驱动 PATH 上的 claude CLI(使用 Claude 订阅,无需 API 密钥),也提供 openrouter、openai、ollama、server 等可选后端。

同类可选方案

Context7 80 · B

Upstash 官方维护,为 AI 编码助手提供实时更新的第三方库文档

★ 63.3k · 工具数 2 与当前对比 →

源版本 e27b9e8b55af 数据同步于 2026-10-19 查看 FMRS 评分方法