跳到主要内容
RAGRAF

设置指南

将 RAGRAF 接入 AutoClaw

--agent-kind autoclaw CLI + MCP zwork 2.0.2 · Electron 经会话实测确认 · zwork 2.0.2

RAGRAF 作者的智能体环境(zwork 2.0.2,Electron):产品正是在它上面设计、已发布结果也是在它上面测得。接入通过两条独立通道 — 免配置的 CLI 与经产品界面的 MCP;--agent-kind autoclaw 是真实代码路径(遥测归因、扩展日志模式)。指南中的一切都是集成会话实测与应用代码事实。

  • 2 条通道:CLI + MCP
  • 24 个 ragraf_* 工具
  • 4 个缺陷已关闭
  • 作者登记簿中 18 个语料

命令中的记号:<repo> — 本地 RAGRAF 克隆路径(作者会话中为 C:\AutoClaw\RAGRAF),<account> — AutoClaw 账户目录,<корпус> — 语料配置名。命令与输出按实测引用 — 包括产品打印的俄文字符串。

来源:集成会话文档《RAGRAF × AutoClaw:接入、机制、验证》 — 本次会话的实测与应用代码事实。

两条通道:CLI 与 MCP

两者不可混用 — 验证什么取决于通道。CLI 始终可用且不依赖应用设置;MCP 把同样的操作暴露为智能体工具,但需要注册服务器。

CLI 通道MCP 通道
调用方式python tools/ragraf.py … 经由外壳工具智能体工具列表中的 ragraf_*
由谁启动智能体手动执行命令平台,在服务器已注册时
依赖应用设置否是(须注册服务器)
提供什么全部 13 个子命令与 22 个操作24 个操作即工具
需要 --project需要,或 ensure <目录>不需要:语料取自工作目录

最重要的推论

如果工具列表中没有 ragraf_*,RAGRAF 并没有坏:索引、搜索、模式与图谱经 CLI 完全可用。会话实测:按名称 ragraf 执行 tool_search 返回 0 个工具 — MCP 通道未激活,项目规则正是通过第一条通道生效。

已经配置好的内容

来自集成会话实测的作者机器快照 — 配置完成后应有的样子。

要素状态 · 位置
「RAGRAF 优先」规则已有 · ~/.pi/agent/AGENTS.md 第 8 节(约 1300 行)
技能 ragraf-core两个账户均有 · <account>\runtime\zwork-agent\skills\ragraf-core
登记簿中的语料18 个开发项目 · <repo>\catalog\catalog.json
智能体环境中的 RAGRAF CLI可用 · python tools/ragraf.py 已找到并响应
ragraf_* 工具(MCP)未接入 · 实测:tool_search → 0

机器上的 AutoClaw 账户(各有自己的技能树与 runtime)

Text
%APPDATA%\AutoClaw-oversea-official\accounts\<account-1>\   (основной)
%APPDATA%\AutoClaw-oversea-official\accounts\<account-2>\

技能部署到两个账户 — 切换账户时仍然可见。副本新鲜度已经实测确认:两个账户中的 SKILL.md、reference/operations.md 与 reference/repair.md 的 SHA-256 均与项目版本一致。

CLI 通道:无需配置即可工作

在 MCP 未注册前的主路径。三条规则。

  1. 第一步 — 让语料保持最新响应携带 status:actual — 索引最新,reindexed — 刚刚重建,created — 原本没有语料、已新建,not_a_project — 目录不像项目,error — 原因在 reason 字段。
    任务第一步(PowerShell)
    python <repo>\tools\ragraf.py ensure <каталог проекта>
  2. 然后 — 执行操作,而不是读文件stale: true 意味着在重建索引前不可相信这些事实:代码已经前进。这不是「以防万一」的警告。
    索引操作(PowerShell)
    python <repo>\tools\ragraf.py -p <repo>\config\<корпус>.yaml query symbol --name corpus_hash
    python <repo>\tools\ragraf.py -p <repo>\config\<корпус>.yaml check
  3. 语料清单 — 无需配置的命令开发项目登记簿无需 -p 即可查看:catalog 打印所有已登记语料及其修订与校验和。
    语料登记簿(PowerShell)
    python <repo>\tools\ragraf.py catalog

为什么这里 CLI 更优

不是因为方便。每条命令打印的是智能体自己阅读的文本,而 MCP 响应需要按模式解释。此外 CLI 既不依赖应用重启、也不依赖服务器注册 — 不会「悄然掉线」。靶场实测:14 次工具调用对无索引的 28 次;首次请求命中目标文件 — 92%。

MCP 通道:机制与接入

AutoClaw 的 MCP 接入机制与常见客户端(Claude Desktop、Codex、DeepSeek Harness)不同,这一点很关键。会话中实测的四个事实:

  1. 配置文件中没有 MCP 配置在 ~/.pi、<account>\runtime 与 <account>\projects 中检索,既无 mcp.json 也无 mcpServers 设置。注册不在配置文件里。
  2. ragraf 不由任何应用包注册已检查 runtime.sqlite 全部 106 张表 — 没有 MCP 服务器表;库中出现的 ragraf-mcp 是历史会话记录,而非注册。
  3. 垂直包以声明方式声明 MCP 服务器mcpServers 字段存在于包模式:dist\resources\vertical-packs\code\zwork-pack.json。官方包中它为空("mcpServers": []),磁盘上完全没有用户包(在安装目录外检索 zwork-pack.json — 0 个文件)。
  4. 内置智能体不服务 MCP@earendil-works/pi-coding-agent 中没有一行关于 MCP(已检查 dist 与 docs);包内所有 mcpServers 提及都属于内置供应商 SDK(Google/Gemini),与 AutoClaw 无关。

应当接受而非绕开的结论

未找到在 AutoClaw 中以文件方式登记 MCP 服务器的标准途径。接入通过产品界面 — 项目/应用设置。这里不会出现虚构路径:凭猜测写出的「指南」会摧毁对其余所有数字的信任。

如何接入、检查什么

  1. 在产品设置中找到 MCP 分区打开 AutoClaw 的项目(或应用)设置,找到关于 MCP / 外部工具的分区 — 服务器在那里注册。
  2. 填写启动值(已经运行验证)无需 --project:服务器会经开发项目登记簿按工作目录解析语料;切换到其他项目用 ragraf_use_project 工具(清单由 ragraf_catalog 提供)。
  3. 验证,而不是假设接入前以 ragraf 为查询调用 tool_search — 预期为 0。注册并重启后 — 24 个工具。这个差值就是接入成功的证明。
服务器注册值
команда:            <repo>\.venv\Scripts\python.exe
аргументы:          <repo>\tools\ragraf-mcp.py
                    --agent AutoClaw --agent-kind autoclaw
рабочий каталог:    <repo>

如果界面中没有该分区

那么诚实的回答是:该构建中 MCP 通道不可用,RAGRAF 经 CLI 工作(见上文)。除每次调用是命令而非工具外没有任何损失。不能靠改库或替换文件来虚构注册:runtime.sqlite 是应用状态,绕过产品修改它会破坏权限与工件的记账(governed_tool_* 表)。

四个兼容性缺陷

接入第二个客户端(DeepSeek Harness)暴露了同样影响 AutoClaw 的缺陷。四个全部关闭,且各有回归保护。

  1. 精简环境下首个俄文响应即令服务器崩溃MCP 客户端只向子进程传递 12 个变量(APPDATA、HOMEDRIVE、HOMEPATH、LOCALAPPDATA、PATH、PROCESSOR_ARCHITECTURE、SYSTEMDRIVE、SYSTEMROOT、TEMP、USERNAME、USERPROFILE、PROGRAMFILES)。其中没有 PYTHONUTF8 也没有 PYTHONIOENCODING,进程区域保持 cp1252 — send() 以 UnicodeEncodeError: charmap codec 崩溃(src/ragraf/mcp_server.py)。AutoClaw 的外壳会设置这两个变量,因此该缺陷对 AutoClaw 不可见 — 只在第二个客户端上暴露。修复:force_utf8_stdio() — 流在服务器内部强制为 UTF-8,不取自环境。
  2. 必填的 --project 阻碍多项目工作修复:--project 变为可选,语料按工作目录查找(开发项目登记簿),新增 ragraf_use_project 工具。一个服务器服务作者机器上的全部 18 个语料。
  3. reindex 命令不把运行写入登记簿在自身语料上实测:索引中 rev-0046,登记簿中 rev-0045 且校验和过期;因此 check 每次都重新索引语料,而 catalog 与面板显示的是过去状态。修复:src/ragraf/cli.py — reindex 经与 index 相同的公共入口 watch.record_index_run 写入运行记录。
  4. ensure 与 use_project 未进入统计遥测以包装器挂在门面的 op_* 方法上,而这两个操作位于 MCP 服务器中。usage 汇总里没有它们 — 也就无法回答智能体是否遵守第一步规则。修复:Facade.record_external_call(src/ragraf/facade.py)加服务器侧记录。修复后实测:按智能体汇总中 ensure 1、use_project 1。

依赖:为什么用 .venv 解释器

在作者机器上,PATH 解释器只能经 PYTHONUSERBASE(%APPDATA%\AutoClaw-oversea-official\toolchain\python\Python313\site-packages)触达 RAGRAF 依赖。外部客户端会清掉它 — PATH 中的 python 便报「未安装 PyYAML」。实测:项目 .venv 自足 — 在完全移除 PYTHON* 变量时可导入 yaml、fastembed、sqlite_vec、tree_sitter、ijson、tiktoken。这对 AutoClaw 也有益:智能体外壳中的 CLI 本就可用,但 .venv 不再依赖环境设置。

技能与规则

技能 ragraf-core

技能位于每个账户的目录树中:

账户内的技能树
%APPDATA%\AutoClaw-oversea-official\accounts\<account>\runtime\zwork-agent\skills\ragraf-core\
    SKILL.md                 (вход: когда применять, порядок работы)
    reference/operations.md  (выбор операции и границы)
    reference/repair.md      (что делать, когда индекс сломан)

源头是项目目录:<repo>\docs\skills\ragraf-core。修改先进项目,再复制到账户服务目录。否则下次部署时账户副本会「落后」于项目,智能体将按旧版本工作。副本恰好两份 — 每账户一份;两个账户都有技能。

新鲜度已经实测(本次会话):两个账户中各有三个文件 — SKILL.md 9811 字节、reference/operations.md 7546、reference/repair.md 11271 — 每个文件的 SHA-256 都与项目版本一致。账户副本没有落后于源头。

修改技能后更新副本(PowerShell)
$src = '<repo>\docs\skills\ragraf-core'
Get-ChildItem "$env:APPDATA\AutoClaw-oversea-official\accounts" -Directory | ForEach-Object {
    $dst = Join-Path $_.FullName 'runtime\zwork-agent\skills\ragraf-core'
    if (Test-Path -LiteralPath $dst) {
        Copy-Item -Recurse -Force "$src\*" $dst
        Write-Host "обновлено: $dst"
    }
}

技能校验:文件以 --- 开头,name 与 description 字段逐行解析,大小小于 256 KiB,编码为无 BOM 的 UTF-8,换行为 LF,且账户副本与项目版本逐字节一致。

规则:~/.pi/agent/AGENTS.md

这是 AutoClaw 的用户规则文件 — 在没有自己 AGENTS.md 的任何项目中生效,反之项目级 AGENTS.md 更严格。父目录中的 AGENTS.md 也会被采纳,直到 .git 边界。

强制通过索引工作的章节是第 8 节「代码开发中强制使用 RAGRAF」。需要知道的三处:

什么在哪里
任务第一步§8.2: ensure <каталог>
ragraf_* 工具优先于外壳§8.2.1
报告:修订、校验和、文件:行 引用§8.7

关于措辞的要点

若 MCP 未接入,§8.2.1 规定「通过外壳以 §8.3 及后续命令工作 — 这不取消 RAGRAF 的强制性,只改变调用方式」。规则在两种配置下都可执行 — 这正是这台机器上没有 MCP 索引也能工作的原因。

验证 — 四个层级

由窄到宽:CLI 与登记簿 → 语料新鲜度 → MCP 通道 → 遥测。每个层级都是一条命令与来自会话的预期结果。

CLI 通道存活并能看到语料:开发项目登记簿与 RAGRAF 自身语料的更新。

层级 1(PowerShell)
python <repo>\tools\ragraf.py catalog
python <repo>\tools\ragraf.py ensure <repo>

预期

Text
登记簿中 18 个开发项目;status: actual 且校验和一致。

回滚

MCP 注册是界面中唯一可逆的操作:在同一设置分区移除服务器并重启应用。索引、登记簿与语料不受影响。

RAGRAF 本身的修改是可加性的;恢复旧行为只需三处改动:移除 force_utf8_stdio() 调用、把 --project 的 required=True 改回、从 TOOLS 与 _handlers 删除 ragraf_use_project。它们都不触及索引、存储模式、修订编号或登记簿 — 回滚无需重建索引。

账户中的技能副本从项目恢复:

恢复技能副本(PowerShell)
Copy-Item -Recurse -Force <repo>\docs\skills\ragraf-core `
    "$env:APPDATA\AutoClaw-oversea-official\accounts\<account>\runtime\zwork-agent\skills\ragraf-core"

AutoClaw 中文件的位置

什么路径
应用安装(zwork 2.0.2)%LOCALAPPDATA%\Programs\AutoClaw2
应用代码(非 asar)…\resources\app\dist\main.cjs
内置智能体…\resources\app\node_modules\@earendil-works\pi-coding-agent
垂直包(含 mcpServers)…\app\dist\resources\vertical-packs\<pack>\zwork-pack.json
产品数据目录%APPDATA%\AutoClaw-oversea-official
账户…\accounts\<sha256>
智能体技能<account>\runtime\zwork-agent\skills\<имя>\SKILL.md
项目<account>\projects\<имя>
状态(数据库、权限、工件)<account>\runtime\runtime.sqlite
密钥与绑定<account>\runtime\*.enc, credentials.enc, owner-secrets.enc
用户规则(所有项目)~/.pi/agent/AGENTS.md
项目目录规则AGENTS.md в корне проекта

安装特点:应用代码是解包存放的(resources\app\dist),而非 app.asar。这便于勘查:文件可用常规手段读取,main.cjs 可按行检索。

邀请使用 AutoClaw

邀请好友 — 没有上限!

AutoClaw 额度风暴AutoClaw 官方活动

使用我的邀请码,每位加入的好友都会在欢迎额度之外获得额外的奖励额度,我也会获得额度:一个没有邀请数量上限的双赢循环。这不花一分钱,只需十秒,也是支持这位持续更新页面、指南和配置技巧的开发者的最好方式。

  • 双重收益用邀请码注册时,欢迎额度与邀请奖励可以叠加。
  • 没有上限想邀请多少好友都可以 —— 每次加入都会为双方补充额度。
  • 支持开发者使用邀请码是一句免费的“谢谢”,让指南、配置和更新得以持续。
邀请码VWBPA6VL
加入 AutoClaw 并领取额度https://autoglm.ai/misc/autoclaw-invite?activity_id=autoclaw_fission&channel=fission&target_app=autoclaw&target_app_version=2.1.1&os=win&IC=VWBPA6VL

适用于 Windows、macOS 与 Linux。已经安装?打开 AutoClaw → 设置 → “输入邀请码” → 粘贴代码。然后分享你自己的链接,把这条链继续下去。

这是 AutoClaw 推荐计划的邀请,而不是关于 RAGRAF 的事实:邀请码和链接属于作者账号,本页面与该计划没有官方关联,也不因此从产品获得任何报酬。