技能与 MCP
安装技能包和 MCP 服务,分配给项目,或者直接在对话里让 Rna 自己装。
三个状态
能力目录由守护进程管理,项目只保存自己的分配。安装到目录、启用、分配给项目是三个不同的状态。安装时 activate: true 会同时启用并分配给当前项目;其他项目的权限不会随之增加。
技能目录只包含元数据。模型需要时才用 skill_load 读取正文和配套资源,不会把所有技能塞进每一轮的上下文。
在对话里安装
在已配置真实模型的项目会话中,直接说明来源和用途:
把
/absolute/path/to/my-skill里的完整技能装到当前项目,检查来源后启用,然后按需要读取它的资料继续讨论。
前台会话常驻五个管理工具,和界面、CLI、HTTP API 使用同一个安装服务:
| 工具 | 用途 | 会改变项目吗 |
|---|---|---|
capability_list | 查看目录和当前项目分配 | 否 |
capability_inspect | 检查来源格式或元数据 | 否,不启动 MCP |
capability_install | 安装完整能力 | 是 |
capability_assign | 分配给当前项目 | 是 |
capability_remove | 移出项目,或注销没人用的能力 | 是 |
当前工具批次执行完后,SDK 在下一次模型请求前刷新工具和技能目录,所以同一轮里就能完成“安装、读取新技能或调用新 MCP、回答”。后台工作不携带这些管理工具。
在界面中安装
选择项目后打开 技能与工具 → 安装能力。来源可以是本地技能目录、Git 技能、npm MCP 服务、MCP JSON 导入,或官方浏览器预设。先“检查来源”,再选“安装并启用”或“仅安装”。
浏览器预设会查找本机已装的 Chrome 或 Chromium,固定官方版本,实际启动并截图验证后才发布,不需要 API 密钥,也不接管你的个人浏览器。
安装描述
{
"kind": "skill",
"id": "project-review-v1",
"source": { "type": "local", "path": "/absolute/path/to/my-skill" },
"activate": true,
"reason": "用于当前项目审查"
}复制整个技能目录,包括 references、scripts、assets,安装时不执行任何脚本。.git、node_modules 不复制;符号链接、超过 10,000 个条目或 32 MiB 的包会被拒绝。
MCP 权限
- 显式的
allowTools(包括空对象{})就是完整的授权边界。 - 没有白名单时,
toolPermission: "exec"授权本次发现的全部工具;两者都省略则不授予任何工具。 - 服务之后新增的工具不会自动获得权限,服务自报的
readOnlyHint也不能代替授权。
支持 stdio 和 Streamable HTTP 两种传输。每个 stdio 服务由一个轻量的守护进程看护:Rna 被强制结束时,它会回收自己启动的进程组。
技能市场
Rna 可以在公开技能市场里搜索和读取能力,再走同样的检查与安装流程:
./rna marketplace search "pdf" --provider skills-sh --limit 5
./rna marketplace read skills-sh RESULT_ID