Copiwaifu:一个和 Claude Code、Codex、Copilot 等 AI 编程工具联动的 Live2D 桌宠[特殊字符]

Copiwaifu:一个和 Claude Code、Codex、Copilot 等 AI 编程工具联动的 Live2D 桌宠😋

演示视频:https://www.bilibili.com/video/BV1s4RBBDEmq


这东西是干嘛的

Copiwaifu 是一个能和各个AI工具联动的 Live2D 桌宠。她会偷听你和 Claude Code、GitHub Copilot、Codex、Gemini CLI、OpenCode 的对话,然后在桌面上和你互动。

AI 思考的时候她跟着皱眉,调用工具了她换个姿势,任务跑完或者炸了,她还能根据上下文说两句。总之就是个可爱的 AI 助手,在你Vibe Coding的过程中作为副机长一起为你护航(Copi~)。

你可以把她当电子小黄鸭来 Debug,或者赛博老婆(划掉)。也能换成你自己喜欢的 Live2D 模型。

技术细节

架构

  • 前端:Vue 3 + TypeScript + Vite 6
  • 桌面框架:Tauri 2 + Rust(macOS 用了 private API 做窗口穿透)
  • Live2D 渲染:PixiJS 8 + easy-live2d
  • AI 运行时:Node.js sidecar + Vercel AI SDK + esbuild 打包

Hook 怎么接的

应用启动后在本机 127.0.0.1 起一个 HTTP 服务,默认端口 23333。然后往各个 AI CLI 的配置文件里注入 hook 脚本,这些脚本会在 AI 工具的关键节点(思考、调工具、完成、报错)向本地服务上报事件。

当前接入的 CLI:

AI 工具 配置路径
Claude Code ~/.claude/settings.json
GitHub Copilot ~/.config/github-copilot/config.json
Codex ~/.codex/config.toml
Gemini CLI ~/.gemini/settings.json
OpenCode ~/.config/opencode/opencode.json

注入前会把你原有的 hook 配置备份到 ~/.copiwaifu/hooks/original-hooks.json,不会弄丢你已有的 hook 链。

状态机

Hook 上报的原始事件经过 Rust 端的 reducer,转换成六种状态:

  • idle --- 空闲
  • thinking --- 在想
  • tool_use --- 在调工具
  • complete --- 跑完了
  • error --- 炸了
  • needs_attention --- 需要你看一眼

每种状态可以绑不同的 Live2D 动作组。没手动绑的,应用会试着自动匹配常见动作组名(Idle、Thinking、ToolUse、Complete)。

AI Talk 的边界

AI Talk 默认关闭。开启后,只在 session 进入 completeerror 时触发,每轮只触发一次。它拿到的信息是 Copiwaifu 已经存好的 session 元信息:Agent 类型、工作目录、session 标题、最近事件和摘要。不读完整对话记录,不碰项目文件,不碰源码。

模型调用失败就静默回退到静态气泡,桌宠上不会弹报错信息。生成的内容也不会写回原 AI CLI。

模型服务商支持:OpenAI、Anthropic、Google Gemini、DeepSeek、阿里云百炼/Qwen、Moonshot Kimi、智谱 GLM、火山方舟/豆包、百度千帆/ERNIE、腾讯混元、MiniMax,以及任意 OpenAI 兼容 API。

换模型

内置了一个叫 Yulia 的 Live2D 模型。你也可以在设置里导入自己的模型目录,应用会校验里面有没有合法的 .model3.json 入口文件。

怎么用

目前只有 macOS 版(Apple Silicon 和 Intel 都有),欢迎 PR 适配其他平台。

GitHub Releases 下载,拖进 Applications,终端跑一下:

bash 复制代码
xattr -dr com.apple.quarantine /Applications/copiwaifu.app

macOS 对未签名应用的限制,跑完就能正常打开。

打开之后她会自动装 hook、起本地服务。你正常用 Claude Code 或者其他 AI 工具写代码就行,桌宠自己会动。想要 AI Talk 就去设置里开,选个模型服务商,填 API Key 和模型 ID。

想参与开发

bash 复制代码
# 需要 Node.js、pnpm、Rust toolchain
pnpm install
pnpm run  # 等同于 pnpm tauri dev

项目结构:

  • src/ --- Vue 3 前端,主窗口、设置窗口、Live2D 渲染
  • src-tauri/src/ --- Rust 后端,hook 安装、HTTP 服务、事件处理、session 管理
  • sidecar/ai-runtime/ --- Node.js AI 运行时,Vercel AI SDK 调各家模型
  • hooks/ --- 各 AI CLI 的 hook 脚本
  • public/Resources/Yulia/ --- 内置 Yulia 模型

有问题或者想法欢迎来直接开 Issue🥺。

Github:https://github.com/Panzer-Jack/Copiwaifu

官网:https://copiwaifu.panzer-jack.cn/

相关推荐
AI周红伟11 小时前
周红伟:长鑫科技(CXMT)财务全景分析
前端·chrome·科技
无忧智库11 小时前
基于5G-A(通感一体)技术的城市低空飞行器实时航线监控底座建设方案(WORD)
大数据·人工智能·5g
excel12 小时前
JS 正则在多次 test() 时为什么会出现 lastIndex 缓存问题?
前端
IT_陈寒12 小时前
为什么 Java 的 Optional 让我调试到深夜?
前端·人工智能·后端
有为少年12 小时前
深度隐式层 | 隐式函数与自动微分
人工智能·神经网络·线性代数·机器学习·矩阵
大模型真好玩12 小时前
大模型训练全流程实战指南工具篇(十三)—— 大模型评测实战(数据集评测+自动化评测)
人工智能·agent·deepseek
ShGamu12 小时前
2026上半年链条输送机厂家全流程服务与选型参考
大数据·人工智能·链条输送机
charley.layabox12 小时前
大连理工,将 LayaAir AI 游戏设计带进校园
人工智能·游戏
Raink老师12 小时前
【AI面试临阵磨枪-76】社交 AI:内容生成、审核、智能回复、多模态理解、安全治理
人工智能·安全·面试
米丘12 小时前
React 19.x 的 lazy 与 Suspense
前端·javascript·react.js