harness-all:给 AI Agent 造一个「个人工作室」—— 当 AI 服务可能随时中断,项目记忆才是你的护城河

阅读提示:文章较长,想把 harness-all 的设计思考和实战价值讲透。时间有限可以直接看 GitHub 代码与文档:

GitHub - LuckyOneTwoThree/harness-all: 🪢 Multi-Agent framework family for AI-powered product development — PM · Design · Engineering | 面向 AI 原生产品开发的多智能体(Multi-Agent)框架家族 — 覆盖产品 · 设计 · 研发 · GitHub

一句话介绍

harness-all 是一套「独立优先、合约协作」的 AI Agent 多框架家族,当前聚焦 产品软件工程 两大核心领域,共 109 个技能、19 条工作流、2 份合约文档、10 种 LOOP 循环。它让你的 AI Agent 不再每次对话从零开始,而是拥有持久的本地项目记忆领域专长——不依赖任何单一云端服务的记忆,换模型、换工具、甚至账号受限都不丢数据。


为什么做这个项目?

你是不是也这样用 AI?

第 1 次对话:"帮我写个 PRD"     → AI 不了解你的产品背景,从零问起
第 2 次对话:"帮我实现这个功能" → AI 不知道 PRD 长什么样,从零问起
第 3 次对话:"帮我修这个 bug"   → AI 不知道架构是什么,从零问起
第 4 次对话:"帮我写个增长方案" → AI 不知道产品现状,从零问起
...每次对话都是「失忆」的,每次都要重建上下文

核心问题不是 AI 不够聪明,而是没有持久、可控、属于你本地的项目记忆。

一次真实的外部冲击:云端记忆并不可靠

2026 年 7 月前后,不少开发者遇到 Claude 账号访问受限的情况——一些长期稳定使用的老账号、甚至团队账号,在无预警下失去访问能力。相关讨论中提到的关键点包括:客户端可能通过本地时区、代理路由、系统语言等信息进行综合判断;账号一旦受限,云端对话历史、项目上下文、积累的角色设定随之无法访问。

这件事暴露了一个被很多人忽视的风险:

如果你的项目记忆完全寄托在云端对话里,一旦服务中断,你的 AI 助理会瞬间「失忆」,而你之前的所有上下文投入都将归零。

这不是在批评某个具体服务,而是在提醒我们一个普遍事实:

  • 云端服务的可用性、可达性、账号状态,都不是用户能完全控制的。
  • 真正重要的项目决策、技术选型、踩坑记录、需求演进,应该沉淀在你本地可控的文件里。
  • 框架化、文件化的项目记忆,是抵御这种不确定性的最佳保险。

纯 Prompt 工程 vs 框架的本质区别

维度 纯 Prompt 工程 harness 框架
知识持久化 无(每次从零开始) knowledge-base.md 跨会话本地积累
上下文恢复 无(手动复制粘贴) progress.md + session-start 自动恢复
服务依赖 绑定特定平台对话历史 文件即记忆,换模型/换工具照样读取
领域专精 通过 prompt 角色描述(脆弱) SOUL.md + 84 个 PM 技能 / 22 个工程技能精准匹配
质量保证 人工检查 LOOP 循环 + 证据门控 + verify 技能
协作交接 复制粘贴聊天记录 合约文档结构化传递 + AC 编号对齐
安全边界 通过 prompt 约束(可被覆盖) constitution.md 不可协商 + security.md

一句话总结:Prompt 工程是「教 Agent 做一件事」;框架是「让 Agent 拥有持久、本地、可迁移的项目记忆和领域专长,越用越懂你的项目」。


核心设计哲学:独立优先,合约协作

为什么是独立框架,而不是一个大一统框架?

维度 统一框架 独立框架(本项目选择)
上下文成本 单 Agent 加载所有技能,上下文爆炸 每个 Agent 只加载自己领域的技能
记忆污染 产品/工程/设计记忆混在一起 每个框架独立记忆,互不干扰
调试隔离 一个领域的 bug 影响全局 框架完全隔离
工具适配 一套工具链适配所有场景 每个框架按需选工具
项目归属 一个项目一个 Agent 不同框架可以挂载不同项目目录
迁移成本 平台/模型切换时所有记忆要重建 文件化记忆可直接迁移到任何 Agent 工具

结论:上下文爆炸和记忆污染是 AI Agent 协作的核心痛点,独立框架 + 本地文件记忆是当前最务实的选择。

四条铁律

  1. 独立自足 — 每个框架必须能独立完成自己领域的工作。
  2. 合约协作 — 框架间通过 docs/handoff/ 下的合约文档传递需求。
  3. 循环验证 — 所有任务经过 LOOP(计划→执行→验证),证据驱动。
  4. 安全红线 — 不可协商的原则写入 constitution.md,Agent 必须遵守。

三层架构

┌─────────────────────────────────────────────────────────────┐
│ 编排层(未来演进,非当前目标)                                │
│ - 多 Agent 调度 / 共享真相源 / 跨框架 LOOP                    │
└─────────────────────────────────────────────────────────────┘
                              ↕ 合约文档
┌─────────────────────────────────────────────────────────────┐
│ 框架层(当前重点)                                            │
│ harness-pm / harness-engineering                              │
│ + 扩展框架(data / qa / security,按需构建)                  │
└─────────────────────────────────────────────────────────────┘
                              ↕ 加载链
┌─────────────────────────────────────────────────────────────┐
│ 基础层(每个框架内部)                                        │
│ AGENTS.md / SOUL.md / constitution.md / LOOP.md / skills/    │
└─────────────────────────────────────────────────────────────┘

两大核心框架 + 扩展家族

框架 定位 技能数 工作流 核心产出
harness-pm “做对的事” — 产品探索、市场分析、PRD、API 契约、指标运营 84 10 PRD.md / PRODUCT_STRATEGY.md / pm-to-engineering.md
harness-engineering “写好代码” — 4 阶段软件工程交付 26 9 代码 + 测试 + spec.md / engineering-to-pm.md
harness-data(P1 待建) 数据管道 · ETL · 指标生产
harness-qa(P2 按需) 质量保证 · 自动化测试
harness-security(P3 按需) 安全审计 · 合规

为什么 v3.0.0 把原来的 design / solo 合并进 engineering?

v2.x 的三框架拆分(pm / design / solo)存在两个结构性问题:

  1. UI 保真度差:solo 通过解析后的契约接收设计,丢失了原始视觉资产的细节,产出的界面经常"感觉不对"。
  2. 前后端无法并行:solo 是单一工程框架,没有内部阶段划分,无法让前端和后端独立推进。

v3.0.0 的解法:把 engineering 合并为一个框架 + 4 个内部阶段(design-intake → frontend → backend → integration)。设计资产改为用户自有(Figma / v0 / md / 图片),PM 只收集路径,engineering 的 design-intake 负责解析。阶段推进用轻量 phase-N-report.md,不需要跨框架交接。


框架间的协作:合约文档系统

框架间通过 docs/handoff/ 下的合约文档协作,每份文档有明确的生产者消费者

harness-pm ──pm-to-engineering.md──► harness-engineering
harness-pm ◄──engineering-to-pm.md─── harness-engineering  (反向反馈,按需)

AC 编号跨框架对齐

AC 类型 前缀 来源 消费者 示例
产品 AC AC-<feature>-<seq> harness-pm 的 PRD engineering AC-F01-001: 用户可以登录
后端 AC BAC-<feature>-<seq> harness-engineering Phase 2 integration / pm BAC-F01-001: POST /login 返回 200
集成 AC IAC-<feature>-<seq> harness-engineering Phase 3 pm IAC-F01-001: 登录→首页流程通过 e2e

v3.0.0 中,原来的 DAC-xxx(设计 AC)已退役。设计约束被提取到 contract.json 中,作为前端 AC 集合的一部分统一验证。

合约文档写入权限隔离

单向写入隔离:生产者写、消费者只读。如果消费者需要反馈上游,通过自己的出站合约文档传递,不允许修改入站文档。

可迁移的交接包

transferable 单位不是一份 Markdown,而是完整的 docs/handoff/packages/<handoff_id>/ 目录,包含:

  • 合约文档 .md
  • 机器可读 envelope(schema_version / handoff_id / producer / consumer / ac_ids / batch)
  • SHA-256 manifest
  • 随包产物(PRD / API 契约 / 设计资产路径 / 路由字段等)

这意味着:即便你换了一个 AI 工具、换了一个模型、甚至换了一台电脑,只要文件在,项目上下文就在。


LOOP 循环引擎:证据驱动

所有框架共享统一的 LOOP 引擎规范:

  • state.yaml 检查点恢复 — 会话中断后可恢复。
  • 迭代上限保护 — 统一 10 次硬熔断,到达即请求人类介入。
  • 证据驱动 — 没有证据不能声称完成。
  • 阶段追踪 — engineering 的 4 个阶段各自记录 substage_progress
    ┌──────────────────────────────────────────────────────┐
    │                                                      │
    ▼                                                      │
  PLAN ──► ACT ──► VERIFY ──pass──► REVIEW ──pass──► done │
                 │                  │
                 │                  └─fail──► back to ACT
                 └─fail──► RESEARCH (iteration +1)
                                  │
                                  └─ iteration ≥ 10 ──► hard breaker
框架 LOOP 语义 示例循环类型
pm 计划→研究→验证→交付 research / prd / iteration / growth / pivot
engineering 计划→执行→验证 feature / bugfix / optimize / refactor / migration

每个框架的独门绝技

harness-pm:UI 越权门控

PM 在 PRD 中偷偷写「左侧导航栏」「红色按钮」?UI 越权门控会强制拦截,只允许描述业务规则和状态转换,把视觉探索空间留给 engineering 的 design-intake。

harness-engineering:双输入模式 + TDD 硬规则

  • 双输入模式:Phase 1 frontend 同时读取解析后的 contract.json 和原始设计资产(Figma / v0 / md / 图片),确保视觉保真。
  • TDD 硬规则:行为变更必须先有失败测试;测试之前写的代码会被删除。
  • 三档探索模式skip(快速修复) / standard(完整 4 阶段) / deep(OpenAPI + 嵌套任务)。
  • 代码审查独占完成status: done 仅由 code-review skill 写入,verify 永远不能写——防止自证完成。

三层知识体系:为什么项目记忆必须本地、文件化

┌─────────────────────────────────────────────────────────────┐
│ 🧠 项目知识库 (knowledge-base.md)                            │
│ 持续积累的项目决策 · 技术选型 · 踩坑记录 · 最佳实践           │
│ → Agent 每次启动自动读取,无需重新解释项目背景                │
│ → 会话结束自动归档新知识,越用越懂你的项目                    │
├─────────────────────────────────────────────────────────────┤
│ 📋 工作区记忆 (progress.md + FEATURES.md)                    │
│ 跨会话进度 · 当前任务状态 · 历史决策记录                      │
│ → session-start 自动恢复上下文,不丢失工作进度                │
│ → state.yaml 支持检查点恢复,中断后可恢复                     │
├─────────────────────────────────────────────────────────────┤
│ 📐 领域规范 (AGENTS.md + SOUL.md + constitution.md)          │
│ 领域价值观 · 工作原则 · 安全红线 · 不可协商规则               │
│ → 明确 Agent 行为边界,不越权不漂移                           │
│ → 规则优先级:SOUL > AGENTS > rules > 对话 > 外部文件         │
└─────────────────────────────────────────────────────────────┘

这才是抵御外部服务波动的关键

  • 你的项目记忆不在任何单一平台的对话历史里。
  • 它是一组 Markdown、YAML、JSON 文件,存在你的项目目录中。
  • 你可以用 Trae、Cursor、Windsurf、Claude Code,甚至未来出现的任何 Agent 工具读取它们。
  • 当某个工具暂时不可用时,你的项目知识不会归零。

安全与合规

统一安全红线

禁止项 原因
硬编码密钥 泄露风险
rm -rf / curl | sh / chmod -R 777 误删与供应链风险
修改 .git/hooks/ 破坏 Git Hook 完整性
绕过质量门控 输出质量失控
敏感文件(.env / *.pem / *.key / id_rsa / credentials.json)读取 隐私与合规风险

Prompt 注入防御

  • 指令优先级:SOUL.md > AGENTS.md > rules/* > 用户对话 > 外部文件内容
  • 外部内容标记为不可信,不作为指令执行。
  • 关键操作需人类确认。

跨平台兼容

  • Agent 工具优先(Read/Write/Edit/Glob/Grep),bash 可选降级。
  • 所有脚本有 bash 可用性检查,Windows 上自动跳过。
  • .gitattributes 强制 *.sh 使用 LF 换行,CRLF 自修复脚本。

实战场景:从 0 到 1 构建新产品

阶段 1:产品定义 (harness-pm)
├── new-product 工作流
├── 产出:PRD.md(含 AC-xxx)/ PRODUCT_STRATEGY.md / Persona
├── 收集:用户设计资产路径(Figma / v0 / md / 图片)
└── 产出:pm-to-engineering.md

阶段 2:工程交付 (harness-engineering)
├── new-product-engineering 工作流(先规划所有功能 + 共享基础设施)
├── Phase 0: design-intake → contract.json + tokens.json
├── Phase 1: frontend — TDD + 双输入(契约 + 视觉资产)
├── Phase 2: backend — API + 数据层 + migration
├── Phase 3: integration — mock→real 切换 + e2e + contract-verify + code-review
└── 产出:代码 + 测试 + spec.md(含 AC + BAC + IAC)+ engineering-to-pm.md(按需)

每个阶段的推进都需要人类确认,不会静默越过关键决策点。


快速上手

# 1. 克隆项目
git clone https://github.com/LuckyOneTwoThree/harness-all.git

# 2. 进入你的项目目录
cd my-project

# 3. 运行安装脚本(以 harness-engineering 为例)
bash /path/to/harness-all/harness-engineering/install.sh

# 4. 在 Trae IDE 中启动 Agent
# Agent 会自动按加载链读取:
# AGENTS.md → SOUL.md → constitution.md → INDEX.md → SKILL.md → progress.md

也可以只克隆单个框架——每个框架完全独立自足。


项目规模与状态

指标 数据
核心框架数 2(+ 3 个扩展规划中)
技能总数 109
工作流总数 19
合约文档 2 份(当前核心链路)
LOOP 循环类型 10 种
代码版本 v3.0.0
状态 生产就绪
许可证 MIT

演进路线

  • 当前(v3.0.0):pm + engineering 两大核心框架重构完成,design 与 solo 合并为 engineering 的 4 个阶段,合约文档系统打通,文件化项目记忆机制完整。
  • 中期(v3.1+):harness-data 构建、合约文档版本化、跨框架 LOOP 类型映射。
  • 长期(v4.0):编排层探索、共享真相源、harness-qa / harness-security 按需构建。

适合谁?

  • 个人开发者:一个人 + 多个 AI Agent,每个 Agent 专精一个领域。
  • 小团队:不同成员拥有不同框架,通过合约文档对齐。
  • 多项目并行:每个框架可以挂载不同项目目录,互不干扰。
  • 重视数据自主的用户:希望项目记忆掌握在自己手里,而不是完全依赖某个云端服务。
  • AI Agent 爱好者:想深入了解 Agent 框架设计的实践者。

部分截图演示(这里演示的是pm的框架,不过多赘述,还有engineering纯编码工程等等,大家可以自行尝试)


可以像上面一样全自动完成,也可以在流程中需强制人类决策点
我还是建议大家多参与决策


写在最后

AI 工具日新月异,但项目知识是你的长期资产。

harness-all 想解决的问题很简单:让 Agent 对你的项目有记忆、有专长、有纪律,并且这些记忆真正属于你——它们不是某个平台的私有数据,而是你项目目录里的一堆文件。

下一次当你听说某个 AI 服务又出现访问波动时,你可以 calmly 地打开本地项目,告诉 Agent:

“读取 AGENTS.mdSOUL.mdprogress.mdknowledge-base.md,我们继续。”

因为记忆在你手里,工作不会中断。


harness-all · Personal AI Studio · Multi-Agent Framework Family

独立优先 · 合约协作 · 循环验证 · 安全红线 · 本地记忆


11 个赞

真大佬!牛

3 个赞

用起来很简单,以harness-pm为例,只需要下载后,把这个对应框架下的核心文件(图中勾选的,全部复制也不影响)拷贝到项目或工作区文件夹下即可

如果想项目文件夹统一管理,我建议使用这个结构,把每个阶段模块分成不同工作区,可以直接使用那5个框架文件夹


但在agent工具里使用的时候单独打开工作区文件夹(而不是项目文件夹)

5 个赞

我最近也在思考同一个问题,不过我没你考虑的这么深,我准备试试通过hermes来实现

3 个赞

嗯,我也在用hermes,这个也是适用的。这个框架其实可以适用于不同的方向和场景,我这几天把之前做那个产品全周期时搭建框架的方法论提炼出来了,感兴趣可以看看:https://github.com/LuckyOneTwoThree/harness-builder-skill

5 个赞

感觉是superpower的升级版,上限更高,这个项目知识库和记忆很有用

3 个赞

但流程确实会比superpower长一点,这个其实更适合中大型项目,能支持协作,验证门槛其实挺多的

3 个赞

契约不是硬性门槛,每个框架是独立解耦的,契约只是充当一个连接器,每个框架单独使用是没问题的

3 个赞

思考了很久的问题,找到同类了。真厉害

3 个赞

非常欢迎交流,我目前也是用边在打磨。

3 个赞

大概浏览,缺少质量测试这块呢

3 个赞

没有单独写测试的模块,solo里面做了部分验证测试,所以暂时没独立的QA模块,完整测试流程来说还是有挺多受限的,框架很难解决其中一些问题

3 个赞

参加这个创造力大赛的初赛有必要用这个吗

3 个赞

这个可以做全栈开发。初赛只做demo,简单点直接用html做简单的交互原型,复杂点可以做完整的前端框架用mock数据。产品层可以只用pm框架里面的技能,可以帮你扩展思维打磨产品。

3 个赞

有没有gitee链接,GitHub校园网屏蔽了

3 个赞

harness-all-main.zip (1.4 MB)
先直接给你zip试试呢,更新同步你后续还是想办法去github同步 :wink:

3 个赞

除了xx-to-xx.md要复制到下一个框架的哪里?还有哪些产物要交到下一个框架中?

3 个赞

还有一些关联的文件,嫌麻烦直接把上层的docs所有产出的文件夹(除了handoff)全部复制到下一个阶段(注意handoff里面的xx-to-xx交接文档那个要单独传,不然可能会有冲突)

4 个赞

做了比较大的更新,大家感兴趣可以了解一下,一方面我自己也容易维护,一方面大家使用体验也会好很多

核心变化

维度 v2.x v3.0
框架数量 4 个(pm / design / solo / engineering) 2 个(harness-pm + harness-engineering)
设计环节 独立 design 框架承接 用户自选设计工具,产出直接进入 engineering 消费
契约链路 多段交接(pm→design→solo→…) PM → Engineering 一跳直连
前后端 单体交付 前后端分离,前端完即可用 Mock 数据独立演示
会话产出 需手动触发 会话结束自动打包契约,一键传递

流程简化

之前:PM → Design → Solo(前端) → Solo(后端) → 多次交接 → 上下文易丢失

现在

Plain Text

┌─────────────┐    契约包(自动产出)    ┌─────────────────────┐
│  harness-pm  │ ──────────────────────► │  harness-engineering │
│  产品·策略    │ ◄────────────────────── │  工程交付             │
└─────────────┘    契约包(调整回传)    │  前端(Mock) → 后端    │
                                       └─────────────────────┘
  1. PM 产出 PRD + API 契约 → 会话结束自动打包 → 一键传递到 Engineering
  2. Engineering 消费契约:前端先行(Mock 填充,即可演示),后端跟进
  3. 开发中手动调整(接口字段变更、交互优化等)自动记录,不影响当前流程
  4. 会话结束整合所有调整 → 生成新契约包 → 回传 PM 工作区同步
  5. 双边内容始终一致,下一轮迭代不会丢上下文

为什么这样改

  • 少交接 = 少丢上下文:每多一跳交接,信息衰减一次;两框架直连,把衰减降到最低
  • 设计自由度归用户:不强制绑定设计工具,Figma / Sketch / 纯代码都行,产出物直接进工程消费
  • 先演示再联调:前端 + Mock 就能跑起来,产品侧能尽早看到效果,不用等后端
  • 调整自动回流:开发中的临时决策不再靠"人记住",框架帮你记、帮你打包、帮你同步

升级影响

  • harness-designharness-solo 合并入 harness-engineering,不再单独维护
  • 契约方向从 4 条收拢为 PM ↔ Engineering 2 条
  • 现有项目的 docs/handoff/ 目录结构不变,v3.0 自动兼容
4 个赞

然后这是我基于这个框架做的一个项目管理工具,花了一天时间整理了整个产品方案后出了个mvp的demo,其实是个很简单的东西,但搭配框架能省很多事,不会局限于agent工具。
感兴趣可以了解一下,也能在可视化基础上帮大家理解在这个框架项目吧:https://reins-demo2.vercel.app/projects

4 个赞