README
🚀 UpTier
UpTier 是一款桌面待办应用程序,它结合了简洁的 Microsoft To Do 风格界面与 Claude AI 的强大功能,可实现智能任务优先级排序。通过模型上下文协议 (MCP),Claude 能够分析你的任务,并帮助你专注于最重要的事情。
🚀 快速开始
前提条件
- Node.js 20+(建议使用 LTS 版本)
- pnpm 8+
- Claude Desktop(用于 AI 功能)
安装
# 克隆仓库
git clone https://github.com/foxintheloop/uptier.git
cd uptier
# 安装 pnpm(如果尚未安装)
npm install -g pnpm
# 安装依赖项
pnpm install
# 批准原生模块(canvas、sharp、electron)的构建脚本
pnpm approve-builds
# 重建原生模块
pnpm rebuild
# 构建包
pnpm --filter @uptier/shared build
pnpm --filter @uptier/mcp-server build
运行应用程序
# 开发模式
pnpm dev:electron
# 生产构建
pnpm --filter @uptier/electron build
Claude Desktop 集成
部署适用于 Claude Desktop 的 MCP 服务器:
# 将 MCP 服务器部署到独立目录
pnpm --filter @uptier/mcp-server deploy
这会将 MCP 服务器部署到 ~/.uptier/mcp-server/ 目录,并带有自己的 node_modules,会自动针对你当前的 Node.js 版本进行编译。Claude Desktop 配置会自动更新。
⚠️ 重要提示
之所以采用独立部署,是因为 Electron 应用程序使用的是 Node.js 22(打包版),而 Claude Desktop 可能使用不同的 Node.js 版本。独立部署会针对正确的版本编译原生模块(如
better-sqlite3),从而避免冲突。
部署完成后:
- 重启 Claude Desktop。
- UpTier 工具将在 Claude 中可用。
手动配置(备用方法)
如果自动部署不起作用,可以手动将 UpTier 添加到你的 Claude Desktop 配置中:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"uptier": {
"command": "node",
"args": ["/path/to/.uptier/mcp-server/index.js"]
}
}
}
✨ 主要特性
任务管理
- 列表与任务:创建自定义列表、带有子任务的任务,并组织你的工作。
- 智能列表:内置“今日任务”“重要任务”“计划任务”和“已完成任务”视图。
- 标签:使用彩色标签对任务进行分类,以便轻松过滤。
- 截止日期:设置带有通知和逾期跟踪的截止日期。
- 拖放操作:在列表中重新排序任务。
AI 驱动功能
- 智能优先级排序:让 Claude 分析并为你的任务排序。
- 多种策略:艾森豪威尔矩阵、速赢策略、高影响力策略等。
- 自动建议:获取 AI 对任务组织的建议。
组织管理
- 目标跟踪:将任务与目标关联,并跟踪进度。
- 优先级层级:三级系统(立即执行、尽快执行、待办事项)。
- 优先级评分:根据工作量、影响力、紧急程度和重要性对任务进行评分。
- 数据导出:导出数据以进行备份或分析。
多数据库支持
- 多个配置文件:为工作、个人和项目创建单独的数据库。
- 轻松切换:从侧边栏切换数据库配置文件。
- 数据隔离:每个配置文件都维护自己的列表、任务和设置。
专注计时器
- 无干扰模式:全屏计时器覆盖,帮助你保持专注。
- 灵活的时长:预设选项(30、45、60、90 分钟)或自定义时长。
- 任务上下文:工作时查看任务标题和备注。
- 键盘控制:空格键暂停/恢复,Esc 键结束会话。
用户体验
- 黑暗模式:现代的黑暗主题界面。
- 键盘快捷键:使用 Ctrl+F(搜索)、Ctrl+N(新建任务)等快速操作。
- 系统托盘:最小化到托盘以便快速访问。
- 并发访问:采用 WAL 模式的 SQLite 允许应用程序和 Claude 同时工作。
📚 详细文档
架构
uptier/
├── apps/
│ ├── electron/ # 桌面应用程序(React + Electron)
│ └── mcp-server/ # 适用于 Claude Desktop 的 MCP 服务器
├── packages/
│ └── shared/ # 共享类型和数据库架构
└── pnpm-workspace.yaml
| 组件 | 描述 | |------|------| | MCP 服务器 | 通过 MCP 提供 25 种以上任务管理工具的 Node.js 服务器 | | Electron 应用 | 带有 React 用户界面的桌面应用程序 | | SQLite 数据库 | 采用 WAL 模式的共享数据库,支持并发访问 |
MCP 工具
UpTier 向 Claude 提供强大的工具来管理你的任务:
列表
| 工具 | 描述 |
|------|------|
| create_list | 创建新的任务列表 |
| get_lists | 获取所有列表及其任务数量 |
| update_list | 更新列表名称、颜色或图标 |
| delete_list | 删除列表 |
| reorder_lists | 更改列表位置 |
任务
| 工具 | 描述 |
|------|------|
| create_task | 创建带有可选属性的新任务 |
| get_tasks | 获取带有过滤选项的任务 |
| update_task | 更新任务属性 |
| complete_task | 将任务标记为已完成 |
| delete_task | 删除任务 |
| bulk_create_tasks | 一次性创建多个任务 |
| move_task | 将任务移动到不同的列表 |
优先级排序
| 工具 | 描述 |
|------|------|
| prioritize_list | 分析任务并获取优先级排序指导 |
| bulk_set_priorities | 为多个任务设置优先级层级 |
| get_prioritization_summary | 获取任务优先级概述 |
| suggest_next_task | 获取 AI 对下一步工作的建议 |
目标
| 工具 | 描述 |
|------|------|
| create_goal | 创建目标 |
| get_goals | 获取所有目标及其进度 |
| update_goal | 更新目标属性 |
| link_tasks_to_goal | 将任务与目标关联 |
| get_goal_progress | 获取目标的完成统计信息 |
子任务与标签
| 工具 | 描述 |
|------|------|
| add_subtask | 为任务添加子任务 |
| update_subtask | 更新子任务属性 |
| create_tag | 创建新标签 |
| get_tags | 获取所有标签 |
| add_tag_to_task | 为任务添加标签 |
优先级排序策略
当要求 Claude 为你的任务排序时,你可以请求不同的策略:
| 策略 | 适用场景 | |------|------| | 平衡策略 | 一般用途 - 平等权衡所有因素 | | 紧急优先策略 | 以截止日期为驱动的工作 | | 速赢策略 | 通过低工作量的胜利建立动力 | | 高影响力策略 | 无论工作量如何,追求最大结果 | | 艾森豪威尔策略 | 经典的紧急/重要决策矩阵 |
优先级层级
任务分为三个层级:
- 一级(立即执行):高影响力、紧急或阻碍其他工作的任务。
- 二级(尽快执行):重要但不紧急的任务。
- 三级(待办事项):优先级较低,未来可能执行的任务。
数据存储
你的数据存储在本地:
- Windows:
%APPDATA%\.uptier\tasks.db - macOS/Linux:
~/.uptier/tasks.db
其他数据库配置文件存储在同一目录下,使用自定义名称。
数据库使用采用 WAL 模式的 SQLite,允许 Electron 应用程序和 MCP 服务器同时访问而不冲突。
日志
应用程序日志存储在以下位置:
- Windows:
%APPDATA%\UpTier\logs\ - macOS:
~/Library/Application Support/UpTier/logs/ - Linux:
~/.config/UpTier/logs/
键盘快捷键
| 快捷键 | 操作 |
|------|------|
| Ctrl+N | 创建新任务 |
| Ctrl+F | 聚焦搜索框 |
| ↑ / ↓ | 导航任务 |
| Space | 切换任务完成状态 |
| Delete | 删除选定任务 |
| Escape | 关闭详情面板 |
专注计时器快捷键
| 快捷键 | 操作 |
|------|------|
| Space | 暂停/恢复计时器 |
| Escape | 结束专注会话 |
路线图
- [x] 智能列表(今日任务、重要任务、计划任务、已完成任务)
- [x] 黑暗模式
- [x] 键盘快捷键
- [x] 标签
- [x] 截止日期通知
- [x] 多个数据库配置文件
- [x] 数据导出
- [x] 列表重命名/删除
- [x] 专注计时器
- [ ] 重复任务
- [ ] 自定义智能列表过滤器
- [ ] 日历集成
- [ ] 任务模板
- [ ] 移动伴侣应用程序
故障排除
"Electron uninstall" 错误
如果你在运行 pnpm dev:electron 时看到 Error: Electron uninstall,说明 Electron 二进制文件未下载。请运行:
node node_modules/electron/install.js
MCP 服务器的原生模块错误
如果 Claude Desktop 显示关于 better-sqlite3 或 NODE_MODULE_VERSION 不匹配的错误,请使用独立部署:
pnpm --filter @uptier/mcp-server deploy
这会在 ~/.uptier/mcp-server/ 目录创建一个单独的 MCP 服务器安装,其中的原生模块会针对你当前的 Node.js 版本进行编译,避免与 Electron 应用程序冲突。
如果你仍然遇到问题,请确保你使用的 Node.js 版本与 Claude Desktop 相同(通常是 Node.js 23)。
构建脚本警告
如果你在 pnpm install 期间看到关于“忽略构建脚本”的警告,请运行:
pnpm approve-builds
然后选择需要运行构建脚本的包(canvas、sharp、electron)。
贡献
欢迎贡献代码!以下是开始的步骤:
- 分叉仓库。
- 创建功能分支 (
git checkout -b feature/amazing-feature)。 - 进行更改。
- 运行应用程序进行测试 (
pnpm dev:electron)。 - 提交更改 (
git commit -m 'Add amazing feature')。 - 推送到分支 (
git push origin feature/amazing-feature)。 - 打开拉取请求。
寻求帮助:macOS 和 Linux 测试
UpTier 目前仅在 Windows 上进行了测试。如果你使用的是 macOS 或 Linux,我们非常希望得到你的帮助来测试并报告任何特定于平台的问题!
📄 许可证
本项目采用 MIT 许可证 - 详情请参阅 LICENSE。
Scan to join WeChat group