Coucou 是一款开源桌面小助手,自带可爱角色Mochi。Mac上它栖身在刘海/灵动岛区域;Windows、Linux则固定在屏幕顶部边缘,专门用来监视AI编码智能体会话。你可以直接在这里批准权限、查看智能体工作、拖放文件、和大模型对话,全程不用切出当前工作窗口。

项目初衷
市面上不少灵动岛AI伴侣大多仅为演示,不开放使用。Coucou完整开源,代码、动画、音效全部开放,可自由使用、阅读、Fork与二次修改。

角色Mochi是圆润方块大眼形象:会挥手、眼球跟随光标、点击会闹脾气,快速连击还会眩晕;当Claude Code等待人工确认时,Mochi会主动提醒你。

核心功能
- 🤖 多AI智能体实时监控:Claude Code、Cursor、Codex、Gemini CLI、Antigravity等。可通过
coucou_agent钩子让任意智能体接入。实时展示智能体读写、编辑、执行操作;任务完成Mochi会开心跳跃。 - 📝 文件变更实时看板:Claude每次修改文件,顶部滚动条展示文件名、增减行数,点击直接查看完整diff。
- ✅ 直接在悬浮面板审批权限:Claude Code的权限弹窗直接出现,支持Allow/Deny/Always永久允许;用户提问单选/多选弹窗(最多4项),也可选择返回终端回复。Codex同样支持权限批准。
- 🧑💻 一键跳转对应终端窗口(macOS),快速定位AI会话终端。
- 💬 内置多模型聊天面板:Claude、Gemini、OpenAI,本地Ollama/LM Studio都支持。云模型使用你自己的API Key;本地模型直连本机服务端(Gemini/OpenAI/本地模型仅macOS)。点击模型名称切换服务商。
- 📊 Claude套餐用量统计(macOS GitHub构建版):刘海小标签展示5小时与每周额度,仅支持Pro/Max套餐,可在设置开启。
- 📋 自定义Pill组件:选择VS Code、Cursor等工具,最多额外添加4项集成:Gemini CLI、Anthropic、OpenAI、Ollama、Notion、GitHub等。
- 📎 拖放文件至悬浮岛:Mochi变成盒子接收文件,可直接提问文件内容;macOS可调用Mail.app发送邮件。
- 🖥️ 可拖拽Mochi到桌面自由浮动:脱离顶部岛区域,悬浮跟随光标、换装,警报时来回飞,下次启动保留摆放位置。
- 🪟 窗口绑定上下文(macOS):把Mochi拖到任意窗口,直接将该窗口内容作为Claude上下文。
- 🔌 第三方服务集成:GitHub(PR、审查请求、CI状态)、Vercel部署、n8n、Stripe、Resend邮件、Notion、Cal.com,每项拥有独立彩色Mochi标识。
- 🎵 Apple Music控件(macOS GitHub构建版):顶部面板播放控制,播放音乐时Mochi会跳舞。
- 👗 Mochi换装系统:右键打开衣柜,还会随季节自动更换服饰。
- 🎭 丰富角色动画:呼吸 idle、眨眼、眼球跟随鼠标,28个手工录制音效,启动问候。
- 🫥 闲置自动隐藏,鼠标悬停屏幕顶部边缘才显现。
- 🔒 隐私优先:无遥测、不需要注册账号;密钥安全保存在系统密钥管理:macOS Keychain / Windows Credential Manager / Linux Secret Service。程序仅连接你配置的服务。
基础设置
从macOS菜单栏 / Windows、Linux系统托盘打开Coucou进入设置。
Hook安全机制:如果Coucou没有运行,钩子会直接退出,不会阻塞Claude Code。安装钩子前会自动备份原配置文件,修改前展示diff确认。
| 配置项 | 用途 | 密钥存储位置 |
|---|---|---|
| Claude Code hooks | 实时会话与权限审批 | 自动备份~/.claude/settings.json,合并钩子 |
| Claude Plan用量 | 灵动岛额度展示 | 设置内安装中继后开启 |
| Gemini CLI hooks(macOS) | 岛中查看Gemini CLI会话 | 备份~/.gemini/settings.json |
| Antigravity hooks(macOS) | agy会话监控 | 备份~/.gemini/config/hooks.json |
| Anthropic API Key | 聊天、文件问答 | 系统密钥管理器 |
| OpenAI / Google AI API Key(macOS) | 对应模型对话 | Keychain |
| Ollama / LM Studio(macOS) | 本地大模型聊天 | 本地服务直连,无需密钥 |
| Active pills(macOS) | 选择顶部展示的工具、服务组件 | – |
| GitHub/Vercel/Notion等集成 | 各类服务状态卡片 | 系统密钥管理器,全部可选 |
交互玩法
| 操作 | Mochi反馈 |
|---|---|
| 悬停顶部岛 | 探出挥手👋 |
| 点击Mochi | 挤压、闹小情绪 |
| 快速三连点击 | 眩晕几秒 😵💫 |
| 文件拖拽到顶部岛 | 盒子形态接收文件 |
| Mochi拖拽到窗口(macOS) | 将窗口附加为AI上下文 |
| 点击聊天框上方模型名(macOS) | 切换AI服务商 |
底层实现
macOS
原生 Swift6 + SwiftUI + AppKit,零第三方依赖。灵动岛使用无边框NSPanel,60fps SwiftUI Canvas绘制角色;无Rive/Lottie,全部矢量图形。
Claude钩子使用轻量脚本接收事件,通过Unix socket转发到Coucou,等待用户确认后回传给智能体。音效预加载28条WAV。
Windows
Tauri2(Rust+TS)透明置顶窗口,不抢占焦点;Canvas2D复刻和Mac完全一致的Mochi动画、时序与音效。使用coucou-hook.exe+命名管道对接Claude钩子,密钥存放于Windows Credential Manager。
Linux
同样Tauri应用。Wayland环境依托gtk-layer-shell实现顶部覆盖层,支持点击穿透;钩子通过Unix socket通信,密钥存入Secret Service。















