live2d
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@live2dswitch to Hiyori, give a little smile, and wave hello"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Live2D Agent(Live2D 桌面伙伴)
把 Live2D 模型变成运行在 Windows 桌面上的透明小窗伙伴,并让它可被本地 CLI、MCP 服务器和 Agent Skill 控制。所有通信都只在本机回环地址上进行,不需要云端账号。
本仓库不包含 Live2D Cubism Core,也不包含任何 Live2D 模型。默认安装脚本会按
live2d.config.json和live2d.models.json把 Core 及models.install中的模型下载到 用户目录(~/.live2d-agent),不写入仓库。Core 是 Live2D 公司的专有软件,模型各有 自己的许可;每位使用者需要遵守相应条款。
功能特性
透明、无边框、置顶的 Live2D 桌面窗口(Electron + PixiJS 8 + easy-live2d)
表情、动作(Motion)、参数、视线控制,支持 TTL 自动恢复
系统 TTS 语音 + 气泡字幕;可上传本地
.wav/.mp3/.ogg音频并做口型窗口移动/缩放、置顶、鼠标穿透、显示/隐藏
截图(只截取伙伴窗口,输出 PNG)
多模型管理:在
live2d.models.json中声明多个模型,按models.install批量安装, 再通过model list/model load切换,记住上次使用的模型托盘菜单:显示/隐藏、置顶、鼠标穿透、重置、打开模型/日志目录、退出
本地 HTTP 控制 API + CLI + MCP(stdio)服务器 + Agent Skill
运行时数据(Core、模型、配置、日志、截图、音频缓存)全部在
%USERPROFILE%\.live2d-agent\下,不写入仓库
Related MCP server: Persona Motion Studio
环境要求
Windows 11(当前主要支持与验证平台;macOS / Linux 未验证)
Node.js >= 22.12.0(见
package.json的engines)npm(随 Node.js 安装)
可用的 GPU / WebGL 环境(Electron 使用系统图形栈渲染 Live2D)
最快开始(一行命令)
在仓库根目录执行:
npm run setup这一条命令会:
缺少依赖时自动执行
npm install(含 devDependencies,并补装 Electron 运行时);按
live2d.config.json从官方 CDN 下载 Cubism Core 6.x(SDK R5);读取
live2d.models.json,按models.install下载并安装其中列出的模型 (默认hiyori和hiyori-free);同一个 zip 的多个变体只下载一次;为每个模型写入显示配置(
displayName、scale等);构建 renderer/主进程/CLI/MCP/Skill 脚本;
把 Skill 安装到
setup.skillDest(默认~/.live2d-agent/skills)并生成稳定启动器;把
models.default写入运行配置并启动桌面伙伴(已启动时切到默认模型)。
重复执行是幂等的:已安装且校验通过的 Core/模型会跳过。想强制重装或更新默认模型:
npm run setup -- --force顺便把 Agent Skill 装到 Claude Code 用户目录:
npm run setup -- --skill-dest "%USERPROFILE%\.claude\skills"安装配置(两个文件,均可修改)
默认 Core/模型地址、默认模型、要安装的模型列表和安装行为都写在仓库根目录:
live2d.config.json:Core、模型清单文件、默认模型、安装列表;
live2d.models.json:模型清单,一个文件里可以定义任意多个模型。
两个文件都不需要改脚本。修改后重新执行 npm run setup;如果模型已存在,
加上 --force 才会重新下载/安装。
仓库里需要你修改的安装配置只有上面两个文件。
tsconfig.json/vite.config.ts/vitest.config.ts是构建工具配置; 运行后~/.live2d-agent/下的config.json(窗口/模型偏好)、install.json、runtime.json以及每个模型目录的live2d-agent.json(可选显示微调)都是自动生成的 状态文件,不需要手改。
主配置:live2d.config.json
字段 | 默认值 | 作用 |
|
| 官方 Cubism Core 6.x CDN |
|
| 运行 setup 即表示接受 Live2D Proprietary Software License;设为 |
|
| 模型清单文件,相对主配置所在目录 |
|
| 安装后默认加载的模型 id(必须是清单里的 id) |
|
| 需要安装的模型 id 列表;不在列表里的定义不会被下载 |
|
| 顺便安装 Skill 到该目录; |
如果 models.default 没有出现在 models.install 里,setup 会自动把它加入安装列表,
保证默认模型一定可用。之后用 live2d model load <id> 切换模型会写入运行配置;
重新运行 setup 会再次把 models.default 设为默认。
模型清单:live2d.models.json
models 是一个以模型 id 为键的对象。多个模型可以共享同一个 zip,只通过
variant 选择压缩包内不同的子目录:
{
"version": 1,
"models": {
"hiyori": {
"displayName": "Hiyori",
"url": "https://acgurl.qzz.io/file/1792491911029_hiyori_zh-Hans.zip",
"variant": "hiyori_pro",
"scale": 1.2
},
"hiyori-free": {
"displayName": "Hiyori (Free)",
"url": "https://acgurl.qzz.io/file/1792491911029_hiyori_zh-Hans.zip",
"variant": "hiyori_free",
"scale": 1.2
}
}
}字段 | 必填 | 作用 |
| 否 | 模型列表显示名,默认用 id |
| 否 | 模型 zip 地址;已在本机安装的模型可以省略 |
| 否 | zip 内子目录前缀,如 |
| 否 | 默认显示缩放,0.1..4 |
| 否 | 下载完整性校验 |
| 否 | 显示位置微调,-1..1 |
| 否 | 待机动作组 |
| 否 | 加载/重置时应用的表情 |
| 否 | 气泡锚点 |
| 否 | 点击/触摸区域反应配置 |
新增自己的模型:在 live2d.models.json 加一个 id,把 id 加进
live2d.config.json 的 models.install;想让它成为默认模型就同时改
models.default,然后重新运行 npm run setup。只安装模型、不重新构建时用
npm run setup:models。
可选安装字段(默认不写,需要时再加):
core.sha256:Core 下载完整性校验;setup.installDependencies/setup.build/setup.launch:设为false可跳过对应步骤(默认均为true)。
常用覆盖参数(不必改文件)
npm run setup -- --model hiyori-free
npm run setup -- --models hiyori,hiyori-free
npm run setup:models -- --models hiyori-free
npm run setup -- --force
npm run setup -- --core-url "https://.../live2dcubismcore.min.js"
npm run setup -- --no-deps --no-build --no-launch
npm run setup -- --skill-dest "%USERPROFILE%\.claude\skills"默认模型 URL 由项目维护者指定。对外分发/商用前请确认你有权使用和再分发该 URL 指向的模型;也可以把清单里的
url改成你自己的模型压缩包(需包含.model3.json)。
手动安装(高级/自定义)
1. 安装依赖
npm ci2. 安装 Live2D Cubism Core(必须,仓库不附带)
从 Cubism SDK for Web 下载页
获取 Cubism 5 SDK for Web R5(其中 Core 为 6.x,定义 MocVersion_53),
解压后找到 Core/live2dcubismcore.min.js:
npm run setup:core -- --from "D:\CubismSdkForWeb\Core\live2dcubismcore.min.js"或在阅读并接受 Live2D Proprietary Software License Agreement 后,让脚本从官方 CDN 下载 Cubism 5 R5 / Core 6.x:
npm run setup:core -- --download --accept-license脚本使用的官方 CDN 为
https://cubism.live2d.com/sdk-web/core/06/live2dcubismcore.min.js(链接可能变化,
失败时请改用 --from)。脚本会校验 Core 必须定义 MocVersion_53(Cubism 5 R5 / Core 6.x),拒绝 5.1.0
等旧版 Core,然后安装到 %USERPROFILE%\.live2d-agent\core\live2dcubismcore.min.js。
请勿提交或再分发 Core 文件。
3. 安装一个 Live2D 模型(必须,仓库不附带模型)
npm run setup:model -- --from "D:\Live2D\MyModel"可选参数:--id <模型id>、--entry <model3.json>、--force。
模型目录根部必须有一个 .model3.json,所有引用必须是模型目录内的相对路径。
安装目标是 %USERPROFILE%\.live2d-agent\models\<id>\。
官方 Hiyori 示例模型同样不随仓库分发。可以先查看获取方式与许可链接:
npm run setup:model -- --sample hiyori把 Hiyori 放到 %USERPROFILE%\.live2d-agent\models\hiyori\,或使用本地
CubismWebSamples 目录:
npm run setup:model -- --sample hiyori --from-sample-dir "D:\CubismWebSamples"示例模型受 Live2D Sample Model Terms 约束,请确认你的使用方式符合条款。
4. 构建
npm run build构建产物:dist/renderer/(渲染页)、dist/main.cjs、dist/preload.cjs、
dist/cli.mjs、dist/mcp.mjs,以及供 Skill 回退使用的
skills/live2d-pet/scripts/live2d.mjs / live2d-mcp.mjs。
5. 启动桌面伙伴
npm start开发模式(Vite 热更新 + Electron):
npm run dev启动后应出现透明置顶小窗和托盘图标。首次启动如果缺少 Core 或模型,窗口会提示
安装方法;日志在 %USERPROFILE%\.live2d-agent\logs\app.log。
一条命令接入 Agent
安装 Skill 和稳定启动器
npm run install:skill -- --dest "%USERPROFILE%\.claude\skills"该命令会:
把
skills/live2d-pet/复制到<dest>\live2d-pet\;写入
%USERPROFILE%\.live2d-agent\install.json(appRoot、Electron 路径、packaged: false、版本),供 CLI 自动启动 App;创建稳定启动器:
Windows:
%USERPROFILE%\.live2d-agent\bin\live2d.cmd和live2d-mcp.cmdPOSIX:
~/.live2d-agent/bin/live2d和live2d-mcp启动器优先用 Electron 的 Node 模式(ELECTRON_RUN_AS_NODE=1)运行,找不到 Electron 时回退到node;
打印一份可直接用于 Claude Desktop / Cursor 的 MCP 配置、Claude Code 命令和 Skill 安装位置。
Skill 文档中的 node <skill>/scripts/live2d.mjs 回退需要先运行
npm run build:skill(npm run build 已包含);稳定启动器则使用
dist/cli.mjs。修改客户端的 MCP 配置后重启客户端。Claude Code 也可以用:
claude mcp add live2d -- cmd /c "%USERPROFILE%\.live2d-agent\bin\live2d-mcp.cmd"Claude Desktop / Cursor 的 JSON 配置示例(路径按实际生成结果替换):
{
"mcpServers": {
"live2d": {
"command": "cmd",
"args": ["/c", "C:\\Users\\<你>\\.live2d-agent\\bin\\live2d-mcp.cmd"]
}
}
}Agent 侧的稳定入口
Skill 文档要求 Agent 优先使用:
"%USERPROFILE%\.live2d-agent\bin\live2d.cmd" <command>如果启动器不存在,可回退到:
node "%USERPROFILE%\.claude\skills\live2d-pet\scripts\live2d.mjs" <command>CLI 会自动启动 App(--no-start 可禁用),从 runtime.json 读取本地 token,
所以 Agent 不需要也不应该接触 token。
CLI 示例
set LIVE2D="%USERPROFILE%\.live2d-agent\bin\live2d.cmd"
%LIVE2D% ensure
%LIVE2D% status --json
%LIVE2D% caps --json
%LIVE2D% expressions --json
%LIVE2D% motions --json
%LIVE2D% expression happy --ttl 5000
%LIVE2D% motion TapBody --index 0
%LIVE2D% param ParamAngleX 20 --ttl 4000
%LIVE2D% look 0.5 -0.2 --ttl 3000
%LIVE2D% say "你好!" --tts --ttl 6000
%LIVE2D% screenshot --out "C:\Users\me\Pictures\pet.png"
%LIVE2D% model list
%LIVE2D% model load hiyori
%LIVE2D% model load hiyori-free
%LIVE2D% window --x 1200 --y 400
%LIVE2D% window --always-on-top
%LIVE2D% reset
%LIVE2D% stop常用命令一览:
命令 | 作用 |
| 启动并等待/查看 App、模型与窗口状态 |
| 读取模型能力、表情、动作与参数 |
| 应用表情、播放动作、设置参数、设置视线(均支持 |
| 气泡、TTS 或本地音频 |
| 列出/切换模型 |
| 窗口控制、截图、重置 |
| 列出系统 TTS 语音 |
| 查看 App 日志 |
| 退出 App / 查看版本 |
全局参数:--json、--timeout <ms>、--url、--token、--no-start。
退出码:0 成功、2 App 未运行、3 超时、4 能力/模型错误、
5 参数错误、6 内部/鉴权错误。完整说明见
docs/protocol.md 和
skills/live2d-pet/references/commands.md。
本地安全
HTTP 服务只监听
127.0.0.1,默认端口 47100(被占用时向后尝试 10 个端口)。每次启动生成随机 32 字节 token,写入
runtime.json(尽量使用 0600 权限), 退出时删除;API 请求需要Authorization: Bearer <token>。校验
Host/Origin,拒绝跨站请求;请求体有大小限制和速率限制。静态资源只从固定的渲染目录、Core 文件、模型目录和音频缓存提供;模型路径做了 目录穿越与符号链接校验,模型引用只允许相对路径。
渲染进程启用
contextIsolation、sandbox,关闭nodeIntegration,禁止导航、 弹窗和权限请求。没有遥测、没有远程 API;Core、模型、配置、日志都只在本机。TTS 使用系统语音。
不要把端口暴露到局域网/公网,也不要在共享电脑上使用;任何能读取
runtime.json的本地进程都能控制这个伙伴。
更多细节见 docs/security.md。
目录结构
src/main/ Electron 主进程:窗口、托盘、HTTP 服务、IPC 桥、截图、模型/音频
src/preload/ 安全的 contextBridge 预加载脚本
src/renderer/ PixiJS + easy-live2d 渲染、气泡、TTS、交互
src/cli/ live2d 命令行
src/mcp/ MCP stdio 服务器
src/shared/ 协议、配置、路径、运行时文件、客户端、错误、日志
scripts/ setup 编排、setup-models、setup-core、setup-model、install-skill 与构建脚本
live2d.config.json / live2d.models.json 安装默认值与模型清单
skills/live2d-pet/ Agent Skill(SKILL.md + references)
docs/ 架构、协议、安全、手工测试文档npm scripts
命令 | 作用 |
| 一行命令安装/更新并启动(依赖、Core、models.install、构建、启动) |
| 用 Electron 启动桌面伙伴 |
| Vite 开发服务器 + Electron |
| 构建渲染页、主进程/预加载/CLI/MCP、Skill 脚本 |
| 单独构建 Skill 内的 |
| 单独安装 Cubism Core( |
| 安装本地模型目录( |
| 只按 |
| 安装 Skill、写 install.json、生成启动器、打印 MCP 配置 |
| TypeScript 类型检查 |
| oxlint 静态检查 |
当前版本尚未配置 Electron 安装包分发(
electron-builder未加入依赖), 请使用源码方式运行。
已知限制
仅 Windows 11 经过验证;其他平台的窗口行为、托盘、TTS 可能不同。
仓库不附带 Core 和模型,首次使用必须按上面的步骤自行安装。
TTS 依赖操作系统安装的语音;没有语音时请使用气泡或
--audio。MCP / Skill 的支持情况取决于具体 Agent 客户端;请以客户端文档为准。
没有自动更新、云同步或远程控制功能。
许可证
本项目源码使用 MIT License。
Live2D Cubism Core 是 Live2D Inc. 的专有软件,不在本仓库中,也不受 MIT 许可覆盖。使用者必须自行获取 Cubism 5 R5 / Core 6.x 并遵守 Live2D Proprietary Software License Agreement; 再分发/商用还需遵守 Live2D 的 SDK 发布许可要求。
Live2D 模型/示例模型(如 Hiyori)各有自己的许可,不在本仓库中。示例模型受 Live2D Sample Model Terms 约束。
第三方依赖及其许可见 THIRD_PARTY_LICENSES.md。
文档
docs/architecture.md — 进程、模块与数据流
docs/protocol.md — HTTP API、IPC 与数据结构
docs/security.md — 安全模型与威胁边界
docs/manual-test.md — 手工验收清单
This server cannot be deployed
Maintenance
Related MCP Connectors
- PrimetaOAuthai.primeta
Give your AI a face, a voice, and a personality. 3D avatars with custom personas.
Generate and edit images, video, voice, lip-sync and 3D models from your AI agent.
Memory, reflection and safety for AI agents. Hosted or local, no vector database.
Give your AI assistant a real phone line. Place and end real phone calls with AI voice agents, read call transcripts, run a live two-way interpreter between two people who share no language (31 languages, browser link or phone), create and edit voice agents, and search, buy and bind phone numbers in 21 countries. OAuth 2.1 with PKCE — the model never sees your API key; a read-only scope is available. Pay as you go from $0.10/min, $5 free credit for new accounts.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to control a Live2D desktop pet's expressions and actions via MCP protocol.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to show, animate, and control a VRM character on the desktop, including posing and motion installation via MCP tools.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to control a desktop virtual character (VRM) by playing animations, showing/hiding the character, and checking runtime status through the MCP protocol.304,181 npm2MIT
- AlicenseNot gradedqualityAmaintenanceEnables MCP-compatible agents to control a desktop mascot by switching its appearance and voice, showing speech-bubble dialogue, and managing state such as affinity.12 npm1MIT