with one click
skill-name
>-
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
>-
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
系统化流程:发现 → 评估 → 选择 → 安装 → 验证
# 按关键词搜索
curl -s "https://api.github.com/search/repositories?q=wechat+article+download+export&sort=stars&order=desc&per_page=15" | jq -r '.items[] | "\(.stargazers_count)|\(.full_name)|\(.description)|\(.html_url)"'
# 查看特定仓库
curl -s "https://api.github.com/repos/{owner}/{repo}" | jq -r '.stargazers_count, .description, .html_url'
| 维度 | 权重 | 检查项 |
|---|---|---|
| Stars | 30% | >1000 优选,>5000 优秀 |
| 活跃度 | 25% | 最近 commit 时间、issue 响应 |
| 功能完整 | 25% | README 描述、支持格式、API 设计 |
| 集成方式 | 20% | MCP / Skill / CLI / 桌面应用 |
适用场景:远程服务、无需本地运行、跨平台
配置格式(写入 ~/.hermes/config.yaml):
mcp_servers:
tool-name:
type: streamableHttp
url: https://api.example.com/mcp
enabled: true
connect_timeout: 30
timeout: 60
验证方法:
# 测试连接
curl -s -X POST "https://api.example.com/mcp" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"initialize","id":1}' | jq .
# 列出工具
curl -s -X POST "https://api.example.com/mcp" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"tools/list","id":2}' | jq -r '.result.tools[].name'
适用场景:需要本地环境、复杂配置、多文件支持
安装步骤:
# 1. 克隆仓库
cd ~/.hermes
git clone https://github.com/xxx/tool.git temp_tool
# 2. 复制 Skill
mkdir -p ~/.hermes/skills/skill-name
cp -r temp_tool/skills/xxx/* ~/.hermes/skills/skill-name/
# 3. 清理临时文件
rm -rf temp_tool
npx skills add 自动安装(推荐)适用场景:Skills.sh 生态的技能,GitHub 仓库支持 npx skills add 安装
标准流程:
# 一键安装(自动处理依赖、配置、验证)
npx skills add owner/skill-repo
# 示例:安装达尔文.skill
npx skills add alchaincyf/darwin-skill
# 跳过确认直接安装
npx skills add owner/skill-repo --yes
安装位置:
.agents/skills/ 目录(当前项目)输出示例:
✓ ./.agents/skills/darwin-skill
universal: Codex, Gemini CLI, OpenCode, Amp, Antigravity +8 more
symlinked: Claude Code, OpenClaw, Qwen Code, Trae, Trae CN
验证安装:
# 查看安装的 Skill
ls .agents/skills/skill-name/
# 检查 SKILL.md 格式
cat .agents/skills/skill-name/SKILL.md | head -10
优点:
注意事项:
.agents/skills/,不是 ~/.hermes/skills/~/.hermes/skills/适用场景:
npx skills add 的仓库标准流程:
# 1. 克隆到临时目录
cd /tmp
git clone https://github.com/owner/skills-repo.git
# 2. 查看仓库结构
ls -la skills-repo/
# 常见结构:
# - 根目录直接是 Skill 文件夹(skill-name/SKILL.md)
# - 有 skills/ 子目录
# - 有多个 Skill 文件夹
# 3. 复制 Skill 到 Hermes
# 如果根目录直接是 Skill:
cp -r /tmp/skills-repo/skill-name ~/.hermes/skills/
# 如果有 skills/ 子目录:
cp -r /tmp/skills-repo/skills/* ~/.hermes/skills/
# 4. 验证安装
hermes skills list | grep skill-name
# 5. 清理临时文件
rm -rf /tmp/skills-repo
验证检查清单:
ls .agents/skills/skill-name/ 或 ls ~/.hermes/skills/skill-name/ls .agents/skills/skill-name/SKILL.mdhermes skills list | grep skill-name(Hermes)或直接测试(Skills.sh)常见仓库结构:
| 结构 | 说明 | 安装方式 |\n|------|------|----------|\n| Skills.sh 生态 | 支持 npx skills add | npx skills add owner/repo --yes |\n| repo/skill-name/SKILL.md | 根目录直接是 Skill | cp -r repo/skill-name ~/.hermes/skills/ |\n| repo/skills/skill-name/ | 有 skills 子目录 | cp -r repo/skills/* ~/.hermes/skills/ |\n| repo/category/skill-name/ | 按分类组织 | cp -r repo/category/skill-name ~/.hermes/skills/category/ |
注意事项:
cd ~/.hermes/skills/skill-name
npm init -y
npm install dependency-name
timeout 命令不存在,使用 Perl 替代:
perl -e 'alarm shift; exec @ARGV' 10 node scripts/test.js "args"
适用场景:需要用户手动操作、OAuth 登录、浏览器交互
处理方式:
http://127.0.0.1:端口/mcp)# 查看 MCP 配置
grep -A 10 "mcp_servers:" ~/.hermes/config.yaml
# 或使用 Read 工具
使用 Patch 工具在 mcp_servers: 部分添加新条目:
mcp_servers:
existing-server:
...
new-tool: # 新增
type: streamableHttp
url: https://api.new-tool.com/mcp
enabled: true
connect_timeout: 30
timeout: 60
| 问题 | 原因 | 解决 |
|---|---|---|
| 连接超时 | 网络问题/服务不可用 | 检查 URL、重试、换网络 |
| 工具列表为空 | API 变更/权限问题 | 查看 GitHub issues |
| Skill 不生效 | 文件格式错误 | 检查 SKILL.md frontmatter |
新安装工具:{tool-name}
- 来源:{GitHub URL}
- Stars:{数量}
- 功能:{描述}
- 集成方式:MCP/Skill/桌面应用
- 配置位置:~/.hermes/config.yaml 或 ~/.hermes/skills/
- 验证状态:✅/❌
## ✅ 安装完成!
### 📦 安装内容
| 组件 | 状态 | 说明 |
|------|------|------|
| MCP 服务器 | ✅ | `{url}` |
| Skill 文件 | ✅ | `~/.hermes/skills/{name}/` |
| 连接测试 | ✅ | 服务器名: `{server_name}` |
### 🛠️ 可用工具
1. **`tool-1`** - 功能描述
2. **`tool-2`** - 功能描述
### 📝 使用方式
直接说:"下载这篇微信文章:https://..."
适用场景:Skill 数量过多、用户想精简系统、保留但不常使用
操作流程:
# 1. 创建归档目录
mkdir -p ~/.hermes/skills/_archived/{source-name}
# 2. 统计各分类角色数量(Python 脚本)
from pathlib import Path
skills_dir = Path.home() / ".hermes" / "skills"
stats = {}
for cat in skills_dir.iterdir():
if cat.is_dir() and not cat.name.startswith("_"):
count = len([d for d in cat.iterdir() if d.is_dir() and (d / "SKILL.md").exists()])
stats[cat.name] = count
# 按数量排序输出
for cat, count in sorted(stats.items(), key=lambda x: -x[1]):
print(f"{cat:25s} {count:3d} 个角色")
# 3. 移动不常用的分类到归档目录
import shutil
archive_categories = ["marketing", "testing", "design"] # 根据统计结果选择
archive_dir = skills_dir / "_archived" / "source-name"
archive_dir.mkdir(parents=True, exist_ok=True)
for cat in archive_categories:
src = skills_dir / cat
if src.exists():
shutil.move(str(src), str(archive_dir / cat))
print(f"✅ 已归档: {cat}")
示例:agency-agents-zh 归档(2026-04-29)
~/.hermes/skills/_archived/agency-agents-zh/# 恢复单个分类
mv ~/.hermes/skills/_archived/agency-agents-zh/marketing ~/.hermes/skills/
# 批量恢复多个分类
for cat in marketing sales; do
mv ~/.hermes/skills/_archived/agency-agents-zh/$cat ~/.hermes/skills/
done
注意:
~/.hermes/skills/ 目录下的 Skill 都会被自动加载hermes restart)skills_list 检查是否已存在browser_navigate + sleep 5 等待通过importlib.util,避免模块路径问题:
import importlib.util
spec = importlib.util.spec_from_file_location("skill_router", hooks_dir / "skill-router.py")
skill_router = importlib.util.module_from_spec(spec)
spec.loader.exec_module(skill_router)
SkillRouter = skill_router.SkillRouter
skill-router.py 时,新领域必须添加在 SKILL_ROUTES 字典的最后一个领域之后、结束大括号之前适用场景:
标准流程:
# 检查 Docker
docker --version
# 检查端口占用
lsof -i:8888 # API 端口
lsof -i:9999 # UI 端口
cd ~
git clone https://github.com/owner/tool.git
cd tool
# 复制环境变量模板
cp .env.example .env
# 编辑配置(重点是 API Key)
vim .env
关键配置项:
LLM_PROVIDER: 兼容 OpenAI API 的 providerLLM_API_KEY: API 密钥LLM_MODEL: 模型选择LLM_BASE_URL: API 端点(如 OpenRouter)start-tool.sh(后台模式):
#!/bin/bash
# 检查环境变量
if [ -z "$API_KEY" ]; then
echo "❌ 未找到 API_KEY 环境变量"
exit 1
fi
# 检查 Docker
if ! command -v docker &> /dev/null; then
echo "❌ Docker 未安装"
exit 1
fi
# 检查是否已运行
if docker ps | grep -q tool-name; then
echo "✅ Tool 已在运行"
exit 0
fi
# 创建数据目录
mkdir -p ~/.tool-data
# 后台启动
docker run -d --pull always \
-p 8888:8888 \
-p 9999:9999 \
--name tool-name \
--restart unless-stopped \
-e API_KEY=$API_KEY \
-v $HOME/.tool-data:/home/tool/.data \
ghcr.io/owner/tool:latest
echo "✅ Tool 已启动"
echo "API: http://localhost:8888"
echo "UI: http://localhost:9999"
安装 Python Client:
pip install tool-client -U
配置 Hermes(~/.hermes/config.yaml):
memory:
extended_memory:
tool-name:
enabled: true
api_url: http://localhost:8888
collection: hermes-agent
创建 Hook(~/.hermes/hooks/tool_integration.py):
#!/usr/bin/env python3
"""Tool 集成 Hook"""
import os
import requests
API_URL = os.getenv('TOOL_API_URL', 'http://localhost:8888')
def store_data(content: str, metadata: dict = None):
"""存储数据到 Tool"""
try:
response = requests.post(
f"{API_URL}/v1/store",
json={'content': content, 'metadata': metadata or {}}
)
return response.json()
except Exception as e:
print(f"Tool 存储失败: {e}")
return None
def retrieve_data(query: str, limit: int = 5):
"""从 Tool 检索数据"""
try:
response = requests.post(
f"{API_URL}/v1/search",
json={'query': query, 'limit': limit}
)
return response.json().get('results', [])
except Exception as e:
print(f"Tool 检索失败: {e}")
return []
# 测试 API
curl http://localhost:8888/v1/health
# 测试存储
curl -X POST http://localhost:8888/v1/store \
-H "Content-Type: application/json" \
-d '{"content": "测试内容"}'
# 测试检索
curl -X POST http://localhost:8888/v1/search \
-H "Content-Type: application/json" \
-d '{"query": "测试"}'
stop-tool.sh:
#!/bin/bash
docker stop tool-name
docker rm tool-name
echo "✅ Tool 已停止"
backup-tool.sh:
#!/bin/bash
tar -czf tool-backup-$(date +%Y%m%d).tar.gz ~/.tool-data
注意事项:
--restart unless-stopped 确保服务稳定完整案例:Hindsight 记忆系统集成(2026-05-02)
references/hindsight-deployment-example.md风险评估:高风险 - 涉及真实资金
处理流程:
示例:FluxA Agent Wallet (Base 链 USDC 钱包)
问题:外部技能可能使用简化格式(如纯 Markdown),缺少 SKILL.md frontmatter
解决:
适用场景:
完整封装流程:
# 方式1:直接访问 skill.md URL
curl -s https://example.com/skill.md
# 方式2:从 GitHub 仓库获取
curl -s https://raw.githubusercontent.com/owner/repo/main/skills/skill-name/SKILL.md
# 方式3:浏览器访问(如有 Cloudflare 验证)
browser_navigate https://example.com/skill.md
# 等待 5 秒通过验证
sleep 5
browser_console "document.body.innerText"
# 标准结构
~/.hermes/skills/{category}/{skill-name}/
├── SKILL.md # 主文档(完整中文版)
├── README.md # 快速参考指南
├── INTEGRATION_REPORT.md # 集成报告(可选)
├── scripts/
│ ├── install.sh # 自动安装脚本
│ └── test_integration.py # 集成测试脚本
└── references/ # 官方参考文档
├── GUIDE-1.md
├── GUIDE-2.md
└── ...
必需 frontmatter 字段:
---
name: skill-name
description: >-
技能描述(用于 Smart Skill Router 自动识别)
version: x.x.x
cli_version: package-name@x.x.x # 如有 CLI
network: Network Name # 如涉及网络
category: category-name
tags: [tag1, tag2, tag3]
---
必需章节:
# 创建 references 目录
mkdir -p ~/.hermes/skills/{category}/{skill-name}/references
# 下载官方文档
cd ~/.hermes/skills/{category}/{skill-name}/references
curl -sO https://raw.githubusercontent.com/.../GUIDE-1.md
curl -sO https://raw.githubusercontent.com/.../GUIDE-2.md
# ...
scripts/install.sh:
#!/bin/bash
# 技能名称 安装脚本
set -e
echo "🦄 技能名称 安装脚本"
echo "================================"
echo ""
# 检查依赖
if ! command -v node &> /dev/null; then
echo "❌ 错误: 未找到 Node.js"
exit 1
fi
echo "✅ Node.js 版本: $(node --version)"
# 安装 CLI(如有)
npm install -g package-name@version
echo ""
echo "✅ 安装完成!"
echo ""
echo "下一步:"
echo "1. 运行初始化命令"
echo "2. 查看文档: ~/.hermes/skills/{category}/{skill-name}/SKILL.md"
赋予执行权限:
chmod +x ~/.hermes/skills/{category}/{skill-name}/scripts/install.sh
scripts/test_integration.py:
#!/usr/bin/env python3
"""
技能名称 集成测试
验证 Smart Skill Router 是否正确识别并加载此技能
"""
import sys
from pathlib import Path
# 动态导入 SkillRouter
hooks_dir = Path.home() / ".hermes" / "hooks"
sys.path.insert(0, str(hooks_dir))
import importlib.util
spec = importlib.util.spec_from_file_location("skill_router", hooks_dir / "skill-router.py")
skill_router = importlib.util.module_from_spec(spec)
spec.loader.exec_module(skill_router)
SkillRouter = skill_router.SkillRouter
def test_triggers():
"""测试触发词识别"""
router = SkillRouter()
test_cases = [
("关键词1", ["skill-name"]),
("关键词2", ["skill-name"]),
("关键词3", ["skill-name"]),
]
print("🧪 测试触发词识别\n")
passed = 0
for message, expected in test_cases:
recommended = router.recommend_skills(message)
matched = all(skill in recommended for skill in expected)
status = "✅" if matched else "❌"
print(f"{status} \"{message}\" → {recommended}")
if matched:
passed += 1
print(f"\n结果: {passed}/{len(test_cases)} 通过")
return passed == len(test_cases)
def test_structure():
"""测试文件结构"""
skill_dir = Path.home() / ".hermes" / "skills" / "{category}" / "{skill-name}"
required_files = [
"SKILL.md",
"README.md",
"scripts/install.sh",
"scripts/test_integration.py",
]
print("\n🧪 测试文件结构\n")
passed = 0
for file_path in required_files:
exists = (skill_dir / file_path).exists()
status = "✅" if exists else "❌"
print(f"{status} {file_path}")
if exists:
passed += 1
print(f"\n结果: {passed}/{len(required_files)} 存在")
return passed == len(required_files)
def main():
results = {
"触发词识别": test_triggers(),
"文件结构": test_structure(),
}
print("\n" + "=" * 60)
print("📊 最终测试结果")
print("=" * 60)
for test_name, passed in results.items():
status = "✅ 通过" if passed else "❌ 失败"
print(f"{status} - {test_name}")
if all(results.values()):
print("\n🎉 所有测试通过!")
return 0
else:
return 1
if __name__ == "__main__":
sys.exit(main())
编辑 ~/.hermes/hooks/skill-router.py,在 SKILL_ROUTES 中添加新领域:
SKILL_ROUTES = {
# ... 现有领域 ...
"new_domain": {
"triggers": ["关键词1", "关键词2", "关键词3"],
"skills": {
"primary": ["skill-name"],
"secondary": ["backup-skill"],
"specific": {
"特定触发词": "specific-skill",
}
},
"priority": 9 # 高优先级
},
}
python3 ~/.hermes/skills/{category}/{skill-name}/scripts/test_integration.py
预期输出:
============================================================
🧪 测试触发词识别
✅ "关键词1" → ['skill-name', 'backup-skill']
✅ "关键词2" → ['skill-name', 'backup-skill']
✅ "关键词3" → ['skill-name', 'backup-skill']
结果: 3/3 通过
🧪 测试文件结构
✅ SKILL.md
✅ README.md
✅ scripts/install.sh
✅ scripts/test_integration.py
结果: 4/4 存在
============================================================
📊 最终测试结果
============================================================
✅ 通过 - 触发词识别
✅ 通过 - 文件结构
🎉 所有测试通过!
MemPalace:
mcp_mempalace_mempalace_add_drawer \
--wing "hermes-integration" \
--room "agent-skills" \
--content "技能名称 v1.0.0 已成功封装为 Hermes Skill..." \
--source_file "~/.hermes/skills/{category}/{skill-name}/INTEGRATION_REPORT.md"
fact_store:
fact_store(
action="add",
category="project",
content="技能名称 v1.0.0 已成功封装为 Hermes Skill,集成到 Smart Skill Router。所有测试通过,文档完整(XXKB),自动加载触发词已配置。",
tags="skill,integration,hermes"
)
INTEGRATION_REPORT.md:
# 技能名称 - Hermes Skill 封装完成报告
## ✅ 集成状态
**状态:** 已完成并通过所有测试
**日期:** YYYY-MM-DD
**版本:** 技能名称 vX.X.X
## 📦 已创建文件
- SKILL.md (XXKB)
- README.md (XXKB)
- scripts/install.sh (XXKB)
- scripts/test_integration.py (XXKB)
- references/ (X 个文档,共 XXKB)
**总计:** X 个文件,约 XXKB 文档
## 🧪 测试结果
✅ 触发词识别 - X/X 通过
✅ 文件结构 - X/X 存在
✅ 元数据检查 - X/X 通过
## 🔧 Smart Skill Router 集成
新增 "{domain}" 领域,优先级 X
触发关键词:关键词1、关键词2、关键词3
## 📚 核心功能
1. 功能1
2. 功能2
3. ...
## 🚀 快速开始
```bash
~/.hermes/skills/{category}/{skill-name}/scripts/install.sh
(如有风险,列出安全注意事项)
#### 11. 验证自动加载
测试 Smart Skill Router 是否正确识别:
```bash
python3 ~/.hermes/hooks/skill-router.py "测试关键词"
预期输出:
{
"recommended_skills": ["skill-name"],
"context": "[Skill Router] 检测到相关领域..."
}
实际验证示例(FluxA Agent Wallet):
# 测试触发词识别
python3 ~/.hermes/hooks/skill-router.py "转账USDC"
# 预期输出:
# {
# "recommended_skills": ["fluxa-agent-wallet", "engineering-solidity-smart-contract-engineer"],
# "context": "[Skill Router] 检测到 crypto 领域..."
# }
成功标志:
示例:FluxA Agent Wallet 完整封装(已验证 ✅)
关键经验:
适用场景:
核心痛点: 传统无头浏览器(Playwright、Puppeteer)容易被网站识别:
解决方案:Camofox Browser
技术特点:
集成流程:
# 克隆仓库
cd ~/projects
git clone https://github.com/jo-inc/camofox-browser
cd camofox-browser
# 安装依赖
npm install
# 启动服务(后台运行)
nohup npm start > ~/logs/camofox.log 2>&1 &
# 验证服务
curl http://localhost:9377/health
# 预期输出: {"status": "ok", "service": "camofox-browser"}
编辑 ~/.hermes/config.yaml:
browser:
camofox:
url: http://localhost:9377
managed_persistence: true # 启用登录态持久化
| 能力 | 说明 | 价值 |
|---|---|---|
| 登录态持久化 | 按 userId 隔离 session | 像长期使用的工作浏览器 |
| Accessibility Snapshot | 页面压缩 90% | 模型低成本理解页面 |
| Stable Element Refs | @e1、@e2 元素引用 | 点击稳定,不因 DOM 变化失效 |
| 本地部署 | 所有状态在自己机器 | 敏感登录态不交给第三方 |
| 工具 | 功能 | 示例 |
|---|---|---|
browser_navigate | 打开网页 | browser_navigate("https://example.com") |
browser_snapshot | 读取页面结构 | 返回 accessibility tree(小 90%) |
browser_click | 点击元素 | browser_click("@e1") |
browser_type | 输入文本 | browser_type("@e2", "搜索内容") |
browser_scroll | 滚动页面 | browser_scroll("down") |
场景A:访问登录后的资料库
场景B:操作复杂后台
场景C:读取高风控网页
场景D:配合现有工具
iwencai-integration: 问财接口登录后查看完整数据grid-trading-monitor: ETF 监控访问券商网站避免频繁登录import requests
CAMOFOX_URL = "http://localhost:9377"
# 测试打开网页
resp = requests.post(f"{CAMOFOX_URL}/browser_navigate",
json={"url": "https://example.com"})
print("状态:", resp.json()["status"])
# 测试获取快照
snapshot = requests.post(f"{CAMOFOX_URL}/browser_snapshot").json()
print("快照大小:", len(snapshot["content"]), "字符")
# 测试元素引用
print("可点击元素:", [e for e in snapshot["elements"] if e["clickable"]])
✅ 适用场景:
❌ 不适用场景:
安全原则:
工具矩阵升级:
| 工具 | 适用场景 | Camofox 加入后 |
|---|---|---|
| Jina Reader | 普通文章、新闻 | 不变(公开网页) |
| Crawl4AI | 批量整站抓取 | 不变(公开网页) |
| Scrapling | 反爬网站 | 不变(单次抓取) |
| CamouFox | 反检测 Python 库 | 不变(代码调用) |
| Camofox Browser | 登录态、长期状态 | 新增(服务调用) |
决策树更新:
是否需要登录?
├─ 是 → 使用 Camofox Browser(长期状态管理)
└─ 否 → 继续判断
是否有反爬?
├─ 是 → 使用 Scrapling
└─ 否 → 继续判断
单页还是多页?
├─ 单页 → Jina Reader
└─ 多页 → Crawl4AI
Q: Camofox 和 CamouFox 有什么区别?
| 项目 | 类型 | 定位 |
|---|---|---|
| CamouFox | Python 库 | 反检测浏览器库,代码调用 |
| Camofox Browser | Node.js 服务 | 浏览器服务器,API 调用 |
Q: 如何处理验证码?
Q: 登录态能保持多久?
完整案例:Camofox Browser 集成(2026-05-03)
references/camofox-browser-integration.md工具仓库不全: 未覆盖所有可用工具
# 多源搜索
# 1. GitHub: topic:hermes-skill, topic:mcp-server
# 2. PyPI: 搜索 hermes-*
# 3. NPM: 搜索 @hermes/*
# 4. Awesome Lists: awesome-ai-agents
工具质量参差不齐: 缺少质量评估
# 评估维度
# 1. GitHub Stars > 100
# 2. 最近更新 < 6 个月
# 3. 有文档和示例
# 4. 有测试覆盖
# 5. 开源许可证
依赖冲突: 工具依赖与 Hermes 冲突
# 使用虚拟环境
python3 -m venv ~/.hermes/venv
source ~/.hermes/venv/bin/activate
pip install tool-name
权限问题: 无法写入安装目录
# 检查权限
ls -la ~/.hermes/tools
# 修复权限
chmod -R u+rw ~/.hermes/tools
Hermes 版本不兼容: 工具需要特定版本
# 检查 Hermes 版本
hermes --version
# 查看工具要求
cat tool/requirements.txt | grep hermes
Python 版本冲突: 工具需要不同 Python
# 使用 pyenv 管理多版本
pyenv install 3.10.13
pyenv shell 3.10.13
将编码任务委派给 Claude Code(Anthropic 的 CLI 代理)。用于构建功能、重构、PR 审查和迭代编码。需要安装 claude CLI。 Use when: claude code, 编码任务, coding task, 代码审查, code review, 重构, refactoring, PR审查, Claude CLI. Do NOT use for: - Hermes 配置问题(用 hermes-agent skill) - Codex/OpenCode 任务(用 codex/opencode skills) - 非编码任务(用相应 skills) - 批量文件操作(用 file/terminal 工具)
Configure, extend, or contribute to Hermes Agent.
Hermes Fork 仓库完整维护指南 - 保守式更新 + 文档本地化 + 更新日志自动化 + GitHub 推送配置。涵盖:本地修改保护、冲突解决、性能优化合并、README 翻译、更新日志自动记录、Fork 推送全流程。
灵魂注入器 - 已合并到统一时间感知模块。 【v3.0 更新】时间感知功能已合并到 unified_time_awareness.py,避免重复注入。 原功能保留: - 搜索上下文注入(search.md) - 对话状态感知 移除功能(已合并): - 时间感知 → unified_time_awareness.py
全局约束管理系统 - 时间感知、情境感知、对话状态感知的统一约束层。 在所有任务执行前自动注入约束条件,确保 AI 的行为符合人类期望。 Use when: 全局约束, constraints, 时间感知, time awareness, 情境感知, context awareness, 执行规范, Hook注入. Do NOT use for: - 具体任务执行(用其他执行类 skills) - 数据获取(用 stock-data-acquisition) - 股票分析(用 stock-analysis-framework) - 错误恢复(用 supervisor-mode) 触发场景: - 所有任务执行前的自动检查(通过 Shell Hook 注入) - 用户主动询问约束规则 - 发现执行偏离时的人工干预 核心约束类别: 1. 时间感知约束:深夜/周末/节假日行为规范 2. 情境感知约束:用户状态识别与响应策略 3. 对话状态约束:跨会话连贯性与话题衔接 4. 执行规范约束:Skill 执行合规性检查
分层分级记忆系统 - 六层记忆架构(L1-L6)+ 缓存优化。 L1 会话记忆 → L2 短期记忆 → L3 长期记忆 → L4 技能记忆 → L5 任务上下文 → L6 全息记忆。 Use when: 记忆系统, memory system, 六层记忆, L1-L6, 记忆分层, 上下文管理, 缓存优化. Do NOT use for: - 单次会话记录(用 L1 session) - Skill 创建(用 skill_manage) - 数据持久化(用 file_write) - 知识图谱(用 fact_store) v1.10.0 新增: - ✅ 缓存优化系统集成(DeepSeek Prefix Caching) - ✅ 平均缓存命中率 92%+,节省成本 80%+ - ✅ CLI 工具 hermes-cache(统计监控、优化建议) - ✅ 固定前缀策略(从 HERMES.md 读取核心约束) - 🎯 效果:Token 成本 -81%、延迟 -80%、缓存命中 92%+ v1.9.0 新增: - ✅ 六层记忆架构(L1-L6) - ✅ L2 精简方法论(2491→1021 chars,-59%) - ✅ 跨层协同优化(L2↔L5、L3↔L6、L4→L3) - ✅ l5_to_l2_injector.py(高频实体反向注入) - 🎯 效果:跨层一致性 +100%、重复录入 -80%