跳转至

附录 C 配置参考

目标

说明项目配置、科研配置和实验配置的当前关键项。

适用范围

适用于需要调整日志、自动提交、多包项目、调度和实验运行的项目。

前置条件

修改前已备份对应配置,并准备运行校验。

操作步骤

.trellis/config.yaml(项目配置)常用项:

配置 含义
session_commit_message(会话提交说明) 日志自动提交说明
max_journal_lines(日志最大行数) 工作日志轮转阈值,默认 2000
session_auto_commit(会话自动提交) 设为 false(关闭)可避免脚本自动提交
task_lifecycle.enabled(内置任务生命周期) 默认 true(启用);幂等修复可推导状态,不自动完成工作包或任务
hooks(自定义生命周期钩子) 任务创建、启动、结束和归档后的可选 Shell 命令;默认留空
packages(包列表) 多包项目路径和类型
codex.dispatch_mode(Codex 调度模式) 旧 Trellis 实现/检查代理的路由设置;不会把 Hermes 原生派发升级为强门禁

.trellis/hermes/config.yaml(科研全局配置)定义记录位置、任务卡规则、运行命令、审批边界和 context_firewall(上下文防火墙)。正式平台只有 claude(Claude)与 codex(Codex):Claude 可依赖钩子替换,Codex 使用同一套紧凑派发和结果文件。

防火墙相关环境变量:

环境变量 含义
TRELLIS_HOOKS=0(关闭钩子) 明确关闭钩子;派发和关闭时提示当前处于协议约束模式
TRELLIS_DISABLE_HOOKS=1(禁用钩子) 与上一项相同,用于兼容现有启动方式
TRELLIS_TASK_LIFECYCLE=0(关闭任务生命周期) 仅关闭内置状态协调,主要用于诊断;不改变显式 Closure 命令的门禁
TRELLIS_HOOKS_ACTIVE=1(钩子活动标记) 仅作状态提示;必须同时存在签名且新鲜的心跳,不能单独通过门禁
TRELLIS_PLATFORM(平台) 仅接受 claude(Claude)或 codex(Codex)作为正式防火墙平台
TRELLIS_CONTEXT_FIREWALL_HEARTBEAT_TTL(心跳有效期) 新鲜心跳的秒数,默认 900

会话和运行守卫会在 .trellis/.runtime/context-firewall/(防火墙运行目录)写入签名心跳。缺少新鲜心跳时工具会警告,三种 closure 模式仍以结构化派发、结果、运行清单、证据和审计记录判断是否完成。原始跟踪只写入 .trellis/.runtime/hermes-traces/(原始跟踪目录),默认不进入模板发布包。

.trellis/tasks/<task>/hermes/experiment.yaml(任务实验配置)定义问题、假设、数据、指标、随机种子、环境、允许命令、隔离模式和产物目录。

修改实验配置后运行:

python3 ./.trellis/scripts/hermes/experiment.py validate --task "$TASK"

预期结果

项目行为与配置一致,实验配置通过校验。

失败恢复

自定义生命周期钩子失败只会警告,不阻止主操作;内置协调器写入失败会保留原状态并要求修复。实验配置失败会阻止任务启动和运行,应先修正。

验证记录

  • 日期:2026-07-15。
  • 版本:0.7.1-beta.3(测试版)。
  • 更名前基准提交:9f7dc8497b4782878d6fa7ac3b63eba5bde507df。
  • 命令:rg -n -m 1 "dispatch_mode|session_auto_commit|allowed_commands" packages/cli/src/templates/trellis(配置模板核对)。
  • 结果:会话、Hermes 防火墙、Codex(代码代理)调度和实验命令配置均可定位,模式门禁与心跳设置已对齐。
  • 未验证项:生命周期钩子中的用户自定义命令需在具体项目单独验证。

来源

S5、S7、S8

相关页面