fbb331ed4bae38b0115a46a00392451019943825
- RealAuthManager: JWT signing/validation + bcrypt password hashing - MemUserStore: in-memory user store with default admin - Register endpoint: user creation with hashed password - Login endpoint: bcrypt verification + JWT generation - AuthManager interface extended with Login/Register methods
Cyrene v2 — 昔涟
基于 LLM 的开源智能体平台。多人格对话、IoT 操控、长期记忆、语音交互、多平台桥接。
状态:架构设计阶段 | 分支:
dev| v1 参考:Cyrene
架构
浏览器 / 第三方平台
│
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
快速开始
代码尚未就绪,以下为计划中的启动方式。
# 1. 配置
cp configs/.env.example .env
# 编辑 .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 1.26, Gin, NATS, slog |
| 前端 | React 19, TypeScript, Vite, Tailwind 4, Zustand 5 |
| 数据库 | PostgreSQL 16 + pgvector |
| 缓存/队列 | Redis 7, NATS 2 |
| 存储 | MinIO |
| 搜索 | SearXNG |
| 语音 | DashScope STT / Edge-TTS |
目录
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/ # 用户文档
与 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)。供内部开发参考。
License
Apache-2.0 © 2026 Aska