lhwwxy/dsh-agentic-router0

dsh-agentic-router

DeepSeek Harness plugin: learning agentic router — rule + UCB + LinUCB + k-NN experts under an EXP3 meta-selector, with a durable quality-reward flywheel

包名
dsh-agentic-router
版本
1.0.0
许可证
MIT
最近更新
2026年8月18日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:lhwwxy/dsh-agentic-router

dsh-agentic-router

🌐 语言切换 / Language: 简体中文 · English

DeepSeek Harness(DSH)插件:学习型智能路由(agentic router)+ 数据飞轮

监听每次模型请求,按任务类型与复杂度把请求路由到最合适的模型档位;四个专家并行推荐、EXP3 元选择器决定听谁的;每回合按质量代理信号(工具失败、模型重试、延迟)计算奖励并回传,路由策略随使用越学越准。全部决策与奖励落盘,可审计、可重放。

架构

用户输入 → 分类(规则, `--profile` 必填。安装后重启会话(或 profile),工具 schema 才会进入 prompt 组装。默认 **shadow 模式**(只记录与学习,不切换模型),确认策略表现后再切 active。

## 工具

| 工具 | 作用 |
|---|---|
| `agentic_router_stats` | 查看决策记录、四专家推荐、EXP3 权重、飞轮状态 |
| `agentic_router_set_mode` | 切换 shadow(默认)/ active(真切换)/ off(旁路) |
| `agentic_router_force` | 强制指定模型 id(active 生效),clear=true 清除 |
| `agentic_router_reset` | 清空飞轮学习状态,保留模式 |

## 数据飞轮(落盘)

目录:`${DSH_HOME:-~/.dsh}/storages/dsh-agentic-router/`(`AGENTIC_ROUTER_HOME` 可覆盖)

- `decisions.jsonl` — 每条决策:任务类型/复杂度/四专家推荐/元层选择/实际路由/是否切换
- `rewards.jsonl` — 每条奖励:明细(工具失败/重试/延迟)+ 特征向量,**重启后重放恢复学习状态**
- `policy.json` — 模式与强制模型(原子写)

奖励公式:干净收尾 1 分起,工具失败 −0.2/次(封顶 0.6)、模型重试 −0.2/次(封顶 0.4)、延迟 >30s −0.1 / >90s −0.3;出错回合记 0。

## 分类器(规则先验,<1ms)

6 类任务(code/write/summarize/research/agentic/qa)+ 复杂度 0~1:
类型先验分(code/agentic 0.3,research 0.2,write 0.15…)+ 长度 + 代码块 + 复杂词加分 − 简单词减分("简单/复杂"同时出现不惩罚)。

## 已知边界

- 模型档位靠 id 关键词识别(flash→fast、pro→strong);可用模型多于一档时路由才真正切换
- 奖励信号是"代理":任务成功但质量平庸的情况(尤其模型池内质量差距大时)仍可能被记满分,正式场景建议接入 UI 反馈(messageFeedback)
- 毕业策略(LinUCB/k-NN)需要数十个回合样本才会进元层池

## 开发

```sh
npm test        # node --test,零依赖

回归用例覆盖实测缺陷:qa 祈使句、mid 档回退、UCB 冷启动轮转、agent 键隔离、奖励 JSON 合法性、飞轮重放恢复等。

发布

npm publish                                     # 需 npm 账号
git push origin main                            # GitHub 仓库公开后
# 目录站:给仓库加 dsh-plugin topic 自动收录,或到 dshmarketplace.dev/submit 提交

License

MIT