{"id":49353205,"url":"https://github.com/skynone/topdo","last_synced_at":"2026-04-27T11:01:08.174Z","repository":{"id":353111082,"uuid":"1214341040","full_name":"SkyNone/Topdo","owner":"SkyNone","description":"Topdo 是一款基于 Tauri + Vue 3 的 macOS 桌面任务悬浮窗，支持本地模式与飞书同步。","archived":false,"fork":false,"pushed_at":"2026-04-22T13:14:51.000Z","size":6957,"stargazers_count":12,"open_issues_count":2,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-22T15:15:39.419Z","etag":null,"topics":["desktop-app","feishu","macos","productivity","tauri","vue3"],"latest_commit_sha":null,"homepage":null,"language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SkyNone.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-18T12:48:31.000Z","updated_at":"2026-04-22T03:40:58.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/SkyNone/Topdo","commit_stats":null,"previous_names":["skynone/topdo"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/SkyNone/Topdo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SkyNone%2FTopdo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SkyNone%2FTopdo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SkyNone%2FTopdo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SkyNone%2FTopdo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SkyNone","download_url":"https://codeload.github.com/SkyNone/Topdo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SkyNone%2FTopdo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32333199,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"online","status_checked_at":"2026-04-27T02:00:06.769Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["desktop-app","feishu","macos","productivity","tauri","vue3"],"created_at":"2026-04-27T11:00:32.918Z","updated_at":"2026-04-27T11:01:08.168Z","avatar_url":"https://github.com/SkyNone.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Topdo\n\n### 把任务放在你眼前，而不是藏在窗口背后\n\nmacOS 桌面悬浮任务应用，支持本地离线与飞书同步  \nBuilt with **Tauri 2 + Vue 3**\n\n![Platform](https://img.shields.io/badge/platform-macOS-111111?style=flat-square)\n![Stack](https://img.shields.io/badge/stack-Tauri%202%20%2B%20Vue%203-0ea5e9?style=flat-square)\n![Arch](https://img.shields.io/badge/arch-Universal%20(Apple%20Silicon%20%2B%20Intel)-10b981?style=flat-square)\n\n\u003c/div\u003e\n\n---\n\n## 产品预览\n\n![Topdo 功能说明](docs/images/功能说明.png)\n![Topdo 产品介绍图](docs/images/介绍图.png)\n\n---\n\n## 一句话价值\n\nTopdo 是一个“**常驻、低打扰、键盘优先**”的任务悬浮窗：  \n你可以在任意工作流中快速记录、推进状态，并在需要时同步到飞书多维表格。\n\n---\n\n## 为什么你会喜欢 Topdo\n\n- **始终可见**：悬浮窗常驻，不用来回切应用\n- **执行导向**：待办 / 进行中 / 已完成，状态清晰\n- **双模式**：本地开箱即用；飞书模式支持协同\n- **键盘效率**：从新建到切换筛选，几乎不离开键盘\n- **发布友好**：支持 Universal macOS 安装包\n\n---\n\n## 30 秒上手\n\n### 1) 安装应用\n\n下载发布页中的 `Topdo_*.dmg`，拖拽 `Topdo.app` 到 `Applications`。\n\n### 2) 选择模式\n\n- **本地模式**：立即开始，无需配置\n- **飞书同步模式**：在设置中填写凭证并连接表格\n\n### 3) 开始管理任务\n\n按 `⌘N` 新建任务，点击状态圈推进任务，按 `⌘1~⌘4` 快速切换筛选，按 `⌘F` 快速搜索。\n\n---\n\n## 核心能力\n\n| 能力 | 说明 |\n|---|---|\n| 本地模式 | SQLite 持久化，离线可用 |\n| 飞书同步 | 对接飞书多维表格，适合跨端协作 |\n| 三态流转 | 待办 -\u003e 进行中 -\u003e 已完成 |\n| 快捷键体系 | 新建、搜索、筛选、设置、快捷键面板 |\n| 桌面体验 | 置顶、迷你模式、托盘驻留 |\n| 轻量编辑 | 双击任务标题直接编辑，详情区可改优先级与备注 |\n\n---\n\n## 快捷键速查\n\n### 全局\n\n- `⌘N`：新建任务\n- `⌘F`：搜索任务\n- `⌘,`：打开设置\n- `⌘K`：快捷键面板\n- `⌘⇧L`：浅色 / 深色切换\n- `Esc`：关闭当前弹层\n\n### 筛选栏\n\n- `⌘1`：待办\n- `⌘2`：进行中\n- `⌘3`：已完成\n- `⌘4`：全部\n\n### 列表操作\n\n- `↑ / ↓`：移动焦点\n- `Enter`：展开/收起详情\n- `⌘Enter`：切换任务状态\n- 双击任务标题：直接编辑名称\n- `Esc`：取消行内编辑\n\n---\n\n## 搜索与编辑体验\n\n- `⌘F` 打开搜索浮层，可按任务名称和备注即时过滤\n- 搜索关闭后会保留当前结果，并在顶部持续显示搜索词和结果数\n- 双击任务标题可直接重命名，回车或失焦保存\n- 任务详情区支持直接修改优先级与备注/收获\n\n---\n\n## 设置与反馈\n\n- 设置页底部提供：\n  - GitHub 项目主页\n  - 用户反馈入口（GitHub Issues）\n- 飞书同步设置中的模板和教程链接支持直接拉起默认浏览器\n- 常见错误支持复制详情，便于排查同步问题\n\n---\n\n## 迷你模式\n\n- 宠物开启时：缩小后进入猫咪 mini 形态\n- 宠物关闭时：缩小后进入横向胶囊 mini，显示 `Topdo + 待办数`\n- 迷你模式支持点击恢复，并保留拖动与位置记忆\n\n---\n\n## 2.0 宠物模式（阶段一）\n\n- 新增两种窗口形态：`面板态` / `猫咪态`\n- 默认形态切换快捷键：`⌥T`（可在设置页自定义）\n- 猫咪等级随今日完成进度变化：Sleeping / Awake / Happy / Crowned\n- 支持角标显示未完成数量、可选动画开关、位置记忆\n\n\u003e 说明：阶段一先上线猫咪态，不含顶部吸附灵动岛能力。\n\n### 猫咪状态切换规则\n\n- 今天完成第 `1` 个任务：`awake`\n- 今天完成第 `3` 个任务：`happy`\n- 当天全部任务都已完成：`crowned`\n- 当天未完成任何任务：`sleeping`\n- 判定口径：仅统计 `completed_at` 落在今天、且当前状态仍为“已完成”的任务\n- 同一天内小猫保持当天已达成的最高状态，不会因为新增任务或回退任务立刻降级\n- 次日首次打开应用后，今日进度会自动重置\n- 瞬态动画：\n  - 新增任务：`new_task`（0.5 秒）\n  - 首次达到当天全部完成：`celebrate`（2 秒）\n\n### 今日进度激励\n\n- 飞书模式下，完成任务后小猫会立即更新状态，不必等待下一轮同步\n- 小猫更偏向“正向反馈”，强调今天完成了多少，而不是总库存完成率\n- 对于任务少的用户，完成 1 个任务也能立刻看到从 `sleeping` 到 `awake` 的变化\n\n### 宠物素材规范（阶段一）\n\n- 文件名固定：`sleeping.svg`、`awake.svg`、`happy.svg`、`crowned.svg`\n- 资源策略：仅加载 SVG（不再回退 PNG），避免白底素材误渲染\n- 推荐规格：透明背景、像素风主体居中\n- 若素材缺失或加载失败，应用会自动降级为透明占位渲染，避免出现白色方块\n\n---\n\n## 唤起快捷键冲突处理\n\n如果 `⌘⇧T` 与浏览器或输入法冲突，可在设置页「全局唤起快捷键」中修改。\n\n- 推荐组合：`Cmd+Alt+T`、`Cmd+Shift+Y`\n- 规则：必须包含至少一个修饰键（Cmd/Alt/Ctrl/Shift）\n- 避免与应用内保留快捷键冲突：`⌘N`、`⌘K`、`⌘1~⌘4`、`⌘⇧R`、`⌘⇧L`\n\n---\n\n## 飞书同步配置\n\n在设置页填写以下字段：\n\n- `App ID`\n- `App Secret`\n- `App Token`（多维表格链接 `/base/` 后 token）\n- `Table ID`（链接中 `table=` 参数）\n\n建议确认：\n\n- 应用已开通 bitable 相关权限\n- 应用与目标多维表格在同一租户\n- 应用版本已发布可用\n\n优先级映射规则：\n\n- Topdo 本地文案：\n  - `紧急`\n  - `重要`\n  - `普通`\n- 飞书多维表格枚举：\n  - `今日必做`\n  - `本周完成`\n  - `自由安排`\n\n写入飞书时会自动映射，避免在多维表格中误创建新的优先级枚举值。\n\n如果报错较长，设置页已支持“复制错误详情”，可直接贴给开发者排查。\n\n---\n\n## 开发者指南\n\n### 环境要求\n\n- macOS 10.15+\n- Node.js 18+\n- pnpm 10+\n- Rust stable\n- Xcode Command Line Tools\n\n```bash\nxcode-select --install\ncorepack enable\ncorepack prepare pnpm@10.33.0 --activate\n```\n\n### 本地开发\n\n```bash\npnpm install\npnpm tauri dev\n```\n\n\u003e macOS 透明窗口依赖 `src-tauri/tauri.conf.json` 中的 `app.macOSPrivateApi: true`。  \n\u003e 这会启用 macOS private API，因此不适合 App Store 分发。\n\n### 常用命令\n\n```bash\npnpm dev\npnpm build\npnpm tauri dev\ncd src-tauri \u0026\u0026 cargo check\n```\n\n---\n\n## 发布（Universal macOS）\n\n```bash\npnpm release:mac\n```\n\n产物路径：\n\n- `.app`：`src-tauri/target/universal-apple-darwin/release/bundle/macos/Topdo.app`\n- `.dmg`：`src-tauri/target/universal-apple-darwin/release/bundle/dmg/Topdo_1.0.1_universal.dmg`\n\n---\n\n## 安装排障（未公证版本）\n\n部分 macOS 环境首次打开可能被系统拦截，可执行：\n\n```bash\nxattr -cr /Applications/Topdo.app\n```\n\n若仍失败：\n\n```bash\ncodesign --force --deep --sign - /Applications/Topdo.app\nopen /Applications/Topdo.app\n```\n\n---\n\n## 路线图\n\n- [ ] 自动更新（Updater）\n- [ ] 更完善的飞书同步状态提示\n- [ ] 搜索与标签体系\n- [ ] 正式签名与公证发布\n\n---\n\n## License\n\nMIT（建议）\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n如果这个项目对你有帮助，欢迎 Star ⭐\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskynone%2Ftopdo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskynone%2Ftopdo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskynone%2Ftopdo/lists"}