大模型应用
用 SkillClaw 从多用户会话数据中自动蒸馏并共享可复…
当多个 LLM agent 需要从真实会话经验中持续进化技能并在集群间共享时,用 SkillClaw 代理拦截 API 调用、记录会话、由 evolve server 蒸馏成 SKILL.md 并通过共享存储同步。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
用 SkillClaw 从多用户会话数据特定
解决思路
- 克隆仓库并安装客户端:`git clone <repo-url> SkillClaw && cd SkillClaw`,然后运行 `bash scripts/install_skillclaw.sh` 并 `source .venv/bin/activate`。
- 部署服务端:运行 `bash scripts/install_skillclaw_server.sh` 并 `source .venv-server/bin/activate`;仅 agent evolve server 需要额外执行 `npm install -g openclaw`。
- 配置环境变量(切勿硬编码密钥):设置 `OPENAI_BASE_URL`、`OPENAI_API_KEY`,OSS 后端还需设置 `EVOLVE_STORAGE_ENDPOINT`、`EVOLVE_STORAGE_BUCKET`、`OSS_ACCESS_KEY_ID`、`OSS_ACCESS_KEY_SECRET`。
- 通过 `skillclaw config show` 查看配置,用 `skillclaw config <key> <value>` 修改;配置文件位于 `~/.skillclaw/config.yaml`。
- 初始化并启动客户端代理:依次执行 `skillclaw setup`、`skillclaw start`,用 `skillclaw status` 查看状态,`skillclaw stop` 停止。
- 用 CLI 管理技能:`skillclaw skills pull` 下载共享技能,`skillclaw skills push` 上传本地技能,`skillclaw skills sync` 双向同步,`skillclaw skills list-remote` 浏览远端技能。
- 启动 Workflow Evolve Server(Summarize → Aggregate → Execute 三阶段流水线):`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 Evolve Server(自主 OpenClaw agent):`skillclaw-agent-evolve-server --port 8787 --interval 300 --no-fresh --storage-backend oss --oss-endpoint "$EVOLVE_STORAGE_ENDPOINT" --oss-bucket "$EVOLVE_STORAGE_BUCKET" --group-id my-group`;用 `--no-fresh` 从已有技能继续而非每次从头开始。
- 开发时使用本地文件系统后端:`skillclaw-evolve-server --port 8787 --interval 60 --storage-backend local --local-storage-path ./skill_storage --group-id dev-group`。
- 关键配置项:`--port`(默认 8787)、`--interval`(默认 300 秒)、`--storage-backend`(oss/s3/local,默认 local)、`--group-id`(必填)、`--no-fresh`、`--oss-endpoint`、`--oss-bucket`。
- 按 SKILL.md 格式编写技能:YAML frontmatter 包含 `name`、`description`、`version`、`tags`,正文包含 When to Use、Instructions、Examples 等章节。
- 运行 WildClawBench 迭代进化实验:`python scripts/run_wildclawbench_iterative_evolve_agent.py --group-id wildclawbench-test --storage-backend local --local-storage-path ./wb_storage --num-iterations 3`。
- 用 Python API 同步技能:从 `skillclaw.skill_manager` 导入 `SkillManager`,用 `SkillManager(storage_backend="local", local_path="./skills")` 初始化,调用 `manager.pull()`、`manager.list_local()`、`manager.push("path/to/SKILL.md")`。
- 用 Python 启动代理:从 `skillclaw.launcher` 导入 `SkillClawLauncher`,从 `skillclaw.config` 导入 `SkillClawConfig`,构造 config(含 upstream_base_url、upstream_api_key、proxy_port、storage_backend、local_storage_path、group_id),调用 `launcher.start()`,让 agent 指向 `http://localhost:8080/v1`。
- 调用 Evolve Server API:用 `httpx.post("http://localhost:8787/evolve")` 立即触发一轮进化,用 `httpx.get("http://localhost:8787/status")` 查看状态。
- 多用户集群部署:每台用户机器运行 `skillclaw start --group-id production-cluster --port 8080`,一台中心服务器运行 `skillclaw-evolve-server --storage-backend oss --oss-bucket "$SHARED_BUCKET" --group-id production-cluster --interval 300`,所有 agent 共享同一 OSS bucket。
- 将任意 OpenClaw 兼容框架(CoPaw、IronClaw、PicoClaw、ZeroClaw、NanoClaw、NemoClaw)的 OpenAI 兼容 API 调用指向 SkillClaw 代理即可开始记录会话。
- 排查代理无法启动:`skillclaw status` 检查是否已在运行,`skillclaw stop && skillclaw start` 重启,`skillclaw config show` 确认 OPENAI_BASE_URL 已设置。
- 排查技能不同步:`skillclaw skills list-remote` 验证存储连接,`skillclaw config show` 检查存储后端配置,`echo $OSS_ACCESS_KEY_ID` 确认环境变量已导出。
- 排查 evolve server 不处理会话:检查服务日志的周期输出,确认 `--group-id` 与客户端代理一致,用 `--storage-backend local --local-storage-path ./debug_storage --group-id debug` 调试。
- 排查 agent evolve server 启动失败:`which openclaw` 确认在 PATH 中,缺失则 `npm install -g openclaw`,并确认 agent 的 LLM 已设置 OPENAI_BASE_URL 和 OPENAI_API_KEY。
- 排查端口占用:`skillclaw stop`,用 `lsof -i :8787 | grep LISTEN` 找到冲突进程,或改用 `--port 8788` 等其他端口。
适用边界 · 注意事项
- 不想引入本地代理拦截 OpenAI 兼容 API 调用、或无法接受会话数据被记录到共享存储的场景。
- 没有可用的共享存储后端(OSS/S3)或不愿配置云存储凭据时,只能退化为本地单机模式,无法实现跨 agent 集群共享。
- 使用 agent evolve server 时必须已全局安装 openclaw,否则无法启动。