9 Commits
Author SHA1 Message Date
jiantw83andClaude Sonnet 5 3193cce249 fix(worklog): Stop hook 補上 --use-system-ca,刪除已改寫完成的 worklog.sh
實測 worklog.mjs 全流程(含真的呼叫 claude -p 濃縮並寫入 Gitea wiki 週頁)
時發現 hooks.json 的 Stop command 漏加 --use-system-ca:本環境的 TLS
攔截代理會讓 Node fetch 預設信任鏈驗證失敗(HTTP 0),造成 wiki_api.mjs
誤判兩個 token 來源都失效而寫入失敗;shared/code/persona 的
version-guard hook 都有這個旗標,只有 doc 的 worklog Stop hook 漏掉。
加上後於既有 knowledges/Plan wiki 建立測試週頁重測通過(七欄格式正確、
兩次呼叫的 marker 各自附加不互相覆蓋),驗證後已刪除該測試頁。

worklog.sh 已確認可被 worklog.mjs 完全取代,直接刪除、不保留 bash
fallback;grep -rn 'worklog.sh' doc/ 回傳零筆。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-17 15:22:29 +08:00
jiantw83andClaude Sonnet 5 d31aa53fc3 feat(worklog): worklog.sh 改寫為 worklog.mjs(node 全面模組化)
新增 scripts/worklog/worklog.mjs,逐段對應改寫 worklog.sh:log/nowStr 改
import 自 wiki_api.mjs,extractTurn/turnDuration/turnTokens/redact 改
import 自 transcript.mjs,appendEntry/resolveToken/weekPageName/
weekPageHeader 改 import 自 wiki_api.mjs,取代原本各自開子行程呼叫;
stdin JSON 解析、遞迴防護、啟用檢查、Codex transcript fallback、
WORKLOG_SCOPE 過濾、專案判定、模型決定與快取過期、濃縮 prompt 九條規則
逐字保留,退出碼一律 0。hooks/hooks.json 的 Stop hook 改用 node 執行;
README/worklog SKILL.md/wiki_api.mjs 檔頭註解同步更新指向 worklog.mjs。

舊 worklog.sh 暫未刪除:依規劃需先在 WORKLOG_ENABLED=1 的環境實測 hook
真的會觸發並成功寫入週頁,這個環境目前未設定,留待後續驗證後再處理。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-17 15:12:31 +08:00
jiantw83andClaude Sonnet 5 0cad39177b feat(spec-version-guard): 新增版本檢查 hook 並在 7 個 skill 檔頭引用規範
hooks/hooks.json 在既有 Stop(worklog)之外新增 PreToolUse 條目,沿用跨 plugin
腳本定位手法呼叫 shared 的 version-guard.mjs;docker/funcs/issues-analyze-to-file/
issues-analyze/issues-sync/notifications/worklog 七個 skill 檔頭補上
spec-version-guard。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-17 14:54:37 +08:00
jiantw83 0a992ba534 feat(worklog): 新增 token 用量統計、支援 Copilot 自動記錄,worklog 腳本改以 Node 實作
- transcript.py/wiki_api.py 等價移植為 transcript.mjs/wiki_api.mjs:extract/duration/redact/probe/pages/show/append 等子命令行為與 Python 版對拍一致;transcript.mjs 額外處理三個 Python→JS 移植地雷(json.dumps 間距、Unicode 碼點切片、Python repr 格式)。
- 新增 tokens 子命令與 turnTokens()/formatTokens():統計本輪 token 用量,Claude Code/Codex/Copilot 三種 transcript 格式皆支援(Copilot 逐輪只有 outputTokens,輸入固定「未判定」)。
- worklog.sh 條目改為七個固定 bullet(新增「token 用量」),hook 輸入解析同時接受 snake_case 與 Copilot 的 camelCase 欄位。
- hooks.json 的腳本定位邏輯補上 ~/.copilot/installed-plugins 搜尋路徑:先前只搜尋 .claude/.codex 的 plugins cache,導致 Copilot 上 hook 事件雖有觸發(agentStop 會被 Copilot 對應到 hooks.json 的 Stop key)卻找不到 worklog.sh。
- SKILL.md/README.md 同步更新腳本檔名、各助理支援範圍(Copilot 改為 ✅ 並附實測說明,Antigravity/OpenCode 補上不支援的具體原因)。
2026-08-12 05:55:10 +00:00
JefferyandClaude Opus 5 67106b22c3 refactor(plugin 命名空間): plugin 更名 jsc-doc、hooks 只註冊自己擁有的 worklog
- 五份 manifest 的 name 由 jsc 改為 jsc-doc
- skill 目錄去掉重複的 doc- 前綴共 5 個(doc-funcs → funcs 等),worklog 名稱不變,frontmatter name 同步
- hooks/hooks.json 由合併超集改為只註冊 Stop(worklog):role 的 hook 交還 jsc-generic,避免改名後重複執行
- hook 腳本搜尋路徑與文件內 cache 路徑改指 jsc-doc
- 指令引用改為 /jsc-doc: 前綴;跨 plugin 引用指向 /jsc-code:、/jsc-generic:
- 保留 .docs/doc-funcs-index.md 等產物檔名不變(非 skill 識別名)
- 版號 0.2.6 → 0.2.7

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-28 17:07:14 +08:00
JefferyandClaude Opus 5 7b04cc6be6 feat(hooks): hooks.json 統一為合併超集並改用跨 cache 解析器
同名 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>
2026-07-28 14:21:24 +08:00
Jeffery 01b890c21e feat(worklog): 支援 README 定義的摘要 CLI 2026-07-27 17:09:11 +08:00
Jeffery 2abe236c35 fix(worklog): 避免 Codex stop hook 執行 Claude 專用路徑 2026-07-27 16:44:57 +08:00
Jeffery f2e6176921 feat(worklog): 移入工作紀錄並補 Copilot 說明 2026-07-27 16:24:54 +08:00