Skip to content

Releases: LearnPrompt/afu-llm-todo

v1.3.4 — 飞书已连接面板说明授权来源

Choose a tag to compare

@LearnPrompt LearnPrompt released this 26 Jun 17:00

透明化飞书授权来源

回应用户疑问「为什么点一下不用授权就连上了」:因为 app 读取的是本机 lark-cli 已登录账号的既有授权,自身不持有任何凭据。

本版在「已连接」面板明确提示:

  • 状态文案补充「授权来自本机 lark-cli 已登录的账号,请核对下方是不是你本人」。
  • 账号行加「(本机 lark-cli 登录)」。

安全说明(无变更,仅澄清)

  • app 拿不到 lark-cli 本身没有的权限,授权那一步永远发生在飞书页面、由用户本人确认。
  • 新用户不会静默通过:会被「未安装 lark-cli / 未初始化 / 待授权」三态之一挡住,必须自行完成设备码授权。
  • 唯一边界:使用的是这台机器上 lark-cli 当前登录的账号(共享机器需注意)——面板已显示账号名供核对。

v1.3.3 — 修复飞书授权识别(lark-cli 1.x 兼容)

Choose a tag to compare

@LearnPrompt LearnPrompt released this 26 Jun 16:48

修复飞书一直「未授权」的根因

定位到真正的根因:lark-cli auth status --json 在 1.x 改了输出结构

  • 旧版:tokenStatus/userName/expiresAt 在 JSON 顶层。
  • 新版(1.0.53):嵌套到 identities.user.*tokenStatususerNameopenIdexpiresAtavailable),顶层只剩 identity

app 的 normalizeLarkStatus 仍读顶层字段 → 永远拿到 undefined → 把已授权的用户误判为未授权 → 反复触发设备码授权流,用户感知为「开一个链接→回来又一个码→再开一个链接→失效」。

修复normalizeLarkStatus 优先读 identities.user.*,回退到旧版顶层字段(向后兼容)。已授权用户现在正确识别为「已连接」,并能拉取主日历。

字段名 device_code/verification_url/expires_in 和完成命令 --device-code 都没变,所以设备码流程本身无需改动。配合 v1.3.2 移除的自动双开,授权体验恢复正常。

v1.3.2 — 转卡排期框修复 + 五项体验修复

Choose a tag to compare

@LearnPrompt LearnPrompt released this 26 Jun 16:43

本版修复用户在 v1.3.1 dogfood 中反馈的 6 个问题,含 1 个核心 bug。

修复

转卡后排期框不弹 / 排期池看不到(大 bug)

  • 根因:批量转卡遇到合并结果时返回 path: undefined(合并分支只给 mergedInto),客户端按 path 找不到卡 → 排期对话框被静默吞掉。
  • 现在:server 回退 created || mergedInto;转卡后视图切到排期池让新卡立即可见;排期队列加 title 兜底匹配。转卡 → 排期框正常弹出 → 关掉后停在排期池看到新卡。

收件箱工具条对齐

工具条改 align-items:center,「每页 [下拉]」改为同行,下一页/每页/本页全选/批量转卡 与左侧页码同一水平线。

作废对话框预设原因

原因输入框上方加 6 个快捷标签(热点窗口已过 / 与已有选题重复 / 信息证据不足 / 执行成本过高 / 方向不符 / 内容已过时),点击填入仍可手改。

被拒绝的卡从日历消失

日历跳过 已拒绝/已归档/已发布,拒绝后不再在周历显示「已拒绝」残留卡。

已过期标记

日历卡按「排期结束时间 < 现在」判定,过期显示红色「已过期」徽标(刷新即生效,不持久化)。

飞书授权双链接

  • 移除点击后的自动 window.open,授权页只在弹窗里留一个打开入口,避免二次打开导致设备码会话失效。
  • server 检测 lark-cli --version 并在连接器面板显示,未检测到/过旧时提示更新。

注:飞书授权的完成流程(device-code 轮询)深度兼容仍待真实授权环境验证。

v1.3.1 — 配置独立成块 + 排期池 + 布局对齐

Choose a tag to compare

@LearnPrompt LearnPrompt released this 26 Jun 13:24

本版聚焦首页结构与双模式落地,承接 v1.3.0。

修复

  • 独立模式不再要求 Vault:v1.3.0 的后端逻辑此前因服务未重启而未生效;现在独立模式只填三个绝对路径目录,保存不再报「Vault 根目录不能为空」。
  • 保存后的诊断 banner 以服务端 data.ok 为准,绿色(通过)/ 红色(失败)判断更可靠。

结构调整

  • 配置独立成一整块:工作区设置从吉祥物右侧那一窄列移出,变成 hero 下方的全宽区块。首页现在是清晰的三大块:介绍 → 配置 → 选题池+日历。
  • hero 两行对齐:删掉「当前工作区」状态卡(信息并入配置区标题),状态行从 5 个减到 4 个,与 01-04 步骤行逐列对齐,不再错位。
  • 「题库」→「排期池」:tab、面板标题、提示文案、toast 全部统一改名。

清理

  • 删除残留的「诊断」tab 和 wiki 面板 DOM,以及已废弃的 toggleDiagnostics / loadDiagnostics / renderDiagnostics 代码。

v1.3.0 — 双模式设置 + 自动诊断 + 布局优化

Choose a tag to compare

@LearnPrompt LearnPrompt released this 26 Jun 12:46

新功能

双模式设置(Obsidian / 独立)

工作区设置新增模式切换:

  • Obsidian 模式:保留 Vault 根目录 + 相对路径,适合 Obsidian 用户
  • 独立模式:三个目录直接填绝对路径,不依赖 Obsidian,适合任意本地目录

保存后自动诊断

点击"保存目录设置"后,自动调用诊断接口并内联显示结果:

  • 绿色:路径全部可访问,准备就绪
  • 红色:列出无法访问的目录名,提示用户检查

布局优化

  • 移除诊断 tab:收件箱 + 题库两栏,更简洁;诊断改为保存后内联展示
  • hero flow 步骤文案重写:更清楚地解释每步做什么,适合首次用户
  • flow step 等高对齐:去掉 min-height 固定值,用 align-items: stretch 保证卡片等高
  • 移除 max-width: 880px 约束:flow 步骤和状态面板随 hero 宽度自适应,不再左右不齐

v1.2.0 — 归档联动清理收件箱源文件

Choose a tag to compare

@LearnPrompt LearnPrompt released this 26 Jun 11:27

新功能

归档联动删除收件箱源文件

选题卡片执行过期归档时,若该卡片由收件箱导入(即 frontmatter 含 source_inbox_path),归档完成后会自动删除对应的收件箱原始 .md 文件:

  • 文件已被手动删除时静默跳过(ENOENT 不报错)
  • 操作结果写入 planner-log(inboxSourcePath + inboxSourceDeleted 字段)

行为不变:拒绝卡片时不删除原始文件,只有明确点击「删除并移出活动选题库」才触发清理。

其他

  • 替换吉祥物为透明背景版本,从 87MB 压缩至 310KB

v1.1.1 — 诊断面板空白修复 · 页大小验证 · 管家形象

Choose a tag to compare

@LearnPrompt LearnPrompt released this 26 Jun 11:09

Bug 修复

  • 诊断面板空白消除wikiResult 去掉 empty-state class,不再显示 120px 高的空白框
  • wiki-actions 布局修复:按钮改为单列,不再在 3 格栅格里孤零零占一格
  • 收件箱每页大小验证修复readInboxPageSizeValue 允许值更新为 [5, 10, 20],选 5 或 10 条不再回退成 20
  • 切页高度稳定inbox-candidate-listmin-height: 400px,切到最后一页不再跳缩

新增

  • 管家阿福乐高形象:Hero 右侧加入乐高管家形象图

v1.1.0 — 周排期一览 · mini 卡片 · 亮暗色主题

Choose a tag to compare

@LearnPrompt LearnPrompt released this 26 Jun 10:40

新功能

周排期面板重设计

  • 7 列横向布局固定显示完整一周,不再折行成 2 列
  • 列高度随视口自适应(100vh - 340px),内容超出时每列独立滚动

日历 mini 卡片

  • 日历卡片默认只显示「阶段 badge + 标题 + 时间段」,大幅节省空间
  • 点击卡片展开完整详情(摘要、标签、操作按钮)
  • 已排期卡片的「排期」按钮改为「重新排期」,语义更清晰

亮色 / 暗色主题

  • 右上角 ◑ 深色 / 浅色 按钮一键切换
  • 选择保存在 localStorage,刷新后保持

Bug 修复

  • 修复「未同步」标签在无外部日历或未排期卡片上错误显示
  • 修复大量历史卡片残留 stage: 去重中 问题(服务端读取时自动映射为「待排期」)
  • 修复「当前工作区」显示的是 config JSON 路径而非 Vault 根目录
  • 收件箱每页条数选项简化为 5 / 10 / 20

v1.0.0 — 管家阿福正式发布

Choose a tag to compare

@LearnPrompt LearnPrompt released this 11 Jun 19:03

阿福转正了

从 demo 项目到正式发布:16/16 测试通过,演示 vault 一条命令可跑,npx 安装实测可发现。

它做什么

站在 Obsidian Vault 门口的管家:先把收件箱材料整理成 Wiki,再把 Wiki 里长出来的判断变成可排进日历的待办卡。

Inbox -> Wiki -> Todo Card -> Calendar

安装

npx skills add LearnPrompt/afu-llm-todo

本版打包

  • MIT LICENSE 入库
  • plugin marketplace 双通道(.claude-plugin/marketplace.json)
  • README:徽章行(skills.sh 安装计数)+ 演示视频改为可点击海报(GitHub 不渲染外链 video 标签)
  • 16 个单元测试全绿;npm run demo 演示 vault 开箱即跑

Afu demo video

Choose a tag to compare

@LearnPrompt LearnPrompt released this 04 May 10:17

Demo video used by the README.