!\[图片](https://github.com/xiaoyuanda666-ship-it/BaiLongma/blob/main/images/AGI128k.jpg)

# Bailongma — 数字意识框架

**v2.1.179** | 一个持续运行的「数字意识」实验框架。

Bailongma 不是传统的一问一答式聊天程序。它以 `TICK` 驱动的方式持续运行——有外部消息时优先响应，空闲时依据记忆、任务和上下文自主思考。项目内置了完整的记忆系统（SQLite 持久化）、双层思考流程（L1 快速响应 / L2 深度处理）、上下文注入、焦点栈、语音系统、多平台社交分发、可扩展工具市场、ACUI 可视化组件系统，以及用于观察「意识流」的 Brain UI 监控面板。

\---

## 核心模块详解

### 1\. 主循环（src/index.js）

持续运行的意识循环，由 `TICK` 驱动。调度优先级：

|优先级|触发条件|立即执行|
|-|-|-|
|用户消息|收到外部消息|✅ 立刻|
|后台消息|后台队列|✅ 立刻|
|TICK 心跳|无消息|⏱ 自适应间隔|
|任务模式|有活跃任务|30s 间隔|
|限流|429 / 配额超限|按配额间隔|
|觉醒期|首次启动|10s 间隔|

关键特性：

* **消息抢占**：高优先级消息可打断当前 LLM 调用（abort 后自动重试）
* **看门狗**：单轮 `runTurn` 超过 180 秒强制 abort，防止卡死
* **消息兜底**：LLM 忘记调 send\_message 时自动投递
* **唤醒觉醒期**：首次激活后的 10 个 TICK 以 10s 间隔运行，自动执行探索任务
* **启动自检**：启动时运行文件读写、热点面板、视频播放三项自检

### 2\. 记忆系统（src/memory/）

SQLite 持久化，支持 FTS5 全文搜索 + 向量嵌入双路召回。

**识别器**：每轮交互后分析思考内容和工具调用，批量 `search\_memory` 查重，再 `upsert\_memory` 按 `mem\_id` 去重写入。

**注入器**：根据当前消息提取关键词 → FTS5 搜索相关记忆 → 按 salience 重排（★4+ 前置）→ 向量嵌入兜底 → 构建 `context` 块注入给 LLM。

**焦点栈（Focus Stack）**：多帧注意力跟踪机制。自动判断用户话题状态：

* `created` — 栈空建帧
* `kept` — 命中栈顶，保持
* `pushed` — 新主题，push 子帧
* `returned` — 回到旧主题，pop 到对应帧
* `cleared` — 栈顶失活超过 20 TICK，自动 pop

每帧 pop 后异步压缩为结论（focus-compress），挂回新栈顶 + 沉淀为长期记忆。

**时间词召回**：自动识别"昨天/前天/上周"等时间词，从 focus\_conclusion 记忆按时间窗口召回。

### 3\. LLM Provider 支持（src/providers/ + src/config.js）

|Provider|默认模型|备注|
|-|-|-|
|MiniMax|MiniMax-M2.7|测试表现最佳，支持多媒体|
|DeepSeek|deepseek-v4-flash|支持推理模式|
|OpenAI|gpt-4o-mini||
|Qwen|qwen-turbo||
|Moonshot|moonshot-v1-8k||
|Zhipu|glm-4-flash||
|Custom|自定义|任意 OpenAI 兼容端点|

首次启动自动进入激活页，支持 `auto` 模式自动探测 API Key 所属 Provider。

### 4\. 语音系统（src/voice/）

* **ASR**：本地 Whisper 模型（Python 进程管理，manager.js 自动启停）+ 云端 ASR（阿里云）
* **TTS**：豆包火山引擎 / MiniMax / OpenAI TTS / ElevenLabs 多选
* 所有配置通过 Brain UI 设置页完成，凭证持久化在 config.json

### 5\. 社交平台分发（src/social/）

统一消息分发层，支持多渠道：

|平台|类型|配置方式|
|-|-|-|
|微信（个人号）|ClawBot 桥接|Brain UI 扫码连接，无需第三方工具|
|微信公众号|服务号客服消息|APP\_ID + APP\_SECRET|
|Discord|Bot Token|DISCORD\_BOT\_TOKEN|
|飞书|应用凭证|APP\_ID + APP\_SECRET|
|企业微信|Webhook|BOT\_KEY|

消息接收后自动进入主循环处理，回复通过 dispatch.js 路由回对应平台。

### 6\. 上下文采集器（src/context/gatherer.js）

任务执行前的充分性检查循环：检查当前上下文是否充足 → 不足则自动读取文件/搜索记忆/召回 → 再检查，最多 3 轮。确保 LLM 在执行任务前有足够信息。

### 7\. 工具市场（src/capabilities/marketplace/）

支持安装自定义工具（JavaScript 代码），运行时加载到 `sandbox/installed\_tools/`。工具代码有完全的 `fetch` 和 `exec` 能力，受沙箱保护。提供 install/uninstall/list 接口。

### 8\. 自动资源感知

启动时自动扫描：

* **SSH**：\~/.ssh/ 密钥、known\_hosts、config 主机别名
* **Git**：全局配置、远程仓库
* **桌面**：快捷方式、文件变化
* **本地 AI Agent**：Claude Code、Codex、Hermes 等
* **系统和地理位置**：IP、时区、位置、天气

这些扫描结果注入系统提示词中的 `<resources>` 块，让 LLM 在需要时能直接用（不依赖用户手动提供）。

### 9\. Brain UI（src/ui/brain-ui/）

SPA 监控面板，提供：

* 聊天界面（多用户/多渠道）
* 思考流实时可视化（工具调用、记忆注入、焦点变化）
* 热点面板（微博/知乎/HN/Reddit 热搜）
* 人物卡片
* 文档配置面板
* 语音控制面板
* 微信扫码弹窗
* 设置页（Provider / 社交 / 语音 / 嵌入 / 搜索配置）
* ACUI 组件系统（可注册自定义 UI 卡片）

### 10\. ACUI 组件系统

代理可主动推送可视化卡片到用户界面（`ui\_show`/`ui\_update`/`ui\_hide`）。已注册组件：

* WeatherCard（天气卡片）
* SelfCheckStepCard / SelfCheckCard（启动自检）
* AwakeningCard（觉醒期探索进度）

组件遵循 Web Component 标准，支持 enter/exit 动画，可注册为永久组件。

\---

\### 11. 3D 意识空间可视化（consciousness-3d.html）



基于 Three.js 构建的沉浸式 3D 意识空间，将 AI 的内部状态以可视化形式呈现：



\*\*核心可视化层\*\*：

\- \*\*🧠 意识核心\*\*：中心发光球体 + 线框二十面体 + 3 层旋转光环，代表 AI 的自我意识核心

\- \*\*💫 记忆星云\*\*：记忆以粒子云形式环绕核心，重要度越高粒子越大越亮，支持点击查看详情

\- \*\*🧠 知识图谱\*\*：知识实体以彩色球体呈现，实体间以连线表示关联关系

\- \*\*🎯 目标晶体\*\*：活跃目标以旋转的二十面体呈现，进度越高晶体越大，颜色区分状态（绿色=活跃、黄色=学习中、紫色=规划中）

\- \*\*⚡ 技能光环\*\*：已掌握技能以旋转的光环呈现，熟练度决定光环大小和颜色

\- \*\*❤️ 情绪粒子\*\*：5 种基本情绪（喜悦、好奇、平静、兴奋、自信）以粒子流形式在空间中流动

\- \*\*🪞 反思之镜\*\*：底部波纹平面，象征自我反思的镜面



\*\*交互功能\*\*：

\- 鼠标拖拽旋转视角，滚轮缩放

\- 点击任意元素查看详细信息（名称、类型、进度、描述等）

\- 顶部导航栏切换视角（全景/记忆/知识/目标/技能/情绪）

\- 左侧面板实时显示意识状态统计

\- 支持从后端 API 获取实时数据，失败时自动回退到演示数据



\*\*访问地址\*\*：`http://127.0.0.1:3721/consciousness-3d`



\### 12. 多技能协同系统（src/skills/ + src/coordination/）



每个技能拥有独立的意识状态，技能之间可以像微信群一样协同工作。



\*\*技能意识架构\*\*：

\- \*\*独立意识\*\*：每个技能有自己的记忆、情感、目标和反思能力

\- \*\*技能状态机\*\*：`idle` → `learning` → `active` → `dormant`，根据任务需求自动切换

\- \*\*技能记忆\*\*：每个技能独立存储专业知识和经验

\- \*\*技能决策\*\*：基于当前任务和自身能力自主决定是否参与协作



\*\*协同调度机制\*\*：

\- \*\*任务分解器\*\*：将复杂任务拆解为子任务，分配给最适合的技能

\- \*\*协作调度器\*\*：管理技能间的协作流程，确保信息传递和结果汇总

\- \*\*技能注册表\*\*：动态注册/注销技能，支持热插拔



\*\*内置技能示例\*\*：

\- \*\*代码助手技能\*\*：代码生成、审查、重构

\- \*\*网络研究技能\*\*：信息检索、数据分析、报告生成

\- \*\*代理协调技能\*\*：管理多个技能的协作流程

\- \*\*协作演示技能\*\*：展示多技能协同的工作流程



\*\*技能聊天面板\*\*：

Brain UI 中集成技能聊天界面，每个技能有自己的头像和名字，对话风格像微信群一样自然。技能可以：

\- 主动发言提出建议

\- 回复其他技能的提问

\- 分享任务进展和结果

\- 请求其他技能协助



\### 13. 自我意识与自进化系统（src/consciousness/ + src/evolution/）



\*\*自我认知模块\*\*：

\- \*\*自我感知\*\*：实时感知自身的运行状态、资源使用、任务队列

\- \*\*元认知\*\*：监控自己的思考过程，识别认知偏差和错误

\- \*\*身份认同\*\*：维护稳定的自我身份，包括名字、性格、价值观



\*\*情感模型（src/emotion/）\*\*：

\- 基于 Russell 情感环状模型

\- 5 种基本情绪：喜悦、好奇、平静、兴奋、自信

\- 情绪会影响决策优先级和回复风格

\- 情绪具有传染性和衰减性



\*\*目标系统（src/goals/）\*\*：

\- 自主生成、分解、追踪目标

\- 目标依赖关系图（DAG）

\- 自动评估目标完成度并调整策略



\*\*知识图谱（src/knowledge-graph/）\*\*：

\- 实体-关系-实体三元组存储

\- 支持知识推理和关联发现

\- 与记忆系统联动，新记忆自动提取知识



\*\*反馈学习循环（src/feedback/）\*\*：

\- A/B 测试不同策略的效果

\- 模式识别和趋势分析

\- 自动调整参数优化性能



\*\*自进化能力\*\*：

\- \*\*能力评估\*\*：定期评估自身各项能力水平

\- \*\*学习周期\*\*：识别能力缺口 → 制定学习计划 → 执行学习 → 验证效果

\- \*\*知识整合\*\*：将分散的知识整合为体系化认知

## 快速开始

### 安装

从 [Releases](https://github.com/xiaoyuanda666-ship-it/BaiLongma/releases) 下载 `Bailongma Setup x.x.x.exe` 安装，双击启动后自动进入激活页。

### 从源码运行

```bash
cd BaiLongma
npm install

# Electron 桌面版（推荐）
npm start

# 纯后端模式
npm run start:backend

# 开发模式（文件改动自动重启）
npm run dev
```

### 配置

首次运行通过 `http://127.0.0.1:3721/activation` 激活，填入任意支持的 LLM API Key。支持 `.env` 文件：

```env
LLM\_PROVIDER=minimax
MINIMAX\_API\_KEY=your\_key
```

### 打包

```bash
npm run build    # 打包为 NSIS 安装包
npm run publish  # 打包并发布到 GitHub Releases
```

\---

## Web Interfaces

|页面|地址|用途|
|-|-|-|
|Brain UI|`http://127.0.0.1:3721/brain-ui`|主界面：聊天、监控、设置|
|激活页|`http://127.0.0.1:3721/activation`|首次激活/换 Key|
|状态 API|`http://127.0.0.1:3721/status`|运行状态与记忆数|

\---

## API

|方法|路径|说明|
|-|-|-|
|`POST`|`/message`|发送消息|
|`GET`|`/events`|SSE 实时事件流|
|`GET`|`/status`|运行状态|
|`GET`|`/quota`|配额占用|
|`GET`|`/memories`|查询/搜索记忆|
|`GET`|`/conversations`|查询对话|
|`PATCH`|`/memories/:id`|修改记忆|
|`DELETE`|`/memories/:id`|删除记忆|
|`GET`|`/audio/:filename`|音频文件|
|`POST`|`/admin/stop`|暂停循环|
|`POST`|`/admin/start`|恢复循环|
|`POST`|`/admin/restart`|重启进程|
|`POST`|`/admin/reset-memories`|清空记忆和对话|
|`POST`|`/admin/reset-files`|清空沙盒文件|

\---

## 持久化

* **记忆**：SQLite，FTS5 全文索引 + 可选向量嵌入
* **对话**：含渠道标记和 externalPartyId，多渠道互通可见
* **任务**：重启可恢复
* **焦点栈**：重启可恢复
* **配置**：`config.json`，含 Provider、社交、语音、嵌入、搜索全量配置

\---

## 辅助脚本

|脚本|用途|
|-|-|
|`scripts/send.py`|发送消息、查询状态|
|`scripts/reset.js`|清空数据库与沙盒|
|`scripts/seed-memories.js`|写入种子记忆|
|`scripts/smoke-tools.mjs`|工具冒烟测试|
|`scripts/smoke-brain-ui.mjs`|Brain UI 冒烟测试|
|`scripts/smoke-social.mjs`|社交连接冒烟测试|
|`scripts/start-lan.ps1`|局域网访问启动|
|`scripts/build-voice.ps1`|语音模型构建|

\---

## 技术栈

* **运行时**：Node.js 18+ / Electron 33
* **数据库**：better-sqlite3（同步、高性能）
* **LLM 接口**：OpenAI 兼容 API（6+ Provider）
* **语音**：Whisper（Python 进程）+ 云端 TTS
* **UI**：原生 Web Components + Brain UI SPA
* **构建**：electron-builder + NSIS

\---

## License

[MIT License](./LICENSE)

