MCPcopy
hub / github.com/Martian-Engineering/lossless-claw

github.com/Martian-Engineering/lossless-claw @v0.13.2 sqlite

repository ↗ · DeepWiki ↗ · release v0.13.2 ↗
2,240 symbols 7,419 edges 198 files 480 documented · 21%
README

lossless-claw(無損上下文管理插件)

OpenClaw 的 DAG 式對話壓縮插件 — 讓 AI 記住一切,不再遺忘。

這是什麼

當對話超過模型的上下文窗口時,傳統做法是截斷舊訊息。lossless-claw 改用 DAG(有向無環圖)式摘要系統

  1. 持久化每條訊息 — 寫入 SQLite,按對話分組
  2. 階層式摘要 — 將舊訊息壓縮成多層摘要,保留關鍵資訊
  3. 智慧重建上下文 — 每次對話從摘要 DAG 中挑選最相關的節點
  4. 零遺失 — 原始訊息永遠保留,可隨時展開還原

混搭模型支援

lossless-claw 支援主模型與摘要模型分離

角色 模型範例 說明
主模型 Claude Opus / Sonnet 處理對話
LCM 摘要 MiniMax M2.7 HS 生成摘要,節省成本
LCM 展開 MiniMax M2.7 HS 展開摘要細節

快速開始

# 安裝
openclaw plugins install lossless-claw

# 啟用
openclaw plugins enable lossless-claw

# 設為上下文引擎
# 在 openclaw.json 中加入:
# "plugins": { "slots": { "contextEngine": "lossless-claw" } }

配置範例(混搭 MiniMax M2.7 HS)

{
  "plugins": {
    "slots": {
      "contextEngine": "lossless-claw"
    },
    "entries": {
      "lossless-claw": {
        "config": {
          "summaryModel": "minimax/MiniMax-M2.7-highspeed",
          "summaryProvider": "minimax",
          "expansionModel": "minimax/MiniMax-M2.7-highspeed",
          "expansionProvider": "minimax",
          "contextThreshold": 0.75
        }
      }
    }
  }
}

整合重點

1. OpenClaw runtime.llm.complete

LCM 摘要現在透過 OpenClaw host-owned runtime.llm.complete 執行。lossless-claw 只提出摘要模型 override 請求;provider dispatch、憑證解析、OAuth refresh、usage attribution 都由 OpenClaw runtime 負責。

如果設定 summaryModellargeFileSummaryModelfallbackProviders,需要在 plugins.entries.lossless-claw.llm 中允許對應的 model override。

2. stripAuthErrors() 假陽性修復

分支: fix/summarize-strip-auth-false-positive

問題:壓縮包含 "401"/"authentication_error" 等字眼的對話時,pickAuthInspectionValue() 會將對話內容誤判為真正的 auth error,產生假的 [lcm] compaction failed: provider auth error 日誌。

根因summarize.ts 第 390 行,當 regex 沒匹配到 auth-related key 時,fallback 回原始 value,導致下游 extractProviderAuthFailure() 從對話內容中誤偵測到 auth 失敗。

修復:改為回傳空物件 {},避免假陽性。

已驗證的部署配置

機器 主模型 LCM 模型 Summaries 漂移 Errors
Scott#4 Claude Opus M2.7 HS 200+
Scott#2 Claude Opus M2.7 HS 40+

相關倉庫

倉庫 說明
Martian-Engineering/lossless-claw 上游原始倉庫
openclaw/openclaw OpenClaw 主專案
catgodtwno4/openclaw-five-layer-memory-nas 五層記憶棧 NAS 部署指南
catgodtwno4/openclaw-dashboard OpenClaw Dashboard

許可證

MIT

Extension points exported contracts — how you extend this code

SeedToolMsg (Interface)
* stub-tier stratification end-to-end behavior tests. * * Option C reuses the v4.1 `large_files` storage model: * -
test/stub-tier.test.ts
CompactionDecision (Interface)
(no doc)
src/compaction.ts
MutexState (Interface)
(no doc)
src/transaction-mutex.ts
AssemblyOverflowContributor (Interface)
(no doc)
src/assembler.ts
DescribeResult (Interface)
(no doc)
src/retrieval.ts
LcmDependencies (Interface)
(no doc)
src/types.ts
ConversationRow (Interface)
(no doc)
src/store/conversation-store.ts
CompactionResult (Interface)
(no doc)
src/compaction.ts

Core symbols most depended-on inside this repo

getConversationStore
called by 753
src/engine.ts
makeMessage
called by 581
test/helpers.ts
buildStatLine
called by 327
src/plugin/lcm-command.ts
createSessionFilePath
called by 319
test/helpers.ts
getMessages
called by 262
src/store/conversation-store.ts
ingest
called by 237
src/engine.ts
afterTurn
called by 225
src/engine.ts
getSummaryStore
called by 221
src/engine.ts

Shape

Function 1,563
Method 495
Struct 82
Class 56
Interface 39
TypeAlias 3
FuncType 2

Languages

TypeScript75%
Go25%

Modules by API surface

tui/main.go101 symbols
tui/repair.go81 symbols
src/plugin/lcm-command.ts80 symbols
src/plugin/index.ts80 symbols
tui/data.go78 symbols
src/engine.ts77 symbols
src/compaction.ts77 symbols
src/summarize.ts71 symbols
src/store/conversation-store.ts68 symbols
src/store/summary-store.ts67 symbols
src/assembler.ts59 symbols
src/batch-dedup.ts40 symbols

Dependencies from manifests, versioned

github.com/aymanbagabas/go-osc52/v2v2.0.1 · 1×
github.com/charmbracelet/bubblesv1.0.0 · 1×
github.com/charmbracelet/colorprofilev0.4.1 · 1×
github.com/charmbracelet/x/ansiv0.11.6 · 1×
github.com/charmbracelet/x/cellbufv0.0.15 · 1×
github.com/charmbracelet/x/termv0.2.2 · 1×
github.com/clipperhouse/displaywidthv0.9.0 · 1×
github.com/clipperhouse/stringishv0.1.1 · 1×
github.com/clipperhouse/uax29/v2v2.5.0 · 1×

For agents

$ claude mcp add lossless-claw \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact