你已经拥有数十个 Agent Skills,只是找不到它们。
Source: Dev.to
使用 akm 管理日益增长的技能集合
在上一篇文章中,我解释了问题:你的代理人的技能集合扩展得比你能管理的速度更快。技能分散在各个目录中,没有搜索功能,无法共享,理智也在逐渐失去。
Agentikit 通过一个单一的 CLI —— akm —— 来解决这个问题,它为你的代理人提供一个可搜索、已索引的资产库。
真正的挑战
你们大多数人并不是从零开始的。你已经在多个工具中分散了资产:
| 工具 | 资产位置 |
|---|---|
| Claude Code | ~/.claude/skills/ |
| OpenCode | .opencode/ |
| Cursor | .cursor/rules/ |
| Codex | agents.md |
你可能在同一周内使用其中的两三个平台,但它们之间互相不可见。
akm 并不在乎资产的来源。把它指向任意目录,它就会索引其中的所有内容。指向五个目录时,你就可以实现 跨所有目录的语义搜索 —— 一个命令,覆盖所有平台,所有模型。
快速开始
安装 CLI
| 选项 | 命令 |
|---|---|
| 独立二进制文件(无需运行时) | curl -fsSL https://raw.githubusercontent.com/itlackey/agentikit/main/install.sh | bash |
| 通过 Bun | bun install -g akm-cli |
安装完成后,
akm已加入你的PATH。当有新版本发布时,运行akm upgrade可就地更新。
初始化 Stash
akm init- 在
~/akm下创建子文件夹:scripts/、skills/、commands/、agents/、knowledge/、memories/。 - 若想使用其他位置,请在运行
akm init前设置AKM_STASH_DIR。
添加已有资产目录
与其移动文件,不如直接注册你已经在使用的目录。
# Register Claude Code skills
akm stash add ~/.claude/skills
# Register OpenCode assets in a project
akm stash add ./my-project/.opencode/skills
# Register Cursor rules
akm stash add ./.cursor/rules命名来源(可选)
akm stash add ~/.claude/skills --name "claude-skills"
akm stash add ./team-shared --name "team"列出 / 移除来源
# Show everything you’ve added
akm stash list
# Remove by path or name
akm stash remove ~/.claude/skills
# or
akm stash remove claude-skills安装远程套件
您可以从 GitHub、npm 或本地 git 仓库拉取资产。套件会自动缓存和索引。
# A team repo full of shared skills
akm add github:your-org/team-agent-toolkit
# An npm package
akm add @scope/deploy-skills
# A local git directory
akm add ./path/to/my-opencode-skills构建搜索索引
# 首次完整构建
akm index
# 后续增量构建(仅已更改的目录)
akm index启用基于向量的语义搜索(可选)
# 拉取嵌入模型(例如,Ollama)
ollama pull nomic-embed-text
# 配置嵌入端点
akm config set embedding '{"endpoint":"http://localhost:11434/v1/embeddings","model":"nomic-embed-text","dimension":384}'
# 使用嵌入重新构建索引
akm index --full如果未配置嵌入,akm 将回退到强大的关键词匹配。
搜索你的资产
# 在所有已注册的来源中搜索
akm search "docker container management"该命令返回的引用可以直接传回 akm:
# 显示技能的完整内容
akm show skill:docker-homelab- Skills → 完整的
SKILL.md内容。 - Scripts → 可运行的命令。
- Commands → 带占位符的 markdown 模板。
- Knowledge → 带目录的可导航章节。
同时搜索社区注册表
akm search "code review" --source both安装找到的 Kit
akm add github:someone/great-kit从 Kit 中克隆单个资产
akm clone "github:someone/great-kit//skill:code-review" --dest ./.claude相应的子目录(skills/、scripts/ 等)会自动创建。
综合运用
在你的 AGENTS.md、CLAUDE.md 或系统提示中添加如下代码片段,以便你的代理直接利用该存储:
## 代理存储访问
您可以使用 `akm` CLI 检索任何资产:
- **搜索**: `akm search ""`
- **显示**: `akm show :`
- **运行脚本**: `akm run `
- **添加套件**: `akm add `现在,您拥有所有技能、脚本、命令、代理、知识和记忆的唯一可信来源——无论它们最初位于何处。祝您构建愉快!
资源与能力
您可以通过 akm CLI 访问可搜索的脚本、技能、命令、代理、知识和记忆库。
运行 akm -h 以获取完整的选项列表。
问题
- 每个代理平台(Claude Code、OpenCode、Cursor 等)都以自己的格式和位置存储资产。
- 当你需要特定的脚本或规则时,你会在多个目录或仓库中寻找。
- 这种碎片化导致难以保持上下文清晰,并在工具之间复用资产。
akm 如何解决此问题
- Progressive disclosure – 代理仅加载实际需要的文件。
- Relevance ranking – 结果按与查询的匹配程度排序。
- Platform‑agnostic – Claude Code 技能仍然是 Claude Code 技能,OpenCode 脚本仍然是 OpenCode 脚本,等等;
akm仅仅使它们可被发现。
示例设置
假设以下目录包含您的资产:
| 平台 | 路径 | 示例资产 |
|---|---|---|
| Claude Code | ~/.claude/skills/ | PDF 生成、CMYK 转换、打印布局 QA |
| OpenCode | .opencode/skills/ | Azure 部署脚本、LiteLLM 管理器 |
| Shared team repo | git@github.com:your-org/team-agent-toolkit.git | Dockerfile、CI/CD 流水线、代码审查资产 |
| Cursor | .cursor/rules/ | 编码约定、架构模式 |
1. 安装 akm
curl -fsSL https://raw.githubusercontent.com/itlackey/agentikit/main/install.sh | bash2. 初始化索引
akm init3. 添加资产位置(存储区)
akm stash add ~/.claude/skills
akm stash add .opencode/skills
akm stash add .cursor/rules
akm add github:your-org/team-agent-toolkit # 远程仓库4. 构建索引
akm index5. 搜索所需内容
akm search "deploy container to azure"结果: akm 返回 OpenCode 目录中的 Azure 部署脚本、团队仓库中的 Docker 技能,以及 Cursor 规则中的相关知识文档——全部按相关性排序。代理随后仅加载选中的文件并继续执行任务。
一目了然的优势
| 优势 | 描述 |
|---|---|
| 单一真实来源 | 所有资产的可搜索索引。 |
| 上下文卫生 | 代理仅获取实际需要的内容。 |
| 工具无关 | 可与任何能够执行 shell 命令的模型配合使用(Claude Code、OpenCode、Codex、Cursor 等)。 |
| 快速上手 | 只需五条简单命令即可启动并运行。 |
| 可扩展 | 在不更改现有工作流的情况下添加新存储(本地文件夹、远程仓库)。 |
快速参考
| 命令 | 目的 |
|---|---|
akm init | 在当前目录创建新索引。 |
akm stash add <path> | 将文件夹或远程仓库注册为可搜索的 stash。 |
akm index | 扫描所有 stash 并构建搜索索引。 |
akm search "<query>" | 在所有 stash 中查找相关资产。 |
akm show <id> | 显示特定结果的完整内容(可选)。 |
仓库:
试着用你分散的 agent 资产来运行一下吧,如果有什么问题请告诉我们!