Burrow 文档
Burrow 是一个以桌宠形式住在桌面上的个人助手,基于 Tauri 2(Rust)+ TypeScript,目前只支持 Windows。
安装
- 到 发布页 下载
Burrow_<版本>_x64-setup.exe。 - 双击安装,安装完成后桌宠会出现在屏幕上,托盘里会多一个 Burrow 图标。
- 右键托盘图标:面板 打开设置和统计,显示/隐藏 收起桌宠,退出 关闭程序。
每个安装包旁都有一个 .sha256 文件,可以这样校验:
Get-FileHash .\Burrow_0.1.1_x64-setup.exe -Algorithm SHA256
安装包没有代码签名,第一次运行时 Windows SmartScreen 可能拦一下,点“更多信息 → 仍要运行”即可。
桌宠
- 单击:它会挥手、害羞、蹦一下……
- 拖动:按住拖到任意位置。
- 长按:弹出轮盘菜单,比如让它去睡觉。
- 桌宠以外的透明区域会让鼠标点击穿透到下面的窗口,不挡操作。
- 空闲时会按时段做小动作;CPU 持续很高时会“好累”,5 分钟没有输入就睡着,一动鼠标就醒。
- 面板的设置里可以调整桌宠的不透明度,以及鼠标移上去时是否变淡。
面板
托盘菜单的“面板”打开。关闭面板只是隐藏,不会退出。包含这些页面:
| 页面 | 内容 |
|---|---|
| 概览 | 今天的总时长、各分类占比、专注情况 |
| 时间线 | 一天中每段时间在用什么程序或网站 |
| 专注 | 专注计时、历史,以及学习监督的设置和 viva 地址 |
| 提醒与习惯 | 编辑提醒、勿扰时段,查看提醒记录 |
| 应用与分类 | 给程序和网站指定分类(工作、学习、娱乐……) |
| 趋势 | 按天看各分类时长的变化 |
| 翻译 / 设置 | 大模型服务、快捷键、桌宠外观等 |
时间追踪
每 5 秒看一眼前台程序,合并成一段段时间存到本地数据库。浏览器(Chrome、Edge、Brave、Firefox 等)能读到地址栏时,记的是网站域名和标签页标题,换网站或换标签页另起一段。
- 常见程序和网站有默认分类,可以在“应用与分类”里改。
- 超过 3 分钟(可改)没有键鼠输入算作离开,不计入。
- 设置里可以关掉追踪,或把某些程序排除在外。
专注与提醒
专注
默认 25 分钟一轮,桌宠会显示倒计时。专注期间的提醒先攒着,结束后再弹。
提醒
提醒到点时桌宠弹出卡片,可以“好的”或“稍后”;桌宠隐藏时改发系统通知。默认提醒:
| 提醒 | 规则 | 默认 |
|---|---|---|
| 久坐提醒 | 连续使用 45 分钟,休息 5 分钟后重新计 | 开 |
| 喝水 | 每 60 分钟 | 开 |
| 运动 | 每天 17:30 | 开 |
| 学习 | 工作日 21:00 | 关 |
提醒有三种规则:久坐、固定间隔、每天定时(可选星期几)。另外可以设置勿扰时段;全屏程序(游戏、视频、演示)在前台时也会先攒着。
学习监督
按程序名和窗口标题里的关键词判断你在学习还是开小差(两边都命中时算学习),规则可在“专注”页修改。
- 专注时开小差超过 2 分钟(可改),桌宠会说你。
- 识别到的学习时间会报给 viva;没开 viva 也不影响其他功能,数据会在下次重试。
- 晚上 21:30(可改)检查今天的学习目标,没达标会提醒一下。
- 窗口标题只用来判断,不会存下来。
viva
学习计划、学习记录和复习题库由配套程序 viva 管理,默认地址 http://127.0.0.1:47323,可以在“专注”页改。专注某个计划任务结束后,viva 会出题,并通过桌宠告诉你。
划词翻译
- 在设置里选一个大模型服务并填 API Key:Anthropic(Claude)、Gemini,或任何 OpenAI 兼容接口(需要填地址和模型名)。
- 在任意程序里选中文字,按
Ctrl+Alt+T(可改)。 - 译文出现在光标旁,点别处就消失。
目标语言留空时,外文翻成中文,中文翻成英文;也可以固定为某种语言。
聊天与语音
聊天和翻译共用同一个大模型服务配置,可以单独指定模型。
- 人格:自定义它的名字、性格、说话风格和对你的称呼。
- 长期记忆:每轮聊完它会整理要记住的事,可以在聊天窗口里查看、修改、删除;也可以关掉。
- 今日情况:可选把时间追踪的今日汇总作为上下文,它会知道你今天忙了什么。
- 回复的第一句也会让桌宠说出来。
语音
按住聊天窗口里的 🎤 说话,松开后识别成文字;回复可以念出来。语音依赖本机的语音服务 Lark(http://127.0.0.1:9233,CosyVoice 合成 + SenseVoice 识别),需要单独安装;没开 Lark 时语音按钮不可用,其他功能照常。
本机接口
Burrow 在 127.0.0.1:47321 提供一个只对本机开放的 HTTP 接口,脚本和其他程序可以借它让桌宠显示状态。
| 请求 | 说明 |
|---|---|
POST /status | 设置一条状态:{"source","state","text","ttl"} |
DELETE /status?source= | 清掉某个来源的状态 |
GET /status | 当前状态 |
POST /focus | 开始专注:{"task"?,"label"?,"minutes"?} |
GET /focus | 当前专注,没有时返回 null |
state 可选:working、thinking、waiting、done、error、organizing、strained、sleep。ttl 是秒数,不填就一直保持到被清掉(done 默认 6 秒)。每个来源各占一条状态,桌宠显示优先级最高的那条。
例:让桌宠在编译时显示“干活中”,10 分钟后自动消失:
curl -X POST http://127.0.0.1:47321/status ^
-H "Content-Type: application/json" ^
-d "{\"source\":\"build\",\"state\":\"working\",\"text\":\"编译中…\",\"ttl\":600}"
数据与隐私
- 时间记录、聊天记录和记忆都存在本机的 SQLite 数据库
burrow.db,设置存在settings.json,都在 Burrow 的应用数据目录里。 - 除了你配置的大模型服务(翻译、聊天时才会发送对应的文字),Burrow 不会把数据发到外部。
- viva 和 Lark 都跑在本机。
从源码编译
需要 Rust(stable)、Node.js 22、pnpm 和 Visual Studio C++ 生成工具。
git clone https://git.forgotway.com/forgotway/burrow.git
cd burrow
pnpm install
pnpm tauri dev # 开发模式,前端热重载
pnpm tauri build # Release 版和 NSIS 安装包
功能逻辑在 crates/ 下的各个 crate 里,src-tauri 负责窗口和命令,src/ 是前端。推送 v* 标签会自动构建安装包并发布到 Forgejo。
许可
Burrow 以 GPL-3.0 发布。桌宠动画取自 dsh-pet(MIT),见 THIRD_PARTY_NOTICES.md。