Skip to content

Web 界面

GDT 提供了美观的 Web 界面,用于可视化任务管理。启动服务器后,即可通过浏览器访问所有功能。

GDT Web 界面 - 对话

启动服务器

bash
# 在默认端口 (3000) 启动 Web UI
getdone serve

# 启动并自动打开浏览器
getdone serve --open

# 使用自定义端口
getdone serve --port 8080

# 允许局域网内其他设备访问
getdone serve --host

启动后,在浏览器中打开 http://localhost:3000

界面概览

Web 界面提供了简洁、现代的操作体验,包含以下主要部分:

模块说明
任务列表查看、筛选和管理所有任务
AI 对话像 CLI 一样与 GDT 对话
日历视图周视图和月视图展示日程
设置主题、日历连接和偏好设置

任务管理

任务列表

GDT Web 界面 - 任务列表

任务列表展示所有待办任务,包括:

  • 优先级标识 — 颜色编码(红色=高、黄色=中、绿色=低)
  • 截止日期 — 相对日期如"明天"或"3天后"
  • 项目标签 — 按项目分组任务
  • 快捷操作 — 完成、编辑或删除任务

筛选和排序

使用工具栏筛选任务:

筛选条件:
├── 优先级(高 / 中 / 低)
├── 项目(+work、+personal 等)
├── 截止日期(今天 / 本周 / 逾期)
└── 状态(待办 / 已完成)

排序方式:
├── 优先级
├── 截止日期
├── 创建日期
└── 项目

创建任务

点击 + 新建任务 按钮或使用 AI 对话:

你: 添加一个任务,周五前审核季度报告

GDT: 已创建任务:审核季度报告
     截止日期:周五
     优先级:中

AI 对话

对话界面提供与 CLI 相同的对话体验:

  • 流式响应 — 实时看到 AI 回复
  • 工具调用可视化 — 观察 GDT 与 TaskWarrior 的交互
  • 消息历史 — 滚动查看对话记录
  • Markdown 渲染 — 格式化文本、代码块和列表

对话示例

你: 今天应该重点做什么?

GDT: 根据你的任务,建议如下:

     🔴 高优先级
     1. 修复登录 bug — 今天截止

     📋 如果有时间
     2. 审核 PR 反馈
     3. 更新文档

     登录 bug 比较紧急。需要我帮你拆解成具体步骤吗?

日历视图

GDT Web 界面 - 日历

周视图

周视图显示 7 天的日程网格:

  • 任务卡片 — 按优先级着色,显示项目信息
  • 事件卡片 — 显示具体时间
  • 全天事件 — 带有特殊标记
  • 导航 — 使用箭头按钮切换周
       周一 2/3        周二 2/4        周三 2/5
       ─────────────   ─────────────   ─────────────
       ██ 审核 PR      ░░░░░░░░░░░░░   ██ 团队同步
       ██ 修复 bug     ██ 设计会议     ░░░░░░░░░░░░░

月视图

月视图提供日历总览:

  • 任务指示 — 每天显示任务数量点
  • 点击展开 — 查看任意一天的任务
  • 今日高亮 — 当前日期突出显示
  • 导航 — 切换月份

设置

主题

选择你喜欢的外观:

主题说明
浅色清爽的白色背景
深色夜间使用更舒适
跟随系统自动跟随操作系统设置

主题会立即生效,并在会话间保持。

日历连接

连接外部日历,将事件和任务一起显示:

  • Google 日历 — OAuth 集成
  • iCloud 日历 — 使用应用专用密码
  • 系统日历 — 原生 macOS/Windows 访问

详见 日历集成 了解设置方法。

键盘快捷键

快捷键操作
n新建任务
f聚焦搜索/筛选
/打开 AI 对话
?显示快捷键列表
Esc关闭对话框

安全性

Web 界面内置多项安全功能:

  • 仅限本地 — 默认只能从本机访问
  • 速率限制 — 每分钟 100 次请求,防止滥用
  • 输入验证 — 所有输入使用 Zod 模式验证
  • WebSocket 限制 — 最多 50 个并发连接

如需允许局域网访问(如从手机访问),使用 --host

bash
getdone serve --host

WARNING

使用 --host 时,网络上的任何人都可以访问 Web 界面。请仅在可信网络中使用。

故障排除

端口被占用

bash
# 使用其他端口
getdone serve --port 8080

无法从其他设备连接

  1. 确保使用了 --host 参数启动
  2. 检查防火墙是否允许该端口
  3. 使用电脑的 IP 地址(而非 localhost)
bash
# 查找 IP 地址
ifconfig | grep "inet "

# 从其他设备访问
http://192.168.1.100:3000

响应缓慢

  • 检查网络连接(AI 功能需要联网)
  • 确保 ANTHROPIC_API_KEY 设置正确
  • 尝试刷新页面

下一步