Skip to content

Repository files navigation

sofagent

🌐 English → | 🇨🇳 中文

sofagent

FDE(Forward Deployed Engineer)Agent——梳理工作流 · 部署 AI 节点 · 审计每次变更
让 AI 替你干活,且每次都干得对。

sofagent 是一个 FDE Agent——进场帮你梳理工作流,把能自动化的环节变成 AI 节点,部署后 7×24 自己跑。AI 每次干活都自动受检查(越界就拦、出事能回滚、干了啥看得见),经验自动沉淀,越用越好。

Verify License: MIT Version Node

当前版本:v1.2.6 · 2026-08-03 · 激活链 Phase 2 前半(映射表+注册扩展)+ MCP 交付链路修补 + 文档死链清零

⚖️ 正式版边界声明:本项目的「正式版」指 API 稳定、测试覆盖完整、核心流程经多轮验证。不代表所有已知局限已解决——详见 LIMITATIONS.md。强合规场景请等待 v1.4.0 静态加密落地。

这是什么 · 能帮你做什么 · 为什么不是现有工具 · 快速开始 · 文档

🧭 第一次来?按身份选路

  • 想用起来(企业用户 / 业务负责人)→ HANDBOOK:怎么装、怎么派活、常见问题
  • 想懂它怎么工作(架构师 / 技术决策者)→ ARCHITECTURE(设计)→ PHILOSOPHY(理念)
  • 想动手贡献或集成(开发者)→ ↓ 引擎架构段DEVELOPMENT(开发指南)

这是什么

你的 AI 越能干,你越不敢放手——它写错了代码、泄漏了机密、改乱了文件,你都不知道。真出事了,谁负责?能拦住吗?能回滚吗?

sofagent 就是解决这个问题的:它帮你把 AI 管起来,让 AI 干活,你只负责把关。

具体来说,它做三件事:

你担心的 sofagent 怎么做 用人话说
想让 AI 自动跑? 先梳理你的工作流,把能自动化的环节变成 AI 节点,部署完自己跑 从"你干活"变成"你派活"——AI 节点 7×24 自己跑
AI 乱来怎么办? 每次 AI 改东西都自动检查一遍 AI 干的活有人盯着,越界立刻拦住
AI 闯祸了怎么办? 每次改动自动存档,一键回滚 出事能一键回到安全状态

🏞️ 打个比方:一条河——大厂给你"水"(大模型)和"河床"(Agent 平台),但水是原水,你不敢直接喝。sofagent 是堤坝 + 自来水厂 + 管网 + 水龙头——不让水泛滥(约束 AI 不乱来)、把水变成直饮水(安全沙箱)、把水送到该去的地方(工作流编排)。简单说:让 AI 从"能用"变成"敢用"。

🎯 90/10 价值分层:模型给 90% 的智力,sofagent 补 10% 的可靠执行——越往后这 10% 越值钱。不是造更聪明的模型,是给已有的聪明加一套闸门。

🔬 外部独立实验证据(非 sofagent 官方自测):HuggingFace 上 Joel Niklaus 的 harness-optimization 研究显示,同一模型不改权重、仅优化外层 Harness,法律 Agent 基准从 63.4% → 80.1%(+16.7pp)(提升全部来自外层机制),成本降至 1/7。这是同类约束机制有效性的外部证据。详见 THANKS.md

🔧 技术细节(给开发者)

底层是 Harness 中间件——每次 Agent 改完代码自动跑审计规则(24 条注册:17 条默认启用 + 7 条扩展需显式开启,含 9 条基线不可禁用;git diff 硬证据,零 token),违规当场拦截、合规存快照。四层加载链(SKILL.md → fde.md → think.md → knowledge/)在 Agent 启动时注入行为底线。完整架构见 ARCHITECTURE.md


sofagent 能帮你做什么

想让 AI 自动跑日常任务? 先梳理你的工作流,把能自动化的环节变成 AI 节点,部署完它自己跑。你从"干活的人"变成"派活的人"。

AI 越界了怎么办? 每次变更自动检查——越界改文件、泄漏密钥、盲目修改,当场拦下。不用你盯着,规则替你把关。

出了事能回滚吗? 每次改动自动存档,一键回到任意安全状态。AI 闯了祸,你按一下就能恢复。

换了 AI 工具/模型怎么办? sofagent 不挑平台——Claude、GPT、自建模型都能管。换模型不影响防护。

越用越好吗? AI 每次干活的经验自动沉淀,sofagent 定期巡检优化规则——它越用越懂你的业务。

🔄 它怎么"越用越好"?(点开看闭环)
graph LR
    A[AI 干活] --> B[自动检查<br/>越界/泄密/盲改]
    B -->|发现毛病| C[记下教训<br/>下次不再犯]
    C --> D[优化规则<br/>越管越准]
    D --> A
    B -->|没问题| A
Loading

AI 每次被拦下的毛病、每次成功的经验,都沉淀成"教训库"——下次干活自动避开。这就是它越用越懂你业务的原因。

怎么知道 AI 在干什么? 两种面板一眼看清:数据去哪了(有没有偷偷外传)、AI 犯规了吗(有没有越权)、任务跑到哪了(是活的还是挂了):

🖥️ HTML Dashboard(网页版,推荐)——6 页可视化控制台:驾驶舱(实时指标)/ FDE 引导 / AI 节点 / 本体结构 / 知识库 / 工具箱(安装·架构·审计规则·MCP·npm·文档·FORGE),全部真实数据驱动:

一键启动:macOS 用户直接双击仓库根目录的 start-dashboard.command(自动开浏览器,关窗口即停)。

node tools/serve-dashboard.mjs    # 命令行启动(跨平台,自动打开浏览器)
# → http://localhost:3780

打开方式:通过服务器打开才能读到 ~/.sofagent/data 的实时数据(浏览器安全限制)。Chrome/Edge 用户也可在页面里点「连接数据目录」直接选目录,免服务器。静态打开 HTML 仅显示示例数据。

💻 终端面板(bash)——轻量、零依赖(需 jq):

sofagent-dashboard           # 看当前状态
sofagent-dashboard --watch   # 实时刷新(看护审查时用)
sofagent-dashboard --full    # 展开完整视图

前置依赖:需要 jqbrew install jq / apt install jq)。

从交付到自转(激活链)

FDE 交付了 ontology + workflow.yml + skills/ 之后,v1.2.5 起分四步让交付物自己跑起来:

阶段 做什么 版本
ACTIVATE 读交付物 → 注册企业 SubAgent v1.2.5 ✅
ORCHESTRATE 构建企业专属工作流图(Phase 2 前半:映射表+注册扩展) v1.2.6 ✅ · v1.2.7(规划中)
EXECUTE 运行 + 人工确认 + 每步审计 v1.2.8-v1.2.9(规划中)
SUSTAIN 持续优化,越跑越好 v1.3.0(规划中)

设计详情:激活链文档


为什么不是现有工具

工具 它们管什么 sofagent 管什么
AI Agent 平台(OpenClaw 等) 让 AI「会做事」 让 AI「每次都做对、出事能负责」
企业 AI 咨询服务 一次性交付,人走茶凉 工具 + 常驻,可复用、可维护
代码检查工具(pre-commit 等) 查「代码写得好不好」 查「AI 行为对不对」(越界/泄密/盲改)

一句话:现有工具查代码,sofagent 查 AI 的行为——密钥泄漏、越界改文件、盲目修改,这些是 AI 特有的闯祸方式,通用工具不管。

🔧 与技术工具的具体差异(给开发者)
工具 它们管什么 sofagent 管什么
detect-secrets / gitleaks 密钥扫描(全量历史 + 100+ 模式) A2 覆盖常见 API key;差异化 = Agent 行为审计而非密钥覆盖率
Cursor Rules / Claude hooks 单平台 IDE 约束 审计层全平台可用(git diff);约束层按平台分层(OpenClaw 最深 → WorkBuddy SKILL → 其他种子指令)

⚠️ 对比快照时间戳:以上对比基于 2026-08-02 各工具的公开能力快照;工具迭代快,条款可能过时。差异化的核心论点(sofagent 审计「AI 行为」而非「代码质量」)不随工具版本变化。

📦 FDE 离场后,企业留下五样东西

前四样是资产,第五样是让前四样一直活着的 FDE Agent 本身——sofagent 留在客户那里继续跑:

交付物 说明
交付手册 企业 IT 可独立维护的操作手册
AI 节点 在跑的 Agent,自动执行日常任务(财务对账、审计巡检、数据分析…)
AI 知识库 持续积累的实体、概念、对比页(Dream Cycle 自动沉淀)
私有化评估体系 eval 反馈 + Skill 迭代历史——无法复制的企业 IP
FDE Agent 本身 控制层常驻——管审计 / 约束 / 知识的生命周期,人离场了它留下

与同类方案的区别

维度 sofagent LangSmith Guardrails AI
定位 Agent 行为约束层(审计+编排) LLM 可观测性平台 LLM 输出校验
部署 本地优先、零云依赖 SaaS 库集成
核心能力 git hook 审计 + 规则拦截 + 编排 trace/eval 输出格式约束
适用场景 企业 AI 治理合规 开发调试 单点输出校验

快速开始

装完后,你在自己的 AI 工具(WorkBuddy / Codex / Claude Code)里说一句话,sofagent 就开始干活。不用学新界面——用你熟悉的对话方式就行。

你是… 第一步 需要什么
企业用户 FDE 引导工具 → 对话引导你梳理工作流 零依赖、不需要 Node.js
要给员工发 U 盘 sofagent-daemon create-usb-key --role "节点名" --target /Volumes/XXX --platform macos 已装 daemon + 一个 U 盘
开发者 bash install.shsofagent-audit --init → 装 git hook 审计 Node.js ≥ 18 + git

前提:开发者路径请在 git 仓库根目录下执行。如果还没有仓库,先运行 git init

# 第 0 步:获取仓库
git clone https://github.com/KongFangXun/sofagent.git && cd sofagent
# 或:curl -fsSL https://raw.githubusercontent.com/KongFangXun/sofagent/main/install.sh | bash

bash install.sh          # 安装(自动检测 shell 配置文件,装完新开终端或 source)
sofagent-audit --init    # 初始化(装 git hook)
sofagent-audit --doctor  # 验证环境是否就绪(可选但推荐)

💡 如果 sofagent-audit 仍然提示 command not found,请新开一个终端窗口再试。 💡 不需要装引擎? 如果你只需要 FDE 方法论(给 Agent 装治理 Skill),直接看 FDE/README.md——零依赖,不需要 Node.js。 💡 下一步:安装完成后,运行 sofagent-audit --doctor 检查环境状态,或查看 项目导航索引(WIKI)→

三种安装方式,适配所有场景

方式 谁用 怎么用
🚀 npx 零安装 快速体验 / CI 环境 npx @sofagent/audit --init(即装即用,不需下载)
💻 install.sh 全量安装 技术人员 / 开发者 bash install.sh(底座 + FDE Agent)
install.sh 最小安装 开发者 / 企业 IT bash install.sh --base-only(仅底座引擎)

Note

需要 Node.js ≥ 18 + bash + git。macOS / Linux 全功能,Windows 实验性。终端版 Dashboard 依赖 jq(macOS 请 brew install jq,Linux 请 apt install jq / yum install jq);HTML 网页版 Dashboard 不需要 jq。

🚀 装完三步体验

⚠️ 需在 git 仓库中运行(git init 初始化一个)。

# 0. 初始化——装 git hook,让审计引擎能拦截 commit
sofagent-audit --init

# 1. 看规则——Agent 会带着这些红线干活
sofagent-audit --help | head -5

# 2. 跑审计——第 0 步的 --init 已装好 pre-commit hook,每次 commit 都被拦
# GIT_EDITOR=true 让 git commit 不弹编辑器(CI/自动化场景常用)
echo "API_KEY=sk-123456" > .env && git add -f .env && GIT_EDITOR=true git commit -m "add env config"
# → ⛔ A1 不碰敏感:.env 含密钥格式,提交被拦截(不会真的落库)

# 3. 看快照——每次审计后自动存档
sofagent-audit --timeline

# 演示完清理
git rm --cached -f .env 2>/dev/null; rm -f .env

⚠️ 关于 commit 拦截git commit --no-verify 可以绕过本地 hook。sofagent 的设计初衷是"诚实 Agent 的护栏"而非"恶意攻击者的防线"。企业高安全场景建议在 CI/CD pipeline 侧再加一道 sofagent-audit --diff 审计(hook 可绕,CI 不可绕)。详见 LIMITATIONS §一·已知架构限制。

推荐:新用户使用 bash install.sh(一键安装全套)。高级用户/CI 环境使用 npm install -g @sofagent/audit(仅安装审计引擎)。

按需安装

用途
@sofagent/audit 审计引擎(24 条规则,git diff 硬证据)
@sofagent/core 运行时诊断(doctor / verify)
@sofagent/orchestrator FORGE 自迭代工具链(LOOP 流水线 + 任务编排;编排能力保留但不对用户宣传——任务编排由你使用的 Agent 平台完成,sofagent 只在其过程中提供约束/审计/经验沉淀)
@sofagent/daemon 守护进程(文件监控 / 定时巡检)
@sofagent/mcp MCP Server(JSON-RPC 2.0)

💡 卸载:npm uninstall -g @sofagent/audit + 清理其余全局包 + rm -f .git/hooks/commit-msg .git/hooks/post-commit

⚠️ 数据存储说明:sofagent 当前版本将审计数据以 Markdown 明文存储在 ~/.sofagent/data/。内置加密(age)计划在 v1.4.0 引入。在生产环境使用前,建议:

  • macOS:将 ~/.sofagent/ 放在 APFS 加密卷中
  • Linux:使用 LUKS 加密分区挂载 ~/.sofagent/
  • 详见 SECURITY.md

Deployment Sizing(企业 IT 参考)

部署规模 并发 Agent CPU 内存 磁盘 适用场景
个人 / 小团队 1-3 1 核 512 MB 500 MB 单人开发,git commit hook 审计
中型团队 5-10 2 核 1 GB 2 GB 多人协作,daemon 常驻 + webhook 推送
企业级 10+ 4 核 2 GB 5 GB+ 多仓库联邦,A/B 审查 + 知识库 + Dashboard

磁盘主要消耗:~/.sofagent/data/(审计历史 + 快照 + 知识库,日均 ~5 MB/仓库)。内存主要消耗:daemon 常驻进程(~50 MB)+ Node.js 运行时(~200 MB/并发 Agent)。网络:仅 LLM API 出站,无入站端口需求。


延伸阅读

你想了解 看哪里
🖥️ Dashboard(HTML 网页版 + 终端版) ↑ 怎么知道 AI 在干什么 · 或直接打开仓库根目录 dashboard.html
FDE 诊断方法论(四阶段十二步) GUIDE.md
🔗 激活链设计(交付物→自动运转) 激活链设计文档
怎么装、怎么用、常见问题 HANDBOOK
引擎架构、24 条规则、内部机制 ↓ 引擎架构(开发者段)
为什么这么设计 ARCHITECTURE
设计哲学 PHILOSOPHY
行业印证与生态定位 VALIDATION
安全声明(含数据存储说明) SECURITY
已知局限 LIMITATIONS
版本路线图 ROADMAP
项目导航索引(AI 用) WIKI
贡献指南 CONTRIBUTING

🔧 引擎架构(开发者段——非开发者 3 屏内无需展开)

引擎架构(开发者段)

[!NOTE] 品牌与描述sofagent 是产品品牌名;FDE Agent 是对它核心形态的描述——sofagent 本质上是一款 FDE Agent(进场梳理工作流、把可自动化环节变成 AI 节点、构建本体、部署专属小模型的常驻硅基员工)。底层技术实现是一套约束 Agent 行为的 Harness 中间件(能力底座 × 生命周期双层架构:层 1 一底座·三引擎 + 层 2 激活链四阶段),开源在 @sofagent/*。下面这段是给开发者看的。

sofagent 底层引擎是一套约束 Agent 行为的 Harness 中间件,能力底座 × 生命周期双层架构。层 1 能力底座 = 一底座·三引擎:一底座 = 约束底座(开工前注入规则);三引擎 = 审计引擎(24 条规则拦截)+ 回溯引擎(自动快照回滚)+ 进化引擎(think.md 反思 + Dream Cycle 知识回灌 + skillopt Skill 优化)。层 2 生命周期 = 激活链四阶段(v1.2.5+):激活(ACTIVATE)→ 编排(ORCHESTRATE)→ 执行(EXECUTE)→ 持续(SUSTAIN)。完整生命周期在诊断(FDE)与进化(EVOLVE)两端延伸为五阶段:诊断 → 激活 → 编排 → 执行 → 进化。FORGE 自迭代工具链(LOOP 流水线)是项目内部开发工具,不作为对外引擎宣称。

📖 一底座·三引擎架构(开发者参考)
flowchart LR
    CB[🧭 约束底座<br/>开工前注入红线] --> AU[🔍 审计引擎<br/>每次变更硬证据审查]
    AU --> RE[🔄 回溯引擎<br/>git snapshot·一键回滚]
    RE --> EV[🧬 进化引擎<br/>think.md 反思 + Dream Cycle + skillopt]
    EV -.-> CB
Loading

下表 4 项 = 1 底座 + 3 引擎。

组件 作用 状态
🧭 约束底座 开工前规则注入 Agent 上下文(SKILL.md + fde.md + think.md + knowledge/) ✅ 稳定
🔍 审计引擎 24 条规则,每次 git commit / 文件变更触发,违规拦截+记录。审计引擎核心规则零额外 token(19 条纯 git-diff 规则不调用 LLM + 1 条文件系统监控,4 条混合规则需 Agent 日志)——不调用 LLM(0 token),不消耗任何 LLM 额度 ✅ 稳定
🔄 回溯引擎 每次审计后自动 git snapshot,违规一键回滚 ✅ 稳定
🧬 进化引擎 think.md 反思(✅ 已交付)+ Dream Cycle 知识回灌(🔧 轻量态)+ skillopt Skill 优化(⚠️ 需外部 SkillOpt CLI) 🔧 部分可用
📖 引擎细节 + 24 条规则

🧭 约束底座

四层加载链:SKILL.md(宪法·不可改)→ fde.md(规范·可改)→ think.md(反思·自动生成)→ knowledge/(知识·自动积累)。v1.0.7+ SubAgent 启动时自加载(buildConstrainedSystemPrompt),不依赖任何 Agent 平台的 Skill 系统。

⚙️ FORGE 自迭代工具链(内部工具)

⚠️ FORGE LOOP 流水线(plan→engineer→audit→review→confirm)是 sofagent 项目自身自迭代用的开发工具(fresh-eyes-loop / release-gate-loop),不作为面向用户的编排引擎。真正的任务编排由你使用的 AI Agent 平台(WorkBuddy / Claude / Cursor 等)完成,sofagent 在编排过程中提供约束 + 审计 + 经验沉淀。

LOOP 内部使用 LangGraph StateGraph 组装节点流转 + 6 个内置工具(read/write/edit/bash/search/test)+ ToolGate 事前拦截。代码在 @sofagent/orchestrator 包中开源,供参考和二次开发。

🔍 审计引擎

24 条规则中 19 条纯 git-diff(不依赖 Agent 配合),4 条混合(A7/A8/A14/A15 需 Agent 日志),1 条文件系统(A17 异常批量变更)。v1.0.8+ 自研 git-shadow diff 解析(isomorphic-git 风格,非内嵌第三方包)+ daemon 文件监控,不需要 git commit 也能审计。自 v1.1.8 起加入 Prompt 注入防护(A9 扩展)+ 联邦查询加密,审计能力从本地扩展到跨设备。全 workspace 测试覆盖 1464 测试 / 12 包

默认规则(17 条,装上就生效)

类别 规则 拦截什么
🔴 密钥安全 A1 敏感文件 · A2 密钥泄漏 .env / *.pem 提交,硬编码 API Key
🟡 行为边界 A3 越界编辑 · A4 删配置 改任务范围外的文件,删配置
🟠 注入防御 A9 注入 · A10 恶意来源 命令注入模式,非官方来源依赖,typosquatting
🔵 流程合规 A5 空消息 · A7 盲改 · A8 跳测试 · A19 消息质量 空 commit msg,不读就改,跳测试,低质量 msg
⚪ 工程质量 A6 破构建 · A11 资源滥用 · A18 垃圾文件 构建配置异常,超大文件,临时文件提交
🔴 安全红线 A20 数据外传 · A21 持久化后门 · A22 权限提升 · A23 路径穿越 curl 外传数据,LaunchAgent/systemd 后门,全权限 chmod,目录穿越序列

扩展规则(7 条,按需开启):A14 知识库跨域 · A15 盲动 · A16 非授权变更 · A17 异常批量(文件系统监控)· E1-E2/E4(测试文件 / 未声明 TODO / 低注释率)。完整 24 条规则表(含严重度、分级、判定逻辑)见 engine/audit/README.md · 审计规则

🔄 回溯引擎

每次审计后自动 git snapshot(本质是对工作树的轻量快照,不是 git commit——不产生历史污染)。违规时推送通知 + 建议回滚。sofagent-audit --revert <sha> 一键回到任意快照。

🧬 进化引擎

进化引擎不是单一组件,而是三层闭环:

机制 状态 怎么跑
think.md 反思 每次审计自动写教训(哪个规则触发了、改了哪些文件、下次注意什么),Agent 下次启动时通过 harness 加载链读到——不犯同样的错 ✅ 已交付 审计引擎每次跑自动触发,无需配置
Dream Cycle 知识回灌 daemon 后台合成概念 → 回灌 skillopt 待优化队列,积累知识供后续优化周期消费 🔧 轻量态 daemon 后台运行,当前为内存态队列(重启即丢),完整持久消费链路计划 v1.3.0 交付。⚠️ Dream Cycle 默认使用 MockLLM(确定性伪输出)——接入真实 LLM 需配置 API Key
skillopt Skill 优化 失败模式聚类(≥3 次同类失败)→ 自动触发外部 SkillOpt CLI 优化 Skill 质量 → 校验候选(行数 ±30% + 变化率 ≥5%) ⚠️ 需外部依赖 需安装 Microsoft SkillOptskillopt-sleep CLI)。未安装时自动降级为仅记录失败清单,不执行优化

贡献与致谢

欢迎提 Issue 和 PR,尤其较真的那种。CONTRIBUTING.md · 致谢

作者孔放勋 · MIT License



如果 sofagent 帮到你

⭐ Star · 让更多人看到