这个项目现在是一个包结构的任务图管理器。稳定操作入口是 CLI:
python -m taskmgr.cli <命令>旧入口也保留了:
python task_appender.py <命令>最常用的启动方式:
cd /home/echo/vibe_tools/task_appender
./start_ui.sh看到 Open: http://127.0.0.1:8765/ 后,用浏览器打开这个地址。服务会占用当前终端;不用时按 Ctrl-C 停止。
查看所有任务:
python -m taskmgr.cli list查看今天需要关注的任务:
python -m taskmgr.cli today查看成长计分板:
python -m taskmgr.cli scoreboard启动本地 UI:
./start_ui.sh默认打开 http://127.0.0.1:8765/。服务模式可以写回 data/tasks.yaml:右键任务块修改状态或打开编辑表单,点击“新增任务”或在图空白处右键新建任务。编辑表单支持标题、channel、类型、状态、截止、优先级、父任务、子任务、依赖、标签和备注。写入后会自动校验并重新生成全部导出文件;按 Ctrl-Z 可以撤销最近一次 UI 写入。
查看被前置任务阻塞的任务:
python -m taskmgr.cli list --blocked按 channel 查看任务:
python -m taskmgr.cli list --channel 公司任务校验任务图:
python -m taskmgr.cli validate重新生成 Mermaid 图:
python -m taskmgr.cli render --format mermaid生成可直接拖进浏览器查看的交互式 HTML 图:
python -m taskmgr.cli render --format html生成成长计分板 HTML:
python -m taskmgr.cli render --format scoreboard校验并重新生成全部导出:
python -m taskmgr.cli sync新增任务必须显式指定 channel。内置 channel 包含 自我提升 和 公司任务。
新增长期目标:
python -m taskmgr.cli add --kind long --title "系统学习 GPU 通信库设计" --channel 自我提升 --tag nccl --tag rdma新增短期任务:
python -m taskmgr.cli add --kind short --title "阅读 ncclTopoCompute" --channel 自我提升 --due 2026-05-03 --tag nccl新增子任务:
python -m taskmgr.cli add --kind short --title "整理拓扑搜索笔记" --channel 自我提升 --parent T-0001 --due 2026-05-05 --tag nccl新增每日任务:
python -m taskmgr.cli add --kind daily --title "每天复盘工程实验" --channel 自我提升 --time "23:00" --tag daily调整既有任务 channel:
python -m taskmgr.cli channel --task T-0003 --channel 公司任务推荐从唯一日常入口启动:
./start_ui.sh服务启动后会在同一进程内运行提醒检查器。关闭 UI 服务后不再检查提醒,也不会在登录时自动启动。
在 Web UI 的任务编辑弹窗中,有截止日期的任务可以添加多条提醒规则。每条规则由“提前天数”和“时间”组成;0 天表示截止当天。每日任务仍使用“每日时间”,第一版每天提醒一次。
CLI 规则格式为 Nd@HH:MM:
conda run -n agent python -m taskmgr.cli add --kind short --title "交作业" --due 2026-07-04 --reminder 1d@09:00
conda run -n agent python -m taskmgr.cli reminders set --task T-0001 --rule 1d@09:00 --rule 0d@09:00
conda run -n agent python -m taskmgr.cli reminders clear --task T-0001通知设置包括总开关、时区、默认声音、错过提醒的补发窗口和检查间隔。默认总开关关闭、时区为 Asia/Shanghai、补发窗口为 120 分钟、检查间隔为 60 秒。
首次使用应在 Web UI 的“通知设置”中依次执行“初始化通知 App”和“发送测试通知”。命令成功只能证明通知请求已提交;macOS 通知权限、横幅样式和专注模式仍由系统控制。
默认数据库对应:
data/settings.yaml
data/reminder_state.json
build/Notification Agent.app
这些文件均为本地运行状态。任务提醒规则本身仍保存在 data/tasks.yaml,修改后会按仓库规则重建全部导出。
建立依赖关系:
python -m taskmgr.cli link --task T-0003 --depends-on T-0002含义是:T-0003 依赖 T-0002,也就是要先完成 T-0002。
移除依赖关系:
python -m taskmgr.cli unlink --task T-0003 --depends-on T-0002CLI 会拒绝形成环的依赖。
把任务移动到新的父任务下面:
python -m taskmgr.cli move --task T-0003 --parent T-0001把任务移动回根层级:
python -m taskmgr.cli move --task T-0003 --rootCLI 只更新子任务的 parent 字段,并自动重建父任务的 children,同时拒绝形成环的父子关系。
python -m taskmgr.cli done T-0003done 会记录 completed_at。add、done、link、unlink、move、apply-inbox 成功写入后会自动重建任务图、Markdown 摘要和成长计分板导出。默认任务库写到仓库 exports/;使用 --db 指向其他任务库时,写到该任务库旁边的 exports/。
成长系统是 v0.1 的派生视图,不需要手工维护第二份数据:
done/archived任务会计入已获得 XP,并用于提取“我”的收获。todo/doing/blocked任务会计入任务池待领取 XP。- XP 由任务类型、优先级、依赖、子任务、标签和产出类型共同决定。
- 产出类型包括博客/文章、Demo/实验、源码地图、复盘/总结、工具/版本发布。
- v0.1.0rc1 起,技能以“星核主干”为根节点渲染成树,分支描述采用短句风格。
- 每个等级都有字符段位标志,完整等级谱会出现在 Markdown/HTML 导出的注脚。
- HTML 计分板输出到
exports/scoreboard.html。
先把自然语言任务写进 TASK_INBOX.md,例如:
- 短期任务:本周日前完成 Triton autotune demo。 #triton
- 长期目标:系统学习 Mooncake 的 PD 分离和 KVCache 设计。 #mooncake
- 每日任务:每天晚上 11 点整理当天学到的一个系统知识点。 #daily然后运行:
python -m taskmgr.cli apply-inbox TASK_INBOX.md --channel 自我提升
python -m taskmgr.cli validate
python -m taskmgr.cli render --format mermaid生成 Mermaid 图:
python -m taskmgr.cli render --format mermaid生成 DOT 图:
python -m taskmgr.cli render --format dot生成 Markdown 摘要:
python -m taskmgr.cli render --format markdown生成自包含 HTML 图:
python -m taskmgr.cli render --format htmlexports/graph.html 包含可拖拽任务块、自动重绘连线、搜索、类型/状态筛选、缩放和任务详情面板。手动调整后的布局会保存到浏览器 localStorage;重新生成 HTML 后,只要任务 ID 集合不变,同一浏览器会继续使用该布局。
直接打开 exports/graph.html 是静态模式,不能写任务库。需要 UI 新建任务或改状态时,运行:
./start_ui.sh临时换端口:
PORT=8788 ./start_ui.sh生成成长计分板 HTML:
python -m taskmgr.cli render --format scoreboard一次生成全部导出:
python -m taskmgr.cli sync对应输出:
exports/graph.mmdexports/graph.dotexports/tasks.mdexports/graph.htmlexports/scoreboard.html
标准库测试:
python -m unittest discover -s testsharness 场景测试:
python harness/run_harness.py如果安装了 pytest:
python -m pytest每次发版本前都要更新 RELEASE_NOTES.md。v0.1.1 的 release note 是:支持了本地任务图 UI,而不是以前只能查看静态 graph。