Abraxas1010/agenthalo

GitHub: Abraxas1010/agenthalo

一个基于密码学证明的可验证数据库引擎,为 AI 智能体生命周期提供防篡改的可观测性保障。

Stars: 0 | Forks: 0

Apoth3osis Logo 我们的技术栈是本体论的:硬件 — 物理学软件 — 数学

NucleusDB

NucleusDB — 可验证数据库引擎
每一次写入都是一次密码学承诺。每一次查询都附带证明。仅追加模式使得删除在数学上可见。

[![License: Apoth3osis License Stack v1](https://img.shields.io/badge/License-Apoth3osis%20License%20Stack%20v1-blue.svg)](LICENSE.md) ![Rust](https://img.shields.io/badge/Rust-stable-orange.svg) ![Lean 4](https://img.shields.io/badge/Lean%204-formal%20proofs-blue.svg) [快速开始](#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绕过, 网络流量审计, 记录系统, 证书透明度, 请求拦截, 防篡改监控, 零信任安全