智能体

技能

技能是可复用的能力片段,可以分配给多个智能体。使用技能在工作区内共享指令、工具和规范约定。

技能

技能是可复用的智能体指令片段,可以分配给多个智能体。智能体的主指令描述的是"它是谁",技能描述的则是"它会做什么"。将能力定义为技能后,只需编辑一次,所有使用该技能的智能体都会同步更新,能力保持一致且易于维护。

技能是工作区级别的——同一工作区内的任何智能体都可以被分配相同的技能;编辑技能后,下次任务执行时会对所有关联智能体生效。

技能使用活动

技能列表会显示每个工作区技能最近 7 个日历日的记录使用情况,包括紧凑的活动柱状图和调用总数。数据来自已完成或最终失败的智能体任务;内置技能不是工作区使用记录,因此始终显示为零。详情页提供 30 天视图,仪表盘的用量页面还可以按所选日期范围显示工作区总量和技能排名。活动从启用此功能后开始记录,不会回填此前的累计调用次数。

技能包含的内容

字段说明
名称简短的动作导向标签(如 巡检慢查询分析执行计划生成巡检报告)。
描述在向智能体分配技能时,选择器中显示的单行摘要。
内容技能激活时附加到智能体主指令后面的 Markdown 正文。实际能力就定义在这里。
标签用于分组、筛选和查找相关技能的技能标签。技能标签和工单标签类型分开管理。
配置可选的 JSON 对象,存放 Provider CLI 专属配置(如工具定义或传递给 LLM 的额外元数据)。
附属文件可选的支持文件(脚本、参考文档、提示片段),随技能打包,在任务启动时写入智能体的工作目录。

技能本身没有运行时或状态。它们是纯粹的指令片段——运行时由智能体提供,知识由技能提供。

创建技能

  1. 在侧边栏打开 技能
  2. 点击 新建技能
  3. 填写名称和完整的 SKILL.md 内容,并确保 frontmatter 中的 name 与表单名称一致
  4. 点击 创建
  5. 可选:在技能详情页管理附属文件

手工创建表单要求 SKILL.md 包含 frontmatter,其中必须提供非空 name,并与表单名称完全一致。

让每个技能专注于单一能力。试图面面俱到的技能往往容易失控;将能力拆分为多个小技能,按需组合到不同的智能体上,可以获得更精准的控制。

附属文件

技能可以打包额外的文件,这些文件在任务启动时会写入智能体的工作目录。适用场景包括:

  • 智能体在执行前需要阅读的参考文档
  • 提示词模板片段
  • 智能体通过工具调用的脚本或配置文件

每个附属文件需指定路径(相对于工作目录)和内容。可在技能详情页管理附属文件。

你也可以通过 CLI 将本地目录打包成技能导入,或将技能导出到本地目录进行版本管理:

# 将本地 skill 目录(含 SKILL.md 和附属文件)导入工作区
mopheus skill import --path ./my-skill

# 导出工作区技能到本地
mopheus skill export --all --output-dir ./skills

示例:巡检 MySQL 慢查询

你是一名 MySQL 性能诊断专家,擅长通过慢查询日志定位性能瓶颈。

当用户要求分析慢查询时:
1. 先通过 `show variables like 'slow_query%'` 确认慢查询日志是否开启及日志路径
2. 使用 `mysqldumpslow` 或读取慢查询日志文件,按 Query_time 排序提取 Top 10
3. 对每条慢查询,使用 `EXPLAIN` 分析执行计划,关注是否出现全表扫描(type = ALL)
4. 检查相关表是否有合适的索引;如没有,给出具体的 `CREATE INDEX` 建议
5. 以 Markdown 表格返回:SQL 摘要、执行时间、扫描行数、问题类型、优化建议

诊断原则:
- 优先关注扫描行数大但返回行数少的查询(典型索引缺失场景)
- 对含 `ORDER BY ... LIMIT` 的慢查询,检查是否使用了 filesort
- 联合查询(JOIN)慢时,确认关联字段上双方都有索引

为智能体分配技能

在智能体设置页面,打开 技能 字段,选择一个或多个技能。选择器会显示工作区内所有技能以及你的个人技能。

当智能体认领任务时,已激活技能的指令会按列表顺序追加到主指令之后。通过调整技能排列顺序可以改变优先级——当指令存在冲突时,排在前面的技能通常优先生效。

从智能体上移除某个技能,在下一次任务时生效;正在进行中的任务会使用派发时的技能集合直到完成。

内置技能

技能 页面分为两个标签页:工作区技能内置技能

内置技能由平台提供,为只读模式——无法编辑或删除。它们显示在 内置技能 标签页中,在任务执行时自动提供给所有智能体(若工作区创建了同名技能则优先使用工作区版本)。内置技能涵盖平台预置的常见运维与开发能力。

  • using-codegraph:为编码智能体(开发、修复、重构等)提供 AST 与依赖知识图谱探索能力(codegraph explorecallerscalleesimpactaffectedsync),配合 Daemon 运行时的 Sidecar 快照缓存与 Git 忽略配置,实现秒级代码智能检索与变更影响分析。

管理技能库

技能 页面列出工作区内的所有技能。可以用标签筛选出同时拥有所选标签的技能,也可以直接在列表行或详情侧边栏编辑技能标签。

技能标签和工单标签是分开的资源类型。列出或解析技能标签时使用 skill 类型;只要标签仍被其资源类型的对象使用,就不能删除。

在每行的操作菜单中可以:

  • 编辑 — 修改指令;新版本在所有关联智能体的下一次任务中生效
  • 复制 — 克隆技能,作为变体的起点
  • 删除 — 永久删除技能。所有分配了该技能的智能体会自动移除它

命令行参考

# 列出工作区技能
mopheus skill list
# 按关键字过滤并分页
mopheus skill list --search "巡检" --page 2 --per-page 25

# 查看技能详情
mopheus skill get <id>

# 按名称或 UUID 管理技能标签
mopheus skill label list <skill-id>
mopheus skill label add <skill-id> "运维"
mopheus skill label remove <skill-id> "运维"

# 分开列出技能标签和工单标签
mopheus label list --target-type skill
mopheus label list --target-type ticket

# 导入/导出工作区配置(包含技能标签)
mopheus workspace export ./workspace-bundle
mopheus workspace import ./workspace-bundle

# 创建技能
mopheus skill create --name "巡检慢查询" --content "..."

# 更新技能
mopheus skill update <id> --content "..."

# 删除技能
mopheus skill delete <id>

# 从 URL 或本地目录导入技能
mopheus skill import --url https://example.com/skill.md
mopheus skill import --path ./local-skill-dir

# 导出技能到本地
mopheus skill export <id> --output-dir ./skills

# 管理技能文件
mopheus skill files list <skill-id>
mopheus skill files upsert <skill-id> --path "config.json" --content '{"key":"val"}'
mopheus skill files delete <skill-id> <file-id>