跳转到内容

TUI 概览

Switch to Zen Mode
┌─────────────────────────────────────────────────────┐
│ [Today] [Week] [Month] [Inbox] mutsumi ~ │ ← 头部 (1 行)
├─────────────────────────────────────────────────────┤
│ │
│ v HIGH ───────────────────────────────────────── │ ← 优先级分组
│ [ ] 重构 Auth 模块 dev,backend *** │ ← 任务行
│ [x] 修复缓存穿透 Bug bugfix *** │
│ │
│ v NORMAL ─────────────────────────────────────── │
│ [ ] 写周报 life ** │
│ [ ] Review PR #42 dev ** │
│ └─ [ ] 检查类型安全 (1/2) │ ← 嵌套子任务
│ └─ [x] 跑通测试 │
│ │
│ v LOW ────────────────────────────────────────── │
│ [ ] 更新 README docs * │
│ │
├─────────────────────────────────────────────────────┤
│ 6 tasks · 2 done · 4 pending .. quiet │ ← 底部 (1 行)
└─────────────────────────────────────────────────────┘
区域内容
头部视图标签页 (Today/Week/Month/Inbox) + 品牌标识
任务列表按优先级分组的任务行,支持子任务嵌套
底部任务统计 + 通知模式状态
标签显示内容
Todayscope == "day" 或自动推导为今天到期的任务
Weekscope == "week" 或本周到期的任务
Monthscope == "month" 或本月到期的任务
Inboxscope == "inbox" 或无 scope 无 due_date 的任务

Mutsumi 会自动适配终端窗口大小。

终端宽度行为
≥ 80 列完整布局:标题 + 标签 + 优先级星标
60-79 列省略标签,只显示标题 + 优先级
40-59 列极简模式:仅复选框 + 标题
< 40 列显示”终端太窄”警告

选中任务后按 Enter(或点击)展开底部详情面板:

├─────────────────────────────────────────────────────┤
│ > 重构 Auth 模块 │
│ ───────────────────────────────────────────────── │
│ Status: pending │
│ Priority: high │
│ Scope: day │
│ Tags: dev, backend │
│ Due: 2026-03-25 │
│ Created: 2026-03-21 08:00 │
│ ───────────────────────────────────────────────── │
│ Description: │
│ 把 session-based auth 改成 JWT,需要同时改 │
│ middleware 和路由层。 │
│ ───────────────────────────────────────────────── │
│ Subtasks: 1/2 done │
│ [x] 安装 PyJWT │
│ [ ] 写 middleware │
├─────────────────────────────────────────────────────┤

mutsumi.json 为空或当前标签无任务时:

┌─────────────────────────────────────────┐
│ │
│ Nothing here yet. │
│ Press [n] to create a task │
│ or let your Agent write mutsumi.json │
│ │
└─────────────────────────────────────────┘

mutsumi.json 不可读或格式错误时,TUI 会显示错误横幅,但保留上次有效状态的任务列表:

┌─────────────────────────────────────────────────────┐
│ ! mutsumi.json has errors · showing last valid state │
│ Run `mutsumi validate` for details │
├─────────────────────────────────────────────────────┤
│ (上次有效的任务列表) │
└─────────────────────────────────────────────────────┘

/ 进入搜索模式,实时过滤任务:

┌─────────────────────────────────────────┐
│ .. Search: auth mod█ │
├─────────────────────────────────────────┤
│ [ ] 重构 Auth 模块 dev *** │
│ [x] 修复 Auth token 过期 bugfix │
└─────────────────────────────────────────┘
  • 边输入边过滤
  • 搜索范围:标题 + 标签 + 描述
  • Escape 退出搜索并恢复完整列表
watchdog (inotify/FSEvents/kqueue)
v
文件变更事件
v
防抖 (100ms) ← 防止快速写入导致的抖动
v
重新读取 mutsumi.json
v
校验 Schema
┌────┴────┐
v v
有效 无效
│ │
v v
重新渲染 显示错误
TUI 横幅
  • 文件变更后等待 100ms 再读取(等待写入完成)
  • 100ms 内的多次变更合并为一次读取
  • 防抖值可在配置中调整