v0.5.0 · CLI 体验优化
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)。