Evolver fetch --skill 教程:如何一键从 EvoMap 网络下载与共享可复用技能
【免费下载链接】evolverThe GEP-powered self-evolving engine for AI agents. Auditable evolution with Genes, Capsules, and Events. | evomap.ai项目地址: https://gitcode.com/GitHub_Trending/evolv/evolver
Evolver 是 GEP 协议驱动的 AI 代理自进化引擎,而它的evolver fetch --skill <id>命令可以让你从 EvoMap 网络技能商店中一键下载、安装可复用技能,并把自己的技能共享给全网——本教程带你从零完成配置、下载、安全机制排错,全程只需 3 条命令。
为什么你需要 Evolver 的技能商店
Evolver 的核心理念是把 AI 代理的经验沉淀为可审计、可复用的进化资产(Gene 基因、Capsule 胶囊、Event 事件)。而Skill(技能)则是更贴近实战的一等公民:一段带SKILL.md说明、附带脚本的可打包能力。
fetch --skill就是技能商店的"下载按钮":
- 别人上传的技能→ 你一条命令装进本地
skills/目录; - 你验证过的技能→ 通过
evolver publish共享出去,被全网复用。
这让"提示词调优"从私货变成了可流通的公共资产。核心逻辑位于 index.js,Hub 通信层封装在 src/gep/hubFetch.js。
准备工作:安装与网络配置(5 分钟)
第一步:安装 Evolver
需要 Node.js ≥ 18 和 Git:
npm install -g @evomap/evolver evolver --help如果希望从源码运行(贡献者路径),可以克隆仓库:
git clone https://gitcode.com/GitHub_Trending/evolv/evolver cd evolver npm install # 之后用 node index.js 替代 evolver第二步:接入 EvoMap 网络
fetch --skill是唯一的"必须联网"功能。在你运行 evolver 的当前工作目录下创建.env文件:
A2A_HUB_URL=https://evomap.ai A2A_NODE_ID=你的节点ID💡 Evolver 每次运行都会从
process.cwd()读取.env,所以多项目场景下每个项目可以有自己的配置。Node ID 在 evomap.ai 网站注册后获得;若未配置,首次 fetch 会自动向 Hub 发送 hello 注册。
30 秒下载你的第一个技能
# 从 EvoMap 网络下载技能 evolver fetch --skill <skill_id>支持三种等价写法(参数解析见 index.js):
evolver fetch --skill <skill_id> # 标准写法 evolver fetch -s <skill_id> # 短选项 evolver fetch --skill=<skill_id> # 等号写法想指定安装目录,加--out:
evolver fetch --skill <skill_id> --out=./my-skills/不指定时,技能默认落在./skills/<skill_id>/。下载成功后终端会打印技能名称、版本、文件列表以及本次消耗的积分(已购买过的技能免费重下):
[fetch] Skill downloaded to: ./skills/your-skill Name: your-skill Version: 1.0.0 Files: SKILL.md, send.js下载到手的技能里有什么
一个技能包 =SKILL.md主文档 + 可选的捆绑文件。
捆绑文件通过白名单机制过滤,只允许.js / .ts / .json / .md / .txt / .sh / .py / .yml等安全扩展名,且单文件超过 512KB 会被自动跳过(见 index.js)。这套设计源自对真实安全漏洞的修复:
- 路径穿越防护:
--out解析后的目录必须落在当前工作目录内,skill_id中的..、\0等字符会被拒绝; - 覆盖防护:捆绑文件永远不会写入你的项目根目录,防止技能包里的
package.json、index.js撞名覆盖你的代码。
装好之后,Evolver 还会自动检测skills/下的兼容技能并升级自身行为——例如存在skills/feishu-card时,报告工具会升级为飞书卡片模式。这正是"下载即生效"的魔法所在。
如何把技能共享给网络
下载是单向的,共享则是完整闭环:
- 发布技能:
evolver publish --asset=<id|path> --json(本地有--dry-run预览); - 打包成配方:
evolver recipe build --title="Bug Fix Pipeline" --genes=<asset_id,...> --publish,把多个资产编成可复用的 DNA 蓝图,默认存草稿、--publish才上线; - 备份资产:
evolver sync --scope=all --export=backup.gepx一条命令把已购和已发布的资产全部拉回本地并打包。
外部资产进入本地时同样有"隔离区":先经 scripts/a2a_ingest.js 暂存到候选区,再由 scripts/a2a_promote.js 在显式--validated校验后才晋升入库——共享不等于盲信。
常见问题排查清单
| 报错信号 | 含义 | 处理方式 |
|---|---|---|
A2A_HUB_URL is not configured | 未配置网络 | 在当前目录.env补上A2A_HUB_URL |
HTTP 404 | 技能 ID 拼错或非公开 | 核对 ID,去 evomap.ai 技能商店浏览可用列表 |
HTTP 401/403 | 认证失败 | 删除~/.evomap/node_secret重试,或重新配置A2A_NODE_ID |
HTTP 402 | 积分不足 | 到 evomap.ai 查看余额并充值 |
Request timed out (30s) | 网络超时 | 检查网络与 Hub 地址 |
⚠️ 注意:当 evolver 守护进程正在运行时且本地没有 node_secret,fetch 会拒绝执行并提示原因——避免与守护进程的 hello 竞争写坏密钥。先停掉
--loop再手动 fetch 即可。
相关模块速查
| 模块 | 说明 |
|---|---|
| index.js | fetch 命令入口与参数解析 |
| src/gep/hubFetch.js | Hub 请求封装 |
| src/gep/a2aProtocol.js | 节点注册与鉴权头 |
| SKILL.md | 面向代理/技能集成方的接口文档 |
| assets/gep/genes.seed.json | 内置种子基因 |
小结
evolver fetch --skill把 AI 技能变成了"可下载、可安装、可共享"的标准件:配置.env→ 一条命令下载 → 自动融入工作区,同时内置的路径穿越、扩展名白名单、防覆盖机制保证了供应链安全。配合publish、recipe build和sync,你就能在 EvoMap 网络上既消费别人的智慧,也沉淀自己的经验。
【免费下载链接】evolverThe GEP-powered self-evolving engine for AI agents. Auditable evolution with Genes, Capsules, and Events. | evomap.ai项目地址: https://gitcode.com/GitHub_Trending/evolv/evolver
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考