面向 Windows、Linux 与 macOS 的 Hermes Agent + CC Switch + Codex + GitHub 全局可迁移工作流增强包:集中维护无密钥配置、模型切换、链路诊断、Context7 MCP、Agent Skills、任务契约、安全同步、GitHub exact-SHA 发布证据、治理测试和跨平台 CI。
Workflow-assistance 不是另一个 Agent Runtime,也不是 Hermes、Codex 或 CC Switch 的安装包;它也不是只服务本仓库的项目内脚本集合。它是覆盖用户全局 Hermes Agent + CC Switch + Codex + GitHub 日常工作的可迁移控制与治理层:本仓库是可审计源目录,live Hermes Home 才是运行时落点,GitHub 是跨设备的 source-of-truth、发布与 exact-SHA CI 证据面。
全局增强范围包括:所有项目里的 Hermes 会话习惯、模型/provider 切换、CC Switch 代理路径、Codex 执行与复审方式、GitHub 分支/提交/exact-SHA CI 发布闭环、MCP 默认策略、长任务持久化、项目数据边界、排错手册、任务票据、Agent 规则和验证门禁。任何新增能力都必须先判断它增强的是这条全局工作流,还是只对本仓库有用;只对本仓库有用的临时脚本不得被包装成默认全局能力。
Global workflow surface
├─ Hermes Agent runtime usage sessions, skills, tools, MCP, memory, cron/gateway
├─ CC Switch routing local proxy/network path and provider preflight
├─ Codex execution launcher, task tickets, review and worktree rules
├─ GitHub delivery main as SSOT, exact-SHA CI, release evidence and recovery
├─ Project task containment per-repo .hermes runtime/artifacts boundaries
└─ Workflow-assistance repo portable source of truth, tests, docs and sync scripts
本仓库承载的全局增强资产包括:
Workflow-assistance
├─ portable config 无密钥、可审查的 Hermes 基线
├─ safe deployment repo → live 单向同步、备份、保留本机状态
├─ route operations GPT OAuth / DeepSeek 切换与链路诊断
├─ coding-agent workflow Codex launcher、任务票据、单写者与冻结复审
├─ MCP policy 默认只启用 Context7,其他能力按需开启
├─ reusable skills Agent、测试、Windows、代码复审等知识资产
└─ governance 安全扫描、治理测试、Linux/Windows CI、吸收审计
它保存可以安全提交到 Git 的工作流资产;不会安装 Hermes、Codex 或 CC Switch 主体,也不会保存 OAuth 状态、API Key、会话数据库、日志、缓存、模型权重或用户数据。
本轮已将 github-auth、github-code-review、github-issues、github-pr-workflow 和
github-repo-management 纳入仓库托管的全局 GitHub 工作流资产。当前 13 个 skill 都是
repository-controlled portable source,经过 provenance、repo → live atomic sync、隔离
portable install、Linux/Windows CI 和 live runtime 回归。
本轮复审修正了 GitHub skill 的 source ownership 缺口、未认证 curl/凭据持久化误导、PR
changed-files 分页缺失、SSH 私钥无授权写入、PowerShell/POSIX 命令不兼容和文档定位不一致。
完整的错误、根因、修复和证据记录见
docs/workflow/error-fixes-2026-07-28.md。
GitHub Actions 曾报告 action 自身的 Node.js 20 runtime 弃用提示;它是非阻断上游维护提示。 本项目不在 workflow 中硬编码 Node 版本,也不为了消除提示随意替换 action;若后续处理,必须 走审阅后的自动依赖更新策略。
| 功能域 | 当前能力 | 主要入口 |
|---|---|---|
| Portable 配置 | 无密钥 Hermes 基线、中文 CLI、原生工具集、Context7、低风险插件默认值 | config/config.yaml |
| 安全部署 | Windows / Bash 安装入口、自动备份、单向同步、保留 live Provider 与自定义能力 | setup.ps1、setup.sh |
| 模型切换 | GPT OAuth 与 DeepSeek 官方 Provider 状态检查和安全切换 | scripts/workflow/switch_model.py |
| 全链路诊断 | Hermes、认证、MCP、代理端口、Node、Codex 版本和可选真实执行 smoke | scripts/workflow/hermes_workflow_doctor.py |
| Codex 执行 | 跨平台 launcher、非交互执行规则、只读审查、隔离 worktree、TaskPack exact-tree runner;默认只冻结,需显式 --publish 才可发布 |
bin/codex*、scripts/workflow/run_taskpack_agent.py、skills/autonomous-ai-agents/codex/ |
| GitHub 交付 | main 作为跨设备 SSOT;仅以 exact-SHA CI 与目标分支包含关系确认发布闭环 |
.github/workflows/governance.yml、agent-workflow-fortress |
| 睡眠模式 | 项目级持久 cron 队列、单 writer、依赖顺序、账本恢复与高风险阻断 | skills/software-development/sleep-mode/ |
| Gateway/Cron 投递 | 区分 Gateway 运行、消息平台配置、TUI 本地输出和 sleep-mode 项目账本 | docs/workflow/gateway-cron-delivery.md |
| 项目数据边界 | fail-closed Git-ignore 检查,将任务临时文件、缓存、日志、测试环境和产物锁进本地项目 | bin/hermes-project-data.py、skills/software-development/project-data-boundary/ |
| MCP | 默认固定 Context7;记录隐私、版本和新增 MCP 候选审计门禁 | docs/mcp/workflow-mcp-stack.md、docs/mcp/mcp-catalog-governance.md、scripts/workflow/mcp_candidate_audit.py |
| Agent 治理 | TDD、单写者、Task Ticket、结构化状态、fail-closed 契约、exact-tree 复审、CI 闭环 | agent-workflow-fortress |
| Context Pack | repomix/gitingest 风格的安全上下文包,输出到项目 .hermes/task-artifacts/,用于新会话与 Codex handoff |
scripts/workflow/build_context_pack.py、docs/workflow/context-pack.md |
| Agent 行为评估 | promptfoo 风格声明式 smoke cases,评估工作流边界回答;不默认安装 runner/provider | docs/workflow/agent-evaluation.md、templates/evals/agent-behavior-smoke.yaml |
| UI/Skin 系统 | Catppuccin、shadcn/ui、assistant-ui 风格吸收,提供主题 token、Agent UI patterns 和 Windows Terminal scheme;不默认安装 UI runtime | docs/workflow/ui-skin-system.md、templates/ui/、templates/windows-terminal/ |
| 本地质量门禁 | 跨平台 canonical gate runner,统一治理测试、语法、安全扫描、Context Pack、MCP 候选审计、Shell/PowerShell 解析 | scripts/workflow/run_quality_gate.py、Justfile、docs/workflow/local-quality-gates.md |
| 安全扫描 | Prompt/规则隐藏字符、注入特征和疑似硬编码秘密扫描 | scripts/security/scan_agent_rules.py |
| 模板库 | AGENTS/CODEX/DESIGN/SECURITY 规则模板及多类任务票据 | templates/ |
| 审计与证据 | 开源能力吸收记录、固定上游 SHA、机器可读清单、明确排除项 | docs/audit/ |
| 跨平台验证 | Python 治理测试、语法检查、Shell/PowerShell 解析、Linux/Windows Actions | .github/workflows/governance.yml |
先通过官方方式独立安装 Hermes Agent,再克隆本仓库:
git clone git@github.com:DTALEX66/Workflow-assistance.git
cd Workflow-assistance
# Linux / macOS / Git Bash
./setup.sh
# Windows PowerShell
.\setup.ps1两个 setup 入口都会调用:
python scripts/workflow/sync_hermes_workflow_assets.py --apply同步脚本只执行 repo → live Hermes Home:
# 预览,不写入
python scripts/workflow/sync_hermes_workflow_assets.py
# 备份后应用
python scripts/workflow/sync_hermes_workflow_assets.py --apply实际行为:
- 在 Hermes Home 下创建时间戳备份;
- 从
config/managed-config-schema.yaml读取精确的 13 个 managed skill 根并逐根事务替换,删除这些子树中已不在权威源里的旧附件;不提升整个skills/根,因此 staging 后新增的 Hermes bundled 或用户 skill 也会保留; - 逐文件部署 schema 声明的 6 个 managed launcher/guard,保留 live
bin/中其它 Hermes 官方或用户入口;同时部署无密钥.env.template; - 绝不 promotion live
config.yaml:它同时包含用户的 provider/model、认证、MCP、plugin、hook、会话与未来字段,无法对外部写入实现可移植的原子 compare-and-replace。同步器只输出“skip mixed-ownership live config.yaml”;用户若要调整这些设置,必须明确使用官方 Hermes 配置入口并自行复核; config/config.yaml只作为无密钥 portable baseline,由空的 isolated Home verifier 构造并验证,不能据此声称已部署到真实 profile;mcp_servers.owned_names仅定义 baseline 的结构所有权与 isolated 验证范围,不授权同步器替换或删除真实 Home 中的 MCP;历史或用户 MCP(例如public-apis、sequential-thinking)不受同步器影响;- plugin migration state 同属 mixed-ownership config,不会由同步器写入真实 Home;
- 只删除有明确路径登记的退役 skill 资产;
- 输出 repo/live 目录哈希和文件数用于核验;
- 使用
config/managed-config-schema.yaml声明哪些非秘密体验字段由包管理、哪些本机路由/认证字段必须保留; - 绝不把 live skills、
.env、认证、会话或日志反向复制到仓库。
每次发布前,质量门禁都会在一个空的、隔离 Hermes Home 中执行 portable sync:
python scripts/workflow/verify_portable_install.py它不调用模型、不读取现有 Hermes Home、不读取认证文件;它会 fail-closed 验证
workflow-manifest.yaml 声明的 config compatibility/runtime features、model/provider-neutral
portable config、13 个 managed skill 根、6 个 managed binary、Context7 的 copied wrapper 与 pinned package 都可部署。它不把
结构检查伪装成 MCP spawn 或 hermes config check;后二者只能在明确启用的隔离 integration
gate 中执行。兼容性承诺和功能清单位于 workflow-manifest.yaml。
新项目应先忽略 .hermes/,再使用最小项目初始化器:
python scripts/workflow/bootstrap_project.py D:/All-projects/NewProject --dry-run
python scripts/workflow/bootstrap_project.py D:/All-projects/NewProject --agent-rules该入口只写目标项目的 Git-ignored .hermes/ 运行时说明和 bootstrap manifest,绝不复制 OAuth、API key、provider route、会话或用户数据。
config/config.yaml 当前定义:
- Hermes CLI 中文界面;
- 忙时输入默认排队:
display.busy_input_mode = queue,避免新输入隐式打断当前 turn; - 原生
browser、clarify、code_execution、computer_use、cronjob、delegation、file、image_gen、memory、session_search、skills、terminal、todo、vision、web工具集; - 默认 MCP 仅 Context7;
- 默认插件为
security-guidance与web/ddgs; - 会话不自动裁剪,并启用用户记忆与 profile;
- 不定义 Provider、模型、base URL、API key、fallback、model picker lane 或模型切换命令;这些值完全由官方 Hermes setup 和 live 用户状态负责。repo→live sync 不读取、合并或写回 live config;
hooks.pre_tool_call默认注册项目 terminal guard;它只允许 canonical project wrapper,阻止未声明 workdir、shell chaining 和项目外输出。该 hook baseline 仅在 isolated verifier 中构造;真实 profile 的 hook 由用户使用官方入口显式管理与批准,不能通过同步器静默绕过 Hermes hook trust。
config/SOUL.md 保存可迁移的 Agent 行为风格,并通过
managed-config-schema.yaml 的 owned_file_mappings 以
config/SOUL.md → $HERMES_HOME/SOUL.md 的明确单文件映射进入同一套
backup → staging → atomic promotion 流程;config/.env.template 只列环境变量名称,不含真实值。
skills/model-switch/SKILL.md 与切换脚本共同定义这条路线的操作边界。
KIMI 线路把稳定性与速度选择明确分开:kimi 使用 K3;kimi-fast
使用 K2.7 Code;kimi-turbo 使用官方 K2.7 Code HighSpeed。以下命令只在
用户明确决定切换时执行;不会自动更改当前会话,切换后必须新建会话或执行
/reset。
python scripts/workflow/switch_model.py status
python scripts/workflow/switch_model.py kimi # Kimi K3
python scripts/workflow/switch_model.py kimi-fast # Kimi K2.7 Code
python scripts/workflow/switch_model.py kimi-turbo # Kimi K2.7 Code HighSpeed
python scripts/workflow/switch_model.py gpt
python scripts/workflow/switch_model.py deepseek支持能力:
status:显示脱敏后的 Hermes Provider/模型配置、认证清单和关键端口状态;gpt:切换到 Hermes 官方openai-codexOAuth 路线;deepseek/dp:切换到 DeepSeek 官方 Provider;- 切换前检查所需代理端口或环境变量;
- 通过
hermes config set官方入口写配置,不直接改认证文件; - 支持环境变量覆盖 live 模型名,避免把易变名称复制到多处;
- 所有输出经过 token、Key、JWT、GitHub/npm/Slack 等常见秘密模式脱敏;
--no-verify只用于明确需要跳过前置检查的场景。
切换后需新建会话或执行 /reset,让 Provider 变更进入新的 Hermes Session。
结构诊断:
python scripts/workflow/hermes_workflow_doctor.py它会检查:
- Hermes 版本、配置、认证 inventory 和 MCP inventory;
- CC Switch 网络代理与 Codex Router 端口;
- DeepSeek 与 ChatGPT 的 HTTP 传输可达性;
- Node 版本和已配置的 Context7 MCP;
- Codex desktop/plugin/PATH 候选二进制与版本漂移;
- Codex 私有配置不读取,以可执行文件、监听和可选 live smoke 作为链路证据。
真实执行 smoke:
python scripts/workflow/hermes_workflow_doctor.py --live--live 会实际调用 GPT、DeepSeek 和 Codex,并要求输出独立 marker。普通端口、HTTP 状态和结构检查不等于真实模型执行;只有 live marker 通过才能证明当前执行链路可用。--live 可能产生网络请求或模型用量,因此不会默认运行。必须从 Git 项目根目录运行:Codex smoke 的临时 Git 仓库默认只会创建在当前项目 .hermes/task-runtime/,运行后自动清除;如需指定其父目录,传入同一项目范围内的 --codex-workdir .hermes/task-runtime/<name>,项目外路径会被拒绝。
默认只生成不含秘密、不会发起请求的模型库存:
python scripts/workflow/provider_health.py \
--config config/config.yaml \
--output .hermes/task-artifacts/provider-health.json默认状态为 UNVERIFIED,只表示显式提供或从当前运行时发现的模型尚未做真实调用;model/provider-neutral overlay 自身允许库存为空。只有明确传入 --live 才逐一执行 marker 请求并消耗额度。报告不包含 token、OAuth 内容、cookie、API key、base URL 或凭据文件内容。
Codex 会在新任务启动时读取用户目录 .codex/AGENTS.md,再由项目内更具体的
AGENTS.md 继续约束。仓库提供的是一个短小的全局基线安装器:它先把完整内容写入 Windows
私有或 POSIX 匿名 staging 对象,再以不替换已有名称的原子操作发布缺失的 AGENTS.md;公开名称存在期间
不会继续写入内容。已有的零字节文件、hardlink、symlink/reparse point 或并发创建文件都不会
被填充或替换。安装器要求 Codex Home 已由官方 Codex 应用初始化,绝不自行创建缺失目录;
应用期间固定 Codex Home 目录身份,并在 staging 写完前后及公开发布后复核优先级更高的
AGENTS.override.md、Home 身份和公开目标身份。若检测到已有文件、目录重定向竞态或
override,则 fail-closed,不伪造“已生效”。先预览,再显式应用:
python scripts/workflow/install_codex_global_guidance.py --codex-home "$env:USERPROFILE\.codex"
python scripts/workflow/install_codex_global_guidance.py --codex-home "$env:USERPROFILE\.codex" --applyWindows staging HANDLE 不共享写入或删除,且在创建后立即标为 delete-pending,阻断新的打开和
hardlink;写完并完成预发布检查后才清除该状态,再通过当前 HANDLE 的
FileRenameInfo(ReplaceIfExists=False) 发布。转换、写入、override 或发布失败只通过该 HANDLE
的 delete disposition 精确撤销,不执行 close 后的路径删除。POSIX 必须使用 O_TMPFILE 匿名
inode,并通过 linkat(AT_EMPTY_PATH) 无覆盖发布;不支持匿名 inode 时,安装器会在写入前以
CODEX_GUIDANCE_ATOMIC_PUBLISH_UNSUPPORTED 非零退出,绝不降级为可被替换的 named staging。
CODEX_GUIDANCE_ATOMIC_PUBLISH_UNSUPPORTED、CODEX_GUIDANCE_STAGING_CREATE_FAILED_CLEANED、CODEX_GUIDANCE_WRITE_FAILED_CLEANED、
CODEX_GUIDANCE_WRITE_INCOMPLETE、CODEX_GUIDANCE_OVERRIDE_BEFORE_PUBLICATION、
CODEX_GUIDANCE_OVERRIDE_AFTER_PUBLICATION、CODEX_GUIDANCE_HOME_CHANGED、
CODEX_GUIDANCE_PUBLIC_TARGET_CHANGED、CODEX_GUIDANCE_PUBLISH_FAILED、
CODEX_GUIDANCE_HOME_MISSING、CODEX_GUIDANCE_HOME_INVALID、CODEX_GUIDANCE_CLEANUP_INCOMPLETE、
CODEX_GUIDANCE_DIRECTORY_PIN_FAILED、CODEX_GUIDANCE_DIRECTORY_FINALIZE_INCOMPLETE 或 CODEX_GUIDANCE_FINALIZE_INCOMPLETE
都不表示已生效;按输出确认公开目标和可能保留的私有 staging 后再重试。
CODEX_GUIDANCE_HOME_MISSING 与 CODEX_GUIDANCE_HOME_INVALID 在 preview 模式仅表示诊断完成并返回
0;使用 --apply 时返回 1,且不会创建或修改 Codex Home。
在 --apply 中,CODEX_GUIDANCE_OVERRIDE_BEFORE_PUBLICATION 和
CODEX_GUIDANCE_DIRECTORY_PIN_FAILED 也都返回 1:它们表示请求的安装没有完成,而不是成功的 no-op。
安装后新开一个 Codex 任务即可重建规则链。全局基线只负责通用的数据边界;项目根的
AGENTS.md 才负责 Hermes 的项目内运行器和该项目的具体规则。
仓库不捆绑 Codex,可通过 launcher 定位本机已安装版本:
bin/codex:Bash/Git Bash launcher;bin/codex.cmd:Windows launcher;- 优先使用更新的 desktop/plugin Codex 二进制,避免 PATH 中旧版本遮蔽。
TaskPack 的高风险冻结复审默认由 Hermes 完成;需要独立第二执行体时可显式 选择 Codex 原生 review(不改变默认行为):
python scripts/workflow/run_taskpack_agent.py \
--repo . --remote-ref origin/main --risk high --reviewer codex \
--required-workflow workflow-governance \
--mission "<明确任务>"该路径使用通用 codex exec --sandbox read-only --ephemeral,将 exact staged-tree
任务 prompt 与临时 JSON Schema 一起交给 Codex;不会使用危险 sandbox/approval
bypass,不创建 Codex 会话产物。TaskPack 只读取并删除项目 runtime 中的最终消息与
schema 临时文件;任何 finding 都 fail-closed 为 NO-GO。--reviewer codex 仅适用于
high-risk TaskPack;TaskPack 仍会在每次复审前后核对 git write-tree 与工作区状态。
只有显式 --publish 才允许 TaskPack 提交、推送和等待 CI。高风险发布会把
release commit 的 HEAD^{tree} 与 reviewer GO 时的 frozen tree 逐字节绑定;不一致即
拒绝交付。--remote-ref <remote>/<branch> 同时决定 fetch 的 remote 与需要相等的远端
HEAD,不再隐式假定 origin。exact-SHA CI 默认必须有名为 workflow-governance 的成功
run;可重复传入 --required-workflow <name> 增加额外门禁。缺失、等待中、取消、失败或
仅有无关 workflow 的 success 都不会通过发布验证。
远端 main 由 main-workflow-governance ruleset 保护:禁止删除和非快进更新,并要求
linux 与 windows 两个 GitHub Actions status check(对应 workflow-governance workflow)。ruleset
状态必须通过 GitHub API 读取核验,不能用本地配置或旧 run 摘要替代。
skills/autonomous-ai-agents/codex/SKILL.md 定义:
codex exec/codex review使用非交互模式;- 交互 TUI 才使用 PTY;
- 只读复审使用 read-only sandbox;
- 写任务必须在独立 Git worktree 或 clone 中执行;
- 一个 checkout 只能有一个 writer;
- 不自动绕过 sandbox;
- Codex 不得在未授权时提交、推送、合并或创建 PR;
- 复审绑定 exact staged tree,任何修改都会使 verdict 失效。
Context7 用于查询公开软件库的当前文档,降低使用过期 API 的风险:
hermes mcp test context7通过 bin/hermes-npx* 优先调用 Hermes bundled Node,减少系统 Node/PATH 漂移。
Context7 查询会外发数据。不得发送私有代码、密钥、客户资料或内部项目名称。
| MCP/能力 | 不默认启用原因 | 当前替代 |
|---|---|---|
| sequential-thinking | 与模型推理和 plan/debug/TDD skills 重叠 | 原生推理 + 专门 skill |
| public-apis | 使用频率低,可直接搜索 | web_search / GitHub 公共目录 |
| Playwright MCP | 与 Hermes browser/computer_use 重叠且扩大权限面 | Hermes 原生浏览器工具 |
| filesystem MCP | 与 Hermes file tools 重叠 | Hermes 原生文件工具 |
| memory MCP | 与 Hermes memory 重叠 | Hermes 原生记忆工具 |
新增默认 MCP 必须固定版本、核验来源/许可证、真实运行 hermes mcp test、说明数据外发与权限,并测量工具 schema 对 Prompt 大小的影响。
新增候选先走审计器,不直接写默认配置:
python scripts/workflow/mcp_candidate_audit.py --write-template .hermes/task-artifacts/mcp-candidate.yaml
python scripts/workflow/mcp_candidate_audit.py .hermes/task-artifacts/mcp-candidate.yamlMCP_CANDIDATE_AUDIT_PASS 只表示候选元数据完整,不等于 server 已配置、已运行、已安全或已默认启用。候选治理细则见 docs/mcp/mcp-catalog-governance.md。
skills/software-development/agent-workflow-fortress/ 是本仓库的统一工作流治理入口,覆盖:
- 证据优先的缺口扫描;
- TDD 的 RED → GREEN → REFACTOR;
- 单写者和隔离 worktree;
- 快速并行侦察与串行集成;
- Task Ticket 的允许路径、禁止路径、输入资料、验证命令和输出契约;
- 后台任务的结构化状态、进程句柄和单调终态;
- 完成信号、有界恢复和“无真实证据不算完成”;
- 对 prompt、plan mode、hook、路径声明与 worktree 的非安全边界说明;
- 外部 sandbox/tool deny/OS 支持与负控证据要求;
git write-treeexact-tree 冻结复审;- 异步旧 verdict 的对象绑定和 superseding-tree 复核;
- commit、push 和 exact-SHA CI 闭环;
- 开源能力“吸收方法、不盲目 vendor”的治理;
- repomix/gitingest 风格 Context Pack,用项目内忽略产物承载新会话和 Codex handoff 摘要;
- MCP candidate audit,用 fail-closed 元数据检查约束新增 MCP 的版本、许可证、权限、数据外发、原生工具重叠和 smoke 证据;
- promptfoo 风格 Agent 行为评估模板,用声明式 cases 检查边界回答但不默认引入外部 runner;
- Catppuccin / shadcn-ui / assistant-ui 风格 UI/Skin 吸收,用 token 和 patterns 统一工作流可视状态但不默认安装前端 runtime;
- 本地质量门禁统一入口,用 Python runner 作为 canonical command,
Justfile仅作可选快捷方式; - 上下文/token 卫生、可持续后台队列和真实任务计数。
所有会生成临时文件、缓存、测试环境、日志、下载物或 review 产物的任务都必须先使用:
python "$HERMES_HOME/bin/hermes-project-data.py" --project . check
python "$HERMES_HOME/bin/hermes-project-data.py" --project . run -- python -m pytest
python "$HERMES_HOME/bin/hermes-project-data.py" --project . kanban -- boards list该执行器以 Git 根为边界,要求 .hermes/ 已被 Git 忽略,并把 TMP、TEMP、TMPDIR、XDG/pip/uv/npm/yarn/Playwright/Rust/Ruff/mypy/pre-commit cache 与 Python bytecode 指向 <project>/.hermes/task-runtime/。它同时将原生 Kanban 的 HERMES_KANBAN_HOME 固定在 <project>/.hermes/kanban/;禁止直接创建全局项目 board。显式项目外输出路径必须拒绝;它不是 OS sandbox,不能替代路径审查。项目证据归档到同项目 .hermes/task-artifacts/;认证、会话库、全局 config/skills 和 cron scheduler 元数据仍属于 Hermes 全局运行时,禁止误迁移。同步器仅保留最近两份自身生成的 workflow backup,避免每次部署重复膨胀全局 backup 目录。
templates/task-tickets/model-neutral-agent-task.md 提供不绑定特定模型或收费 API 的任务票据:
- Completion Contract;
- Run State Contract;
- Allowed/Forbidden Paths;
- 读、写、执行与网络权限;
- 外部执行机制和 Tool deny list;
- OS sandbox 支持验证;
- Shell 写入、链式命令与子 Agent 写入负控;
- 缺少执行证据时必须
blocked; - 测试、产物、tree identity、回滚与日志输出契约。
它是治理契约,不是运行时 sandbox。相关 Grok Build 方法吸收已固定上游 SHA,并登记在 docs/audit/model-neutral-agent-harness-absorption-2026-07.yaml;本轮没有引入模型、Provider、付费 API、外部二进制或运行时资产。
| Skill | 功能 |
|---|---|
codex |
调用 Codex 进行有边界的实现或只读审查,规范 PTY、sandbox 和 worktree |
github-auth |
全局 GitHub 认证前置检查与安全的 gh / Git 认证流程 |
github-code-review |
本地 diff、PR diff、CI 和 exact-tree 代码审查 |
github-issues |
GitHub Issue 的读取、创建、分类、标签、分配和闭环管理 |
github-pr-workflow |
分支、commit、PR、exact-SHA CI、review 和 merge 生命周期 |
github-repo-management |
GitHub 仓库 clone、remote、fork、Actions 和 release 管理 |
model-switch |
GPT OAuth / DeepSeek 安全切换、代理与 Provider 真实 marker 诊断 |
agent-workflow-fortress |
多 Agent 编排、TDD、单写者、冻结复审、发布和开源吸收治理 |
sleep-mode |
项目级持久自动推进:cron 调度、单 writer、状态账本、恢复与安全阻断 |
project-data-boundary |
项目任务数据 containment:Git-ignore fail-closed、受控临时目录、缓存、日志和产物路径 |
python-testing |
unittest/pytest 模式、测试隔离、fixture 和常见陷阱 |
requesting-code-review |
代码复审兼容入口,统一转入 fortress 的 exact-tree 流程 |
windows-development-environment |
PowerShell 编码、PATH 遮蔽、spawn/lockfile、路径和 Windows 环境问题 |
这 13 个 skill 都是本项目全局工作流增强的 repository-controlled portable source;同步脚本会把每个仓库负责的 skill 目录作为完整子树精确部署到 Hermes Home,不保留同目录里的旧 references、scripts 或 provenance 残片。其它 Hermes bundled 和用户安装 skills 保持原样,也不会把 live 私有 skill 或运行数据反向吸收到仓库。
.env和真实环境变量值;auth.json、OAuth Token、Bearer Token、API Key;- SSH 私钥、cookies、浏览器状态;
- Hermes
state.db、会话、日志、缓存; - Codex 会话和认证文件;
- 模型权重、安装器、大型二进制或真实用户数据。
python scripts/security/scan_agent_rules.py templates skills docs scripts扫描内容包括:
- Zero-width/BOM 隐藏字符;
- 常见 prompt-injection 特征;
- 管道执行 Shell 的危险文本模式;
- 疑似硬编码 secret/token/password。
运行期输出由 switcher 和 doctor 的脱敏器再次处理。security-guidance 提供非阻断提示,治理测试和 CI 才是仓库阻断门禁。
templates/agent-rules/:
AGENTS.md:跨 Agent 项目规则;CODEX_GLOBAL_AGENTS.md:仅在 Codex Home 没有用户规则时安全新建的全局基线;CODEX.md:Codex 专用规则;DESIGN.md:设计约束与结构说明;SECURITY.md:项目安全边界。
templates/task-tickets/:
cc-switch-agent-task.md:通用编码 Agent 任务;model-neutral-agent-task.md:模型/API 中立、证据驱动的执行契约;public-workflow-audit-ticket.md:公开工作流审计任务。
templates/evals/:
agent-behavior-smoke.yaml:promptfoo 风格、模型/provider 中立的 Agent 行为 smoke cases,用于检查 repo/live/session、Gateway delivery、持久任务、interrupted delegation、PowerShell 选择和验证诚实等全局工作流边界;模板不包含真实 provider、密钥、trace 或运行时依赖。
templates/ui/ 与 templates/windows-terminal/:
templates/ui/skin-presets.yaml:Catppuccin Mocha/Frappe、Nord、Dracula 的 portable 主题 token 和状态语义;templates/ui/agent-chat-ui-patterns.md:assistant-ui / shadcn-ui 风格的 Agent thread、tool call timeline、status rail 和 command palette 信息架构;templates/ui/terminal-theme-checklist.md:终端/Hermes skin 应用边界、证据要求和可访问性检查;templates/windows-terminal/catppuccin-mocha.json:Windows Terminal scheme 示例;模板可复制,但不会自动改用户 settings。
-
docs/workflow/project-definition.md:项目定义与职责边界; -
docs/workflow/agent-evaluation.md:Agent 行为评估边界、promptfoo 方法吸收和默认不安装策略; -
docs/workflow/context-pack.md:安全 Context Pack 生成器、输出边界和 handoff 使用方式; -
docs/workflow/local-quality-gates.md:本地 canonical quality gate runner、Justfile 快捷入口和 CI 对齐方式; -
docs/workflow/ui-skin-system.md:UI/Skin 分层、主题 token、Agent UI 状态表达与 runtime-neutral 边界; -
docs/workflow/project-data-boundary.md:项目任务数据归属、迁移、保留与 fail-closed 执行器; -
docs/workflow/hermes-runtime-layout.md:Hermes 全局运行目录分层、可恢复迁移、升级验证与清理边界; -
docs/workflow/gateway-cron-delivery.md:Gateway、cron、sleep-mode、TUI 与外部消息平台的投递边界; -
docs/workflow/gpt-deepseek-ccswitch-codex-upgrade.md:全链路工作流和路由矩阵; -
docs/workflow/error-fixes-2026-07-04.md:Windows/Git/Python/GitHub CLI 实际故障记录; -
docs/mcp/workflow-mcp-stack.md:MCP 默认策略; -
docs/mcp/mcp-catalog-governance.md:MCP 候选审计 schema、阻断规则和默认启用边界; -
docs/absorption/open-source-workflow-absorption.md:开源工作流吸收清单; -
docs/audit/workflow-absorption-audit-2026-07.md:总体吸收审计; -
docs/audit/hermes-workflow-recovery-2026-07-22.md:Hermes Desktop、CC Switch、Codex、GitHub 全链路故障、执行错误、恢复过程和数据保护证据; -
docs/audit/model-neutral-agent-harness-absorption-2026-07.md:模型/API 中立 Agent Harness 审计; -
docs/audit/model-neutral-agent-harness-absorption-2026-07.yaml:固定来源和本地落点的机器可读证据; -
docs/handoffs/workflow-assistance-2026-07-23.md:无密阶段交接、恢复顺序、已发布基线与会话卫生边界; -
docs/handoffs/hermes-desktop-source-root-repair-2026-07-24.md:Desktop source-root/canonical runtime 修复的无密 Codex 交接、验证与回滚边界。 -
TROUBLESHOOTING.md:常见部署、代理、认证和工具链问题。
python scripts/workflow/run_quality_gate.py verify可选快捷方式(如果本机已安装 just):
just verifyjust 不是默认依赖;缺少时直接使用 Python runner。verify 依次运行 governance、compile、skill-provenance、security、context-pack、portable-install、portable-install-runtime、provider-inventory、mcp-audit、shell 和 powershell gate。PowerShell gate 优先 pwsh,仅在缺少时回退 powershell.exe,并且只用 AST parser 解析 setup.ps1,不执行安装动作。Shell/PowerShell 工具不可用时对应 gate 会显式 skip。
治理测试覆盖:
- portable config 默认 MCP/插件边界;
- 同步时保留 live Provider 与自定义能力;
- 退役资产的一次性安全迁移;
- 缺少 live config 时的基线初始化;
- setup 不默认开启高权限可选能力;
- doctor 结构检查与 live marker 区分;
- secret redaction;
- Context Pack 输出路径、Git-ignore fail-closed、秘密脱敏和项目内 artifact 边界;
- MCP 候选审计器的 pinned version、许可证、权限、native overlap、default-enable 阻断和输出 marker;
- 本地 quality gate runner 命令顺序、fail-fast 语义、Justfile 可选性和 CI 对齐;
- UI/Skin token JSON/YAML 解析、开源吸收来源、runtime-neutral 边界和“不自动应用用户 UI 设置”;
- skills 引用完整性;
- Codex 非交互和单写者边界;
- model routing 单一可执行事实源;
- 模型/API 中立任务模板的完整安全语义;
- promptfoo 风格 Agent 行为评估模板的 provider/model/secret/runtime 中立边界;
- 固定上游 SHA/SOURCE_REV、local artifact 范围和空 runtime assets。
.github/workflows/governance.yml 在每次 push 和 pull request 上运行:
- Ubuntu / Windows:调用同一个
python scripts/workflow/run_quality_gate.py verify; - 平台工具缺失时 shell / powershell 子 gate 显式 skip,而不是伪装通过;
- CI verdict 绑定提交 SHA,不能用旧 run 证明新提交。
.github/workflows/ Linux/Windows 治理 CI
bin/ Hermes Node 与 Codex 定位 wrapper
config/ 无密钥 Hermes 基线、环境变量模板、SOUL
scripts/workflow/ 安全同步、模型切换、全链路 doctor
scripts/security/ Agent 规则与秘密扫描
skills/ Portable Hermes Skills 单一仓库源
templates/ Agent 规则和 Task Ticket 模板
docs/ 工作流、MCP、吸收记录和审计证据
tests/ 仓库治理回归测试
setup.sh / setup.ps1 跨平台部署入口
TROUBLESHOOTING.md 故障排查
# 查看当前 Provider、认证和代理前置条件
python scripts/workflow/switch_model.py status
# 切换 Provider(仅在用户明确决定后;切换后新建会话或执行 /reset)
python scripts/workflow/switch_model.py kimi # Kimi K3
python scripts/workflow/switch_model.py kimi-fast # Kimi K2.7 Code
python scripts/workflow/switch_model.py kimi-turbo # Kimi K2.7 Code HighSpeed
python scripts/workflow/switch_model.py gpt
python scripts/workflow/switch_model.py deepseek
# 结构诊断;不产生模型调用
python scripts/workflow/hermes_workflow_doctor.py
# 真实执行诊断;可能产生网络/模型用量
python scripts/workflow/hermes_workflow_doctor.py --live
# 检查默认 MCP
hermes mcp test context7
# 预览 / 应用 portable 同步
python scripts/workflow/sync_hermes_workflow_assets.py
python scripts/workflow/sync_hermes_workflow_assets.py --apply
# 生成新会话 / Codex handoff 上下文包;输出到 .hermes/task-artifacts/context-pack.md
python scripts/workflow/build_context_pack.py
# 生成 / 审计 MCP 候选;只写项目内忽略产物,不默认启用
python scripts/workflow/mcp_candidate_audit.py --write-template .hermes/task-artifacts/mcp-candidate.yaml
python scripts/workflow/mcp_candidate_audit.py .hermes/task-artifacts/mcp-candidate.yaml
# 仓库完整门禁
python scripts/workflow/run_quality_gate.py verify
just verify # optional; only if just is installed- 本仓库不会安装或升级 Hermes、Codex、CC Switch 或其他应用主体;
- 不会把 live Provider、凭据、会话和用户自定义配置反向上传;
- 默认配置不会启用与 Hermes 原生工具重复或权限面更大的 MCP;
- 普通 doctor 只证明结构与传输可达,结构检查不等于真实模型执行;
--live、Provider 切换和外部 MCP 可能产生网络请求,应由用户明确执行;- Task Ticket、plan mode、hook、路径声明和 worktree 都不是安全 sandbox;
- 模型/API 中立吸收只保留通用方法,不引入模型、收费服务或外部执行器;
- README 负责解释功能,机器可读事实仍以
config/、脚本、skills、manifest 和治理测试为准。