Abraxas1010/agenthalo
GitHub: Abraxas1010/agenthalo
一个基于密码学证明的可验证数据库引擎,为 AI 智能体生命周期提供防篡改的可观测性保障。
Stars: 0 | Forks: 0
我们的技术栈是本体论的:硬件 — 物理学,软件 — 数学
NucleusDB — 可验证数据库引擎
每一次写入都是一次密码学承诺。每一次查询都附带证明。仅追加模式使得删除在数学上可见。
[](LICENSE.md)


[快速开始](#quick-start) · [Discord Bot](#discord-bot) · [SQL 接口](#sql-interface) · [MCP Server](#mcp-server) · [仪表板](#dashboard) · [形式化验证](#formal-verification) · [架构](#architecture) · [安全](#security)
属于 MENTAT 技术栈的一部分 — 第 1 层基础。同时也为 Agent H.A.L.O. 提供支持。
## 什么是 NucleusDB
NucleusDB 是一个具有以下三种特性的可验证数据库,这些特性通常分散在不同的系统中:
- 一个可变的工作数据库,支持 SQL、类型化值、blob 存储、向量搜索和多租户 HTTP 访问
- 一个证明层,精确的查询附带承诺证明
- 一个不可变的仅追加模式,采用单调密封链,用于审计日志和永久记录
这个独立的仓库从 AgentHALO 中提取了核心功能,并在此基础上发布了第一个具体应用:一个 Discord 记录器,将每条消息、编辑和删除事件作为仅追加的数据库条目进行存储。
## 快速开始
### 构建
```
cargo build --release \
--bin nucleusdb \
--bin nucleusdb-server \
--bin nucleusdb-mcp \
--bin nucleusdb-tui \
--bin nucleusdb-discord
```
### 创建数据库
```
./target/release/nucleusdb create --db ./records.ndb --backend merkle
printf 'SET MODE APPEND_ONLY;\n' | ./target/release/nucleusdb sql --db ./records.ndb
```
### 启动仪表板
```
NUCLEUSDB_DB_PATH=./records.ndb ./target/release/nucleusdb dashboard --port 3100
```
### 启动 MCP Server
```
./target/release/nucleusdb mcp --db ./records.ndb
./target/release/nucleusdb mcp --transport http --host 127.0.0.1 --port 3000 --db ./records.ndb
```
## 容器运维
维护了两个 compose 层面用于手动操作:
- `docker-compose.yml` 是临时的开发/测试技术栈。其数据是可丢弃的。
- `docker-compose.discord.yml` 是持久的 Discord 记录桥接。其数据旨在在重启后保留。
辅助封装脚本 `scripts/agenthalo-instances.sh` 安全地管理这两种模式:
```
./scripts/agenthalo-instances.sh list
./scripts/agenthalo-instances.sh start-dev
./scripts/agenthalo-instances.sh stop-dev
./scripts/agenthalo-instances.sh start-discord
./scripts/agenthalo-instances.sh stop-discord
```
在启动持久的 Discord 桥接之前:
```
cp deploy/discord.env.example deploy/discord.env
# 编辑 deploy/discord.env 并设置 NUCLEUSDB_DISCORD_TOKEN
```
## Discord Bot
`nucleusdb-discord` 连接到 Discord,将消息记录到一个仅追加的 NucleusDB 实例中,并公开验证/搜索命令。
### 环境变量
```
export NUCLEUSDB_DISCORD_TOKEN=...
export NUCLEUSDB_DISCORD_DB_PATH=./discord_records.ndb
export NUCLEUSDB_DISCORD_CHANNELS=all
export NUCLEUSDB_DISCORD_BATCH_SIZE=10
export NUCLEUSDB_DISCORD_BATCH_TIMEOUT_SECS=5
export NUCLEUSDB_DISCORD_RECORD_BOTS=false
export NUCLEUSDB_DISCORD_RECORD_EDITS=true
export NUCLEUSDB_DISCORD_RECORD_DELETES=true
```
### 运行
```
./target/release/nucleusdb-discord
```
### 记录模式
- 消息:`msg:
:`
- 编辑:`edit:::`
- 删除:`del:::`
每条存储的消息包括作者元数据、时间戳、附件元数据、提及/反应摘要,以及一个确定性的 `record_seal` 哈希。
### 斜杠命令
- `/status`
- `/verify`
- `/search`
- `/history`
- `/export`
- `/channels`
- `/integrity`
### 恢复模型
Bot 按消息计数或超时批量写入。启动时,它会从最后记录的消息 ID 开始回填频道历史,然后恢复实时记录。数据库本身保持在仅追加模式,因此编辑和删除被记录为新的事实,而不是覆盖先前的状态。
## SQL 接口
NucleusDB 在可验证的键值核心之上提供了一个专注的 SQL 方言。
```
INSERT INTO data (key, value) VALUES ('temperature', 42);
COMMIT;
SELECT key, value FROM data WHERE key = 'temperature';
SHOW STATUS;
SHOW HISTORY;
VERIFY 'temperature';
EXPORT;
```
关键属性:
- 精确的键确定性地映射到承诺索引
- 类型化值保留 JSON、字节、向量和标量形式
- `COMMIT` 是密码学边界,在此处推进见证、CT 头和单调密封
## MCP Server
独立的 MCP 层面公开了 16 个工具:
### 核心数据库工具
- `help`
- `create_database`
- `open_database`
- `execute_sql`
- `query`
- `query_range`
- `verify`
- `status`
- `history`
- `export`
- `checkpoint`
### Discord 工具
- `discord_status`
- `discord_search`
- `discord_verify`
- `discord_integrity`
- `discord_export`
支持 `stdio` 和可流式传输的 HTTP 传输。
## 仪表板
独立仪表板保留了重要的 NucleusDB/身份层面,并移除了 HALO 编排层。
部分:
- 概览
- 创世
- 身份
- 安全
- NucleusDB
- Discord
CRT 视觉语言被有意保留:扫描线、颗粒感、粗糙边框和终端色彩对比是产品标识的一部分,而不是遗留样式。
## 形式化验证
NucleusDB 将运行时操作桥接到由 [Heyting](https://github.com/Abraxas1010/heyting) 证明仓库维护的机器检查 Lean 4 证明。该系统提供三层:
1. **溯源层面** — 五个 Rust 模块(`security.rs`, `protocol.rs`, `ct6962.rs`, `vc/ipa.rs`, `sheaf/coherence.rs`)导出 `formal_provenance()`,将 22 个运行时操作链接到规范的 Heyting 定理 FQN 和 19 个本地 Lean 镜像路径
2. **证明门** — `configs/proof_gate.json` 定义了跨 6 个工具层面的 14 个定理要求,每个都绑定到一个精确的声明行 SHA-256、Heyting 提交哈希和 Ed25519 签名要求
3. **证书流水线** — `.lean4export` 签名的溯源证明,由 `src/verifier/` 针对语句哈希、提交哈希和签名进行验证
当前状态:建议模式(`enabled: false`)。证明门评估证书但不阻止操作。仪表板和 API 模拟结果并将其标记为建议。
验证和证书生成:
```
./scripts/validate_formal_provenance.sh # namespace-aware FQN resolution + commit-staleness check
./scripts/generate_proof_certificates.sh # generate + sign + submit certificates
cargo run --bin nucleusdb -- verify-certificate # verify a single certificate
```
本地 Lean 镜像位于 `lean/NucleusDB/` 下(74 个文件)。它们是自包含的,不导入 Heyting 模块。
完整详情:[Docs/FORMAL_VERIFICATION.md](Docs/FORMAL_VERIFICATION.md)。
## 架构
```
Discord Gateway ───────────────┐
│
▼
nucleusdb-discord
│
▼
append-only NucleusDB core
│
┌────────────────────┼────────────────────┐
▼ ▼ ▼
nucleusdb CLI nucleusdb-mcp nucleusdb-server
│ │ │
└────────────── dashboard/API/browser ───┘
```
核心子系统:
- `src/protocol.rs` — 提交、证明、见证签名、密封链
- `src/sql/` — 解析器和执行器
- `src/persistence.rs` — 快照加 WAL
- `src/blob_store.rs` / `src/vector_index.rs` — 内容寻址 blob 和嵌入
- `src/verifier/` — 证书解析器、证明门评估、Ed25519 签名验证
- `src/transparency/` / `src/vc/` / `src/sheaf/` — 形式化溯源层面
- `src/mcp/` — 代理控制层面
- `src/dashboard/` — Web 仪表板
- `src/discord/` — 记录器、恢复、斜杠命令
- `src/genesis.rs`, `src/identity.rs`, `src/vault.rs` — 提取的独立身份/安全模块
更完整的模块图请参阅 [Docs/ARCHITECTURE.md](Docs/ARCHITECTURE.md)。
## 安全
当前使用的密码学和操作层面:
- 用于 Discord 消息记录的 SHA-256 内容密封
- 用于提交历史的证书透明度风格根
- 提交上的见证签名
- 通过 `immutable.rs` 的仅追加密封链
- 用于身份/创世/保险库状态的 AES-GCM 加密本地文件
- 基于 Argon2 的密码派生主密钥
- Ed25519 签名的形式化溯源证书,将运行时操作绑定到 Lean 4 定理(建议模式)
操作指南:
- 仅将 Discord token 保留在环境文件中,永远不要放入源代码
- 在专用的 `nucleusdb` 系统用户下运行 bot
- 使用 `deploy/nucleusdb-discord.service`、`deploy/nucleusdb-mcp.service` 和 `deploy/nucleusdb-dashboard.service` 实现崩溃重启行为
- 当您需要单容器部署时,请使用统一的 `Dockerfile` 和 `docker-compose.yml`
## 测试
此独立仓库中保留的核心回归套件:
- `tests/end_to_end.rs`
- `tests/sql_tests.rs`
- `tests/keymap_tests.rs`
- `tests/persistence_compat_tests.rs`
- `tests/cli_smoke_tests.rs`
- `tests/discord_tests.rs`
- `tests/formal_integration_tests.rs` — 11 个测试,覆盖溯源层面、证明门配置、证书要求和重复检测
运行它们:
```
cargo test
```
## 仓库布局
- `src/` — Rust 实现
- `src/verifier/` — 证书解析器和证明门
- `dashboard/` — 嵌入式前端资源
- `deploy/` — systemd 单元、Docker 入口点、环境模板
- `configs/` — 证明门配置(`proof_gate.json`)
- `lean/NucleusDB/` — 74 个本地 Lean 4 镜像模块
- `scripts/` — 形式化溯源验证、证书生成
- `tests/` — 集成和回归测试
- `artifacts/` — 发布的可信设置工件
## 许可证
本仓库根据 Apoth3osis License Stack v1 发布。请参阅 [LICENSE.md](LICENSE.md) 和 [licenses/](licenses/)。
## 引用
请参阅 [CITATION.cff](CITATION.cff)。标签:Agent生命周期管理, AI智能体, Blob存储, Certificate Transparency, CVE, HTTP接口, Lean 4, MCP服务器, Merkle Tree, Merkle证明, ML-DSA-65, NucleusDB, Rust, SHA-256, SQL数据库, Zenmap, 不可变日志, 人工智能, 仅追加存储, 分布式账本, 区块链技术, 可视化界面, 可验证数据库, 后量子密码学, 向量搜索, 多线程, 审计日志, 密码学承诺, 形式化验证, 恶意软件库, 数字签名, 数据完整性, 数据溯源, 机器人, 用户模式Hook绕过, 网络流量审计, 记录系统, 证书透明度, 请求拦截, 防篡改监控, 零信任安全