Skip to content

Latest commit

 

History

History
471 lines (316 loc) · 20.9 KB

File metadata and controls

471 lines (316 loc) · 20.9 KB
SkillClaw

✨ SkillClaw: Let Skills Evolve Collectively with Agentic Evolver ✨

让 AI Agent 技能从每一次真实交互中自动进化 —— 只需对话。
跨会话、跨 Agent、跨设备、跨用户,经验持续累积,技能群体进化。

🚀 安装快捷 💬 只需对话 🔌 广泛兼容 🧬 技能群体进化

Hermes OpenClaw Agents Python License Paper Paper Paper Docs


Typing SVG

skillclaw setup && skillclaw start --daemon

🚀 安装快捷 macOS/Linux 提供 shell 安装脚本;Windows 提供手动 Python 安装路径。安装后运行 skillclaw setupskillclaw start --daemon
💬 只需对话 正常和 Agent 对话即可,Skill 的进化在后台无感完成,无需任何额外操作。
🔌 广泛兼容 无缝支持 HermesOpenClaw、QwenPaw、IronClaw、PicoClaw、ZeroClaw、NanoClaw、NemoClaw 及任何 OpenAI 兼容 API。
🧬 技能群体进化 技能从每一次对话、每一个 Agent、每一个场景中进化。单人或团队,进化闭环完全一致。每一份经验都在累积。

SkillClaw 给一个 Hermes 用户带来了什么

Hermes 用久了,技能库是不是一锅乱炖?重复的、过时的、半成品的全挤在一起,像没人整理的掉落箱。问题不是学得不够多,而是没人帮它"消化"。

SkillClaw 就是干这个的。 自动进化、自动去重、自动提质。不改变你的使用方式,不打断你的节奏,只是悄悄改写 Agent 的成长曲线。

SkillClaw 不是让 Hermes 学更多,而是让它学到的一切,真正变成战斗力。

双循环:Hermes 任务期循环 + SkillClaw 任务后进化循环

这只是一个人的故事。一个用户也可以跑多个 Agent、用多台设备,SkillClaw 把它们全部统一:

多个 Agent?统一技能库。

乘数效应:多个 Hermes Agent 通过 SkillClaw 共享技能

同时运行多个 Hermes Agent 做不同任务?没有 SkillClaw,每个 Agent 都在建自己的技能孤岛。有了 SkillClaw,技能会被合并、去重、交叉融合成一个统一技能库,再分发给所有 Agent。前端 Agent 的 React 技能让后端 Agent 的 API 设计更好——反之亦然。

多台设备?技能跟着你走,不跟机器走。

无缝场景:家里、学校、公司的 Hermes 通过 SkillClaw 统一

同一个人,不同机器。你家里的 Hermes 学了 React,学校的 Hermes 学了 ML,公司的 Hermes 学了 K8s。没有 SkillClaw,每台机器都从零开始。有了它,技能跨环境统一——每个 Hermes 实例都受益于其他所有环境的经验,不管你在哪里。


技能群体进化

以上都是一个用户能获得的。现在放大:加入共享群组后,每个成员的实战经验都汇入同一个进化循环。用户 A 调试了一个数据库问题——技能进化了。用户 B、C、D 立刻受益,根本不用自己再踩一遍。N 个用户,一个 Skill,持续进化。

从经验孤岛到群体进化
技能进化流程:一个技能如何在多个用户之间进化

SkillClaw 架构图

动态

  • 2026/08/06 — 我们很高兴宣布 LongHorizon-Harness 正式开源!它帮助 Agent 在桌面应用和命令行中持续完成复杂的长程计算机操作任务,并通过持久化状态和可验证进展保持任务连续推进。欢迎大家关注项目、点亮 Star,并参与交流。
  • 2026/04/22 — 新增支持中英文切换的 dashboard,可通过 skillclaw dashboard syncskillclaw dashboard serve 查看本地 / 共享 skill、候选验证进度、版本历史与会话追溯。
  • 2026/04/20 — 新增 CodexClaude Code 集成,支持自动接入代理、使用各自原生 skills 目录,并提供 doctor / restore 命令。
  • 2026/04/17 — 新增 QwenPaw 集成,并同步更新文档以覆盖更多 Agent 框架。
  • 2026/04/17 — 补齐完整的 Hermes 集成能力,加入逐轮 skill 使用追踪、doctor hermesskillclaw skills * 管理命令,以及一轮文档重构。
  • 2026/04/14 — 微信讨论群已开放!加入群聊和我们交流。
  • 2026/04/14 — 初步接入 Hermes,并完成第一轮 README 改版。
  • 2026/04/12 — 正在与 Deer-Flow 讨论跨框架技能共享。
  • 2026/04/11 — SkillClaw 在 Hugging Face Daily Papers 上获得当日第 2 名
  • 2026/04/10 — SkillClaw 正式开源!代码已发布在 GitHub

项目概览

SkillClaw 通过从真实会话数据中演化可复用技能,让 LLM Agent 持续变强。一个人用就已经有效——技能会在每次会话间自动去重、提质、验证。准备好了就往上扩:多个 Agent、多台设备、多个用户,都能汇入同一个进化循环。

系统由两个部分组成:

  1. Client Proxy — 本地 API 代理(/v1/chat/completions/v1/messages),负责拦截 Agent 请求、记录会话产物,并管理你的本地技能库。只装这个就能用起来。

  2. Evolve Serverevolve_server)— 可选的技能演化服务,从共享存储读取会话数据,演化或创建技能,再写回存储。当你需要自动演化或团队共享时再加。它支持两种 engine:

    • workflow:固定三阶段 LLM 流程(Summarize → Aggregate → Execute)
    • agent:基于 OpenClaw 的自主 agent 工作区,直接编辑技能文件

两者共享同一套存储层(Alibaba OSS / S3 / 本地文件系统)以及同一种技能格式(SKILL.md)。


部署模型

先装 Client,需要时再加 Server。

  1. 单用户 + 自动演化:装好 Client Proxy,再在同一台机器(或任何能访问存储的地方)加一个 Evolve Server,让技能在后台自动精炼。
  2. 团队 / 共享群组:多个 Client 指向同一个共享存储,群组运行一个 skillclaw-evolve-server。所有人的经验汇入同一个进化循环。

Client 和 Server 只通过共享存储(localosss3)发生连接。这意味着:

  • 如果你只是自己用,先装 Client 就够了,后面再决定要不要加 Evolver。
  • 如果你是加入一个现有群组,你仍然只需要安装 Client,不需要在自己机器上跑 Evolver。
  • Evolver 可以跑在你的本机、远程服务器,或者任何一台能访问共享存储和上游 LLM API 的机器上。

用户指南

第一次上手建议先走路径 A,把"用户侧安装和使用"先跑通,不要一开始就把共享部署和服务端混进来。

前置要求

  • macOS、Linux 或 Windows
  • Python >= 3.10
  • 一个兼容 OpenAI 的 LLM API endpoint,或 AWS Bedrock
  • 只有在你明确选择 openclaw CLI 集成或服务端 agent engine 时,才需要额外安装 openclaw

下面的入门路径已在 macOS 上做过本地烟测。

路径 A:先在单机上把用户侧跑通

  1. 从本仓库安装 SkillClaw。如果你已经有源码,跳过 git clone

macOS / Linux:

git clone https://github.com/AMAP-ML/SkillClaw.git && cd SkillClaw
bash scripts/install_skillclaw.sh
source .venv/bin/activate

Windows PowerShell(当前仓库没有原生 .ps1 安装脚本,所以这里是手动安装方式):

git clone https://github.com/AMAP-ML/SkillClaw.git
Set-Location SkillClaw
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -U pip
python -m pip install -e ".[evolve,sharing,server]"
  1. 生成本地配置。
skillclaw setup

设置向导会依次提示你选择 provider、模型、本地 skills 目录、PRM 设置、可选的 CLI agent 集成、以及可选的共享存储。

如果你使用 Atlas Cloud 作为上游 OpenAI 兼容 provider,可以选择 atlascloud,保留默认 API base https://api.atlascloud.ai/v1,并在提示时输入你的 Atlas Cloud API key。该预设默认走 chat-compatible 转发,因此 Codex 客户端也可以通过 SkillClaw 的 Responses-to-chat 桥接使用。

第一次最小化验证时,推荐这样选:

  • CLI agentnone,先不要自动改外部 agent 配置
  • skills 目录保持默认值 ~/.skillclaw/skills;如果你选了 Hermes、Codex 或 Claude Code,默认技能库会变成 ~/.hermes/skills~/.codex/skills~/.claude/skills
  • 如果你只是想先验证代理能不能正常用,可以先关闭 shared storage
  • 如果你后面想在同一台机器上继续跑本地 evolver 闭环,就把 shared storage 打开并选 local backend,例如 ~/.skillclaw/local-share
  • 如果你想先把成本压到最低,可以先关闭 PRM
  1. 启动 Client Proxy 并检查健康状态。
skillclaw start --daemon
skillclaw status
PROXY_PORT="$(skillclaw config proxy.port | awk '{print $2}')"
curl "http://127.0.0.1:${PROXY_PORT}/healthz"

默认代理端口是 30000,但健康检查应以你在配置中实际设定的 proxy.port 为准。用 skillclaw config show 查看当前的上游模型、代理端口和 sharing 目标。

到这里为止,SkillClaw 已经可以作为"单用户本地代理"使用了。只是想自己用的话,不需要立刻运行 Evolver。

如果你后面想让它自动演化技能,再继续看下面的服务器指南

Hermes 接入

如果你本来就在用 Hermes,用户侧的接入路径是:

  1. 先安装 Hermes。
  2. 运行 skillclaw setup,在 CLI agent to configure 里选择 hermes
  3. Proxy model name exposed to agents 保持 skillclaw-model,除非你明确知道自己为什么要改它。
  4. 启动 SkillClaw。启动时,SkillClaw 会自动改写 ~/.hermes/config.yaml,把 Hermes 指到本地代理。
  5. Hermes 默认使用 ~/.hermes/skills 作为本地技能库。SkillClaw 会自动准备好该目录,并把 ~/.skillclaw/skills 中遗留的旧技能复制过来。
  6. 如果你想检查或撤销集成,使用 skillclaw doctor hermesskillclaw restore hermes

最小验证命令:

skillclaw start --daemon
hermes chat -Q -m skillclaw-model -q "Reply with exactly HERMES_SKILLCLAW_OK and nothing else."

可选诊断命令:

skillclaw doctor hermes
skillclaw restore hermes

skillclaw doctor hermes 会检查 Hermes 是否指向了本地代理、Hermes skills 目录是否存在、旧技能是否还在、以及会话边界是否仍回退到代理侧的启发式策略(除非 Hermes 发送了显式的 session header)。

路径 B:加入一个已有的共享群组

加入群组时,用户侧安装方式和路径 A 完全一样。区别只是把本地 Client 指向群组的共享存储。

最适合初学者的方式是重新执行一次 skillclaw setup,开启 shared storage,然后把群组管理员给你的参数填进去。

你也可以直接手动配置。下面是 OSS 示例:

skillclaw config sharing.enabled true
skillclaw config sharing.backend oss
skillclaw config sharing.endpoint https://oss-cn-hangzhou.aliyuncs.com
skillclaw config sharing.bucket my-skillclaw-bucket
skillclaw config sharing.access_key_id "$OSS_ACCESS_KEY_ID"
skillclaw config sharing.secret_access_key "$OSS_ACCESS_KEY_SECRET"
skillclaw config sharing.group_id my-group
skillclaw config sharing.user_alias alice
skillclaw config sharing.auto_pull_on_start true

skillclaw start --daemon
skillclaw skills pull

如果你的群组用的是本地挂载目录或 NAS,而不是 OSS/S3,那么把 sharing.backend 改成 local,并配置 sharing.local_root /path/to/shared/root 即可。

加入群组时要记住:

  • 你本机上仍然只运行 Client Proxy
  • 你不需要在自己机器上运行 skillclaw-evolve-server
  • 从单用户扩展到多用户,对用户侧来说主要就是共享存储配置变了

可选:把某个客户端打开成后台验证节点

这个模式是可选的,而且默认关闭。它适合那些希望在 workflow 产出正式进入共享技能目录前,再加一道群组内复核的部署。

它实际做的是:

  • 服务端先把候选技能写成一个 validation job,而不是立刻发布
  • 某个选择加入的客户端在本地代理空闲时主动拉取 job
  • 客户端会在后台验证这个候选技能,并把结果回写共享存储
  • 后续某一轮 evolve cycle 再根据阈值决定正式发布还是拒绝

如果 validation.enabled 保持 false,你的日常客户端使用路径完全不受影响。

客户端最小配置:

skillclaw config validation.enabled true
skillclaw config validation.idle_after_seconds 300
skillclaw config validation.poll_interval_seconds 60
skillclaw config validation.max_jobs_per_day 5

skillclaw validation status
skillclaw validation run-once --force

之后只要 skillclaw start --daemon,后台验证器就会自动跟着启动。run-once --force 是最快的自测方式,不需要等空闲计时器。

服务器指南

Evolver 是共享后端。它可以服务一个用户,也可以服务一整个群组;可以跑在本机,也可以跑在远程服务器。

单用户本地闭环:在同一台机器上运行一个 Evolver

这是最小的完整闭环:一个用户、一台机器、一个本地 shared root、一个 evolve server。

前提是你在 skillclaw setup 里已经开启了 local shared storage。

skillclaw-evolve-server --use-skillclaw-config --interval 300 --port 8787

跑起来后,你还可以查看共享技能区:

skillclaw skills list-remote

这个路径的特点是:

  • 只有一个用户
  • 只有一台机器
  • 不需要 OSS / S3
  • 能完整体验"记录会话 → 演化技能 → 回写复用"的闭环

群组共享部署:在本地或远程服务器上运行一个 Evolver

把 Evolver 跑在任何一台能访问共享存储和上游 LLM API 的机器上即可,它不一定要跑在终端用户的电脑上。

macOS / Linux:

git clone https://github.com/AMAP-ML/SkillClaw.git && cd SkillClaw
bash scripts/install_skillclaw_server.sh
source .venv-server/bin/activate
cp evolve_server/evolve_server.env.example evolve_server/.env

Windows PowerShell(当前仓库没有原生 .ps1 安装脚本,所以这里是手动安装方式):

git clone https://github.com/AMAP-ML/SkillClaw.git
Set-Location SkillClaw
python -m venv .venv-server
.\.venv-server\Scripts\Activate.ps1
python -m pip install -U pip
python -m pip install -e ".[server]"
Copy-Item .\evolve_server\evolve_server.env.example .\evolve_server\.env

然后编辑 evolve_server/.env,或者直接通过命令行传参数。默认 workflow engine 的 OSS 示例:

skillclaw-evolve-server --port 8787 --interval 300 \
  --storage-backend oss \
  --oss-endpoint "$EVOLVE_STORAGE_ENDPOINT" \
  --oss-bucket "$EVOLVE_STORAGE_BUCKET" \
  --group-id my-group

默认情况下,workflow engine 会把演化通过的技能直接写入共享技能目录,也就是 {group_id}/skills/<name>/SKILL.md

如果你想让候选技能先经过一轮"客户端复核"再正式进入 skills/,可以把服务端切到 validated 发布模式:

EVOLVE_PUBLISH_MODE=validated \
EVOLVE_VALIDATION_REQUIRED_RESULTS=1 \
EVOLVE_VALIDATION_REQUIRED_APPROVALS=1 \
EVOLVE_VALIDATION_MIN_MEAN_SCORE=0.75 \
EVOLVE_VALIDATION_MAX_REJECTIONS=1 \
skillclaw-evolve-server --port 8787 --interval 300 \
  --storage-backend oss \
  --oss-endpoint "$EVOLVE_STORAGE_ENDPOINT" \
  --oss-bucket "$EVOLVE_STORAGE_BUCKET" \
  --group-id my-group

如果你服务端想使用 agent engine,那就在服务端机器上安装 openclaw,然后运行:

npm install -g openclaw

skillclaw-evolve-server --engine agent --port 8787 --interval 300 --no-fresh \
  --storage-backend oss \
  --oss-endpoint "$EVOLVE_STORAGE_ENDPOINT" \
  --oss-bucket "$EVOLVE_STORAGE_BUCKET" \
  --group-id my-group

只有服务端操作员在使用 --engine agent 时才需要 openclaw

快速参考

运行关系 — 每个用户有自己的 skillclaw 进程和 ~/.skillclaw/config.yaml;每个群组对应一个 group_id,由一个 Evolver 持续读取会话、产出技能、写回存储。加入群组只需正确配置共享存储,无需部署服务端。

首次启动检查

命令 预期结果
skillclaw status 显示 running
curl http://127.0.0.1:<port>/healthz 返回 {"ok": true}
skillclaw config show 显示正确的上游 URL、模型和 sharing 配置

技能管理

skillclaw skills pull          # 下载共享技能
skillclaw skills push          # 上传本地技能
skillclaw skills sync          # 双向同步
skillclaw skills list-remote   # 查看远端技能

配置参考

  • Client 配置:~/.skillclaw/config.yaml(由 skillclaw setup 生成)
  • 服务端模板:evolve_server/evolve_server.env.example(复制为 .env 使用)
  • 查看 / 修改配置:skillclaw config showskillclaw config <key> <value>
  • 贡献者入口:skillclaw/(客户端)、evolve_server/(后端)、scripts/(安装脚本)

致谢

本仓库基于以下开源项目构建:

  • MetaClaw - Just talk to your agent — it learns and evolves
  • WildClawBench - Can an AI agent do real work, end-to-end, without hand-holding
  • OpenClaw-RL - Train a personalized agent simply by talking to it

共建

SkillClaw 是一个社区共建项目。我们欢迎各种形式的贡献——Bug 反馈、功能建议、新技能贡献、文档完善等。欢迎提 Issue 或提交 Pull Request!

引用

如果 SkillClaw 对你的研究有帮助,请考虑引用我们的论文:

@article{ma2026skillclaw,
  title={SkillClaw: Let Skills Evolve Collectively with Agentic Evolver},
  author={Ma, Ziyu and Yang, Shidong and Ji, Yuxiang and Wang, Xucong and Wang, Yong and Hu, Yiming and Huang, Tongwen and Chu, Xiangxiang},
  journal={arXiv preprint arXiv:2604.08377},
  year={2026}
}

许可证

详见 LICENSE