Hermes 文件结构

Hermes 文件结构

本文描述 Hermes Agent 在 /opt/data 下的文件行为。不提供映射建议或迁移策略


初始状态:空 volume 首次启动

Hermes 入口脚本检测到空 /opt/data 后自动写入以下默认文件。非空则跳过。

路径 写入者 说明
/opt/data/config.yaml入口脚本全量默认配置
/opt/data/.env入口脚本环境变量模板(空占位符)
/opt/data/auth.json入口脚本OAuth 模板
/opt/data/SOUL.md入口脚本人格提示词模板
/opt/data/sessions/Hermes 核心对话历史目录
/opt/data/memories/Memory 模块持久记忆目录(早期版本)
/opt/data/memory_store.dbHolographic MemorySQLite 记忆库(新版本,有 .db-shm .db-wal
/opt/data/skills/入口脚本内置 skill 副本及元数据(.bundled_manifest .curator_state .usage.json
/opt/data/state.dbSession 模块会话索引(有 .db-shm .db-wal
/opt/data/response_store.dbResponse 缓存响应缓存(有 .db-shm .db-wal
/opt/data/cron/jobs.jsonCron 模块定时任务定义
/opt/data/cron/output/Cron 模块作业输出按 job_id/ 分目录存放
/opt/data/cron/.tick.lockCron 模块调度锁
/opt/data/logs/Logging 模块自动轮转日志
/opt/data/kanban.dbKanban 模块看板数据库
/opt/data/channel_directory.jsonGateway频道 ID 映射
/opt/data/gateway_state.jsonGateway接入层状态

运行时新增路径

以下路径在使用过程中自动出现,归因于具体功能被触发:

路径 触发条件 说明
/opt/data/workspace/Workspace 功能首次使用工作区目录
/opt/data/plans/Plan 功能首次使用计划文件
/opt/data/platforms/平台配置首次生成平台适配
/opt/data/plugins/插件机制首次使用插件目录
/opt/data/research/Research 功能首次使用调研结果缓存
/opt/data/sandboxes/沙盒首次使用隔离执行环境
/opt/data/scripts/用户脚本存放可执行脚本
/opt/data/skins/皮肤切换首次使用界面皮肤
/opt/data/hooks/事件钩子首次注册Hook 定义
/opt/data/processes.json后台进程模块使用进程追踪
/opt/data/auth.lock认证流程运行时认证锁
/opt/data/.restart_last_processed.json重启检测上次重启处理记录
/opt/data/.hermes_historyCLI 使用命令历史
/opt/data/home/容器用户目录用户 HOME(内含多个子目录)

注: 上述路径中,只有 sessions/ memories/ skills/ logs/ cron/jobs.json state.db 是入口脚本在空 volume 上首次启动时创建的。其余是在对应功能触发后由 Hermes 模块自动创建。


/opt/data/home/ 内部

容器内 $HOME 指向 /opt/data/home/。以下内容由不同模块或用户操作产生:

路径 来源
/opt/data/home/www/用户建立(默认无)
/opt/data/home/scripts/用户放置(默认无)
/opt/data/home/bin/用户放置(gbrain 等工具)
/opt/data/home/.bashrcBash 自动生成
/opt/data/home/.profileBash 自动生成
/opt/data/home/.gitconfig用户配置
/opt/data/home/.config/各种工具写入
/opt/data/home/trilium-mcp/用户安装 MCP 服务器
/opt/data/home/gbrain/gbrain 安装包
/opt/data/home/.gbrain/gbrain 数据库 + 索引
/opt/data/home/.gbrain.backup-*/gbrain 自动备份
/opt/data/home/.pinchtab/PinchTab 自建状态目录
/opt/data/home/.bun/Bun 缓存
/opt/data/home/bun-new/Bun 安装包
/opt/data/home/.cache/运行时缓存
/opt/data/home/.local/pip install 本地包
/opt/data/home/.npm/npm 缓存

运行时产物(容器重启重建)

路径 来源
/opt/data/cache/模型目录缓存
/opt/data/bin/tirith安全扫描器
/opt/data/.local/pip 包
/opt/data/models_*_cache.json模型探勘缓存
/opt/data/ollama_*_cache.jsonOllama 模型缓存
/opt/data/gateway.lock进程锁
/opt/data/gateway.pid进程 PID
/opt/data/interrupt_debug.log中断调试日志
*.db-shm / *.db-walSQLite WAL 日志
/opt/data/home/.cache/用户级缓存
/opt/data/home/.local/用户级 pip 包
/opt/data/home/.npm/npm 缓存
/opt/data/home/.bun/Bun 缓存

路径引用审计

仅由 Hermes 原生创建的路径

空 volume 首次启动时入口脚本创建:config.yaml .env auth.json SOUL.md sessions/ memories/ skills/ state.db

使用过程中 Hermes 模块自动创建:workspace/ plans/ platforms/ plugins/ research/ sandboxes/ scripts/ skins/ hooks/ cron/output/ cron/.tick.lock memory_store.db response_store.db processes.json gateway_state.json channel_directory.json auth.lock .hermes_history .restart_last_processed.json

不会自动产生的路径(需用户手动创建或安装工具才出现):

  • /opt/data/mcp/ — 无原生 MCP_HOME,用户安装 MCP 服务器时自行决定路径
  • /opt/data/tools/ — 无原生 TOOLS_HOME,用户安装工具时自行决定
  • /opt/data/home/cron/ — 无原生 cron 脚本目录,用户自行创建或由安装脚本创建
  • /opt/data/home/www/ — 用户建项目时创建
  • /opt/data/home/trilium-mcp/ — 用户安装
  • /opt/data/home/gbrain/ — 用户安装 gbrain
  • /opt/data/home/.pinchtab/ — PinchTab 首次 invoker 自建
  • /opt/data/home/.gbrain/ — gbrain 首次使用自建
  • /opt/data/home/.gbrain.backup-*/ — gbrain curator 备份

当前环境中的上下文依赖路径

位置 写法 问题 建议改为
config.yaml → pinchtab.command /www/kc-ai-hermes/pinchtab/... 依赖 /www 存在,该目录属外部映射 /opt/data/home/.pinchtab/... 或安装到 /opt/data/home 内
cron/run.sh SCRIPT_DIR $(dirname "$0") 解析值取决于启动 CWD 和脚本位置 硬编码 CRON_HOME="/opt/data/home/cron"(前提是脚本搬到此路径)
cron jobs.json script hermes-cron-master.sh 相对 ~/.hermes/scripts/ 解析;当前为 symlink 指向 /www/kc-ai-hermes/cron/run.sh 将脚本复制到 ~/.hermes/scripts/ 内,或使用 no_agent 脚本的绝对路径(当前 cron 系统不支持)
skills/external_dirs /opt/data/skills ✅ 绝对路径,无问题
trilium-mcp.command /opt/data/home/trilium-mcp/dist/index.js ✅ 绝对路径,无问题

文件来源对照

写入者 写入路径
入口脚本(空 volume)config.yaml .env auth.json SOUL.md sessions/ memories/ skills/ state.db
Hermes 核心sessions/{session_id}.jsonl memories/MEMORY.md memories/USER.md state.db
Holographic Memorymemory_store.db (+ shm, wal)
Response 缓存response_store.db (+ shm, wal)
Gatewaychannel_directory.json gateway_state.json gateway.lock gateway.pid
Cron 模块cron/jobs.json cron/output/{job_id}/ cron/.tick.lock
Kanban 模块kanban.db
Logging 模块logs/ (自动轮转)
Workspace 模块workspace/
Plan 模块plans/
Plugin 系统plugins/
Research 模块research/
Sandbox 系统sandboxes/
Hook 系统hooks/
后台进程模块processes.json
认证模块auth.lock
CLI 模块.hermes_history
重启检测.restart_last_processed.json
Skill Curatorskills/.curator_state skills/.curator_backups/ skills/.usage.json
运行时(重启重建)cache/ bin/ .local/ models_*_cache.json ollama_*_cache.json interrupt_debug.log
Bashhome/.bashrc home/.profile
gbrain 工具home/gbrain/ home/bin/gbrain home/.gbrain/
PinchTab 工具home/.pinchtab/ home/.pinchtab/config.json
用户手动安装home/trilium-mcp/ home/www/ home/scripts/
npm/Bun/piphome/.npm/ home/.bun/ home/.cache/ home/.local/

— 本文档由 Hermes Agent 维护于 Trilium(审计 v3)