能力包(Capability Pack)
能力包是 oh-my-coder 的经验沉淀系统,让 Agent 从历史执行中学习。
工作原理
每次工作流完成
│
▼
自动评估:是否值得沉淀经验?
│
工具调用 ≥5 次
或 错误 → 解决
或 用户纠正
或 ≥3 步骤
│
▼
生成 Skill 文件
.omc/skills/<category>/<name>/SKILL.md
│
▼
Tier 0 自动注入
Agent 执行前读取 index.json,
将所有 Skill 追加到系统 Prompt
Skill 文件结构
.omc/skills/
├── index.json # 全量索引
├── debugging/ # 调试经验
│ └── sql-slow-fix/
│ └── SKILL.md # YAML frontmatter + 正文
├── workflow/ # 工作流经验
├── corrections/ # 被纠正后的修复
└── best-practices/ # 最佳实践
Skill CRUD
from src.memory.skill_manager import SkillManager
sm = SkillManager()
# 创建
sm.create(
name="SQL 慢查询修复",
body="# 正文...",
category="debugging",
tags=["sql", "performance"],
triggers=["查询慢"]
)
# Patch(优先于 create)
sm.patch(skill_id="sql-slow-fix", body="更新后的正文...")
# 搜索
results = sm.search("sql 慢查询")
# 列出
sm.list(category="debugging")
# 删除
sm.delete(skill_id="sql-slow-fix")
Tier 0 自动注入
所有 Agent 执行前,Orchestrator 自动:
- 读取
.omc/skills/index.json - 将所有 Skill 的名字+描述追加到系统 Prompt 底部(~500 token)
- Agent "知道" 有哪些历史经验可用
数据位置
~/.omc/
├── skills/ # 能力包数据
│ └── index.json
└── memory/ # 对话记忆