fix(worklog): 修正 auto 模式的 CLI 判斷 #41

Merged
admin merged 3 commits from develop into master 2026-07-28 08:14:33 +00:00
Member

變更摘要

  • 修正 WORKLOG_CLI=auto 的選擇邏輯,先依目前 hook/session 環境判斷正在使用的 CLI。
  • 在 Codex session 下優先選擇 codex,避免因 claude 也存在於 PATH 而誤顯 cli: claude
  • 同步更新 README 與 worklog skill 文件中 WORKLOG_CLI=auto 的說明。

影響範圍

  • scripts/worklog/worklog.sh
  • README.md
  • skills/worklog/SKILL.md

驗證

  • bash -n scripts/worklog/worklog.sh 通過。
  • 完整 smoke test 已確認在目前 Codex session 下寫入 cli: codex
## 變更摘要 - 修正 `WORKLOG_CLI=auto` 的選擇邏輯,先依目前 hook/session 環境判斷正在使用的 CLI。 - 在 Codex session 下優先選擇 `codex`,避免因 `claude` 也存在於 `PATH` 而誤顯 `cli: claude`。 - 同步更新 README 與 worklog skill 文件中 `WORKLOG_CLI=auto` 的說明。 ## 影響範圍 - `scripts/worklog/worklog.sh` - `README.md` - `skills/worklog/SKILL.md` ## 驗證 - `bash -n scripts/worklog/worklog.sh` 通過。 - 完整 smoke test 已確認在目前 Codex session 下寫入 `cli: codex`。
jiantw83 added 1 commit 2026-07-27 09:32:15 +00:00
jiantw83 added 2 commits 2026-07-28 06:29:56 +00:00
同名 plugin(三個 repo 都叫 jsc)只有一份 hooks.json 會生效,無法預期哪一
份會贏,因此三家必須同步為同一份超集。本次補上 role 的 SessionStart 與
Stop hook,避免 doc 贏得註冊時角色載入與記憶記錄靜默消失。

worklog 的 Stop 指令同步改用新解析器:先驗證 CLAUDE_PLUGIN_ROOT 下腳本存
在,再依「擁有者 marketplace 優先 → 全 cache 後援」搜尋 ~/.claude 與
~/.codex 快取。舊版在 CLAUDE_PLUGIN_ROOT 為空時只搜 ~/.codex,非 Claude
Code 的 CLI 會找不到腳本。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
hooks/hooks.json 有變更,需升版才會重建版本化快取目錄並被載入。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Author
Member

追加提交(develop 已更新)

本 PR 的 develop 已推入兩筆新提交,內容超出原標題範圍:

Commit 說明
7b04cc6 hooks/hooks.json 補上 role 的 SessionStartStop hook,並改用跨 cache 解析器
a1e68da 三份 manifest 升版 0.2.5 → 0.2.6

為什麼要補 role 的 hook

三個 plugin repo(codedocgeneric)的 plugin.json 名稱都是 jsc,Claude Code 以 plugin 名稱為鍵註冊 hooks,同名時只保留一份且無法預期哪一份會贏。實測 stop_hook_summaryhookCount 為 2(單一 plugin 的 hooks.json + 使用者 settings.json 的後援 hook),而非三個 plugin 疊加的 3。

因此三份 hooks/hooks.json 必須是同一份合併超集,否則 doc 贏得註冊時,角色載入與記憶記錄會靜默消失。worklog 的 Stop 指令同步改用新解析器:舊版在 CLAUDE_PLUGIN_ROOT 為空時只搜 ~/.codex,非 Claude Code 的 CLI 找不到腳本。

建議合併前調整 PR 標題,使其涵蓋 hooks 與升版變更。

🤖 Generated with Claude Code

## 追加提交(develop 已更新) 本 PR 的 `develop` 已推入兩筆新提交,內容超出原標題範圍: | Commit | 說明 | | --- | --- | | `7b04cc6` | `hooks/hooks.json` 補上 role 的 `SessionStart`/`Stop` hook,並改用跨 cache 解析器 | | `a1e68da` | 三份 manifest 升版 0.2.5 → 0.2.6 | ### 為什麼要補 role 的 hook 三個 plugin repo(`code`/`doc`/`generic`)的 `plugin.json` 名稱都是 `jsc`,Claude Code **以 plugin 名稱為鍵註冊 hooks**,同名時只保留一份且無法預期哪一份會贏。實測 `stop_hook_summary` 的 `hookCount` 為 2(單一 plugin 的 hooks.json + 使用者 `settings.json` 的後援 hook),而非三個 plugin 疊加的 3。 因此三份 `hooks/hooks.json` 必須是同一份合併超集,否則 `doc` 贏得註冊時,角色載入與記憶記錄會靜默消失。worklog 的 `Stop` 指令同步改用新解析器:舊版在 `CLAUDE_PLUGIN_ROOT` 為空時只搜 `~/.codex`,非 Claude Code 的 CLI 找不到腳本。 > 建議合併前調整 PR 標題,使其涵蓋 hooks 與升版變更。 🤖 Generated with [Claude Code](https://claude.com/claude-code)
admin approved these changes 2026-07-28 08:14:31 +00:00
admin merged commit cd2d38f0b8 into master 2026-07-28 08:14:33 +00:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: plugins/doc#41