bowenliang123/dsh-context
bowenliang123/dsh-contextDSH 上下文洞察面板:Context 仪表盘 + /context命令 + Context 浏览器,查看 Context的分类组成、内容详情、演进趋势、压缩/注入事件、统计等一站式 Context 全生命周期管理。
一键接入 Agnes 的语言、生图、视频模型到 DSH(默认关),自动填入图片识别与思考强度;登录 Agnes 控制台后(重登需 AGNES_PASSWORD),可看额度窗口(5 小时请求、每周请求、每日图片、视频)、账号累计用量,以及输入框旁的用量胶囊;也支持接入 AgnesCode 桌面端模型(仅 Windows),令牌到期时重新读取桌面端登录态,撞限额自动退避重试。
dsh-connect-agnes-token-plan
把 Agnes 接进 DSH:Plugins 页的插件卡(三个 tab),外加会话输入框右侧的一枚用量胶囊。DSH 即 DeepSeek Harness;Agnes(爱思)是全模态大模型平台,本插件对接其控制台 API 与推理 API。
第一次读这个仓库?先看这三句。
1. 这是给 DeepSeek Harness 用的插件,不是独立应用;面板入口在 DSH 的 Plugins 页那张卡上(三个 tab,见下),另有一枚会话内的用量胶囊(见「对话框用量胶囊」)。
2. 三种「红」是正常的,不是回归:①test/wiring.test.mjs等 peer 套件报cannot resolve the peer dependency—— 那是 DSH runtime 自带的包不在本仓库,属环境问题,先查test/peer-roots.mjs;② 没装dshCLI 时 e2e 会 SKIP,属预期;③ 若在 23:00–00:00 之间单独跑render.test.mjs报红,那是历史上的午夜窗口缺陷(已在 0.10.0 修复,见 docs/PITFALLS.md §48),当前安装版本已含,无需升级。
3. 见到「奇怪」的写法先别定罪——本仓多数刻意的取舍都在 docs/PITFALLS.md / docs/ADR.md 有明文出处。动手前先 grep 一遍 docs/。
协作会话的完整纪律见 AGENTS.md(不随 npm 包发布,registry 页面上请从 GitHub 打开)。
AGNES_PASSWORD 则令牌到期自动重登,之后无需再管;面板分三个 tab,按「先看数、再接入、最后可选加桌面端上游」排序:
将 Agnes 的 Token Plan 接入 DSH,用超了只能等窗口重置。这个 tab 把数字搬进 DSH,写代码时不用切网页就能盯住:
首次使用在「连接 Agnes 控制台」填一次账号和密码。Agnes 不发 refresh token,续期就是拿账号密码自动重登一次——而密码不落盘,环境变量 AGNES_PASSWORD 是它唯一的持久来源(这是显式 opt-in):设了它,令牌到期 Host 会自己重登;没设,令牌失效后面板会让你重新输一次(面板上那行「自动恢复」状态会直说当前是哪种)。登录失败时表单会直接显示 Agnes 返回的原因;密码错误属于凭据型拒绝,面板绝不自动重试(Agnes 有失败次数锁定)。想清除账号,用面板底部的按钮。
把 Agnes 模型注册为 DSH provider,参与对话与出图。
AGNES_TOKEN_PLAN_API_KEY,Host 以 agnes-token-plan 之名注册 OpenAI 兼容 provider,模型列表随 /v1/models 自动刷新;input_modalities 判定,不靠名字猜)。agnes_draw_image ,出图模型按 catalog 的 output_modalities 结构化判定。agnes_video_generate,按选中模型分派 V2.0 / 2.5 两套互斥参数。注意:sk- 走 API 按量计费,cpk- 走订阅配额(本 tab 只读订阅配额),两类 Key 有独立限制池,需从官网了解实际限制。
读取 AgnesCode 桌面端 留在本机的加密会话文件,获取登录态,再以 provider id agnescode 注册独立 provider、独立积分池——两条上游凭据互不相通:
协议探针记录见 docs/ROADMAP.md §6.3。
注意:检测不到登录态时,面板会逐条列出探测过哪些文件、各自为什么没成(「没装 App」「解不开密」「会话里没有令牌」是三种不同的处理);
输入框右侧会出现一枚用量胶囊,画哪条上游的额度由当前会话选中的模型决定,前缀写明是谁的:选中 agnes-token-plan 的模型显示控制台的 5 小时 / 本周已用百分比(前缀 Token Plan);选中 agnescode(桌面端)的模型显示那套积分余额(前缀 AgnesCode)。圆点分级(绿 / 黄 / 红 / 灰)。点开余额胶囊是一张只看关键数的卡:余额、时效 / 永久拆分,加一行「经本插件」今日调用次数与 token 用量(只算经本插件 agnescode provider 的请求,不含桌面 App,也不冒充账号总量),以及「为什么没有数字」;账号昵称、平台发放、限流记录、账户流水这些深记录都留在 AgnesCode tab,不塞进这枚 28px 的胶囊。
usage_pct、缺失才回落 已用 / 上限,不做钳制(超额窗口就显示 >100%,那是事实);桌面端画的是存量,所以不造百分比——网关只公布积分,没有「上限」可以当分母;agnescode 的会话只读它自己的路由、绝不画控制台窗口,反之亦然;切到别的 provider(其它插件)的模型时胶囊直接消失,也不再发任何请求;0 是「烧完了」的读数(红色告警),— 才是「这次没读到」——这个区别是刻意的;dsh-connect-agnes-token-plan 点击安装,或运行:dsh plugin --profile web add dsh-connect-agnes-token-plan # Web 端
dsh plugin --profile desktop add dsh-connect-agnes-token-plan # 桌面端dsh-connect-agnes-token-plan 的插件卡(面板是页内的内联卡片,不在侧边栏)。装到的是哪一版由源决定:安装器会询问 profile 配的 registry,默认含 `registry.npmmirror.com`,刚发布的版本在镜像上可能延迟几分钟,官方源立即可用;要确认拿到了哪一版,对照 npm view dsh-connect-agnes-token-plan version --registry=https://registry.npmjs.org。三种 target 形态(npm 包名 / git 地址 / 本地路径)见 docs/SETUP.md。登录原理:
{consoleBase}/api/user/login 发一次账号密码 POST 换取 access token(Agnes 没有 OIDC 跳转、没有 refresh token),令牌过期或被拒时用同一路径重登一次;/api/cn/user/subscription 直接返回每个窗口的 used / limit / reset_at / usage_pct(控制台「当前用量」那一屏的数据源),面板逐字转写、不做减法。下方的「账号累计用量」统计同理,provider / 出图 / 视频 / AgnesCode 开关的生效值存在插件私有状态文件里($DSH_HOME/state//),不在任何配置或路由上;npm run doctor 只读状态文件、不碰凭据,Host 没起也能跑(人读 / 机器读两个口径见 docs/SETUP.md §6.1)。
docs.test.mjs 的 PITFALLS_REFS 与文件内编号钉住)AI 协作会话请先读 AGENTS.md(在仓库里,不在 npm 包里)。人类贡献者先读 SETUP.md 与 ARCHITECTURE.md §2 理解结构与改动代价,改代码前再读 AGENTS.md 的红线与 TESTING.md 的 npm test 门禁。
GET /v1/models 只区分权限,不计费也不占推理额度;MIT License(Copyright (c) 2026 eghrhegpe),全文见 LICENSE;第三方依赖与合规说明见 THIRD_PARTY_NOTICES.md。