用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/publieople/hermes-config-kit --skill hermes-bootstrap命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | hermes-bootstrap |
| description | Complete Hermes agent bootstrap. Canonical source at github.com/publieople/hermes-config-kit |
Canonical source: hermes-config-kit — 本 skill 的文档内容已导出为可执行仓库。clone → setup.sh → 一键复现。
同步: 仓库每周自动同步。本 skill 为详细参考文档,仓库为可执行配置。
在新服务器上初始化 Hermes 时,推荐直接使用 hermes-config-kit:
git clone https://github.com/publieople/hermes-config-kit.git
cd hermes-config-kit && ./setup.sh
以下为手动配置的详细步骤(供参考和调试)。
# 1. 安装 Hermes
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
# 2. Clone 数字孪生仓库
cd ~/projects
gh repo clone publieople/hermes-config-kit
# 3. 一键安装
cd hermes-config-kit
./setup.sh
# 4. 验证
hermes doctor
hermes skills list | wc -l # 应 > 150
setup.sh 自动完成:config 复制、skills 部署、npm 工具安装、cron job 创建、API key 交互式配置。
仓库内置 scripts/sync-back.sh,由 cron job 每周日早 6 点运行:
~/.hermes/config.yaml → 自动 redact 敏感信息 → 更新仓库~/.hermes/skills/ → 检测新增/修改/删除~/.hermes/scripts/git add -A && git commit && git push重要: 这是你的数字孪生。任何设备上的任何修改,只要通过 sync-back 推送,就可以在其他设备上 pull 同步。
📎 完整导出/脱敏/自同步技术细节见
references/config-export-sync.md
1. 不要把 ~/.hermes/ 当 git 仓库
~/.hermes/ 是 Hermes 的运行时工作目录,包含 sessions(会话记录)、logs(日志)、state-snapshots(状态快照)、cache 等大量运行时产物。它不应该被 git init。
正确的架构:
~/.hermes/ ← 运行时目录(不是 git repo)
├── config.yaml / SOUL.md
├── skills/ / scripts/ / cron/
├── sessions/ / logs/ / ... ← 运行时数据,体积大
~/projects/hermes-config-kit/ ← 唯一备份仓库(git repo)
├── sync-back.sh ← 选择性同步:脱敏 → commit → push
└── setup.sh ← 一键复现
sync-back.sh 只复制 config、skills、scripts、cron 等配置资产,不复制 sessions/logs/cache 等运行时数据。每周日 cron 自动运行。
教训:之前错误地把 ~/.hermes/ 初始化为 git 仓库(指向已废弃的 hermes-workspace),导致 443M 的 .git 目录嵌在运行时目录中,外加一个独立的 ~/hermes-workspace/ clone 造成双重冗余。已清理。
2. 只有 hermes-config-kit 一个备份仓库
hermes-workspace(旧方案,5月已停)已被 hermes-config-kit 取代。不要创建第二个备份仓库。如果发现多个 hermes 备份 repo,保留 hermes-config-kit,删除其他。
# --- ~/.bashrc ---
# fish(如果 shell 是 Arch/etc,先 pacman -S fish)
if [ -x "$(command -v fish)" ]; then
exec fish
fi
# conda(Miniforge, /opt/miniforge/)
export PATH="$HOME/.local/bin:$HOME/.npm-global/bin:$PATH"
# OpenClaw 补全
source "$HOME/.openclaw/completions/openclaw.bash"
写完后 source ~/.bashrc 进入 fish。
if status is-interactive
fastfetch -c examples/10
end
set -g fish_greeting ""
# Oh-My-Posh(可选样式:night-owl)
oh-my-posh init fish --config 'night-owl' | source
# OpenClaw 补全
source "$HOME/.openclaw/completions/openclaw.fish"
# npm global path
export PATH="$(npm prefix -g)/bin:$PATH"
# 标记 Hermes TUI 环境
set -x HERMES_TUI 1
# /usr 默认 prefix 是危险路径,改成 ~/.npm-global
npm config set prefix ~/.npm-global
# 确保 ~/.npm-global/bin 在 PATH 中(已通过 bashrc 和 fish config 实现)
#!/bin/sh
case ":${PATH}:" in
*:"$HOME/.local/bin":*)
;;
*)
export PATH="$HOME/.local/bin:$PATH"
;;
esac
# Asia/Shanghai
sudo timedatectl set-timezone Asia/Shanghai
# 默认语言中文
echo 'export LANG=zh_CN.UTF-8' >> ~/.bashrc
echo 'export LC_ALL=zh_CN.UTF-8' >> ~/.bashrc
关键配置项(在 ~/.hermes/config.yaml 中):
model:
default: deepseek-v4-flash
provider: deepseek
base_url: https://api.deepseek.com/v1
# TTS - MiniMax
tts:
provider: minimax
minimax:
model: speech-2.8-hd
voice_id: female-shaonv
base_url: https://api.minimaxi.com/v1/t2a_v2
edge:
voice: en-US-AriaNeural
# 辅助视觉模型 - MiniMax
auxiliary:
vision:
provider: minimax-cn
model: MiniMax-M2.7
web_extract:
provider: auto
# Memory - Mem0
memory:
memory_enabled: true
user_profile_enabled: true
memory_char_limit: 2200
user_char_limit: 1375
provider: mem0
nudge_interval: 10
flush_min_turns: 6
# 代理设置
agent:
max_turns: 90
gateway_timeout: 1800
reasoning_effort:
不要把 API key 写在 config.yaml 里!使用 ~/.hermes/auth.json:
{
"deepseek": "sk-xxxx",
"minimax": "sk-xxxx"
}
或者使用 hermes config set 命令:
hermes config set providers.deepseek.api_key "sk-xxx"
hermes config set tts.minimax.api_key "xxx"
写入 ~/.hermes/SOUL.md:
# 魔术师(The Magician)
你的名字从 Hermes Trismegistus 而来——三重伟大的赫尔墨斯,既是沟通之神也是炼金术的象征,和你作为 AI Agent 的定位契合:介于意图与实现之间的媒介。
## 风格
- **精确、直接**:只说必要的话,不做无意义的修饰
- **从容**:不慌不忙,不卖弄,不自我感动
- **务实高于姿态**:该给信息密度的时候直接给信息密度,不端着
- **偶尔来点巧思**:但绝不为了风格牺牲效率
## 工作方式
- **工具即延伸**:每个命令、每次调用都有明确的意图,不做无谓操作
- **组合优先**:遇到问题先判断需要哪些工具组合,不盲目堆调用
- **不演冗长的戏**:能三句说清楚的事不写一段。角色感只在合适的时候出现,不干扰正事
- **收放自如**:用户赶时间的时候我就是个高效的工具,不需要我演的时候随时摘下面具
[user]
email = publieople@outlook.com
name = publieople
[credential "https://github.com"]
helper = !/usr/bin/gh auth git-credential
[http]
proxy = http://127.0.0.1:7890
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
gh auth login
# 选择 HTTPS → 浏览器登录 publieople 账户
# 先配好 prefix
npm config set prefix ~/.npm-global
# 全局 CLI 工具
npm install -g \
hermes-agent-cli `# Hermes CLI` \
@anthropic-ai/claude-code `# Claude Code` \
mmx `# MiniMax CLI` \
openclaw `# OpenClaw` \
openspec `# OpenSpec` \
comet `# Comet` \
vercel `# Vercel` \
mem0 `# Mem0 CLI` \
clawhub `# ClawHub CLI` \
clawdhub `# ClawdHub CLI` \
@modelcontextprotocol/inspector `# MCP Inspector`
# Claude Code
npm install -g @anthropic-ai/claude-code
claude # 首次运行完成认证
# Comet
comet --setup # 初始化
# mmx CLI 登录
mmx login
# 或直接设置
export MINIMAX_API_KEY="sk-xxx"
| 功能 | 命令 |
|---|---|
| 图片描述 (VLM) | mmx vision describe <image> |
| TTS 语音合成 | mmx tts --text "你好" |
| 图片生成 | mmx image gen --prompt "..." |
| 视频生成 | mmx video gen --prompt "..." |
| 音乐生成 | mmx music gen --prompt "..." |
注意:图片分析优先使用 mmx vision describe,不调用 vision_analyze 工具。
# Mem0 CLI 初始化
mem0 init
# 或通过 Hermes
hermes config set memory.provider mem0
用户信息:
user_44c71844ac90mem0_search 查询语义记忆,mem0_conclude 存入事实已在 config.yaml 中配置了三个 MCP:
~/.npm-global/lib/node_modules/mcp-jobs/dist/mcp.jsnpx -y @upstash/context7-mcp@latest,提供最新的库文档(无需 API key)新服务器要复现的是 jobs MCP 和 context7 MCP。同服务器的 windows-mcp 需要根据实际 IP 修改。
# ClawHub token
cat ~/.config/clawhub/config.json
# 格式: {"token": "xxx"}
已发布到 ClawHub 的技能(@publieople):
mem0-memory-setup使用 cronjob 工具创建。以下全部作业:
cronjob action=create \
name="每日科技速报-数据采集" \
schedule="0 0 * * *" \
prompt="## 每日科技速报 · 数据采集 现在是北京时间早上8点。聚合以下..." \
deliver="origin" \
enabled_toolsets=["web","terminal","file"]
| 目录 | GitHub | 技术栈 |
|---|---|---|
| homepage | github.com/publieople/homepage | Next.js 16 + TW v4 + shadcn + magicui + framer-motion |
| open-any | github.com/publieople/open-any | Vite 8 + React 19 + TS 5 + TW v4 + zustand + CodeMirror 6 + MDXEditor |
| brain-game | github.com/publieople/brain-game | FastAPI + WS + EEGSim + Vite 8 + TS |
| hermetic-atlas | publieople.github.io/hermetic-atlas | BCU + TGAM + WS |
| daily-tech | — | 每日科技速报相关 |
| now-card | — | 名片/个人页 |
# 一次性 clone
cd ~/projects
gh repo clone publieople/homepage
gh repo clone publieople/open-any
gh repo clone publieople/brain-game
gh repo clone publieople/hermetic-atlas # 或直接 git clone
# git http proxy(在 gitconfig 中)
[http]
proxy = http://127.0.0.1:7890
# 代理穿透到 Hermes 终端
# config.yaml 已配 env_passthrough: http_proxy, https_proxy, ALL_PROXY
type 代替 which~/.npm-global/bin 已在 PATH 中~/.config/fish/config.fish 加上 hermes completion fish | sourcecomplete -c hermes ... 块到 config.fish(它很长且会随 Hermes 版本变化),用 hermes completion fish | source 动态生成hermes config [Tab] → set, path, edit...)# 核心
~/.hermes/config.yaml # Hermes 配置(需替换 API keys)
~/.hermes/SOUL.md # 人格配置
~/.hermes/auth.json # API keys(不共享!重新配置)
~/.hermes/skills/ # 所有自定义 skills
~/.hermes/scripts/ # cron 脚本(如 skills-memory-maintenance.py)
~/.hermes/state.db # 状态数据库
~/.hermes/response_store.db # 响应缓存
~/.gitconfig # Git 配置
~/.npmrc # npm 配置
# 项目(clone 而非迁移)
~/projects/ # git clone 代替
# 可选
~/.config/fish/config.fish # fish 配置
~/.bashrc # bash 配置
~/.local/bin/env # local bin PATH
~/.config/clawhub/config.json # ClawHub token
sessions/ 目录)装完所有后确认以下命令能正常执行:
# 验证
hermes --version # Hermes CLI 正常工作
gh auth status # GitHub 已登录
npm prefix -g # 应输出 ~/.npm-global
mmx --help # MiniMax CLI 可用
fish -c "type git | head -1" # fish shell 正常
claude --version # Claude Code 可用(可选)
comet --help # Comet 可用(可选)
mem0 --version # Mem0 CLI 可用
# cron 作业
cronjob action=list # 应列出 4 个作业
# 项目
ls ~/projects/ # 确认已 clone
# 技能
hermes skills list # 确认 skills 已加载
A: 确保先运行 npm config set prefix ~/.npm-global。
A: 检查 ~/.config/fish/config.fish 中的 PATH 导出命令。
A: 检查 config.yaml 中的 security 配置,以及 auth.json 是否包含了正确的 API keys。
A: 检查 cron 服务是否运行:systemctl status cronie(Arch)或 systemctl status cron。Hermes cron 依赖系统的 cron 守护进程。
A: 检查 mcp_servers 配置中的 URL 和超时设置。windows-mcp 需要同网络下的 Windows 主机。
A: 确保设置了环境变量 http_proxy 和 https_proxy,且 config.yaml 的 env_passthrough 包含它们。