DeepSHPlugins
llm-adaptive 專案預覽
GITHUB / COMMUNITY PROJECT

llm-adaptive

Agent 與自動化JavaScriptMIT

自適應模型路由:請求級複雜度分類,按配置鏈自動選擇後端 provider。

3 Starsdylan121322 更新時間 2026-08-14
訪問 GitHub 倉庫
llm-adaptive 專案預覽

專案介紹

中文

自適應模型路由:請求級複雜度分類,按配置鏈自動選擇後端 provider。

English

Adaptive model routing: per-request complexity classification with automatic provider routing.

專案資訊與收錄訊號

快照 2026-09-11
作者 / 組織
dylan121322
倉庫
dylan121322/llm-adaptive
GitHub Stars
3
Forks
0
開發語言
JavaScript
許可證
MIT
最近推送
2026-08-14
Manifest
資料中檢測到宣告

公開倉庫不自動等於可商用;許可證與當前相容性以原專案文件為準。Manifest 和資料評分不構成安裝安全認證。

資料評分

58/ 100
維護活躍
81
文件與實用資訊
99
生態關注度
17
安裝便捷訊號
80
專案宣告訊號
100

README 含完整安裝與使用說明;關注度尚低(3)。

評分來自已有資料快照的五維模型,僅作瀏覽參考,不是實際使用評測或安全檢測結論。

安裝與使用

所有專案資料與許可均以對應 GitHub 倉庫為準。

dsh plugin --profile web add github:dylan121322/llm-adaptive

複製命令不會自動執行。請先閱讀倉庫文件,確認環境要求與許可證。

專案截圖

倉庫 README

GitHub 原文

已儲存的倉庫文件快照;文件抓取時間未記錄,可能與上方目錄介紹處於不同版本。安裝前請核對當前倉庫說明。

儲存庫檔案保留原文,指令與授權文字不作自動改寫。

llm-adaptive

Awesome DSH Plugin

Adaptive model routing plugin for DeepSeek Harness. Adds an adaptive provider to the model picker: every LLM request is classified by a flash classifier (low / medium / high / critical) and routed to the matching backend provider through config-driven chains.

Features

  • Per-request complexity classification — deepseek-v4-flash called directly (never through a proxy, no recursion).
  • Context-aware judging — injects a rolling session-goal summary plus the recent turns into the classifier prompt (continuation / wrap-up / error-loop rules).
  • Sticky level protection — a mid-task downgrade is held at the previous level unless the message carries explicit downgrade or wrap-up signals.
  • Config-driven routing chains — chains come from pool.json → routing.levels ($active expands to the active provider, missing entries fall back to defaults); transport failures walk down the chain.
  • Classifier config from the pool — URL / model / key reference read from the classifier section of pool.json (no hardcoded credentials).
  • Fail-open — any classification failure degrades to medium; never blocks a request.
  • Observable — every decision (level, cause: llm/sticky/cache) is written to the plugin log.
  • 120s decision cache — keyed by user-text head plus goal fingerprint.

Requirements

  • DeepSeek Harness (dsh)
  • A model pool file at ~/.dsh/tools/cc-switch-sync/pool.json with:
  • classifier section: url, model, key_ref (resolved against ~/.dsh/.credentials.yaml, pool api_key as fallback)
  • routing.levels: low / medium / high / critical chains
  • A DeepSeek API key for the classifier

The pool file is produced by the cc-switch-sync import tool (or can be authored by hand). The plugin reads it on every request, so pool edits take effect immediately.

Install

dsh plugin add llm-adaptive

or, from a local checkout:

cd ~/.dsh/profiles/web && npx pnpm@10 install   # with "llm-adaptive": "file:plugins/llm-adaptive"

Restart the dsh web service, then select adaptive(自动路由) in the /model picker.

Usage

  1. Open /model and choose adaptive(自动路由).
  2. Every subsequent LLM request is classified (low/medium/high/critical) and routed to the first available provider of that level's chain.
  3. Decisions are logged with level=… cause=… chain=… to ~/.dsh/hooks/plugin.log.

The explicit level models (low, medium, high, critical) are also listed in the picker for direct selection.

How it works

A custom LlmAdapter for the adaptive provider: stream() awaits classification (async generator), then forwards to the target backend via ctx.llm.prepareCall + stream (unified chunk protocol, passthrough). Request-level interception was chosen over proxy or request-layer hooks because dsh hot-swaps configuration and the prepared-call contract requires matching provider/model options.

License

MIT

使用前核對

安裝步驟、相容版本與授權範圍以原專案當前文件為準。Stars 和評分是快照中的導航訊號。

安裝與排錯 · 專案問題反饋

同類專案