Repository navigation
Releases
v0.1.7-alpha.1
兼容性
新增 dsh-v0.1.7-alpha.1 支持,CI 矩阵扩到九个 tag(dsh-v0.1.3-alpha.1 ~ dsh-v0.1.7-alpha.1 各跑一遍 typecheck + build + test)。本版相对 v0.1.6-alpha.2 无功能改动,是纯兼容性 / 元数据发布。
0.1.7-alpha.1 换了两处代际,但插件消费的声明逐条未变:
- cordis 4.0.2 → 4.0.3:
vendor/cordis/src只多一行纯类型导出(Volatile/VolatileSnapshot),Context/Service/inject/effect/get/logger与 fiber 等待语义零变化(本包 devDep 仍固定 4.0.2,运行时用的是宿主那份)。 - 组合层重写:app-boot 的 profile 解析改为单一 runtime resolution,且 bundle 的 manifest / patch 加载失败由「启动失败」改为「打印诊断并跳过该 bundle」。插件仍以
dsh.bundle.patch入列,且 0.1.7 起该字段放宽为string | string[](向后兼容)。 - 客户端加载链路未变:
dsh.client仍只要求platform(新增的icon/ locale 元数据都可选)、exports["./client"]取用与platform门槛、window.__ModuleLoader__.load({ id, factory })注册、平台 seed 表(react/react/jsx-runtime)、classic script 均照旧。 - 槽位未变:
ui-slots/src零改动;conversation.session.header.utilities的声明与渲染点未动,register仍归属调用者 fiber、列表仍按priority→order升序(胶囊仍在导出按钮左侧)。 - 宿主与投影未变:
ConnectionFetchRoute(path/methods/requestBody/fetch)逐字未变,栅栏顺序与重复精确路由抛错保持;credentials.resolve(ref) → { value, source }、tokenUsage四桶、modelSelection的next/lastUsed均未变。
核对方式:本机 harness 检出即该 tag(工作树只多一个仅改 apps/cli/src/args.ts 的无关 commit),在其构建出的 lib/types 上通过 typecheck;契约面另经三路独立只读审计逐条核对(客户端加载链路 / 槽位 / 宿主 seam)。
功能
本版不含新功能。当前功能面见 v0.1.6-alpha.2:
- 法定节假日与调休上班日统一按谷期计费:峰期只在正常工作日(周一至周五、非法定节假日)09:00–12:00 与 14:00–18:00;节假日整天连休与调休上班的周末都显示「梁文谷」。
- 跨假期倒计时连续:长假前最后一个工作日 18:00 起算到假期后第一个工作日 09:00,超过 24 小时按天显示(如
7天 15:00:00)。
安装
npm 上尚无 0.1.5 / 0.1.6 / 0.1.7 系列,本 Release 供源码 / link 安装:
dsh plugin --profile web add .
dsh --profile web --dump-config # 看到 liangwengu 层即安装成功
# 重启 dsh web,刷新页面本版未改 src/,两个半侧的构建戳与 v0.1.6-alpha.2 相同(cc648a47),所以不需要重启 dsh web,刷新页面即可。若你还没装过 v0.1.6-alpha.2,则那一次改动包含浏览器半侧逻辑,需按该版说明重启一次。
v0.1.6-alpha.2
亮点
法定节假日与调休上班日统一按谷期计费 — 按官方口径「北京时间周一至周五(不含中国法定节假日)9:00–12:00、14:00–18:00 为高峰时段;其余时段,包括周末及中国法定节假日全天均为空闲时段」,且调休上班的周末同样按空闲时段计费。新增 src/client/holidays.ts,按《国务院办公厅关于 2026 年部分节假日安排的通知》(国办发明电〔2025〕7 号)列出 7 段整天放假区间(2026 年共 33 个日历日,含连休里的周末)。
- 峰期判定改为「周一至周五 且 不是放假日期」:10 月 1 日(周四)这类节假日、以及 9 月 20 日这类调休上班的周末,胶囊显示「梁文谷」。
- 谷期倒计时跨假期连续:长假前最后一个工作日 18:00 起算到假期后第一个工作日 09:00,超过 24 小时按天显示(如
7天 15:00:00)。 - 调休上班日不单列数据:调休就是用周末换连休,它们固定落在周六/周日,已被「周末全天为谷期」覆盖;测试用 2026-09-20、10-10 与它们之后那个周一的 09:00 峰期锁住这条口径。
兼容性
- 支持
dsh-v0.1.3-alpha.1~dsh-v0.1.6-alpha.2:本版把dsh-v0.1.6-alpha.2、dsh-v0.1.6-alpha.1、dsh-v0.1.5-rc.2补进兼容性矩阵(共八个 tag)。0.1.6 重写了客户端模块系统与槽位实现(boot.ts拆出seed.ts/mount.ts、新增entries.ts与scoped-slots.tsx),但插件消费的声明逐条未变:dsh.client仍只要求platform、客户端 bundle 仍按exports["./client"]+window.__ModuleLoader__.load({ id, factory })加载、平台 seed 表仍含react与react/jsx-runtime、conversation.session.header.utilities的声明与渲染点未动、ctx.slots注册面与列表排序未变、tokenUsage/modelSelection投影未变、connection.fetch.register与credentials.resolve形状未变;dsh.bundle.patch仍被解析(实现移到packages/boot/plugin-manager)。 - CI 在这八个 tag 上分别执行 typecheck + build + test。
工程
holidays.ts把「逐年公告的数据」与「判定规则」分开:次年安排公布后只追加一行区间,判定代码不动;表未覆盖的日期按裸规则(周一至周五 09:00–12:00、14:00–18:00 为峰期)判定。- 时段测试新增节假日段:33 个放假日 × 2 个钟点、6 个调休上班日、15 个假期边界日(假前一天 / 假后第一天 / 表未覆盖的年份)、7 个跨假期与跨调休的倒计时;放假区间在源码表与测试里各自独立转录后逐条比对,抄错会立刻失败。
npm run typecheck+npm run build+npm test(五个测试文件)全部通过;lib/与源码指纹cc648a47同步。
安装
npm 上尚无 0.1.5 / 0.1.6 系列,本 Release 供源码 / link 安装:
dsh plugin --profile web add .
dsh --profile web --dump-config # 看到 liangwengu 层即安装成功
# 重启 dsh web,刷新页面本版只改浏览器半侧逻辑(src/client),但构建戳已变:重启 dsh web 并刷新页面,否则菜单底部会提示两个半侧不是同一份构建(旧宿主进程 + 新前端)。
v0.1.5-rc.1
亮点
账户余额(合并 dsh-deepseek-balance 的能力) — 宿主半侧在 Connection 的共享 /api 通道上注册精确路由 POST /api/liangwengu.balance,经 DSH 凭据服务按引用解析 API key 后查询 DeepSeek GET /user/balance,key 不进浏览器;浏览器半侧在胶囊行内 | 之后显示余额,并在菜单最下方给出余额详情:各币种总可用、未过期赠金、充值余额、可用性、更新时间,外加手动刷新。
V4.1-Flash 价格 — 价目表新增 deepseek-flash(V4.1-Flash),与 flash 系列逐行同价,并同步参与 2026-09-10 12:00 的 flash 系列调价。
兼容性
- 支持
dsh-v0.1.3-alpha.1~dsh-v0.1.5-rc.1:新增 0.1.5-alpha.1 / alpha.2 / rc.1 三个 tag,插件消费的契约面与基线逐字一致;CI 在这五个 tag 上分别跑 typecheck + build + test 全部通过。 - 显式放弃
dsh-v0.1.2-alpha.1~v0.1.2-rc.1:不再验证、不再修复,CI 矩阵中的对应 tag 已删除。 - 上游出现破坏性变更时只跟进新版本,不为旧版本保留兼容分支。
- 宿主半侧声明
inject: ['connection']:没有该服务的 profile(如 headless)不会激活余额通道,其余功能与浏览器半侧加载不受影响。
界面
- 胶囊改为单行:
● 当前时段:梁文峰 · 剩余 01:23:45 | 余额 ¥110.00,·归组时段信息、|分隔账户信息;余额段与时段标签同字号(取自同一 token)。 - 菜单打开时焦点移入面板、关闭时归还给胶囊;面板为非模态弹层(不锁焦点,点击外部即关)。
- 面板不再常驻显示构建字段;仅当两个半侧来自不同构建时,才给出「重启 dsh web 并刷新页面」的提示。
可靠性
- 宿主侧 1.5 秒请求合并窗口 + 客户端定时器 ±10% 抖动:多标签页不再把上游请求与失败重试放大 N 倍。
- 轮询失败保留上一次成功值(余额段转黄并标 ⚠),失败按
max((k+1)×interval, k×10s)退避(k≥3 封顶 30 秒),页面隐藏时暂停。 - 宿主失败转移日志:首次失败、错误码变化、恢复各记一条,持续同故障不刷屏;日志调用不会因 logger 抛错而变成未处理拒绝。
- HTTP 404 单列为「宿主半侧未加载余额路由」,直接说明多半是宿主进程比构建产物旧、需重启
dsh web。
工程
client/index.tsx按职责拆分(time-slot.ts/styles.ts/PricingTable/CompositeSection/BalanceSection),菜单三块各自memo:每秒 tick 不再重建价目表。- 构建时对
src/取源码指纹注入两个半侧,仅供比对(一致时界面无构建字段);指纹只由源码决定,保证 CI 的git diff --exit-code -- lib仍成立。 - CI 守住
lib/产物漂移;测试增至五个文件:时段/倒计时、计价与综合单价、余额状态机与显示规则、宿主半侧路由契约、jsdom 真实渲染(含菜单交互与焦点行为)。
安装
npm 上尚无 0.1.5 系列,本 Release 供源码 / link 安装:
dsh plugin --profile web add .
dsh --profile web --dump-config # 看到 liangwengu 层即安装成功
# 重启 dsh web,刷新页面本次改动包含宿主半侧,必须重启 dsh web 才会加载余额路由;只刷新页面只能拿到新的浏览器半侧。
v0.1.2-rc.1
确认兼容 dsh v0.1.2-rc.1:rc.1 相对 alpha.5 的整仓差异仅全仓包 package.json 版本号变更(非 package.json 文件零变化、非版本行零变化),插件消费的契约面(slots 服务、conversation.session.header.utilities 槽位、react 平台 seed)在 rc.1 tag 上逐项复核一致。文档与 CI 矩阵已同步(新增 dsh-v0.1.2-rc.1 matrix 行)。
v0.1.2-alpha.5
测试并确定对 dsh v0.1.2-alpha.5 的兼容性
v0.1.2-alpha.4
测试并确定对 dsh v0.1.2-alpha.4 的兼容性
v0.1.2-alpha.3
版本兼容性
- 兼容 DSH:dsh-v0.1.2-alpha.1 ~ alpha.3(同一 cordis-Context 契约代)
- 不兼容:0.1.1-rc.2 及更早(client-runtime 一代);npm 上的 0.1.1-rc.2 为旧代兼容版,本版本面向 0.1.2-alpha.* 系列
- CI 在三个 tag 上分别执行 typecheck + build + test(三锚点矩阵)
变更
- 修复 typecheck:tsconfig paths 固定 @deepseek-ai/cordis 模块身份,Context.slots 增广生效(TS2339)
- CI 扩展为 dsh-v0.1.2-alpha.1 / �lpha.2 / �lpha.3 三锚点矩阵,各自 pin 固定 commit
- README 声明三版兼容矩阵与安装说明(npm 命令对应 0.1.1-rc.2 兼容版;源码检出对应 0.1.2 兼容版)