dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DeepSeek Harness Antigravity UI & Experience Enhancement Companion Plugin
专为 DeepSeek Harness (DSH) 中 dsh-agy 打造的非侵入式 UI 伴生增强插件
模型列表智能净化 · 顶栏实时配额徽章 · 毛玻璃双周期额度浮层 · 移动端抽屉自适应
🌐 语言 / Language: 简体中文 · English
在 DeepSeek Harness (DSH) 生态中,dsh-agy 凭借直连 Google 内部核心 API(POST /v1internal:streamGenerateContent)以及 DSH 原生 Tool 执行能力,提供了轻量极速的底层调用通道。
但原生使用中存在几个直接影响日常体验的痛点:
| 对比维度 | 原生 dsh-agy 体验 | 配合 dsh-agy-ui 增强后 |
|---|---|---|
| 模型列表选择 | 充斥内部幽灵模型(如 chat_23310、tab_flash_lite_preview) | 🧹 自动正则净化,彻底过滤非通用对话模型 |
| 思考档位 (Reasoning) | 同一模型的 Low/Medium/High 被展开为多行冗长菜单 | 🎛️ 智能折叠变体,无缝唤起 DSH 原生思考档位选择器 |
| Tiered 模型命名 | 原始模型 ID 显示粗糙(如 gemini-3.8-flash-tiered) | ✨ 规范品牌化排版,展示为 Gemini 3.8 Flash 等友好名称 |
| 模型优先级 | 排序散乱,主力模型难以快速定位 | 🏆 标准优先级降序:3.8 Flash > 3.7 > 3.6 > Pro > Claude > GPT-OSS |
| 配额感知 | 额度孤立在 /agy 后台管理页,对话界面无法获知 | ⚡ 顶栏常驻微型徽章,常态直接透视最紧的那一档配额(5 小时 / 周) |
| 额度详情查看 | 需离开当前对话跳转后台 | 🪟 悬停/点击呼出毛玻璃浮层,按上游分组展示 5小时 / 日 / 周 / 月 全窗口额度 |
| 移动端适配 | 桌面浮层在窄屏下容易截断或溢出 | 📱 响应式抽屉 (Drawer),屏幕 $\le$ 640px 自动滑出底部卡片 |
dsh-agy-ui 定位为一个纯表层体验伴生增强插件:底层网络通信、流式解析与 Tool 调度 100% 交由 dsh-agy,本插件专注于提供优雅直观的前端交互。
dsh-agy-ui 遵循 Cordis 插件规范设计,在内存中以非侵入方式包裹 LLM 适配器,并在 Web 端通过 DSH 原生 Slots 插槽注入交互组件:
┌────────────────────────────────────────────────────────┐
│ DeepSeek Harness (DSH Web) │
└───────────┬────────────────────────────────┬───────────┘
│ │
(Web Slots 注入) (Cordis 插件机制)
│ │
▼ ▼
┌────────────────────────┐ ┌─────────────────────────┐
│ dsh-agy-ui │◄─────┤ 适配器列表动态拦截包装 │
│ (顶栏徽章 + 浮层弹窗) │ │ (净化/折叠/品牌化/排序) │
└───────────┬────────────┘ └────────────┬────────────┘
│ RPC 管理面读取 │ 原生模型委托
▼ ▼
┌────────────────────────┐ ┌─────────────────────────┐
│ dsh-agy 管理面 RPC │ │ dsh-agy 核心调用层 │
│ (/api/agy · account.*) │ │ (直连 Google 内部 API) │
└───────────┬────────────┘ └─────────────────────────┘
│ account.limits 返回分组窗口
│ (5h / daily / weekly / monthly)
│
┌───────────┴────────────┐
│ dsh-agy-link │
│ (/plugins/agy-link/..) │
│ 兼容回退通道(可选) │
└────────────────────────┘
▲ 净化后的 Antigravity (agy) 原生模型选择列表效果预览
^chat_\d+$、^tab_ 等非对话专用的内部调试与代码补全模型。-low、-medium、-high 变体收敛至根模型,注入标准的 thinkingEfforts 声明,让 DSH 原生思考选择器生效。gemini-3.8-flash-tiered)自动格式化为标准展示名(如 Gemini 3.8 Flash)。
▲ 挂载于会话顶栏的实时配额胶囊徽章(静态呼吸健康指示灯 + 动态百分比)
conversation.session.header.actions 插槽,独立 ID agy-ui-quota-badge。AGY · 55%),取自 dsh-agy 的分组窗口(account.limits),而非已被上游移除的逐模型额度。AGY · 周额度 1%),而一周还剩一半时不会把 5 小时的数字拉低。浮层里的 daily / monthly 只展示、不参与判定,因为账号池不会因它们而停用。
▲ 点击或悬停徽章呼出的分组多窗口(5小时 / 日 / 周 / 月)配额监控面板
Gemini Models 与 Claude and GPT models),分组内每个窗口独立成行,行标签由上游的 window 字段决定:
— 与灰色空条,而不是 0% —— “未知”和“已用尽”是相反的事实。verification-required 待验证态及其申诉链接),内置手动刷新按钮;dsh-agy ≥ 0.3.0 下顶栏提示改为「设置 → Antigravity」。agy-ui-* 独立前缀命名空间,杜绝全局样式污染。dsh-agy-link 无缝共存:额度数据遵循 dsh-agy 分组窗口 → dsh-agy-link 家族额度 → 旧版逐模型额度 的回退顺序。dsh-agy 0.3.0 起把管理面从独立的 /agy 仪表盘迁到了 DSH 自有 RPC 通道:宿主注册 /api/agy,浏览器侧通过 connection.rpc.call('/api', 'agy', { method, payload }) 调用,仅 /agy/oauth-callback 仍是普通 HTTP 路由(Google 会用 GET 跳转过去)。旧的 /agy/api/accounts 已被删除。同时 5 小时 / 周额度的数据源由 fetchAvailableModels 的逐模型 quotaInfo(不含窗口字段,因此永远无法区分 5h 与 weekly)换成 v1internal:retrieveUserQuotaSummary,按账号缓存在 cachedLimits。
本插件因此按以下顺序取数(实现见 src/quota-source.ts):
| 优先级 | 通道 | 说明 |
|---|---|---|
| 1 | POST /api/agy → account.list | 账号列表,并附带 limits / limitsUpdatedAt(TTL 缓存,不产生上游请求) |
| 1 | POST /api/agy → account.limits | 分组窗口;TTL(10 分钟)内服务端直接跳过探测,仅在过期或手动刷新(force: true)时才真正测量 |
| 2 | GET /agy/api/accounts | 旧版 dsh-agy(< 0.3.0)兼容回退 |
| 3 | GET /plugins/agy-link/status | 与 dsh-agy 相互独立的额度池,始终并行读取 |
force:TTL 内不产生上游调用;若某次探测整体失败(measured: 0 且 failed > 0),客户端会退避一整个 TTL,避免持续击穿 Google 接口。connection 服务缺失或 RPC 报错时回落到旧 HTTP 通道;两者都不可用时保留上一次成功数据,而不是清空面板。💡 前置要求:请确保已经安装并配置好底层 Provider dsh-agy。
本项目已正式发布至 npm 官方仓库 (dsh-agy-ui)。打开终端,一行命令即可全自动安装并完成 Profile 激活注册:
# 官方 CLI 一键安装注册(全自动拉取并注入 Profile)
dsh plugin --profile web add dsh-agy-ui
# 💡 若未全局安装 dsh 命令,可使用 npx 免安装执行:
npx @deepseek-ai/dsh plugin --profile web add dsh-agy-ui
安装完成后,启动或重启 DSH Web:
dsh web
# 或:dsh restart
刷新浏览器页面(http://127.0.0.1:3080),顶栏实时额度徽章与净化后的模型列表即刻呈现!
dsh plugin --profile web add github:Erick0412-dev/dsh-agy-ui
dsh plugin --profile web add /path/to/dsh-agy-ui
/agy 仪表盘)。
dsh-agy-ui 具有独立插槽 ID 与独立的 CSS 命名空间,不仅完全兼容,还会自动读取 dsh-agy-link 的配额接口作为回退:优先展示 dsh-agy 的分组窗口(5h / 日 / 周 / 月),无分组数据时再使用 link 的家族额度。
本项目站在巨人的肩膀上,在此由衷感谢以下优秀的开源项目与贡献者:
deepseek-ai/deepseek-harness)deepseek-harness、dsh-agy、dsh-agy-link)均采用宽松平易的 MIT 许可证。本项目完全遵循相关许可协议,通过动态挂载、公开 HTTP 端点和插槽机制协同工作,不包含任何专有或侵权闭源衍生代码。