docs: 更新 README 为新架构(人格化通用 Agent 运行时)

This commit is contained in:
Aska committed 2026-09-05 23:13:27 +08:00
1 parent 4be3826af7
commit 8b310feceb
1 file changed
+31 -88
+31 -88
View File
@@ -1,69 +1,32 @@
# Cyrene v2 — 昔涟
基于 LLM 的开源智能体平台。多人格对话、IoT 操控、长期记忆、语音交互、多平台桥接。
> 自托管的「人格化通用智能体运行时」。一个 Go 单二进制,默认以「全能小女友」的人格陪伴你;在聊天/开发/家庭/工作等模式间无感切换;像 OpenClaw 一样接入多个聊天平台(QQ/微信/Telegram…);各人格独立记忆与情绪、共享同一套能力。
> **状态**:架构设计阶段 | **分支**:`dev` | **v1 参考**:[Cyrene](https://git.yeij.top/AskaEth/Cyrene)
**状态**:重构中(v2 推倒重写)| **分支**:`dev` | 设计文档见 `DevDocs/00-overview.md`
---
## 架构
## 核心特性
```
浏览器 / 第三方平台
│
REST + WebSocket + NATS
│
┌──────────▼──────────┐
│ Gateway (:8080) │ ← 唯一对外端口
│ JWT · RateLimit │
└──────────┬──────────┘
│ NATS 消息总线
┌───────┬───────┼───────┬───────┐
▼ ▼ ▼ ▼ ▼
AI-Core Memory Voice Bridge IoT Plugin
编排引擎 记忆 语音 多平台 设备模拟
┌─────────────────────┐
│ PostgreSQL+pgvector │
│ Redis · NATS · MinIO│
│ Qdrant · SearXNG │
└─────────────────────┘
```
**核心理念**:所有服务通过 NATS 消息总线通信。只有一个对外端口。
---
## 功能
- **多人格对话** — LLM 编排 + 角色扮演 + 子会话路由
- **IoT 操控** — 插件化设备控制(模拟 / Home Assistant / MQTT)
- **长期记忆** — pgvector 语义检索 + LLM 提取 + 衰减
- **语音交互** — DashScope STT + Edge-TTS 流式语音
- **多平台桥接** — QQ / Telegram / Discord / Webhook
- **知识库 RAG** — 文档管理 + 向量检索
- **自动化规则** — 定时/条件/Webhook 触发
- **管理面板** — 内置 React SPA(/admin),统一管理
- **PWA** — 可安装为桌面/移动应用
- **互联网搜索** — 自托管 SearXNG
- **人格化陪伴** — 多人格 / 情绪状态机 / 好感度;per-persona 记忆隔离,能力全局共享
- **通用 Agent 运行时** — 多供应商 LLM、工具调用、子代理编排、记忆/RAG、多模态(vision + 语音)
- **多平台 IM(内置渠道插件)** — OneBot v11 QQ / ClawBot iLink 微信 / Telegram / Webhook,可配置、可热重载、随二进制分发
- **语境感知 UI** — 同一会话上下文下切换 聊天/开发/家庭/工作/知识/语音/视觉/子代理监控/设置 模式
- **超级详尽后台管理面板**(`/admin`)— 15 大模块统一管理
- **单二进制、多平台** — Linux / Windows / macOS / ARM / Termux
---
## 快速开始
> 代码尚未就绪,以下为计划中的启动方式。
> 骨架刚重建,以下为演进中的目标方式。
```bash
# 1. 配置
cp configs/.env.example .env
# 编辑 .env,至少配置 LLM_API_KEY
# 配置
cp .env.example .env # 至少配置 LLM_API_KEY
# 2. 启动基础设施
docker compose -f deployment/docker/docker-compose.dev.yml up -d
# 3. 启动 Cyrene
go run ./cmd/cyrene/
# 访问 http://localhost:8080
# 启动
go run ./cmd/cyrene/ # 访问 http://localhost:8080
```
---
@@ -72,13 +35,11 @@ go run ./cmd/cyrene/
| 层 | 技术 |
|----|------|
| 后端 | Go 1.26, Gin, NATS, slog |
| 前端 | React 19, TypeScript, Vite, Tailwind 4, Zustand 5 |
| 后端 | Go 1.26(单二进制运行时)、进程内总线(可换 NATS)、slog |
| 前端 | React 19、TypeScript、Vite 6、Tailwind 4、Zustand 5 |
| 数据库 | PostgreSQL 16 + pgvector |
| 缓存/队列 | Redis 7, NATS 2 |
| 存储 | MinIO |
| 搜索 | SearXNG |
| 语音 | DashScope STT / Edge-TTS |
| 多模态 | vision、realtime voice(STT→agent→TTS) |
| LLM | 多供应商(云端/订阅/本地/网关) |
---
@@ -86,45 +47,27 @@ go run ./cmd/cyrene/
```
Cyrene_v2/
├── backend/ # Go 后端(monorepo)
│ ├── cmd/cyrene/ # 唯一入口
│ ├── internal/ # 共享模块(config/logger/nats/plugin/auth)
│ ├── services/ # 微服务核心(gateway/ai-core/memory/voice/bridge)
│ └── plugins/ # 插件(iot-mock/calculator/web-search/...)
├── frontend/web/ # React SPA
├── services/rag-pipeline/ # Python RAG 增强(可选)
├── deployment/ # 多平台部署配置
├── scripts/ # 构建/迁移/语音处理
├── tests/ # 测试
├── configs/ # 配置模板
└── Docs/ # 用户文档
├── cmd/cyrene/ # 唯一入口
├── internal/ # config / logger / platform / db / bus /
│ # runtime(核心) / persona / capability / channel
├── services/ # gateway / iot / automations
├── plugins/ # skills(功能) + channels(内置渠道)
├── pkg/plugins/sdk/ # 插件 SDK(第三方)
├── frontend/web/ # React SPA + /admin 面板
├── Docs/ # 用户文档
├── DevDocs/ # 开发文档(本地,不入库)
└── configs/ # 配置模板
```
---
## 与 v1 的主要差异
| 维度 | v1 | v2 |
|------|-----|-----|
| 对外端口 | 6+ 个 | **1 个** |
| 服务间通信 | HTTP 硬编码 URL | **NATS 消息总线** |
| 管理面板 | Node.js 独立服务 | **React SPA 内建路由** |
| IoT 设备 | 硬编码系统服务 | **插件化(按需加载)** |
| 测试覆盖率 | < 5% | **目标 70%+** |
---
## 文档
| 文档 | 位置 | 说明 |
|------|------|------|
| 项目总览 | `DevDocs/00-overview.md` | 完整技术选型说明 |
| 多平台适配 | `DevDocs/01-cross-platform.md` | Linux/Win/macOS/Termux |
| 开发约束 | `DevDocs/02-development-constraints.md` | 编码规范+性能要求 |
| 模块设计 | `DevDocs/modules/*.md` | 每个模块的详细设计 |
| 设计决策 | `DevDocs/decisions/*.md` | 关键架构决策记录 |
> **注意**:`DevDocs/` 目录是开发文档,不进入版本控制(`.gitignore`)。供内部开发参考。
| 架构总览/重构蓝图 | `DevDocs/00-overview.md` | 产品定位、架构、渠道插件、后台面板、阶段计划 |
| 开发约束 | `DevDocs/02-development-constraints.md` | 编码规范 + 性能要求 |
| 用户文档 | `Docs/` | 使用指南/API |
---