Skip to content

Releases: arnen7000/DSH-Workbuddy-WebSearch

v0.3.3

Choose a tag to compare

@arnen7000 arnen7000 released this 10 Oct 13:51

0.3.3:为 macOS 补齐 Electron 定位的发现链。① 此前 macOS 只有 /Applications/<产品>.app 一条默认路径,装在别处(或目录名与产品名不一致)就完全找不到;Windows 有「常见安装根扫描 + 卸载注册表」两道兜底,macOS 一道都没有。② 现在按官方 dsh-workbuddy-connect 的做法补齐:用 mdfind 按 bundle id 反查 Spotlight 索引,再用 plutil 校验候选自己的 CFBundleIdentifier,然后确认包内 Contents/MacOS/Electron 存在且可执行,按 realpath 去重;多于一个命中就报歧义、绝不猜。③ 索引只是线索不是信任;mdfind/plutil 用绝对路径调用(不走 PATH);结果按进程缓存一次,查询失败不缓存以便下次重试。④ 平台守卫保证 Windows 路径零影响,Windows 行为与 0.3.2 完全相同。⑤ 新增 16 条回归用例与 2 条异常路径用例,并用变异测试证明这些护栏不是恒真。⑥ macOS 仍为实验性:代码与官方实现逐条对齐,但本机没有 Mac 设备,未做真机端到端验证。

v0.3.2

Choose a tag to compare

@arnen7000 arnen7000 released this 10 Oct 12:25

0.3.2:为插件市场的详情页补充界面截图。① 新增 screenshots.json,声明两张界面截图(插件列表里的已安装条目、插件详情页显示的版本号与运行状态),市场的 App Store 式详情页会直接采用。② 新增 assets/ 目录存放截图,路径相对 screenshots.json —— 之后想换图只需推自己的仓库,下一次构建自动生效,不必再提收录 PR。③ 运行时行为与 0.3.1 完全相同,无功能变更。

v0.3.1

Choose a tag to compare

@arnen7000 arnen7000 released this 09 Oct 22:51

0.3.1:发布链路改走 npm 可信发布(Trusted Publishing / OIDC)。① package.json 的 repository / homepage / bugs 修正为仓库的规范大小写 —— npm 要求发布来源仓库与 package.json 的 repository.url 完全匹配,否则可信发布会失败。② 新增 .github/workflows/publish.yml:在 GitHub 上发布 Release 即自动经 OIDC 发布到 npm,不再依赖长期有效的 npm token;发布物自动附带 provenance 签名,任何人可验证它由哪个仓库、哪个工作流、哪个提交构建。③ 工作流内置三道闸门:Release tag 与 package.json 的版本必须一致、发布前先跑回归/场景/门面三套检查、显式确认环境里没有被注入长期 token。④ 运行时行为与 0.3.0 完全相同,无功能变更。

v0.3.0 — 区域绑定:两版 WorkBuddy 账号不再混用

Choose a tag to compare

@arnen7000 arnen7000 released this 09 Oct 12:05

v0.3.0 — 区域绑定:两版 WorkBuddy 账号不再混用

本版把「国内版 / 国际版 WorkBuddy」的选择做成一次绑定、不跨版回落,并新增 Windows 卸载注册表发现,
让装在自选盘符、或两版装在同一目录的情形也能零配置用起来。

新增

  • region 三档 auto | global | cn,默认 auto:只装了一版的用户无需任何配置即可用;
    两版都可用时按 AUTO_REGION_ORDER 取 global,保持 v0.2.x 的额度归属不变。
  • Windows 卸载注册表发现(与 dsh-workbuddy-connect 一致的做法):三处 Uninstall 根、
    DisplayName 形状匹配、每个候选都过 Electron 布局校验(exe 名相符 + 同级 version 形如
    37.10.3-24 + resources/app.asar 存在)、realpath 去重、多于一个就报歧义绝不猜。
    覆盖「两版装在同一目录」与「装在自选盘符」这两种此前完全无法自动发现的情形。
  • 明确的报错文案:被绑定那一版没登录时给出可操作指引(去哪登录、环境变量名、如何切换区域)。

变更

  • 首次真正用到时绑定一版,整个会话不再切换 —— 避免 token 过期的瞬间请求漂移到另一个账号。
  • 取消跨版静默回落:被绑定那一版没登录就如实报错,不再悄悄改用另一版扣费。
    读到属于另一版的凭据时明确报错 WB_SEARCH_CREDENTIAL_REGION_MISMATCH。
  • available() 改为只看被绑定那一版(不再因为另一版目录里有一份无关文件就判为可用)。

测试

  • 回归套件新增 T10.25–T10.32(注册表解析与发现,合成 reg query 输出,跨平台可跑)
    与 T11.1–T11.16(区域绑定、粘性、拒绝混用、源码级防回退)。
  • T4 覆盖 auto 与别名写法;T5 改为按绑定区域做真实搜索并现场断言不跨版回落。
  • 当前:regression 113 PASS / 0 FAIL、scenarios 40 PASS / 0 FAIL、
    check-github-meta 33 PASS / 0 FAIL。

兼容性

  • dsh >=0.1.5-rc.2(已在 0.2.0-rc.2 上实测)。
  • 与 dsh-workbuddy-connect 的 Electron 发现策略一致;未采用其多文件写入 ——
    本插件 lib/ 零写入,卸载后不留残留。

v0.2.6 — 文档按读者分层 + 新增变更记录

Choose a tag to compare

@arnen7000 arnen7000 released this 08 Oct 13:19

变更

文档按读者分层 + 新增变更记录(本版只改文档,代码零改动)

安装说明分层

README 的「安装」原先把「一条命令装好」和「开发态排障细节」混在一起,
普通用户读起来像是一件麻烦事。现拆成两节:

  • 快速开始 —— 三步:装 → 重启 → 核验,一眼读完;
  • 遇到问题 —— 指向 DEVELOPING.md 的安装排障。

移走的开发态细节(pnpm 不落地 link: 依赖、dsh plugin add 的「半状态」陷阱、
tools/ensure-installed.mjs 修复脚本、「开发态 vs 发布态」)
在 DEVELOPING.md 里本就有完整版,README 那份属于重复。

新增「变更记录」

README 增加 ## 变更记录,每个版本一行要点。
这样版本信息有了固定落点,不必再塞进 commit 标题 ——
GitHub 文件列表右侧那列「Last commit message」无法关闭,会把标题重复显示在每个文件旁,
写成长版本号会很难看。

Standard Readme 规范本身没有 Changelog 章节,本节的依据是规范里的
Extra Sections(允许任意自定章节,排在 Usage 之后、License 之前)。

文档一致性

  • GITHUB-SETUP.md §5.2 由「有意不加变更记录」改为「变更信息分层」:
    Release 放全量、README 放一行、versionNote 放机器可读;
  • §9 章节表补入 ## 变更记录,并把 check-links.mjs 列入改 README 后的必跑项;
  • 新增 §5.4「提交信息规范」:标题只写动作、不带版本号长文。

安装

dsh plugin --profile <你的 profile> add dsh-workbuddy-websearch

详见 README。

兼容性

  • dsh >= 0.1.5-rc.2(已验证 0.1.5-rc.2 / 0.1.7-rc.1 / 0.2.0-rc.2,不锁上限)
  • Windows x64(稳定)、macOS(实验性)
  • profile 无关:web / headless / tui / desktop 均可

测试

  • tools/regression.mjs T1–T10:87 PASS / 0 FAIL / 2 WARN
  • tools/scenarios.mjs S1–S9:40 PASS / 0 FAIL
  • tools/check-github-meta.mjs G1–G9:33 PASS / 0 FAIL / 0 WARN
  • .local/check-links.mjs L1–L4:3 PASS / 0 FAIL

v0.2.5 — 对外表述通用化 + 测试降级判据修正

Choose a tag to compare

@arnen7000 arnen7000 released this 08 Oct 12:45

变更

对外表述通用化 + 测试降级判据修正

  • 冲突提示不再点名具体插件 —— 当有别的插件注册了同一个搜索 provider id 时,
    报错改为指引你自行查出占用者(查 dependencies 与 dsh.profile.bundles → 找出它 → remove)。
  • 安装/卸载文档改用通用表述 —— 不再绑定任何特定本机目录,任何人的安装位置都适用。
  • 修复 T5 的降级判据 —— 此前「本机未登录」或「桌面端装在自选路径(探测不到 Electron 二进制)」
    这类环境差异会被误判为代码缺陷。现按错误类型分流:环境差异降级为 WARN 跳过,
    decryption-failed 等真实缺陷仍判 FAIL。

安装

dsh plugin --profile <你的 profile> add dsh-workbuddy-websearch

详见 README。

兼容性

  • dsh >= 0.1.5-rc.2(已验证 0.1.5-rc.2 / 0.1.7-rc.1 / 0.2.0-rc.2,不锁上限)
  • Windows x64(稳定)、macOS(实验性)
  • profile 无关:web / headless / tui / desktop 均可

测试

  • tools/regression.mjs T1–T10:87 PASS / 0 FAIL / 2 WARN
  • tools/scenarios.mjs S1–S9:40 PASS / 0 FAIL
  • tools/check-github-meta.mjs G1–G9:33 PASS / 0 FAIL / 0 WARN

完整变更摘要:https://github.com/arnen7000/dsh-workbuddy-websearch/blob/main/COMPATIBILITY.md