Todo List

The official PI-Desktop todo list with list and four-quadrant layouts, due dates, native reminders and a todo_manage agent tool for querying, adding, splitting, completing and rescheduling tasks.

by PI-Desktop·v0.6.0 Official catalog

About this plugin

小清新待办(pi.todo)

PI-Desktop 官方插件(id: pi.todo,遵循官方 pi. 前缀命名):简单列表四象限矩阵双布局待办,支持到期时间与原生系统到期提醒

使用

  • 命令面板运行 小清新待办:打开面板(关键词:待办 / todo / 清单 / 任务 / 官方;分类 Productivity)
  • 顶部右上角切换布局: 简单列表 / 四象限(自动记住上次选择

功能

双布局

  • 简单列表:全部 / 进行中 / 已完成筛选;每项带象限色点,点击可切换象限
  • 四象限矩阵:重要·紧急(立刻做)/ 重要·不紧急(计划做)/ 紧急·不重要(委托做)/ 不重要·不紧急(减少做);任务卡可直接拖拽到其他象限,每格独立计数与滚动

任务操作

  • 回车或点 + 添加(添加栏可选象限,自动记住上次选择)
  • 点圆勾完成/取消(下沉划线置灰);双击文字编辑(Enter 保存 / Esc 取消)
  • 悬停 删除;一键「清空已完成」;底部剩余/总数统计
  • localStorage 本地持久化,多面板自动同步;空状态插画

到期时间与提醒

  • 点击任务上的 🕘 按钮设置到期时间:自定义(日期+时刻)或快捷(今天 18:00 / 明天 09:00 / 清除期限)
  • 到期前显示「今天 HH:MM / 明天 HH:MM / M月D日」;过期未完成的任务红色高亮
  • 到期提醒:到点发送原生系统通知(宿主 ui.showNativeNotification);未授权/失败自动降级为应用内 toast
  • 首次设置到期时间时会探测系统通知权限(宿主 ADR 0074 能力)
  • 高效算法:单一定时器按最近到期时间触发(事件驱动、无轮询、空闲零占用);提醒去重持久化,改期自动重置
  • 打开面板时自动补发已过期未提醒的任务

AI 管理(agent 工具)

  • 注册工具 todo_manage,在对话中直接让 AI 管理待办:
    • 查询:"还有什么未完成?" → list(可过滤 all/active/done/overdue)
    • 添加:"记一下明天交房租" → add
    • 拆分:发一大段话 → split 自动按行/句号/逗号拆成多条任务
    • 勾选完成:"我已完成写周报了"(不精确也行)→ complete 模糊匹配
    • 延期:"把交房租推迟到20号" → extend
    • 清空:"清空过期的" → clear_overdue;"清空已完成的" → clear_done
    • 删除delete 模糊匹配删除
  • 数据与面板实时共享(同一份 settings.json):AI 改完,面板聚焦即刷新;面板手动改,AI 立即可见

开发

  1. 插件页 → 加载开发插件 → 选择本目录,保存文件即热重载(改 permissions 需重新加载)。
  2. 校验与打包:
pnpm pi-plugin check .
pnpm pi-plugin pack .
# 产出 dist/pi.todo-0.5.1.piplug

技术说明

  • 纯前端自包含应用(renderer/index.html),无第三方依赖;权限 ui.panel + notify + agent.tool.register(安装时需显式授权)
  • 数据共享:权威数据源 = 插件数据目录 settings.json(agent 工具读写);面板经 plugin.getSettings 拉取、经宿主 skill.* → onPanelInvoke 限定通道写回;localStorage 仅作缓存
  • 窗口尺寸由 manifest ui.width/height 决定(宿主强制最小 360×280)
  • 宿主沙箱:面板数据与提醒都在面板内完成(渲染端无法与主进程传数据);提醒需保持面板打开,关闭面板期间不提醒