Skip to content

v0.5.0 · CLI 体验优化

Choose a tag to compare

@monkeychen monkeychen released this 29 Jun 14:27

v0.5.0 · 2026-06-29

「CLI 体验优化」迭代。把 CLI 从「能被 agent 调」打磨到**「顺手、自洽、与 GUI 同库」**:补齐帮助/版本与模式分流、按「agent 用得到」补足缺失的命令行入口、消除 CLI 与 GUI 默认操作不同库的隐性不一致,并在首次启动时引导用户为 wx-kit 建一个 PATH 软链,让安装后开箱即可在终端调用。

未签名首次打开仍需手动放行,见 README「30 秒上手(下载安装包)」。


🚦 模式分流修复 + help/version(M16)

修了「带 --version 反而误开 GUI」的分流 bug,并把帮助/版本补齐成行业惯例的样子:

  • 分流判定收口argv[0] 是已知子命令、或 argv-h/--help/-v/--version、或 argv[0]help → 进 CLI;无参 wx-kit 仍开窗口(首启引导依赖此)。
  • flag 与子命令都给-v/--version 输出裸版本号0.5.0,agent 好 parse,不套 JSON);-h/--help 每层可用,顶层列全部子命令与简介;help [cmd] 查单命令用法。
  • 输出去向分清:help/version 是用户主动查询 → 走 stdout、退出码 0;仅报错触发的 usage 才走 stderr(拆了旧实现把两者都打到 stderr 的写法)。

🧰 CLI 能力补齐 + 与 GUI 同库(M17)

以「AI agent 会不会用到」为尺,补足命令行缺失的入口,并消除「GUI 走设置、CLI 走硬编码」导致的不同库:

  • 同库:凡涉及库根的命令,--out 默认回落 settings.libraryRoot(与 GUI 同库),显式 --out 优先。
  • 文库library search <kw> [--account](标题/正文命中)、library remove --ids <csv>(删文件 + 历史引用项 markDeleted,与 GUI 删-史联动一致)。
  • 订阅subscription list(账号/水位/上次检查/下次预计,与 GUI 订阅页同源)、subscription check-now(触发一次手动检查;命中频控不重试;未登录返回 note:'no-session'ok:true)。
  • 设置settings get [key](全量或单键)、settings set <key> <value>(白名单校验 + 值合法性校验后写入)。
  • 重构:把 runSubscriptionCheck(及依赖)从 electron/ipc.ts 闭包抽到 electron/services/subscription-check.ts,参数化 emit/log,ipc 与 cli 共用——CLI 检查与 GUI 同步落盘 check log + 历史。

🔗 首启建命令行快捷方式(M18,macOS + Linux)

省去手敲 .app 内层长路径:

  • 首启一次性引导:首次开 GUI(且未提示过、~/bin 未建软链)弹一次 Modal,接受则在 ~/bin 建指向二进制的软链;~/bin 不在 PATH 时再问是否写入 shell profile(按 $SHELL~/.zshrc/~/.bashrc/兜底 ~/.profile,幂等追加)并提示重开终端生效。接受/忽略都置 cliLinkPrompted=true,不再每次弹
  • 设置页可重建:新增「创建命令行快捷方式」按钮,显示当前 status、可随时重做;Windows 上隐藏。
  • Windows CLI 可达性/软链不在本版范围(stdout 不回贴控制台尚无正解,见 ROADMAP 候选)。

🩹 解析兜底

  • #js_name 为空时从页面脚本变量 d.nick_name 兜底提取公众号名,避免少数文章解析出空公众号(parse-article.ts)。

边界与立场

补 CLI 的尺子是**「AI agent 会不会用到」**,不是「GUI 有就镜像」:本版补文库管理/订阅触发/设置脚本化,不补纯人看的下载历史浏览;--version 出裸 semver、help 走 stdout,都为顺手与可解析,不为「stdout 必 JSON」破例。


需求见 docs/PRD-v0.5.0.md(逐条验收 §4),设计见 docs/superpowers/specs/2026-06-28-v0.5.0-cli-experience-design.md,逐里程碑决策/踩坑见 docs/devlog/wx-kit-vibe-coding.md §28。功能与质量:npm test(240)/ tsc / lint 全绿,npm run test:e2e 实机全流程通过(含 M18 软链真 e2e)。

安装包

  • wx-kit-0.5.0-arm64.dmg(macOS Apple Silicon)
  • wx-kit-0.5.0.dmg(macOS Intel)
  • wx-kit Setup 0.5.0.exe(Windows)

均未签名/未公证,首次打开需手动放行(见 README)。