This repository has been archived on 2026-08-12. You can view files and clone it. You cannot open issues or pull requests or push a commit.
AskaEthandClaude Opus 4.7 189f7b999b feat: VisionTool 集成多模态 LLM 直接调用 — OCR/视觉分析
- VisionTool 改为接受可选 llm.LLMProvider,有模型时直接调用视觉模型分析,
  无模型时回退 base64 data URL 模式,不影响基本功能
- ModelSelector 新增 PurposeVision 路由用途
- main.go 按 vision routing 自动发现并注入视觉模型 provider
- 支持 models.json 中 qwen3.6-flash / qwen-vl-ocr-latest fallback 链

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-24 16:25:56 +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- ││Tool  ││Voice ││IoT   ││Plugin││Plat- ││ Infra    │
│Core ││ory  ││Engine││Svc   ││Debug ││Mgr   ││form  ││          │
│:8081││:8091││:8092 ││:8093 ││:8083 ││:8094 ││Bridge││ PG:5432  │
│     ││     ││      ││      ││      ││      ││:8095 ││ Redis    │
│LLM  ││CRUD ││工具  ││STT/  ││模拟  ││插件  ││QQ/   ││  :6379   │
│编排 ││检索 ││调用  ││TTS   ││设备  ││托管  ││TG/   ││ Qdrant   │
│人设 ││衰减 ││链    ││      ││管理  ││沙箱  ││DC/   ││  :6333   │
│后台 ││     ││      ││      ││      ││      ││Webhk ││ MinIO    │
│思考 ││     ││      ││      ││      ││      ││      ││  :9000   │
└─────┘└─────┘└──────┘└──────┘└──────┘└──────┘└──────┘└──────────┘

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


功能

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

快速开始

前提条件

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

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

按依赖顺序编译并启动全部 9 个服务:memory → tool-engine → 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 提取)
│   ├── tool-engine/             # 工具引擎 (13+ 内置工具,支持工具调用链)
│   ├── voice-service/           # 语音服务 (DashScope STT + Edge-TTS)
│   ├── iot-debug-service/       # IoT 调试服务 (8 个模拟智能家居设备)
│   ├── plugin-manager/          # 插件管理器 (14 个内置插件、沙箱隔离)
│   ├── platform-bridge/         # 多平台桥接 (QQ / Telegram / Discord / Webhook)
│   └── pkg/                     # 共享包 (logger)
├── devtools/                    # DevTools 管理面板 (Express + WebSocket)
├── scripts/                     # 辅助脚本 (migrate / tunnel / whisper-setup)
├── test/                        # E2E 测试
├── docs/                        # 文档与调试记录
│   └── api/                     # API 文档
├── 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 否
8092 Tool Engine 否
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
语音 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 开发者必读

部署

# 开发环境(基础设施 + 后端服务)
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
99 MiB
0 Stars 1 Watchers 0 Forks
2026-05-30 17:56:50 +08:00
Languages
Go 54.2%
TypeScript 41.3%
Shell 4.5%