Skip to content

Repository files navigation

ProfessionalStation — 个人任务系统

一个给单个使用者的任务系统。核心主张:方法论不该做成视图,该做成约束——把 GTD / 看板 / Ivy Lee / 艾森豪威尔里唯一值钱的那条规则提取出来焊死在界面里,然后把方法论本身藏起来。

三条约束就是全部规则

约束 默认值 行为
今天最多几条 6(Ivy Lee) 超了不拦,但容量条变色并明说
同时最多做几件 3(看板 WIP) 超了硬拦,并告诉你怎么解决
停滞判定天数 7 超时的在制/等待会进周回顾的结算台

都可以在「设置」里改。

在制名额算的是「我的注意力」,不是「世界上正在发生的事」。 活在跑但跑的不是你 (等机器、等构建、等上游)——按「等结果」,它留在「进行中」里灰着,让出名额, 但「已进行 N 天」照常累计,挂久了周回顾一样会把它拎出来结算。

每天进门先挑

当天第一次打开应用,主界面前面挡一屏:左边是「下一步」库存,右边是 6 个空槽, 挑完才进去。Ivy Lee 的药效全在事前挑这个动作上——做完再补记的那份叫流水账, 不叫承诺。一天一次,挑完当天不再出现;实在不想挑,「今天什么都不挑」永远可点, 但你得明确地这么选一次。

快速开始

npm install
npm run dev        # 开发服务器 http://localhost:3000
npm run test       # 单元 + 集成测试
npm run typecheck  # 类型检查
npm run build      # 生产构建

可选:在 .env 配置 AI_API_KEY(OpenAI 兼容,默认 DeepSeek)启用「马力」计划助手与 AI 任务拆分。未配置时应用完全可用。

导航 = 任务生命周期

处理    收件箱 → 今天 N/6 → 进行中 N/3 → 等待
库存    下一步 · 未来 7 天 · 将来/也许
组织    项目 · 领域 · 笔记 · 习惯
结算    周回顾 · 已完成日志

没有「视图模式」切换器——每个范围只有一种正确的展示方式。

两个容易搞混的概念

  • dueDate 截止日 = 世界对我的要求
  • plannedFor 承诺日 = 我对自己的承诺

「今天」只读承诺日。自己放进来的会做,系统塞的会视而不见。逾期任务会置顶显示,但不占今天的额度。

侧边栏会说话

角标不只是计数,它负责在系统开始腐烂时先开口:

  • 「进行中」有任务超过停滞阈值 → 角标变红,写成 1/3 · 1 停滞
  • 「周回顾」直接显示待结算的条数,而不是一个没有信息量的 !
  • 「收件箱」堆过 10 条 → 变色。到那个量级它就不是缓冲区了,是垃圾堆

「系统在烂而你不知道」是最要命的失败模式——这些信号以前只有主动点进周回顾 才看得见,现在它们直接顶在导航上。

四种终局,只有一种是「完成」

done(做了)/ canceled(决定不做,带原因)/ trash(不该存在)/ 转化(拆分或转成笔记)。

每条任务最终都必须走到某个终局——悬着的任务是系统腐烂的开始。周回顾的结算台负责强制清零。

马力是教练,不是助手

他不等你开口。发现模式时会主动说一句话——你连着推同一件事、等待挂了三周、今天排了一堆一件没动。

三条红线:罕见(没模式就闭嘴)、一天最多一次随手可关(设置 → 教练模式)。

人格默认是「损友」:聪明、毒舌、不留情面,只攻击想法不攻击人。未配置 AI 时用内置文案兜底——依然是他那张嘴。

「21天,鸡都出栏了,你的日志模块还在重构——你是准备让它修仙吗?」

他还干两件出力的活:

  • 拆任务:不是一按就拆。信息不够他先反问一句,问清楚背景再拆;拆出来的是 草稿,逐条改完、删掉多余的、补上漏掉的,确认了才落库。
  • 起草复盘:周回顾的复盘笔记,按本周的任务变化和你们聊过的内容直接写出三段初稿。 空白框 + 提示模板这条路已经被证伪——把动作从「写」降到「改」,才写得出来。

他给的每条建议都能改再执行:改标题、改日期、改优先级,卡片上就地改。 只能「全盘接受或忽略」的建议,实际使用中只会被忽略。

快捷键

动作
Cmd/Ctrl+K 命令面板
Q 快速捕获
Cmd/Ctrl+Z 撤销
Enter 列表导航 / 打开详情
Space 完成 · T 放进今天 · 1-4 优先级
1-5 收件箱澄清流
Esc 关闭抽屉

目录结构

src/
  app/            # Next.js App Router 页面与 API 路由
  components/     # UI 组件
  lib/
    engine/       # 状态机 + 视图投影(纯函数,唯一状态转换真相源)
    domain/       # 领域类型、常量与工厂
    db/           # 文件持久层(含旧数据迁移)
    agent/        # 马力(AI 计划助手)
    parsing/      # 自然语言日期与批量捕获解析
  store/          # 客户端 Zustand 状态

核心不变量

  • 视图层不允许绕过 lib/engine 直接修改任务状态。
  • 依赖阻断与 WIP 上限由仓储层强制,非法操作返回错误而非静默。
  • 所有失败都要经 toast 说明原因——静默吞错是最伤信任的一类缺陷。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages