v0.2.0 — ltm-setup skill
這一版修的是「裝好了卻不會用」
ltm-setup skill(新)
先前 README 把安裝寫成兩行並排:
claude plugin install …
ltm build
讀起來像同一類步驟。實際上 binary 下載是自動的(wrapper 做,3 MB 幾秒),
建索引不是——它要掃過整份語料、逐段算 on-device embedding,量測基線
280,000 chunk ÷ 112.9 段/秒 ≈ 41 分鐘(而那份紀錄自己註明是低估)。
ltm-setup 讓「還不能用」有一條可走的路:診斷 binary/索引狀態 → 報你自己的
語料規模與預估成本 → 經同意才跑。直接跟模型說「設定一下 ltm」即可。
不做成 SessionStart hook:那個機制適合幾秒的下載+版本檢查,塞不下數十分鐘的工作。
錯誤訊息在 MCP 路徑上是啞的(已修)
每一則補救說明都寫在 CLI 的 report() 裡,而 MCP 路徑構不到它——它走
"✗ \(error)",於是模型讀到的是:
✗ indexMissing(path: "/…/index.sqlite3")
而那個 case 的 doc 逐字寫著「訊息一律指名 ltm build」。同一條規則兩個寫者,
而沒照做的那個正是模型會讀到的。
修法是刪掉一份:訊息移進 ServiceError: CustomStringConvertible,CLI 只留結束碼
對應。兩條路徑現在輸出逐字相同:
✗ 索引不存在(…)。先跑 `ltm build`。
首次建索引要掃過整份語料並算 embedding,會跑一段時間;之後每次查詢
會自動併入新內容,不必再手動跑。
安裝
claude plugin marketplace add PsychQuant/claude-LTM
claude plugin install claude-ltm@claude-ltm然後跟模型說「設定一下 ltm」,或自己跑 ltm build。
Developer ID 簽章 + notarized。ltm.sha256 附上(擋截斷,不擋竄改——雜湊與 binary
走同一條 TLS)。
完整變更見 CHANGELOG.md。