面向 AI 编码工具的代理技能包管理器,提供声明式清单、锁文件、内置验证与多来源安装能力。
Ion 是一款以 Rust 编写的 AI 代理技能包管理器,专为 Claude Code、Cursor、Windsurf 等 AI 编码工具设计。它将可复用的代理提示与指令抽象为"技能包",以类似包管理器的范式进行管理。
核心机制上,Ion 采用 Ion.toml 声明式清单配合 Ion.lock 锁文件,确保技能安装的可复现性。锁文件记录每个技能的精确版本与校验和,安装时自动校验。内置多维度验证管线(安全检查、结构检查、Markdown 规范检查、代码块检查)在安装前对技能进行质量把关。
Ion 支持 GitHub 仓库、Git URL、HTTP 端点、本地技能和二进制技能等多种来源。通过 --target 配置,单一 Ion.toml 可同时为多个 AI 代理工具配置技能目录。所有 CLI 命令均支持 --json 模式输出结构化数据,使 AI 代理能够程序化地搜索、安装与管理技能。此外提供基于 ratatui 的交互式搜索 TUI 界面。
项目以单二进制跨平台分发(macOS/Linux,aarch64/x86_64),采用 3 crate workspace 架构(ion CLI、ion-skill 核心库、ionem 基础设施库),通过 release-plz 实现自动化版本管理与交叉编译发布。
核心命令#
| 命令 | 说明 |
|---|---|
ion add [source] | 添加技能,或从 Ion.toml 安装全部 |
ion remove <name> | 移除技能 |
ion search <query> | 搜索注册表和 GitHub |
ion update [name] | 更新技能到最新版本 |
ion run <name> | 下载、校验并运行二进制技能 |
ion skill new | 创建新本地技能 |
ion skill eject <name> | 将远程技能弹为可编辑本地副本 |
ion skill validate | 验证技能定义 |
ion init | 初始化 Ion.toml(含目标选择与 AGENTS.md 模板) |
ion self update | 自更新(签名 GitHub Release 二进制) |
配置文件体系#
- 项目级:
Ion.toml(技能清单声明)、Ion.lock(锁文件) - 用户级:
~/.config/ion/config.toml(全局配置:默认目标、注册表、来源等) - 技能目录默认:
.agents/skills/(可通过[options] skills-dir配置)
技能来源格式#
| 来源类型 | 格式示例 |
|---|---|
| GitHub | github:owner/repo |
| Git | git:https://example.com/repo.git |
| HTTP | https://example.com/skill.tar.gz |
| 本地 | 通过 ion new 创建,type = "local" |
待确认信息#
- Windows 支持状态:仅提及 macOS/Linux 二进制发布,Windows 是否支持待确认
- skills.sh 注册表的具体性质与治理机制未详细说明
- ionem crate 的 crates.io 发布状态待确认
- 支持的 AI 代理工具完整列表待确认(已知 Claude、Cursor、Windsurf)