JasonTeixeira/sage-kernel

GitHub: JasonTeixeira/sage-kernel

一个原生 MCP 的本地工程操作系统,让人类和 AI Agent 通过防篡改的证明账本驱动完整的软件开发生命周期,以证据取代直觉。

Stars: 1 | Forks: 0

# Sage Kernel ### 一个为本地机器打造的,证明优先、原生 MCP 的工程操作系统 **一个受控的统一界面,让您和您的 AI 编程 Agent 能够检查任何 repo,运行完整的 SDLC,并以证据而非直觉来交付。** [![License: MIT](https://img.shields.io/badge/License-MIT-22c55e.svg?style=flat-square)](LICENSE) [![Node](https://img.shields.io/badge/node-%E2%89%A5%2022-3c873a.svg?style=flat-square)](package.json) [![Protocol](https://img.shields.io/badge/protocol-MCP%20·%20stdio-6366f1.svg?style=flat-square)](docs/MCP_SERVER.md) [![MCP tools](https://img.shields.io/badge/MCP%20tools-140-0ea5e9.svg?style=flat-square)](docs/mcp-tools.md) [![Release gates](https://img.shields.io/badge/release%20gates-78%20green-16a34a.svg?style=flat-square)](docs/RELEASE_PROCESS.md) [![Runtime deps](https://img.shields.io/badge/runtime%20deps-5-64748b.svg?style=flat-square)](package.json) [快速开始](#-60-second-quick-start) · [工作原理](#-how-it-works) · [核心能力](#-what-it-does) · [架构](#-architecture) · [语言支持](#-language-support-honest) · [文档](#-documentation-map)
## ✦ 为什么选择 Sage Kernel 现代软件工作分散在十几个平台上——终端命令、Agent 提示词、QA 脚本、模板、安全扫描、发布检查、审批决策、运行历史和文档。Sage Kernel 将它们整合为**一个可审计的本地控制平面**,人类和 AI Agent 都可以通过相同的协议来驱动它。 其核心理念是**证明优先**:没有任何事情会因为模型的一面之词而被视为“完成”。每一个结果都有防篡改账本中的真实 artifact 作为支撑,或者被如实地报告为已阻塞。拒绝虚假的绿色通过。 ``` Ask the kernel ─► it runs real gates ─► it records proof ─► you (or your agent) trust the result ``` ## ⚡ 60 秒快速开始 ``` git clone https://github.com/JasonTeixeira/sage-kernel.git cd sage-kernel npm install # Node >= 22, zero heavy deps npm run mcp:smoke # real client handshake — prints "passed, 140 tools" # 将其指向你的任何 repo 并获得真实的 SDLC 评估(只读): npm run onboard -- /path/to/your/project ``` 您将获得一份单页报告:检测到的配置、循环得分、审查得分、安全状态、必需的检查以及主要差距——这些都是根据**您**的 repo 中的实际内容计算出来的。您的代码永远不会被修改。
将其接入您的 AI 客户端(永久生效) ``` { "mcpServers": { "sage-kernel": { "command": "node", "args": ["apps/mcp-server/src/server.mjs"], "cwd": "/absolute/path/to/sage-kernel", "env": { "SAGE_PROFILE_ALLOWED_ROOTS": "/Users/you/code:/Users/you/work" } } } } ``` - `cwd` **必须**是 kernel 的检出目录(它会根据 `cwd` 解析自己的数据库)。 - `SAGE_PROFILE_ALLOWED_ROOTS` 列出了 kernel 可以分析的父目录。 - 完整的详细指南:**[docs/GETTING_STARTED.md](docs/GETTING_STARTED.md)**。
## ✦ 工作原理 Sage Kernel 在每个任务上运行相同的严谨循环——这正是高级工程师遵循的操作顺序,并被转化为机械化、可证明的流程。 ``` flowchart LR A["① ORIENT
profile.gaps"] --> B["② DEFINE DONE
done.generate"] B --> C["③ LOOP
operate / gates"] C --> D{"④ PROVE
enforce.proof_gate"} D -- "no fresh proof" --> C D -- "diff-matched passing proof" --> E["⑤ SCORE
loop.score"] E --> F(("Result
backed by ledger")) style A fill:#0ea5e9,color:#fff,stroke:#0369a1 style C fill:#6366f1,color:#fff,stroke:#4338ca style D fill:#f59e0b,color:#111,stroke:#b45309 style E fill:#16a34a,color:#fff,stroke:#15803d style F fill:#111827,color:#fff,stroke:#000 ``` 其保证的是**完整性,而非一个数字**:只有当哈希链账本中存在全新的、与 diff 匹配的、通过的证明时,关于“已完成 / 已验证 / 通过”的声明才算有效。否则,kernel 会返回 `blocked_*` 并提供下一步建议。声明防火墙(claim-firewall)会扫描最终答案,并拒绝未经证实的成功表述。 ## ✦ 核心功能 ``` flowchart TB subgraph CLIENT["Your MCP client"] H["👤 Human"] AI["🤖 AI coding agent"] end CLIENT -->|"stdio · JSON-RPC"| SRV subgraph SRV["Sage Kernel — MCP server (140 tools)"] direction TB P["Profile & SDLC
profile · done · loop · score"] R["Review & Security
AST review · SAST · taint · supply-chain"] T["Testing
impact map · coverage · mutation · stress"] O["Operate & Autonomy
operate loop · self-heal · drive-goal"] G["Generate
templates · scaffolds · blueprints"] J["Ops
jobs · approvals · dashboard · audit log"] end SRV --> ENG[["Engines
acorn AST · dataflow · profiles"]] SRV --> LEDGER[["Proof ledger
hash-chained · HMAC-signed"]] SRV --> DB[("SQLite default
Postgres optional")] style CLIENT fill:#1e293b,color:#fff,stroke:#0f172a style SRV fill:#312e81,color:#fff,stroke:#1e1b4b style LEDGER fill:#7c2d12,color:#fff,stroke:#431407 style ENG fill:#155e75,color:#fff,stroke:#083344 style DB fill:#374151,color:#fff,stroke:#111827 ``` | 能力 | 您将获得什么 | | --- | --- | | **检查任何 repo** | 检测项目配置,计算“完成定义”(definition-of-done),评估健康度,并暴露真实的差距——只读模式。 | | **审查与强化** | 跨 5 个维度的基于 AST 的代码审查;SAST + 过程内污点分析(命令注入、eval、路径遍历、弱加密、原型污染、SSRF……)。 | | **深度测试** | 影响映射的测试选择、基于执行的覆盖率、变异测试以及压力/混沌矩阵。 | | **自主运行** | 一个自我修复的循环,驱动真实的模型修复故障,*证明或丢弃*,并重新验证——带有类型化的停止条件。 | | **生成** | 通过机器可读的目录生成生产级应用模板和脚手架。 | | **治理** | 签名批准、权限边界、防篡改的审计日志以及本地运维 dashboard。 | ## ✦ 架构 ``` flowchart TD subgraph APPS["apps/"] MCP["mcp-server
stdio · 140 tools · contracts"] DASH["dashboard
local ops cockpit"] WRK["worker
jobs · queue · runs"] end subgraph PKGS["packages/"] CORE["core
runtime · policy · error envelope"] AST["ast
acorn parse + walk"] REV["review · security
SAST · taint · supply-chain"] TEST["testing
impact · coverage · mutation"] PROF["profiles
detection · toolchain"] COMP["companion
operate · decompose · drive-goal"] PROOF["proof
ledger · graph · claim-firewall"] DBP["db
sqlite · postgres adapters"] end CAT["catalog/
repos · templates · phases"] MCP --> CORE --> AST CORE --> REV & TEST & PROF & COMP REV & TEST & PROF & COMP --> PROOF CORE --> DBP MCP --> CAT DASH --> CORE WRK --> CORE style APPS fill:#1e3a8a,color:#fff,stroke:#1e1b4b style PKGS fill:#0f766e,color:#fff,stroke:#134e4a style PROOF fill:#7c2d12,color:#fff,stroke:#431407 ``` | 层级 | 路径 | 职责 | | --- | --- | --- | | MCP server | `apps/mcp-server/` | stdio server,140 个工具的 manifest,资源,提示词,契约,冒烟测试 | | Runtime | `packages/core/` | 工具调度,策略/批准检查,统一的 `{ok,data}`/`{ok,error}` 封装格式 | | 分析引擎 | `packages/{ast,review,security,testing,profiles}/` | acorn AST,SAST + 污点分析,覆盖率,配置检测 | | 伴随循环 | `packages/companion/` | 运行循环,目标分解,自主驱动程序,能力注册表 | | 证明主干 | `packages/proof/` | 哈希链 + HMAC 签名的账本,证明图,声明防火墙 | | 持久化 | `packages/db/` | SQLite(默认)和 Postgres 适配器,迁移/备份/恢复 | | 目录 | `catalog/` | 机器可读的 repo、模板、集成和阶段注册表 | 完整细节:**[docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)** · **[docs/RUNTIME_ENGINE.md](docs/RUNTIME_ENGINE.md)** ## ✦ 真实的交互过程 ``` sequenceDiagram participant U as You / AI agent participant K as Sage Kernel participant L as Proof ledger U->>K: kernel.profile.gaps { projectPath } K-->>U: { ok, profile, confidence, gaps[] } U->>K: kernel.operate.run { goal, acceptanceCriteria, files } K->>K: run gates concurrently · diagnose · repair · re-verify K->>L: record a proof per gate (diff-hashed) K-->>U: { ok, status, score, evidenceIds[] } U->>K: kernel.enforce.proof_gate K->>L: is the current diff backed by a passing proof? K-->>U: { allowed: true, proofId } ← only then is it "done" ``` 每个工具都返回统一的封装格式——成功返回 `{ ok: true, data }`,失败返回 `{ ok: false, error: { code, kind, message } }`。服务器永远不会因为错误的调用而崩溃;它会返回一个类型化的错误。 ## ✦ 语言支持(实事求是) Sage Kernel 可以检测并评分**任何**项目,但分析深度原生支持 JS/TS。此矩阵准确设定了预期: | 能力 | JS / TS / Node | Python | Go · Rust · Java · Ruby · PHP · Swift | | --- | :---: | :---: | :---: | | 配置检测 + 完成定义 | ✅ 深度 | ✅ | ✅ | | 循环得分 · 差距 · 必需检查 | ✅ | ✅ 元数据 | ✅ 元数据 | | AST 代码审查 (`review.quality_score`) | ✅ 结构化 | ⚠️ 启发式 | ⚠️ 元数据 | | SAST + 污点分析 (`security.proof`) | ✅ AST 数据流 | ⚠️ 正则规则 | ❌ 仅元数据 | | 执行的覆盖率 / 测试运行 | ✅ `node --test` | ➖ 推断 | ➖ 推断 | | 工具链命令 | `npm` | `pytest` | `go test` · `cargo` · `mvn` … | **请在 Node/TS repo 上信任完整的 SDLC 深度。将非 Node 输出视为配置 + 元数据指导**(kernel 会通过 `toolchainNote` 如实地标记它)。 ## ✦ 已被证明的质量 Sage Kernel 以其要求他人的标准来要求自己。这种证明是可复现的: ``` npm test # full unit suite npm run release:check # 78 hard gates, must exit 0 npm run mcp:smoke # real MCP client handshake npm run security:scan # secret scan npm run publish:ready # OSS publish-readiness gate ``` - **140 个 MCP 工具**,每一个都有从源码提取的 conformance 测试覆盖。 - **78 道发布关卡**在每次更改时运行(lint、类型、契约、安全、覆盖率、压力、漂移、文档)。 - **基于执行的覆盖率**——“已测试”意味着*已执行*,而不是仅仅可达。 - **防篡改的证明账本**——哈希链,可进行 HMAC 签名,遇错即关闭的验证。 - **对抗性度量的安全性**——使用保留的和新生成的语料库,而非刻意调整出的 1.0 指标。 详情:**[docs/QUALITY_RATCHET.md](docs/QUALITY_RATCHET.md)** · **[docs/RELEASE_PROCESS.md](docs/RELEASE_PROCESS.md)** ## ✦ 日常命令 `sage` CLI 是可选的——使用 `npm link` 启用一次即可(或者直接调用 `node bin/sage.mjs `)。`npm run` 命令则无需 link。 ``` npm link # one-time: makes the `sage` command available sage daily # health, tools, jobs, approvals, next actions sage audit . # repo audit workflow sage mcp config cursor --json # generate client config npm run onboard -- # one-shot SDLC report for any project (no link needed) npm run engineer:measure # proof-backed capability scorecard npm run stress:verify -- --passes 5 # stability / flake detection ``` 完整参考:**[docs/USAGE.md](docs/USAGE.md)** ## ✦ 通过您的 AI 客户端驱动(斜杠命令链) 一旦 MCP server 接入您的客户端(参见[入门指南](docs/GETTING_STARTED.md)),您只需描述一个预期结果,Agent 就会调用正确的 `kernel.*` 工具。为了让常见的多步骤流程一键完成,请将预制的命令链复制到您客户端的 commands 目录中: ``` cp examples/slash-commands/*.md ~/.claude/commands/ # Claude Code (user-scoped) ``` 每个命令链都明确指出了具体的 sage-kernel 工具(因此路由是确定性的),并且可以与您的其他 MCP server(文档、浏览器、GitHub)组合使用: | 命令 | 命令链 | 用途 | | --- | --- | --- | | `/sk-audit [path]` | profile → done → loop score → review → security → top-5 fixes | 评估任何 repo | | `/sk-onboard ` | 单屏 SDLC 报告 | 首次了解一个项目 | | `/sk-feature ` | 当前文档 → 实现 → 测试 → 对 diff 进行 review/security | 正确地构建一个更改 | | `/sk-ship [title]` | review → verify → proof gate → 附带证据开启一个 PR | 带着证据合并,而非凭直觉 | | `/sk-secure [path]` | SAST + 污点分析 + 供应链,按严重程度排序 | 一次专注的安全审查 | | `/sk-proof` | 对当前 diff 强制执行证明关卡 | 确认工作有真正的证明支持 | 一个典型的循环:`/sk-audit` → `/sk-feature add X` → `/sk-ship` → `/sk-secure`。`/sk-ship` 和 `/sk-proof` 中的证明关卡会拒绝批准没有通过全新证明作为支撑的 diff。模板:**[examples/slash-commands/](examples/slash-commands/)**。 ## ✦ 文档导航 | 从这里开始 | 参考 | 运维 | | --- | --- | --- | | [入门指南](docs/GETTING_STARTED.md) | [架构](docs/ARCHITECTURE.md) | [使用指南](docs/USAGE.md) | | [安装](docs/INSTALL.md) | [MCP Server](docs/MCP_SERVER.md) · [客户端](docs/MCP_CLIENTS.md) | [安全模型](docs/SECURITY_MODEL.md) | | [使用 Kernel](docs/USING_SAGE_KERNEL.md) | [MCP 工具](docs/mcp-tools.md) · [资源](docs/mcp-resources.md) · [提示词](docs/mcp-prompts.md) | [持久化](docs/PERSISTENCE.md) | | [工程循环](docs/ENGINEERING_LOOP.md) | [Runtime 引擎](docs/RUNTIME_ENGINE.md) | [发布流程](docs/RELEASE_PROCESS.md) · [发布证明](docs/RELEASE_PROOF.md) | | [可视化指南](docs/VISUAL_GUIDE.md) | [源码仓库策略](docs/source-repo-policy.md) | [质量棘轮](docs/QUALITY_RATCHET.md) | 其他:[路线图](docs/ROADMAP.md) · [贡献指南](CONTRIBUTING.md) · [安全政策](SECURITY.md) · [行为准则](CODE_OF_CONDUCT.md) · [更新日志](CHANGELOG.md) ## ✦ 开发 ``` npm install npm run catalog:validate npm run mcp:contracts # regenerate tool contracts from the manifest npm run release:check # the full gate suite ``` 可选的 Postgres 路径: ``` docker compose -f docker-compose.postgres.yml up -d postgres SAGE_RUN_POSTGRES_TESTS=1 DATABASE_URL=postgresql://sage:sage@127.0.0.1:55432/sage_kernel npm run postgres:integration ``` ## ✦ 状态与理念 Sage Kernel **对于 JS/TS/Node 项目上的本地、原生 MCP 工程工作流而言是生产级别的**,对于其他所有语言,它也是一个真正有用的 profile/meta 层。它默认是本地优先的;请将公共网络暴露视为一个单独的强化项目。 它建立在一个不可协商的原则之上:**不空口无凭,一切皆有证明。** 没有虚假的绿色通过,没有脚手架假象,没有不劳而获的分数。
**[开始使用 →](docs/GETTING_STARTED.md)** · 采用 [MIT](LICENSE) 许可
标签:AI辅助编程, GNU通用公共许可证, MCP协议, MITM代理, Node.js, SOC Prime, 开发工具, 数据管道, 本地控制平面, 测试用例, 自定义脚本, 软件工程, 软件生命周期