Skip to content

Skills and Slash Commands

AceGuru-mjh edited this page Oct 1, 2026 · 4 revisions

技能与斜杠命令

🔧 能力 · 🏠 首页 › Skills-and-Slash-Commands

Home Version Kotlin Modules Tools License

Skills-and-Slash-Commands

📑 本页目录

Skill 是可组合的能力包;斜杠命令是它的命令行入口。 二者与市场五个货架共同构成"不用改代码就能扩展智能体"的通道。

1. Skill 是什么

JSON manifest,schema apex-skill-v1,存放在 filesDir/skills/<id>.json:

类型 机制 示例
Composite steps[] 链式编排既有工具,{{var}} / {{prev_output}} 模板替换 网页爬虫 = fetch → 解析 → 存档
Prompt 启用时注入系统提示片段 "回答必须带引用来源"
Script 内嵌 Python/Shell 脚本,由 shell_execute 执行 数据清洗脚本
Connector 连接外部服务(URL / SSH) Google Drive 桥(孵化中)

注册的工具有五个入口供 LLM 调用:

skill_search · skill_install · skill_create · skill_list · skill_uninstall

2. 让智能体自己装技能(自主闭环)

flowchart LR
    S["skill_search('网页抓取')"] --> I["skill_install(url / 内置模板 / 内容)"]
    I --> A["auto_setup 执行安装步骤"]
    A --> L["skill_list 确认已安装"]
    L --> R["SkillToolAdapter 注册为运行时工具<br/>(如 web_scrape)"]
    R --> T["LLM 像调用内置工具一样调用它"]
Loading

动态安装的技能通过 SkillToolAdapter 注册进 ToolRegistry,因此对 LLM 而言技能与内置工具无差别。

3. 市场(Market 屏)的五个货架

货架 内容
🧰 工具 已注册工具浏览(含分类 / 风险 / 使用统计)
🧩 技能 可安装 Skill(内置模板 40+)
🛰️ MCP Model Context Protocol 服务器接入
🔌 插件 AIDL 插件 APK(见 插件 SDK)
🔗 连接器 外部服务连接(孵化中)

Note

抽屉里原来的 Skill 屏已合并进市场屏(ApexRoot.kt 有注释说明)。

4. 斜杠命令

输入栏 / 按钮弹出四类命令,实时联想、追加而不覆盖已输入文本:

/<type>:<id> [key=value ...] [自由文本]

/skill:code_interpreter
/skill:web_search query=Android 18 news
/mcp:github repo=owner/name        ← 未连接时自动引导 GitHub 连接流程
/connector:google_drive
/plugin:pdf_reader
类型前缀 含义
/skill: 直接调用某个已安装技能
/mcp: 调用 MCP 服务器工具(未连接则引导连接)
/connector: 调用连接器能力
/plugin: 调用插件 APK 暴露的工具

文法容错:

  • 空白容忍;
  • 畸形输入降级为 Unknown 并原样转发(不会报错丢消息);
  • 解析与路由在纯 JVM 包 com.apex.agent.slash 中实现(独立可测,4 个测试类锁定行为)。

5. 写一个自己的 Skill(Composite 示例)

{
  "schema": "apex-skill-v1",
  "id": "web_scrape",
  "name": "网页抓取",
  "type": "Composite",
  "description": "抓取 URL 并抽取正文与标题",
  "params": { "url": "string" },
  "steps": [
    { "tool": "web_fetch", "args": { "url": "{{url}}" } },
    { "tool": "regex_extract", "args": { "pattern": "<title>(.*?)</title>", "input": "{{prev_output}}" } }
  ]
}
  • 保存为 filesDir/skills/web_scrape.json(也可通过 skill_install 让 Agent 自己写);
  • 之后 LLM 可以直接调用工具 web_scrape;用户也可以在输入框打 /skill:web_scrape url=…。

Tip

想让能力在同一步里批量执行且带熔断/追踪时,用 Shortcut 组合动作; 想要人类可读、可分享、可市场化的包时用 Skill。

6. 相关页面

footer

🏠 返回首页 · 📚 文档索引 · ❓ FAQ · 🔧 故障排查 · 🗺️ 路线图 · 🐛 提 Issue

Android Guru Agent · v1.4.4 · Kotlin 2.0.21 · Compose · PRoot · Room

Clone this wiki locally