跳到内容
live DEVELOPMENT INFRASTRUCTURE / agent-harness

agent-harness · 跨工具记忆 + 双引擎 agent 基底

Local knowledge base + 343 structured memory articles + self-authored skills, running on Claude Code × Codex. Current retrieval: MEMORY.md index + rg full-text search; semantic vector search still exploratory.

在体系里属于 独立分类 · Development Infrastructure (开发基础设施) · 这是用来开发 Evie 的工具系统, 不属于 Evie Runtime 的一部分, 不参与 Evie 实时调用链 · 上游接 操作系统文件系统 + Claude Code + Codex CLI 双引擎 · 下游服务于所有工程的并行推进 (见 架构图) · 最近验证: 2026-06

01 / 在系统里的位置

为什么这一层需要它

这个虚拟人体系有多个并行工程 (PWA / LoRA Studio / UE MetaHuman / Agent Runtime / Perception / Daemon), 是我 + 多个 Claude Code 窗口 + Codex CLI 在不同工程里并行推进. 单次 agent context window 装不下全部状态, 没有跨会话持久化的 harness 就会每次重新解释项目背景.

核心架构决策: 双 agent 共存. Claude Code 和 Codex CLI 共享同一个项目文件目录, 读同一套 CLAUDE.md 契约链, 访问同一个 vault 记忆层. 两个 agent 引擎各有优势, 通过共享文件系统实现状态同步, 不需要额外的 IPC 或消息队列.

02 / 文件架构

目录结构 + 双引擎共存布局

~/.claude/                          ← Claude Code 根配置
├── CLAUDE.md                       ← 顶层契约 (全局红线 + OpenRouter API)
├── projects/
│   └── <project>/
│       └── memory/                 ← 项目级记忆 (343 篇 article)
│           ├── MEMORY.md           ← 导航索引 (~200 行, 会话启动时加载)
│           ├── user_*.md           ← 用户画像
│           ├── feedback_*.md       ← 行为修正 (带 Why + How to apply)
│           ├── project_*.md        ← 项目状态
│           └── reference_*.md      ← 外部资源指针
├── skills/                         ← Skill 目录
│   ├── BreakAndMemory/             ← 自研: 会话封存
│   ├── ImBack/                     ← 自研: 会话恢复
│   ├── Crossfire/                  ← 自研: 多角度方向验证 (6 agent 交火)
│   ├── tribunal/                   ← 自研: 前端 UI/UX 三角度审核
│   ├── CharaFetch/                 ← 自研: 角色卡抓取
│   ├── comfy_local/                ← 自研: ComfyUI 本地生图调度
│   ├── taste-skill/                ← 开源集成 (原作者 @anthropics)
│   ├── last30days/                 ← 开源集成 (原作者 @ScrapeCreators)
│   └── ...
└── task-handoffs/                  ← 跨会话接力快照存储
    ├── _active.json                ← 活跃任务词条
    └── <引导词>.md                ← 封存快照 (任务栏 + 环境指纹)

~/iva-vault/                        ← Vault (Claude Code + Codex 共享)
├── shared/
│   ├── contracts/IVA.md            ← 完整契约 (20 红线 + 所有规则)
│   ├── memory/                     ← 共享记忆层
│   │   ├── MEMORY.md               ← 共享导航索引
│   │   └── _topics/<cluster>/     ← 按主题分桶
│   └── comfy_archive/              ← ComfyUI 档案库
│       ├── ckpt_dossier/           ← 32 ckpt 基线解析
│       └── ckpt_workflows/         ← 每 ckpt 独立 workflow JSON

project/CLAUDE.md                   ← 项目级契约 (路由到子工程)
├── talking-with/CLAUDE.md          ← PWA 子契约 (部署 + 测试 + 禁止项)
├── iva-loop-engineering/CLAUDE.md  ← Daemon 子契约
└── .claude/contracts/*.md          ← 其他工程子契约

Claude Code 和 Codex CLI 读同一套文件: 契约链 (CLAUDE.md → 项目 → 子工程) 约束行为, vault 记忆层提供跨会话上下文, skill 目录提供可复用动作. 两个引擎在不同终端窗口并行操作不同工程时, 文件系统是天然的同步层.

03 / 解决过什么问题

自研 Skill 演进

以下是自研的核心 skill, 每个都经历了实际工程中的问题驱动和迭代:

A跨会话接力 (BreakAndMemory + ImBack)

问题: agent context window 用完后, 新会话丢失所有进度. 演进: 设计了 Break 封存 + ImBack 恢复的双 skill 闭环 — Break 时自动 dump 任务栏快照 + 环境指纹 + 关键文件路径到 markdown 文件, ImBack 时读快照逐条复刻任务栏 + 环境对照 + drift 检测. 经历过多次"快照说修好了但环境已变"的事故后, 加入了指纹比对和 STALE 降级机制.

B多角度方向验证 (Crossfire)

问题: 技术选型拍板后容易陷入确认偏误 — "看起来完整的工作流"实际只是语言上自洽的流程幻觉. 方案: 启动 6 个独立 background agent, 分别从领域专家、风险审查者、项目经理、利益相关者、历史归纳者、失败模式分析师视角并行交火, 覆盖 8 类攻击维度. 判决分三档: R(撤回重选) / M(加护栏) / W(监控). 每次验证后强制沉淀永久规则到记忆层.

C前端 UI/UX 审核 (tribunal)

问题: agent 生成的 UI 功能没问题但视觉粗糙, 只看一个主题通过不代表其他主题也能看. 方案: 三角度审核 — 强制跨 4 个主题 (light / dark / moonglow / night) Playwright 截图验证, 每个主题独立评分. 与 Crossfire 互补: Crossfire 审"还没执行的方向选择", tribunal 审"已实现的前端代码".

DTelegram 远程操控

问题: 不在电脑前时无法推进工程. 方案: Telegram bot 接入 agent, 语音消息 → faster-whisper 本地转录 → agent 处理指令 → Telegram 回复结果. 工程操控面板, 不是聊天机器人.

另有集成的开源 skill: taste (原作者 @anthropics, GitHub 开源前端审美评审, 用于 tribunal 流程中的 metric-based 评分) 和 last30days (原作者 @ScrapeCreators, GitHub 开源跨源调研聚合).

04 / 现状

现在做到哪了

状态 live — 这一层是整个体系里跑得最稳的, 上面所有工程都在日常依赖它.

A双引擎协同

Claude Code 和 Codex CLI 共用同一个项目目录 + vault 记忆层 + CLAUDE.md 契约链. 不同引擎在不同窗口并行操作不同工程, 通过文件系统天然同步.

B项目管理

通过 TaskCreate / TaskUpdate 追踪多工程并行进度; BreakAndMemory 在会话结束时封存完整任务栏快照 + 环境状态; ImBack 在新会话恢复时逐条复刻 + 环境校验.

C记忆

343 篇 article, 按主题分桶, wikilink 互引. 新会话启动时读 MEMORY.md 索引, 按需深读具体 article.

D待解决

vault sync 是手工触发, 没有 file watcher; skill 之间没有正式的 dependency contract.

05 / 下一里程碑

接下来推什么

Avault sync 自动化

file watcher 监听 article 改动, 自动同步.

B语义检索

当前记忆检索靠 rg 全文搜索 + 索引导航, 探索向量嵌入做语义匹配.

体系 / 模块