JasonTeixeira/sage-kernel
GitHub: JasonTeixeira/sage-kernel
一个原生 MCP 的本地工程操作系统,让人类和 AI Agent 通过防篡改的证明账本驱动完整的软件开发生命周期,以证据取代直觉。
Stars: 1 | Forks: 0
# Sage Kernel
### 一个为本地机器打造的,证明优先、原生 MCP 的工程操作系统
**一个受控的统一界面,让您和您的 AI 编程 Agent 能够检查任何 repo,运行完整的 SDLC,并以证据而非直觉来交付。**
[](LICENSE)
[](package.json)
[](docs/MCP_SERVER.md)
[](docs/mcp-tools.md)
[](docs/RELEASE_PROCESS.md)
[](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)**。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
**[开始使用 →](docs/GETTING_STARTED.md)** · 采用 [MIT](LICENSE) 许可
标签:AI辅助编程, GNU通用公共许可证, MCP协议, MITM代理, Node.js, SOC Prime, 开发工具, 数据管道, 本地控制平面, 测试用例, 自定义脚本, 软件工程, 软件生命周期