2026-05-26 20:40:34 +08:00
2026-05-15 20:10:35 +08:00
2026-05-15 20:14:47 +08:00

Cyrene — 昔涟

基于 LLM 的开源智能体平台:多人格对话、IoT 设备操控、记忆管理、自动化规则、知识库、语音交互、多平台桥接。


架构

┌──────────────────────────────────────────────────────────────────┐
│                       Frontend (React + Vite)                     │
│                       localhost:5173                              │
└──────────────────────┬───────────────────────────────────────────┘
                       │ HTTP + WebSocket
┌──────────────────────▼───────────────────────────────────────────┐
│                    Gateway (Go/Gin)                               │
│                    localhost:8080                                 │
│    JWT Auth · Rate Limit · WS Hub · API 路由                      │
└──┬───────┬────────┬────────┬────────┬────────┬──────────┘
	   │       │        │        │        │        │        │
	   ▼       ▼        ▼        ▼        ▼        ▼        ▼
┌─────┐┌─────┐┌──────┐┌──────┐┌──────┐┌──────┐┌──────────┐
│AI   ││Mem- ││Voice ││IoT   ││Plugin││Plat- ││ Infra    │
│Core ││ory  ││Svc   ││Debug ││Mgr   ││form  ││          │
│:8081││:8091││:8093 ││:8083 ││:8094 ││Bridge││ PG:5432  │
│     ││     ││      ││      ││      ││:8095 ││ Redis    │
│LLM  ││CRUD ││STT/  ││模拟  ││插件  ││QQ/   ││  :6379   │
│编排 ││检索 ││TTS   ││设备  ││托管  ││TG/   ││ Qdrant   │
│人设 ││衰减 ││      ││管理  ││沙箱  ││DC/   ││  :6333   │
│后台 ││     ││      ││      ││      ││Webhk ││ MinIO    │
│思考 ││     ││      ││      ││      ││      ││  :9000   │
│     ││     ││      ││      ││      ││      ││ SearXNG  │
│     ││     ││      ││      ││      ││      ││  :8088   │
└─────┘└─────┘└──────┘└──────┘└──────┘└──────┘└──────────┘

客户端只需连接 Gateway (8080)。所有后端服务不直接对外暴露。


功能

  • 多人格对话 — 可配置的角色扮演系统,支持子会话路由和上下文构建
  • IoT 操控 — 8 个模拟智能家居设备(灯/空调/窗帘/传感器/门锁),语音/文本控制
  • 记忆管理 — LLM 驱动的长期记忆提取、存储、语义检索、衰减(pgvector)
  • 自动化 — 规则引擎 + 场景执行(定时/条件触发/Webhook)
  • 提醒 — 创建/管理定时提醒,到期 WebSocket 推送
  • 知识库 — 文档管理 + 向量语义检索
  • 文件管理 — 上传/下载/缩略图/图片 AI 分析
  • 语音交互 — 服务端 DashScope STT + Edge-TTS,支持实时流式语音
  • WebSocket — 实时消息推送、IoT 状态广播、通知、流式响应
  • 后台思考 — AI 在对话间隙自主反思和记忆整理
  • 跨端消息同步 — 多设备实时消息广播、会话隔离与去重
  • 互联网搜索 — 自托管 SearXNG 搜索引擎,支持百度/必应/搜狗/360
  • PWA — 可安装为桌面/移动应用
  • 多平台桥接 — QQ / Telegram / Discord / Webhook 第三方平台接入
  • 插件系统 — 14 个内置插件(计算器/HTTP/加密/搜索/IoT 等),沙箱隔离
  • 多模型配置 — 支持多 Provider / 多 Model / 路由规则

快速开始

前提条件

  • Go 1.21+
  • Node.js 20 LTS
  • Docker & Docker Compose
  • Git BashWindows 用户)

1. 配置环境变量

cp backend/.env.example backend/.env
# 编辑 backend/.env,至少配置:
#   LLM_API_URL / LLM_API_KEY / LLM_MODEL
#   ADMIN_USERNAME / ADMIN_PASSWORD

2. 启动数据库

docker compose -f docker-compose.dev.db.yml up -d

启动 PostgreSQL (pgvector)、Redis、Qdrant、MinIO、NATS。

3. 启动全部服务

# Linux / macOS (Git Bash)
./devtools.sh start --build

# Windows CMD / PowerShell
devtools.bat start --build

按依赖顺序编译并启动全部 8 个服务:memory → plugin-manager → iot-debug → voice → ai-core → platform-bridge → gateway → frontend。

启动后访问:

地址 说明
http://localhost:5173 前端聊天界面
http://localhost:9090 DevTools 管理面板

使用 .env 中配置的 ADMIN_USERNAME / ADMIN_PASSWORD 登录。

其他 CLI 命令

./devtools.sh status              # 查看服务状态
./devtools.sh logs gateway        # 查看 Gateway 日志
./devtools.sh build ai-core       # 单独编译 AI-Core
./devtools.sh db:status           # 检查数据库状态
./devtools.sh help                # 完整帮助

详见 docs/api/devtools.md


项目结构

Cyrene/
├── frontend/
│   └── web/                     # React 前端 (Vite + TypeScript + Tailwind)
├── backend/
│   ├── ai-core/                 # AI 推理核心 (LLM 编排、人设注入、工具调用、后台思考)
│   ├── gateway/                 # API 网关 (JWT 认证、路由、限流、WebSocket Hub)
│   ├── memory-service/          # 记忆服务 (CRUD、语义检索、衰减、LLM 提取)
│   ├── voice-service/           # 语音服务 (DashScope STT + Edge-TTS)
│   ├── iot-debug-service/       # IoT 调试服务 (8 个模拟智能家居设备)
│   ├── plugin-manager/          # 插件管理器 (管理 API,插件逻辑在 pkg/plugins)
│   ├── platform-bridge/         # 多平台桥接 (QQ / Telegram / Discord / Webhook)
│   └── pkg/                     # 共享包 (logger, plugins — 15 个通用插件/工具)
├── devtools/                    # DevTools 管理面板 (Express + WebSocket)
├── scripts/                     # 辅助脚本 (migrate / tunnel / whisper-setup / pg-backup)
├── backups/                      # 数据库备份文件 (.gitignore)
├── test/                        # E2E 测试
├── docs/                        # 文档与调试记录
│   └── api/                     # API 文档
├── searxng/                     # SearXNG 搜索引擎配置
├── docker-compose.dev.db.yml    # 开发基础设施 (仅 DB)
├── docker-compose.dev.yml       # 开发环境一键启动
├── docker-compose.yml           # 生产环境 (含 Caddy)
├── devtools.sh                  # DevTools CLI (Git Bash)
├── devtools.bat                 # DevTools CLI (CMD / PowerShell)
└── Caddyfile                    # 反向代理配置

服务端口

端口 服务 对外
5173 Frontend (Vite)
8080 Gateway API (唯一客户端入口)
8081 AI-Core
8083 IoT Debug
8091 Memory Service
8088 SearXNG
8093 Voice Service
8094 Plugin Manager
8095 Platform Bridge
9090 DevTools
5432 PostgreSQL
6379 Redis
6333 Qdrant HTTP
6334 Qdrant gRPC
9000 MinIO S3
9001 MinIO Console
4222 NATS
8222 NATS Monitoring

技术栈

技术
前端 React 18, TypeScript, Vite, Tailwind CSS, Zustand
后端 Go, Gin, net/http
数据库 PostgreSQL + pgvector
缓存 Redis
向量库 Qdrant
对象存储 MinIO
消息队列 NATS
搜索 SearXNG (自托管元搜索引擎)
语音 DashScope STT / Edge-TTS / Whisper.cpp
反向代理 Caddy (生产环境)

文档

文档 说明
Deploy.md 部署指南(含 Windows 说明)
docs/api/gateway-api.md 客户端 API 文档
docs/api/devtools.md DevTools CLI + Web 控制台文档
docs/api/backend-services/ 后端服务 API 文档
docs/dev_must_read.md 开发者必读
docs/pg-backup-migration.md PG 备份与迁移指南

部署

# 开发环境(基础设施 + 后端服务)
docker compose -f docker-compose.dev.yml up -d

# 生产环境(含 Caddy 反向代理 + 自动 TLS
docker compose up -d

详见 Deploy.md


License

Apache-2.0

S
Description
昔涟 - 将记忆命途的少女带入现实
Readme Apache-2.0 96 MiB
2026-05-30 17:56:50 +08:00
Languages
Go 54.2%
TypeScript 41.3%
Shell 4.5%