Repository navigation
Releases
v0.1.2-rc.2
DSH Forge v0.1.2-rc.2(预发布 · Windows)
预发布版本:应用内「设置 → 关于 → 更新渠道」选 预发布 才能收到本版。
本版与v0.1.2-rc.1的差别是「让预发布渠道真正可用」以及模型设置页的若干打磨。
本版要点
1. 预发布更新链修复(坑 75 收口)
rc渠道此前恒报Cannot find rc.yml … 404:两条发布链都不产出rc.yml(electron-updater的rc渠道文件名 =rc.yml/mac 为rc-mac.yml),而 404 回退latest.yml只在allowPrerelease === true时成立。- 本版起:
allowPrerelease由渠道显式决定(正式渠道只看正式版、预发布渠道纳入-rc.N),不再沿用上游「按当前安装版本推导」的默认值 —— 于是正式版装机切到预发布渠道也能升到本版;切回正式渠道即严格只看正式版。 - 发布链补齐渠道描述符:
align-release-assets.cjs统一生成latest.yml → rc.yml、latest-mac.yml → rc-mac.yml副本,两条链的上传清单与本地直发清单同步补齐,缺rc.yml直接中止发版。
2. 模型设置自有化(首版)
- 自研
@lansi-ai/dsh-forge-settings-models接管官方「模型」设置页(官方信息架构 1:1):provider 目录行 + 单卡编辑器 + 自定义路由 + 模型探测选择器 + 删除确认 + 只读/冲突态。 - 补齐官方页缺失的能力:profile 请求头(
headers)键值编辑器 —— 这是 opencode 网关400 MissingSessionID的配置层入口(坑 74)。 - 补齐外壳缺口:
settings.onboarding投影(此前引导步骤注册了也永不显示,坑 73)。
3. opencode 逐会话会话头:插件化 + 人类可读标签
- 该能力不进主包,走独立插件包
lansi-ai/dsh-llm-opencode-session(--install-plugin安装;删 profile 里那一行即卸载)。 - 插件 v0.1.1 起,
x-opencode-session的值是人可读短标签(dsh-青竹aB,由对话内容确定性派生 → 同对话稳定、不同对话不同),可直接在 opencode 控制台「会话」列里认出是哪段对话;需要纯 ASCII 时把 roster 行配成labelStyle: ascii(dsh-Kx7Q)。
4. 插件列表管理面(设置 → 插件)
- 外部插件行带操作区:来自 GitHub 来源的行可「检查更新 → 更新到 vX」(对照默认分支版本);所有外部行可「卸载」(两步确认,删补丁行 + 包目录 + 来源登记)。
- 安装 / 更新 / 卸载只改磁盘,外部插件在进程启动时发现 → 操作成功后提示「重启后生效」。
安装
- 全新安装:下载
DSH-Forge-0.1.2-rc.2-setup.exe(或用便携版DSH-Forge-0.1.2-rc.2-portable.exe)。 - 已装旧版:设置 → 关于 → 把更新渠道切到预发布后点「检查更新」。⚠ 若当前装的是正式版,本版之前的构建不会自动跨到预发布,需要手动装一次本安装包。
校验
见随附件上传的 SHA256SUMS。
已知边界
- macOS 产物需手动触发
release-mac.yml构建,本版先发 Windows。
v0.1.2-rc.1
v0.1.2-rc.1
预发布(rc):本版把模型设置整页换成自研实现,补齐首次引导,并修掉预发布更新链的两个缺陷。安装包与更新描述符由维护者本机构建上传。
新增 · 模型设置自有化
- 设置「模型」页由自研插件
@lansi-ai/dsh-forge-settings-models接管(官方ui-settings-models进入互斥排除表,不再装配):- provider 目录行 + API 密钥状态点、编辑/删除、首次配置卡片
- 编辑器:DeepSeek 模型目录(含容量折叠区)与 pi-ai 模型列表(含「获取可用模型」选择器)
- 自定义路由创建(displayName / API 协议 / baseURL / 模型 + 凭据分离写入)
- 只读部署与并发冲突(
settings/conflict)都有明确提示
- 新增「请求头」编辑能力:官方设置页不暴露 profile 的
headers字典,导致「网关要求自定义请求头」在官方 UI 里无路可走;现在可在「自定义设置 → 请求头」逐条增删,命中 opencode 网关时还给一键生成会话 ID。
新增 · 首次引导
- 设置外壳补齐
settings.onboarding投影(此前该槽位长期「只声明、不派发」,任何引导步骤都不会显示)。 - 首启(空白会话)会依次出现:内测声明 → DeepSeek 官方密钥引导(可稍后配置;配置过任一可用提供方即自动跳过)。
修复 · 预发布更新链
- 本 Release 起随包上传
rc.yml(latest.yml的逐字节副本)。应用内「预发布渠道」固定请求rc.yml,而两条发布链此前都只传latest.yml→ 正式版装机点「检查更新」会直接报
Cannot find rc.yml in the latest release artifacts … 404(回退latest.yml只在当前版本本身是预发布时成立)。 - 预发布命名与渠道对齐:
rc渠道按 tag 的预发布段匹配版本,故预发布统一用-rc.N(此前的-alpha.N对应用内更新不可见)。 - 顺带给已发布的
v0.1.1补上rc.yml:现存正式版装机的预发布渠道从「报错」变为「无更新」(语义正确——正式版本来就没有可升的预发布)。
插件 · opencode Go / Zen 支持
-
独立插件包
lansi-ai/dsh-llm-opencode-session:解决 opencode 网关400 MissingSessionID(要求每段对话带稳定的x-opencode-session头,而上游 pi-ai 这一版不发)。 -
本版起该能力不进主包,按需安装(零依赖、零 peer):
& "$env:LOCALAPPDATA\Programs\dsh-forge\DSH Forge.exe" --install-plugin github:lansi-ai/dsh-llm-opencode-session@v0.1.0
行为:只对
opencode.ai域注入;同一段对话内稳定、不同对话不同;请求已带该头则不覆盖(上游修好后自动失效)。
升级提示
- 上一版为
v0.1.1。正式版装机无法通过应用内更新升到预发布版(allowPrerelease由当前版本推导,GitHub 上游也会跳过 pre-release):想试本版请手动安装本 Release 的setup.exe;装过预发布之后,后续-rc.N版本即可在「设置 → 关于」切到预发布渠道自动升级。 - 本 Release 只含 Windows 产物(安装版 / 便携版)与描述符:
latest.yml、rc.yml、setup.exe.blockmap、SHA256SUMS。 - mac 产物未包含:按 D-32(本地产物为权威、tag 不再触发 CI),mac 需每版手动补一次
gh workflow run release-mac.yml。 - 引导弹窗是行为变化:此前从未显示过,首启会看到「内测声明」。
v0.1.1
v0.1.1-rc.5
修复
- 安装版
Glob/Grep全挂 —— 报Error: glob subprocess failed before reporting an outcome (ripgrep provider failure):
上游@vscode/ripgrep的rgPath由模块解析得来,打包后恒指向app.asar内的rg.exe,而 Windows 无法启动归档内的文件 → runner 目标启动失败、工具报"provider failure"。
现于ctx.subprocess启动咽喉把这类路径就地改写为app.asar.unpacked孪生(仅当孪生真实存在;零上游耦合)。
该问题只在打包态出现(dev 正常、danger-full-access下同样失败),此前容易被误判成沙箱/权限问题。 - 一键装插件在匿名 GitHub API 限流时不可用 —— 默认分支查询改为「先问 API、失败回退探测
main/master」(取包的 codeload 不计入 API 限额),避免共享出口被限流时整条命令失效。
发布链
- 新增
npm run release -- <version> --publish-local:本地打包后直接发布到 GitHub Release(Windows 产物 + 描述符 + 校验和,并自动复核资产)。 release-win/release-mac两个 CI workflow 改为仅workflow_dispatch触发(不再响应 tag push):此前gh release create会在远端隐式建 tag,进而触发 CI 重建并用--clobber覆盖本地产物。- 因此macOS 产物需为每个版本在 Actions 手动 Run 一次
release-mac(本机 Windows 无法打 dmg)。
产物与校验
| 平台 | 产物 | 校验 |
|---|---|---|
| Windows | DSH-Forge-0.1.1-rc.5-setup.exe(NSIS 安装包)/ DSH-Forge-0.1.1-rc.5-portable.exe |
SHA256SUMS |
| macOS | arm64 / x64 的 dmg 与 zip |
SHA256SUMS-mac |
| 更新描述符 | latest.yml(Windows)/ latest-mac.yml(macOS) |
匿名可下载(HTTP 200) |
说明:rc.5 的 Windows 产物最终由 CI 构建并覆盖(发布当时 CI 仍监听 tag);该触发已随本次改动移除,后续版本以本地产物为准。
应用内「检查更新」在rc渠道可直接命中本版本;若网络环境需要代理,请在 通用设置 → 网络设置 中配置。
v0.1.1-rc.4
Created automatically by release-mac workflow.
v0.1.1-rc.3
Created automatically by release-mac workflow.
v0.1.1-rc.2
DSH Forge v0.1.1-rc.2
预发布版(Pre-release)。
0.1.1线第二个rc候选,继续稳定化验证。
上游基线:@deepseek-ai/dsh0.1.5-rc.2(由0.1.5-alpha.2升级)
完整变更:v0.1.1-rc.1...v0.1.1-rc.2
✨ 本版亮点
- 插件列表全自研 —— 「设置 → 插件 → 插件列表」改为桌面定制口径:全局插件 / 预设组成两级分组 + 预设切换器 + 承载面筛选;并修掉「宿主侧插件搜不到」的根因。
- 上游基线升级至
0.1.5-rc.2—— 一次纳入上游rc.1/rc.2两个版本:默认模型更新、右侧栏预览与统计打磨、反馈与交付文件优化;本项目零代码适配。
🧩 插件列表(全自研)
界面(自研件接管 settings.plugins.tab,官方同名 Tab 已互斥排除)
- 两级分组:「全局插件」与「预设组成」。
- 「预设组成」组带预设切换器:可直接对比不同预设下模型实际可见的插件,条目数与官方「会话插件 · N 个」一致(极简模式 = 6 行)。
- 承载面筛选 chips + 精简两行摘要,点击行展开详情。
- 已停用 / 条件装配的行如实列出,不再隐去。
数据(根因修复)
- 插件清单由「仅客户端资源图谱」升级为三源合并:Cordis 真实 Loader 条目 ∪ 客户端资源图谱 ∪ 预设组成。
- 此前仅读客户端图谱,导致宿主侧插件(如
tool-pwsh)在列表中完全缺失;现在与官方口径一致,读真实插件树。
⬆️ 上游基线升级(0.1.5-alpha.2 → 0.1.5-rc.2)
以下为上游
0.1.5-rc.1/0.1.5-rc.2中的用户可见变化。
| 类别 | 变化 |
|---|---|
| 模型 | Chat Completions 默认使用 DeepSeek V41 Flash,同时保留 V4 系列(含 V4 Flash Vision Exp)可选。你在配置中显式指定的模型不受影响。 |
| 交付文件 | 交付文件卡片排版与对话间距优化;代码文件图标换为全彩 artwork,文件更易辨认、界面更紧凑。 |
| 反馈 | 点赞 / 点踩改为弹窗确认后提交;提交失败时保留已填写内容并给出提示。 |
| 右侧栏 | 文档预览布局与滚动打磨(预览内容更新后保持滚动位置)。 |
| 会话统计 | 统计信息更安静:无意义的行按需隐藏(如缓存写入为 0 时不再占位)。 |
| 侧栏引导 | 引导起始页视觉打磨。 |
桌面侧核对(C-7):拴合面 S1/S2/S3/S3b 零差异,roster 96 个官方包全部存在,官方 web-app roster 包集无增删;上游本窗口的内部变更(含槽位目录刷新)未影响本项目自绘槽位契约。适配仅依赖版本对齐,无代码改动。
⚠️ 升级须知
- 本版为预发布(Pre-release):不会进入 GitHub "Latest release",
stable渠道不会收到本版推送。 - 应用内「rc」渠道本版仍不会自动发现更新:更新描述符
latest-rc.yml未产出(实测 404),请从本页 Assets 手动下载安装。已知问题,修复方案已列入计划。 - 若下载失败:国内直连
github.com可能被重置。可在 通用设置 → 网络设置 选择「手动设置」填入本地代理(如127.0.0.1:7890)后重试;本版资产已实测经代理可匿名正常下载。 - 品牌图标:桌面快捷方式与安装包图标随本版安装包更新;你自行上传的自定义图标不会被覆盖。
- 动态插件安全提示:创造模式下的动态插件等同 bash 级访问权限,
vm不是安全边界 —— 请只运行你信任的代码。
📦 下载与校验
| 平台 | 产物 |
|---|---|
| Windows x64 | DSH-Forge-0.1.1-rc.2-setup.exe(NSIS 安装包)· DSH-Forge-0.1.1-rc.2-portable.exe(便携版) |
| macOS(Apple Silicon) | DSH.Forge-0.1.1-rc.2-arm64.dmg · DSH.Forge-0.1.1-rc.2-arm64-mac.zip |
| macOS(Intel) | DSH.Forge-0.1.1-rc.2.dmg · DSH.Forge-0.1.1-rc.2-mac.zip |
校验下载完整性:
# Windows(PowerShell)—— 与 Assets 中 SHA256SUMS 的对应行比对
Get-FileHash -Algorithm SHA256 .\DSH-Forge-0.1.1-rc.2-setup.exe# macOS
shasum -a 256 -c SHA256SUMS-macv0.1.1-rc.1
DSH Forge v0.1.1-rc.1
预发布版(Pre-release)。这是
0.1.1线的首个rc候选:功能已冻结,进入稳定化验证。
上游基线:@deepseek-ai/dsh0.1.5-alpha.2。
完整变更:v0.1.1-alpha.9...v0.1.1-rc.1
✨ 本版亮点
- 创造模式可用 ——
cordis预设此前一直是坏的,本版修复后可直接创建/管理动态插件。 - 品牌资产 v2 —— 全新黑底金标图标,标题栏品牌标记独立成件。
- 极简模式回归官方 token 水平 —— 修掉一个隐蔽的宿主装配缺陷(工具悄悄渗进所有预设)。
- 工程命名统一 —— 自研插件从
dsh-desktop全面更名为dsh-forge。
🐛 修复
1. 极简模式(minimal 预设)模型可见能力远超官方
- 现象:切到极简模式后,模型实际能看到的工具与指令明显多于官方 minimal 预设,token 开销偏高。
- 根因:宿主 roster 完整抄录了官方
dsh-base的 insert 清单,却漏抄官方 web profile 的 23 行「模型可见」关停表。这些能力本应在全局层关停、只由各 agent 预设自行声明,缺失后便渗进了所有预设。 - 修复:
boot.ts新增 §3b 关停表,共 24 行disabled(官方 23 行 + 桌面历史遗留 1 行);- 删除项目自带的
standard预设 —— 它与官方 shipped 根同 id,一直被遮蔽、从未生效;预设来源回归官方 shipped 根。
- 结果:极简模式 token 占用回到官方水平;四个预设(standard / ptc / cordis / minimal)能力零损失。
2. 创造模式(cordis 预设)插件树挂载失败
- 现象:选择创造模式时启动报错,插件树无法挂载。
- 根因:预设行
tool-cordis静态依赖dynamicCordisRunner/cordisInspect两个服务,而提供它们的宿主半cordis-host-runner从未被装配(原先那条disabled是在禁用一条从未插入的行,属空操作)。 - 修复:
- 按官方 web profile 回填三处:宿主半 insert、客户端两半(
cordis-client-runner/ui-cordis)入图谱、自绘侧栏补声明并渲染sidebar.footer.action槽位(即「动态插件」面板入口); cordis-inventory兼容面退役dynamicCordisRunner/inventory,仅保留pluginInventory/list,避免遮蔽官方实现。
- 按官方 web profile 回填三处:宿主半 insert、客户端两半(
- 安全提示:动态插件等同于 bash 级访问权限,
vm不是安全边界 —— 请只运行你信任的插件代码。
🎨 品牌与外观
品牌资产 v2(黑底金标)
- 应用图标(窗口 / 任务栏 / Dock / 安装包)与托盘图标改为「纯黑
#000000+ 22% 圆角实底 + 金标」,浅色与深色两版同形。 - 标题栏品牌标记独立为透明底
brand-mark-{light,dark}.png,不再与窗口图标复用同一张图。 - 存量安装通过「品牌修订号 + 哈希标记」自动刷新内置品牌资产,不会覆盖你自行上传的自定义图标。
🔧 底层重构
自研插件命名空间统一为 dsh-forge
| 项 | 前 | 后 |
|---|---|---|
| 插件 ID | @lansi-ai/dsh-desktop-* |
@lansi-ai/dsh-forge-* |
| 源码目录 | src/desktop-host / src/desktop-shell |
src/forge-host / src/forge-shell |
| 源文件名 | desktop-*.ts / desktop-*-client.js |
forge-*.ts / forge-*-client.js |
| CSS 类 / 样式 ID / 日志标签 | .dsh-desktop-* / dsh-desktop-* / [dsh-desktop] |
.dsh-forge-* / dsh-forge-* / [dsh-forge] |
- 影响面仅限工程内部命名,对外行为与你的数据不受影响。
- 迁移常量(旧设备目录名
dsh-desktop)与历史问题台账刻意保留原样,确保老版本升级路径不被破坏。
⚠️ 升级须知
- 本版为预发布(Pre-release):不会进入 GitHub "Latest release",
stable渠道不会收到推送。 - 品牌图标的生效时机:
- 任务栏 / 窗口 / 托盘 / Dock 图标 —— 重启应用后生效(运行期读
$DSH_HOME/icons); - 桌面快捷方式与安装包图标 —— 随本版安装包更新。
- 任务栏 / 窗口 / 托盘 / Dock 图标 —— 重启应用后生效(运行期读
- 工程内更名无自动迁移:若你有自建脚本或外部工具按
@lansi-ai/dsh-desktop-*引用本项目的自研插件,需同步改为@lansi-ai/dsh-forge-*。
📦 下载与校验
- 安装包 / 便携包见本页 Assets;
SHA256SUMS用于校验下载完整性:sha256sum -c SHA256SUMS
v0.1.1-alpha.9
Created automatically by release-win workflow.
v0.1.1-alpha.8
Created automatically by release-win workflow.