by Playa-0v0
Live2D 桌面Agent (Electron + TS) — Cyrene from Honkai: Star Rail. Chat, emotional interaction, personalized memory.
# Add to your Claude Code skills
git clone https://github.com/Playa-0v0/Cyrene-AgentCyrene-Agent is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by Playa-0v0. Live2D 桌面Agent (Electron + TS) — Cyrene from Honkai: Star Rail. Chat, emotional interaction, personalized memory. It has 52 GitHub stars.
Cyrene-Agent's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/Playa-0v0/Cyrene-Agent" and add it to your Claude Code skills directory (see the Installation section above).
Cyrene-Agent is primarily written in TypeScript. It is open-source under Playa-0v0 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh Cyrene-Agent against similar tools.
No comments yet. Be the first to share your thoughts!
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
English | 中文
Cyrene-Agent 是一个 Windows 桌面 Live2D AI 伴侣,支持聊天、记忆、语音、工具调用和多平台接入。
基于 Electron + TypeScript 开发的桌面端 Live2D 智能对话 Agent, 搭载《崩坏:星穹铁道》昔涟(Cyrene)人设,支持日常聊天、情感交互 与个性化记忆引擎。
npm install / npm run build 依赖此版本)☐ 克隆仓库
☐ npm install
☐ ⭐ 下载 BGE-M3(完整体验必需)
☐ npm run build
☐ npm start
[!IMPORTANT]
Cyrene 可以直接聊天。
但如果你希望获得完整体验(贴纸语义匹配、场景语义增强等), 强烈推荐安装 BGE-M3 Embedding 模型。
git clone https://github.com/Playa-0v0/Cyrene-Agent.git
cd Cyrene-Agent
npm install
首次安装会下载 Electron 二进制(约 100 MB)与 Pixi.js / Live2D 等渲染依赖, 耗时 3–10 分钟,取决于网络。
⭐⭐⭐⭐⭐ 强烈推荐:BGE-M3
作用:
✓ 贴纸语义匹配
✓ 场景语气注入
✓ Worldbook 语义增强
下载:https://github.com/Playa-0v0/Cyrene-Agent/releases
npm run build
npm start
或者直接开发模式:
npm run dev
同时运行 tsc(主进程 / preload)+ vite + Electron,主进程改动自动
重启 Electron,渲染层改动 Vite HMR 热更新。
应用启动后,点系统托盘图标 → 打开设置,完成以下基础配置:
配置保存在 <userData>/settings.json,无需重启应用。
Cyrene 默认无需本地模型即可聊天。
为了获得完整体验,强烈推荐安装:
⭐⭐⭐⭐⭐ 强烈推荐
BGE-M3
作用:
✓ 贴纸语义匹配
✓ Scene Embedding(场景语气注入)
✓ Worldbook 语义增强
下载:https://github.com/Playa-0v0/Cyrene-Agent/releases
可选模型:
⭐⭐ 可选
ms-marco-MiniLM-L-6-v2(Reranker,轻量排序)
bge-reranker-base(Reranker,标准排序)
未安装这些模型不会影响聊天,只会自动关闭对应增强功能。
桌宠窗口强依赖打包内的 Live2D 模型文件。如果 dist/renderer/public/models/cyrene/ 下的 Cyrene.model3.json / model.moc3 / texture_0.png 任一缺失,桌宠会显示为透明白窗口(你看到的"黑屏")。
排查步骤:
npm run dev)会自动打开开发者工具,生产模式可手动按 Ctrl+Shift+I(Windows/Linux)或 Cmd+Option+I(macOS)。[Cyrene] Failed to load model: ...,说明 /models/cyrene/Cyrene.model3.json 资源没加载到。npm run clean && npm run build && npm start 重新生成 dist。dist/renderer/public/models/cyrene/ 下的文件大小应与 src/renderer/public/models/cyrene/ 一致。不能。 当前语音通话强依赖阿里云 ASR(无麦克风权限 = 无法进入 LISTENING 状态;ASR 未配置 = 直接进 ERROR)。
call 窗口没有文本输入框或 PTT(Push-To-Talk)按钮,所有对话完全走麦克风 → ASR → LLM → TTS 的链路。如果你想纯文本聊天,用聊天窗口即可(不需要 ASR)。
⚠️ 简短结论:目前不建议在共享电脑或不可信环境运行。
聊天/视觉模型 API Key、ASR 阿里云凭证、TTS 引擎 Key 等都明文存盘到 <userData>/:
<userData>/model-settings.json —— LLM / Vision API Key<userData>/app-settings.json —— ASR / TTS / 高德 / 搜索 / 邮件密码<userData>/weixin/credentials.json —— 微信 iLink Bot 凭据唯一加密的字段:飞书渠道的 appSecret(用 safeStorage = Windows DPAPI / macOS Keychain / Linux libsecret;无密钥环时回退 XOR 混淆)。
防护依赖:操作系统文件权限(<userData> 默认只有当前用户可读)。
⚠️ 不要把 settings 目录打包分享、也不要同步到云盘 —— API Key 会泄露。如需重置,删除 <userData>/model-settings.json 和 <userData>/app-settings.json 后重启即可。
理论上可以启动,但未完整验证。已知平台假设:
| 平台 | 状态 | 备注 |
|---|---|---|
| Windows 10/11 | ✅ 完整测试 | 主要目标平台 |
| macOS | 🧡 理论上可跑 | Electron 跨平台,但桌宠透明 + 鼠标穿透在 macOS 上有 Z-order 已知问题 |
| Linux | 🧡 理论上可跑 | safeStorage 在 headless 环境下不可用,会回退到 XOR 混淆 |
game-bot 模块的 nut.js 是原生模块,三平台都有预编译的二进制(package-lock.json 里 darwin/linux/win32 三种 libnut 子包),但仅在 Windows 上做了端到端测试。
如果你在 macOS/Linux 上跑出兼容性问题,欢迎开 issue 反馈。
当前没有内置内存监控 / heap dump 工具。如果遇到 OOM,最常见的优化路径:
none,省 23–279 MB。Playwright MCP,避免 Chromium 子进程吃几百 MB。如果 OOM 频繁,用 Chrome DevTools Memory profiler(dev 模式自动开 DevTools)抓 heap snapshot 找根因,再开 issue 反馈。
| 模块 | 状态 |
|---|---|
| 🪟 桌宠 / 多窗口 / 表情互动 | ✅ 可用 |
| 💬 日常聊天 / 语音通话 / 多会话历史 / 贴纸 | ✅ 可用 |
| 🧠 记忆系统(L0/L1/L2 + 自研 DMAE Worldbook 引擎) | ✅ 可用 |
| 🔊 TTS / ASR / 文档生成 / 联网搜索 / 文件操作 | ✅ 可用(部分需配置) |
| 📱 飞书 Lark 长连接 | 🧪 实验性 |
| 📱 微信 iLink Bot | 🧪 实验性 |
| 🤖 Game Bot 游戏自动化 | 🧪 实验性 |
| 🔌 MCP(Model Context Protocol)生态 | 🧪 实验性 |
| ✨ Skill 系统 | ✅ 可用 |
| 📚 RAG 文档知识库(含混合检索 / reranker) | 🧪 实验性 |
✅ 可用:日常使用体验稳定;🧪 实验性:功能已实现但边角 / 兼容性 / 用户体验仍在打磨。
pixi-live2d-display + Cubism 引擎的置顶桌宠,
表情切换、嘴型同步、点击交互,自然待机动画。play_live2d_action 工具把「表情 +
动作 + 气泡」推到桌宠,随对话情绪同步表演。IDLE → LISTENING → THINKING → SPEAKING → ENDED,
24 轮滑动窗口上下文。updatedAt
排序,双击重命名。Ru = Bu × (1 + γ·ln(1+U_old)) 激活公式,
Active / Dormant / Archived 三态状态机,One-Shot 连带触发。exceljs)、Word (docx)、PDF (pdfkit)、
Markdown。web_search + fetch_url(turndown 转 Markdown)。read_file / list_dir / write_file / read_image。delegate_task(sub-agent)、todo_write(任务清单)、
ask_user_choice(用户选择卡片)。source: imported_doc 可追溯。@xenova/transformers + 云端 OpenAI 兼容。install_mcp_server 工具让 Agent 自动装新 server。engine.ts 步骤解释器:launch / wait / key / click / vlm_click / vlm_select / vlm_check / branch 等指令。game_bot_start 工具,可被 Agent 调用。prompts/skills/ 内置 + <userData>/skills/ 用户覆盖,
目录级整体覆盖。invoke_skill / read_skill_reference,路径穿越防护 + 读
重放拦截 + 大文本截断。/skill_id ... slash 命令。npm test 一次性 / npm run test:watch 监听模式。npm run sim 默认场景 / sim:coffee / sim:mix / sim:rescue 单场景调试。npm run sim:sweep --rewardGain=3,5,7,10 跑 Worldbook 评分参数 sweep。sim-result/。shared/ipc-channels.ts 定义 90+ 通道常量。watchWorldbookFile 等运行时热加载。| 层 | 技术 |
|---|---|
| Shell | Electron 43 |
| 渲染层 | Vite 5 + TypeScript 5 + Pixi.js 7 |
| Live2D | pixi-live2d-display 0.5.0-beta + Cubism Core |
| AI / MCP | @modelcontextprotocol/sdk, @ag-ui/core, @ag-ui/client |
| 集成 | 飞书 OpenAPI、微信 iLink、Nodemailer、PDFKit、docx |
| 测试 | Vitest 4 |
models/ # 本地 AI 模型(用户放置,见 docs/local-models.md)
├── Xenova/
│ ├── bge-m3/ # Embedding 模型(贴纸语义 + 场景识别,~570MB)
│ │ ├── tokenizer.json
│ │ ├── config.json
│ │ └── onnx/model_quantized.onnx
│ └── all-MiniLM-L6-v2/ # 轻量 Embedding(~23MB,可选)
├── bge-reranker-base/ # 标准排序模型(~279MB,可选)
└── ms-marco-MiniLM-L-6-v2/ # 轻量排序模型(~23MB,可选)
src/
├── main/ # Electron 主进程
│ ├── asr/ # 语音识别(阿里云实时 ASR)
│ ├── call/ # 语音通话核心逻辑
│ ├── channels/ # 外部渠道适配层(飞书 / 微信 iLink / ...)
│ ├── chats/ # 多会话历史与持久化
│ ├── embedding-manager.ts # 本地 embedding 模型生命周期
│ ├── game-bot/ # 游戏自动化(game-recipes 驱动)
│ ├── memory/ # L0/L1/L2 记忆引擎
│ ├── opener/ # 启动器 / 托盘 / 单实例
│ ├── orchestrator/ # Agent 主循环 + 工具调度
│ ├── rag/ # 检索增强生成 + worldbook 注入
│ ├── relationship/ # 用户关系画像
│ ├── scheduler/ # 定时任务(提醒 / 日程)
│ ├── sim/ # 场景模拟工具
│ ├── skills/ # Agent skill 系统
│ ├── sticker-*.ts # 贴纸语义匹配(协议 / 存储 / 描述 / embedder)
│ └── tts/ # 语音合成(多引擎)
├── preload/ # Electron preload 桥接
├── renderer/ # Vite 渲染层
│ ├── call/ # 语音通话窗口
│ ├── chat/ # 主聊天界面
│ ├── live2d/ # Live2D 模型渲染逻辑
│ ├── public/ # 静态资源(音频 / 头像 / Cubism Core / 贴纸)
│ ├── settings/ # 设置中心
│ ├── sidebar/ # 侧边栏
│ ├── sticker-manager/ # 贴纸管理
│ ├── tasks/ # 任务面板
│ ├── types/ # 共享类型定义
│ └── ui/ # 通用 UI 组件
└── shared/ # 主进程与渲染进程共享代码
dist/renderer/ # Vite 构建产物(不在 git 跟踪范围内)
├── assets/ # 打包后的 JS/CSS
├── audio