Compression Engines (中文 (繁體))
壓縮組合是可指派給路由組合的具名壓縮設定檔:
compression_combos:儲存模式、管線、RTK 設定、語言設定及預設標記compression_combo_assignments:將壓縮組合對應至路由組合- 執行階段整合會先解析已指派的壓縮組合,再處理一般組合覆寫
- 分析資料包含
compression_combo_id和engine
儀表板位置:Dashboard -> Context & Cache -> Compression Combos。
API 介面
Section titled “API 介面”| 路由 | 用途 |
|---|---|
/api/settings/compression |
全域壓縮設定(包含 mcpAccessibility 設定) |
/api/compression/preview |
預覽任何壓縮模式 |
/api/compression/language-packs |
列出可用的 Caveman 語言套件 |
/api/context/caveman/config |
Caveman 設定別名 |
/api/context/rtk/config |
RTK 預設值及設定 |
/api/context/rtk/filters |
RTK 篩選器目錄 |
/api/context/rtk/test |
RTK 預覽/測試端點 |
/api/context/rtk/raw-output/[id] |
經驗證且已遮蔽敏感資訊的原始輸出復原 |
/api/context/combos |
壓縮組合 CRUD |
/api/context/combos/[id]/assignments |
路由組合指派 CRUD |
/api/context/analytics |
壓縮分析別名 |
管理路由需要管理驗證或 API 金鑰原則檢查。
MCP 工具
Section titled “MCP 工具”壓縮功能提供五個 MCP 工具:
| 工具 | 範圍 | 用途 |
|---|---|---|
omniroute_compression_status |
read:compression |
設定、分析資料、快取統計資料 |
omniroute_compression_configure |
write:compression |
更新全域設定 |
omniroute_set_compression_engine |
write:compression |
設定模式及選用的管線 |
omniroute_list_compression_combos |
read:compression |
列出壓縮組合 |
omniroute_compression_combo_stats |
read:compression |
讀取組合/引擎分析資料 |
範圍與排除項目
Section titled “範圍與排除項目”嵌入向量絕不會被壓縮。 open-sse/handlers/embeddings.ts 絕不會呼叫任何
壓縮引擎——請求/回應主體會原封不動地直接傳遞給執行器。
目前這是由結構所保證(嵌入向量與聊天補全使用彼此獨立的處理常式),而非
執行階段檢查,但這表示 #8034 中的向量失真疑慮在嵌入向量路徑中沒有暴露面。
個別模型/端點排除篩選器(#8034)。 對於聊天補全,操作人員可以指定
絕不可壓縮的模型 ID/provider/model 目標——若日後壓縮功能接入更接近嵌入向量的路徑,
這會是很有用的防護措施;一般而言,對任何要求提示詞逐位元組完全一致的模型
(確定性評估、對快取敏感的前綴等)也很有幫助。
- 設定欄位:全域壓縮設定中的
exclusions?: string[](GET/PUT /api/settings/compression),透過現有的key_value壓縮 命名空間(src/lib/db/compression.ts)持久化——不新增資料表。 - 儀表板分頁:Dashboard → Compression → Exclusions
(
/dashboard/compression/exclusions)。 - 模式語法:
*是唯一的萬用字元。模式中的所有其他正規表示式中繼字元都會在 比對前逸出,因此gpt-5.6只會比對該字面字串,絕不會比對gpt-5x6(可防範 ReDoS、長度有界,且無巢狀量詞)。模式會以不區分大小寫的方式, 同時與裸模型 ID 及provider/model組合字串進行比對——gpt-5-6、openai/gpt-5-6和openai/*全都有效,而僅使用*會排除所有模型。 - 比對:位於
open-sse/services/compression/exclusions.ts中的isCompressionExcluded()/normalizeCompressionExclusions()。chatCore.ts會在解析 壓縮設定後立即檢查被排除的目標,且是在任何引擎執行之前;若比對成功, 其處理方式與全域停用壓縮完全相同——可證明請求主體逐位元組完全一致。 此次略過會透過writeCompressionSkip(..., "excluded")記錄,以便在分析資料中查看。 - 預設值(清單為空/不存在):與 #8034 之前的行為相同——不排除任何項目。
- LLMLingua-2 (SLM) 需要位於同一位置的選用相依套件。 Worker 只有在正式環境建置中,當
@atjsh/llmlingua-2及其對等相依套件共同置於dist/node_modules時才會執行(請參閱scripts/build/colocateOptionals.mjs、#4286)。若缺少這些套件,引擎會採用開放式失敗處理(回傳原始文字)。Worker 的解析已不再依賴import.meta.url(它在獨立套件組合中無法運作),而是以執行階段的 cwd /argv[1]為基準。 - Caveman 語言套件
de/fr/ja並不完整。 它們隨附context+filler+structural規則,但不含dedup/ultra套件,因此對這些語言而言,ultra強度 並不會比full更強(它們只會使用各自的規則,不會在未告知的情況下 回退至英文的dedup/ultra規則,否則可能會破壞外語文字)。en/es/id/pt-BR是完整的。歡迎為這些不完整的套件貢獻dedup.json+ultra.json。 - 堆疊式遙測僅列出實際執行壓縮的引擎。 在堆疊式管線中,若某個步驟的
引擎已執行但節省率為 0%,則會回傳
stats:null,因此不會出現在engineBreakdown中——這與該步驟被略過的情況無法區分。若要區分 「已執行,0%」與「已略過」,則需要變更明細模型,目前已延後處理。
此區域的重點關卡為:
node --import tsx/esm --test tests/unit/compression/rtk-*.test.ts tests/unit/compression/pipeline-integration.test.ts tests/unit/compression/context-compression-api.test.tsnode --import tsx/esm --test tests/unit/compression/*.test.ts tests/golden-set/*.test.ts tests/integration/compression-pipeline.test.ts tests/unit/api/compression/compression-api.test.tsnode --import tsx/esm --test tests/unit/compression/mcpAccessibility*.test.tsnpm run typecheck:coreHagiCode
HagiCode 是智慧代理程式開發工作台,結合結構化工作流程、多代理程式執行與 Hero Dungeon 介面,將想法化為交付成果。
以更聰明、更快速且更有趣的智慧代理程式工作流程,打造實用的軟體。

- Smart結構化流程將意圖轉化為從構想到交付的可執行步驟。
- Efficient多代理程式工作流程讓研究、實作與審查並行進行。
- FunHero Dungeon 讓長時間的程式協作更直覺、更有參與感。