繁體中文

新功能

恢復工作對話不再被指令碼洗版,也不會重複抓取任務

當你接續之前的對話紀錄時,系統提議的「你最近在做什麼」清單,不再會被那些落落長的工具說明書洗版了。以前系統在整理你的對話紀錄時,只要看到是標示為「使用者發出」的內容就全抓進來,根本不管那是不是系統自己為了擴充技能(skill,輔助執行特定任務的指令檔)而偷塞的冗長說明,結果把這些雜訊也當成你的工作進度;而且因為它只跟上一句話比對,同一句話如果被這些雜訊隔開,就會被重複計算,白白浪費了最多只能顯示三筆的珍貴名額。現在系統學會了跳過這些標記為內部後設資料(isMeta)的雜訊,並且會跟整份清單比對來剔除重複。就像你請秘書整理昨天開會的重點,以前他會連你在會上念的一大本操作手冊都逐字抄進去當作討論結論,而且你重複講了兩次的話他還會當成兩件不同的事記下來;現在他懂得只挑出真正的行動方案,並且把重複講的話自動合併成一條。

English

FEATURE

Session handoffs filter out noisy tool injections and correctly deduplicate task history

When you resume a previous conversation, the "what you were recently working on" suggestions will no longer be overwhelmed by giant walls of tool documentation. Previously, the system blindly scooped up every transcript entry marked as a "user" message, failing to realize that some of these were actually long instructions injected by the system itself to expand skills (skill files that help execute specific tasks). This allowed noisy text to masquerade as your real work progress. Furthermore, because the system only checked for duplicates against the very last message, a single real request interrupted by one of these noise entries would get counted twice, wasting your precious three handoff slots. The system now correctly skips these system-injected metadata entries (isMeta) and checks for duplicates against the entire list. It's like asking an assistant to summarize yesterday's meeting: they used to copy down an entire 100-page manual you happened to read aloud as if it were a decision, and if you repeated a point twice they logged it as two separate tasks. Now, they know to extract only the actual action items and merge repeats into a single line.

原始 CHANGELOG

Original changelog恢復工作對話不再被指令碼洗版,也不會重複抓取任務
**Session-resume handoff could surface skill-expansion noise and duplicate the same request**: `usage_session_resume.py`'s `_parse_session` collected every `type: "user"` transcript entry as a candidate "recently working on" request without checking Claude Code's `isMeta` flag, so skill/command expansions injected into the transcript (e.g. a full `SKILL.md` body) could show up as if they were a real request. Dedup also only compared against the immediately preceding request, so the same request separated by one of these injected entries counted twice, wasting handoff slots that are capped at 3. `isMeta: true` entries are now skipped, and dedup checks against every request seen so far, not just the last one. (Reported in #46 by @apple8409.)