一个会陪你的 AI 桌宠:Live2D 角色 + 聊天 + 语音 + 画图。基于 FastAPI、原生前端与 Electron。
项目定位:这是一个纯 vibe coding 项目,写来当玩具的 😄 —— 不求严谨,只图好玩。代码、文档、系统提示词,全都是 AI 写的(主要用了 DeepSeek V4 Flash 模型)。欢迎随意魔改、加点奇奇怪怪的功能。
作者本人完全不懂 Python / Node.js 这些编程语言,所以如果哪里出了问题,也请多包涵~
软件运行界面示意图。
- 💬 AI 对话 — 流式聊天,支持 OpenAI 兼容接口 / Google Gemini 等
- 🧚 Live2D 角色 — 6 种表情切换、视线跟随、可拖拽缩放
- 🎤 语音合成 — 角色说话带语音,自动播放、可重播
- 🎨 AI 画图 — 场景拍照 / 自定义画图,支持 OpenAI 兼容接口
- 🎭 个性设定 — 日语 / 中文 / 自定义 三种性格,随时切换
- 🖥️ 桌面版 — 透明桌宠常驻桌面,系统托盘一键控制
灵感来源:
模型仅供学习交流,禁止二次贩卖(作者声明)。
从 Releases 下载 Windows 安装包(AI Natsume Setup),双击安装即可。
安装后桌宠自动启动。第一次使用请先配置 API Key:
- 在桌宠上点击鼠标右键 → 打开聊天窗口
- 点击右上角 ⚙️ 设置
- 在 LLM 选项卡填入你的模型 API 地址和 Key(OpenAI 兼容即可)
- 可选:在 图片 / 语音 选项卡配置画图和语音(不配置也能聊天)
# 1. 安装依赖
uv sync
# 2. 启动(启动后浏览器自动打开 http://localhost:8766)
uv run python run.py首次使用同样先在网页右上角 ⚙️ 设置 里填入 API Key。
uv run python run.py --port 9000 # 自定义端口
uv run python run.py --no-browser # 不自动打开浏览器
uv run python run.py --config my.yaml # 指定配置文件- 聊天:输入框输入消息,
Enter发送,Shift+Enter换行 - 切换表情:键盘
0-6或点击下方表情栏 - AI 自动发图:开启后,聊到相关话题时夏目会主动"拍照"
- 手动画图:点击 📸 按钮,选场景或输入描述
- 个性设定:点击 🎭 按钮,切换性格(日语/中文/自定义)
- 重新开始:点击 🗑 清空对话
所有设置保存在
data/settings.json,下次启动自动加载。也可通过config.yaml或NATSUME_*环境变量配置(见 config.example.yaml)。
| 按键 | 功能 |
|---|---|
0 |
恢复默认表情 |
1-6 |
切换表情 |
Enter |
发送消息 |
Shift+Enter |
换行 |
cd desktop
npm install
npm start需要先完成
uv sync(或uv run python scripts/build.py --backend-only打包后端),否则npm start找不到本地后端。
| 配置 | 说明 |
|---|---|
llm |
对话模型(OpenAI 兼容格式) |
tts |
语音合成(OpenAI 兼容格式) |
image |
图像生成(DALL-E / Agnes 等) |
server |
服务端口和数据库路径 |
auto_image |
AI 自动发图配置 |
所有配置项都可用 NATSUME_* 环境变量覆盖:
NATSUME_LLM_API_KEY=sk-xxx NATSUME_LLM_BASE_URL=http://localhost:8080/v1 uv run python run.py- 聊天提示"请检查 API Key 配置":在设置页确认 LLM 的 API 地址和 Key 填对了,且账户有额度。
- 角色不说话/不画图:可能未配置对应的 TTS / 图片 API,去设置页补齐即可。
- 错误发生在哪里? 运行目录下
logs/有日志文件,可反馈问题附上日志。
MIT License — 详见 LICENSE。
想改代码、加功能或参与开发?请看 开发者指南。
