Releases: HarcoChen/deepseek-harness-vscode
Release list
v0.6.2
- 紧急修复:锁定dsh版本,上游巨大RPC变化后面慢慢做
What's Changed
- hotfix(runtime): 锁定 npx/pnpm 拉取的 Runtime 版本 by @HarcoChen in #8
Full Changelog: v0.6.1...v0.6.2
v0.6.1
- 修复托管 Runtime 解包:提取文件时重新应用归档中的权限位,
bin/node、bin/dsh和 node-pty 的spawn-helper不再因为落地成不可执行而导致 Runtime 起不来;同时跳过 tar 的全零结束块(其空文件名会解析回暂存目录本身),并去掉 GNU 长文件名条目结尾计入长度的 NUL 字节。 - 新增
scripts/verify-managed-runtime.mjs:直接驱动扩展自己编译出的dist/managedRuntime校验某个 Runtime 发布是否真的可用,默认只检查远端契约(manifest 与五个平台资产),--full会做一次真实安装并冒烟测试启动器(含web)。 - 新增单向 Debug Context:通过
DSH: Explain Current Debug State、暂停时 Debug Toolbar 的鲸鱼按钮或/ide选择器,采集当前调试线程/帧、停止原因、前 10 层调用栈、局部变量、源码附近 24 行和 workspace diagnostics;敏感变量脱敏并作为一次性 IDE context 注入下一条 prompt,暂不依赖 DSH 插件或双向调试 RPC。
What's Changed
- fix(package): declare dsh chat participant to stop activation error by @1w1w11w1 in #4
- feat: 一系列功能升级 by @HarcoChen in #5
New Contributors
- @1w1w11w1 made their first contribution in #4
- @HarcoChen made their first contribution in #5
Full Changelog: v0.6.0...v0.6.1
v0.6.0-beta.1
- 继续收窄 ChatViewProvider:Workspace 管理与 Agent Preset 管理的 QuickPick 流程迁至
workspaceActions.ts与agentPresetActions.ts,通过窄接口回调告知视图需要失效的草稿状态,chatView.ts由 3169 行降至 2820 行、方法数 98 → 90。新建会话草稿的五个字段统一由clearNewSessionDraft清理;移除 Workspace 时保留已选的 agent mode,不再连带清空。 - 工具卡新增按次编辑的原生 Diff:
write/edit/str_replace_editor完成后可逐文件打开 VS Code 自带的并排 diff 编辑器。before 一侧不依赖 Git,而是用 Runtime 已随日志持久化的 hunk 从磁盘上的当前文件反向回放重建,因此非 Git 仓库、被 gitignore 的文件同样可用,粒度也从「整轮」细化到「单次调用」。锚点缺失或不唯一时明确报错而非展示不忠实的 diff;该文件此后未被再次修改且为 LF 行尾时,右侧直接使用可编辑的真实文件。 - Slash 命令面板改为向 Runtime 实时枚举:通过 Gateway 通道的
commands/list拉取当前会话真实注册的命令(/plan、/compact、/goal、/feedback等随 profile 组合变化),与扩展自有的 IDE 命令合并展示,并在commands/change到达时失效重拉。命令执行改走commands/execute,替换此前把/compact、/goal当作裸 prompt 文本发送的做法——该做法在0.1.1-rc.2上并不生效,会把命令行当普通消息发给模型。 - 推进 Webview UI 重构:拆分 Composer 与消息渲染子组件,稳定流式消息引用以减少无关行重渲染,移除阻塞式原生对话框,并补齐 Focus Mode、错误横幅和键盘可访问性。
- 将 ActivityDock 拆为独立壳层及 Goal、Queue、Subagents、Jobs、Permissions、Changes 六个面板模块,移除跨消息列表的反向依赖。
- 将设置、权限、统计、Todo、图片附件和推理强度的纯投影/校验逻辑从 ChatViewProvider 迁至独立呈现模块,收窄宿主 God Object。
- 新增 macOS AppShot:从附件菜单或命令面板选择应用窗口截图,并作为一次性图片草稿随消息发送。
- 托管 Runtime 默认 pin 更新至 CNB 已发布的
0.1.1-rc.2,覆盖 macOS、Linux 和 Windows 五个平台资产;安装时校验 manifest 版本必须与请求版本一致,并在设置说明中提示预览版存储格式兼容性。 - 提问卡片支持折叠、多行自定义回答和草稿保留,便于处理较长的
ask_user_question内容。 - Job Center 补充后台任务 kind、job id、实时持续时间、所有者和输出摘要;单任务停止继续等待 Harness 公开控制 RPC。
@候选菜单现在同时支持工作区文件和 Session;Session 按公开目录/搜索结果匹配,并插入官方dsh-session:Markdown mention。- 递归渲染嵌套 MCP/ACP/PTC 内容中的持久图片附件,工具卡也复用现有附件懒加载与缓存。
- 新增通用插件设置卡片:基于公开
settings.describe/mutate编辑非敏感字段,使用 revision 防止并发覆盖,密钥字段只显示配置状态。 - 安全 Markdown 渲染器支持表格、对齐和单元格内联 Markdown;窄侧栏自动提供横向滚动。
- 修复
zh-HansVS Code 语言环境下命令面板仍显示英文的问题,并保留zh-cn语言包兼容。 - 修复命令面板中命令分类和标题重复显示
DSH前缀的问题;现在每条命令只保留一个DSH分类前缀。 - Provider 管理在加载 Runtime/配置时显示进度;没有可枚举 Provider 时提供明确的 Web UI 入口,不再静默无响应。
- Provider 管理列表现在只显示已配置路由;未配置 Provider 统一引导到 dsh Web UI。
- “高级配置”统一打开 dsh Web UI;即使 Runtime 尚未启动,扩展也会先启动并再打开浏览器。
Full Changelog: v0.5.3...v0.6.0-beta.1
v0.6.0
-
精简底部常驻区:Token 用量并入输入框下方的紧凑入口(点击仍展开完整统计面板,此后从底部上弹),Todo 清单并入活动面板成为置顶的可折叠标签页,去掉多余的常驻统计条与堆叠边框,底部只保留输入框上沿一条分隔线。
-
统一消息流与卡片视觉:工具卡、压缩卡与通用卡片的圆角、留白对齐,用户气泡去边框仅保留背景;间距改用 4px 基准刻度,圆角与阴影收敛为统一的设计 token,输入框默认更紧凑,整体更清爽。
-
审批卡显示这次调用实际要做什么:命令类调用展示命令行与工作目录,写文件类调用列出目标文件并可在批准前打开原生 diff 预览拟议改动(待批准的调用尚未执行,磁盘上的文件即真实 before,无需重建)。
-
权限面板的 preset 可直接点击切换,走宿主自己的
/permissionPresets命令;Runtime 未提供该命令时退回原有说明。组合器底部常驻权限指示,点击在可选 preset 间循环。 -
Release workflow 识别 SemVer 预发布版本(版本号含
-):此类 tag 只产出 vsix 并建预发布 GitHub Release,不再推送到 Open VSX,避免 beta 成为所有用户升级到的版本。 -
npm run release支持预发布版本毕业到正式版:可从x.y.z-beta.N发布x.y.z(或用stable提升关键字),并把变更日志中同基线的所有 beta 段落自动合并进新的正式版段落,比较链接沿用最早那个 beta 的起点。 -
斜杠菜单回车选中即执行,不再把命令名填回输入框;需要参数的命令仍可手动输入完整命令行提交(打空格后菜单自动关闭)。
-
以
/直接调用的 skill 同样即时发送,并在消息流中渲染为调用标记而非字面 prompt 文本;$name的句中引用手势保持原样,仍是补全进草稿。 -
继续收窄 ChatViewProvider:Workspace 管理与 Agent Preset 管理的 QuickPick 流程迁至
workspaceActions.ts与agentPresetActions.ts,通过窄接口回调告知视图需要失效的草稿状态,chatView.ts由 3169 行降至 2820 行、方法数 98 → 90。新建会话草稿的五个字段统一由clearNewSessionDraft清理;移除 Workspace 时保留已选的 agent mode,不再连带清空。 -
工具卡新增按次编辑的原生 Diff:
write/edit/str_replace_editor完成后可逐文件打开 VS Code 自带的并排 diff 编辑器。before 一侧不依赖 Git,而是用 Runtime 已随日志持久化的 hunk 从磁盘上的当前文件反向回放重建,因此非 Git 仓库、被 gitignore 的文件同样可用,粒度也从「整轮」细化到「单次调用」。锚点缺失或不唯一时明确报错而非展示不忠实的 diff;该文件此后未被再次修改且为 LF 行尾时,右侧直接使用可编辑的真实文件。 -
Slash 命令面板改为向 Runtime 实时枚举:通过 Gateway 通道的
commands/list拉取当前会话真实注册的命令(/plan、/compact、/goal、/feedback等随 profile 组合变化),与扩展自有的 IDE 命令合并展示,并在commands/change到达时失效重拉。命令执行改走commands/execute,替换此前把/compact、/goal当作裸 prompt 文本发送的做法——该做法在0.1.1-rc.2上并不生效,会把命令行当普通消息发给模型。 -
推进 Webview UI 重构:拆分 Composer 与消息渲染子组件,稳定流式消息引用以减少无关行重渲染,移除阻塞式原生对话框,并补齐 Focus Mode、错误横幅和键盘可访问性。
-
将 ActivityDock 拆为独立壳层及 Goal、Queue、Subagents、Jobs、Permissions、Changes 六个面板模块,移除跨消息列表的反向依赖。
-
将设置、权限、统计、Todo、图片附件和推理强度的纯投影/校验逻辑从 ChatViewProvider 迁至独立呈现模块,收窄宿主 God Object。
-
新增 macOS AppShot:从附件菜单或命令面板选择应用窗口截图,并作为一次性图片草稿随消息发送。
-
托管 Runtime 默认 pin 更新至 CNB 已发布的
0.1.1-rc.2,覆盖 macOS、Linux 和 Windows 五个平台资产;安装时校验 manifest 版本必须与请求版本一致,并在设置说明中提示预览版存储格式兼容性。 -
提问卡片支持折叠、多行自定义回答和草稿保留,便于处理较长的
ask_user_question内容。 -
Job Center 补充后台任务 kind、job id、实时持续时间、所有者和输出摘要;单任务停止继续等待 Harness 公开控制 RPC。
-
@候选菜单现在同时支持工作区文件和 Session;Session 按公开目录/搜索结果匹配,并插入官方dsh-session:Markdown mention。 -
递归渲染嵌套 MCP/ACP/PTC 内容中的持久图片附件,工具卡也复用现有附件懒加载与缓存。
-
新增通用插件设置卡片:基于公开
settings.describe/mutate编辑非敏感字段,使用 revision 防止并发覆盖,密钥字段只显示配置状态。 -
安全 Markdown 渲染器支持表格、对齐和单元格内联 Markdown;窄侧栏自动提供横向滚动。
-
修复
zh-HansVS Code 语言环境下命令面板仍显示英文的问题,并保留zh-cn语言包兼容。 -
修复命令面板中命令分类和标题重复显示
DSH前缀的问题;现在每条命令只保留一个DSH分类前缀。 -
Provider 管理在加载 Runtime/配置时显示进度;没有可枚举 Provider 时提供明确的 Web UI 入口,不再静默无响应。
-
Provider 管理列表现在只显示已配置路由;未配置 Provider 统一引导到 dsh Web UI。
-
“高级配置”统一打开 dsh Web UI;即使 Runtime 尚未启动,扩展也会先启动并再打开浏览器。
Full Changelog: v0.5.3...v0.6.0
v0.5.3
- 修复 pnpm 启动 DSH 时 compaction 的
--patch参数顺序错误:现在会在 Web 参数前传给 DSH 启动器,不再被 Web 命令误报为未知选项。
Full Changelog: v0.5.2...v0.5.3
v0.5.1
- 新增原生“对话大纲” TreeView:按当前会话的用户消息生成导航节点,点击即可跳转到对应消息。
- 新增
Conversation Navigation API,允许配套扩展注册自定义对话里程碑。 - 修复
/effort在新会话或 effort 选项尚未加载时无法打开滑块的问题;现在会先加载选项,再打开聊天内控件。 - 新增可配置的 Agent 状态文案,支持每轮流式输出随机选择候选文本,并保留插件覆盖 API。
- 感谢 dsh-reasoning-effort 提供跑步 sprite 参考与素材,也感谢
dsh-milestone对对话里程碑导航设计的启发。
Full Changelog: v0.5.0...v0.5.1
v0.5.0
- 新增深色模式适配,聊天、活动面板、Trace 和 Token 使用界面颜色与 VS Code 主题保持一致。
- 新增从 CNB 安装完整 Runtime 与 Standalone 镜像的能力,并增强下载进度和 HTTP 请求结束处理。
- 新增 LSP 集成、Web Search 卡片和 TODO 卡片展示,补充更多 Harness 任务状态反馈。
- 新增 Preset 管理,支持创建和选择自定义 Agent Preset;
/preset可作为/mode别名使用,并显示当前 Preset。 - 优化 Slash Command 在空工作区中的处理,支持
/compact,并修复/model在新对话中误创建空 Session 的问题。 - 新增 effort 滑块和图片附件入口,改善发送前的任务参数配置。
- 优化 Workspace 管理及 Runtime 发布流程。
Full Changelog: v0.4.1...v0.5.0
v0.4.1
- 新增 Provider 管理:可查看 Provider 启用、配置及凭据状态,设置或移除 API Key,并从命令面板或聊天菜单打开 Harness 官方配置文件进行新增和高级编辑。
- 支持安全删除纯用户层自定义 Provider;删除操作按 Harness 设置 revision 执行,并且仅清理由该 Provider 约定名称独占管理的凭据,避免误删共享 Key。
- 新增
$Skill 候选,并在/候选中同时展示 Harness Skill;选择后插入官方/skill-name调用语法。 - 修复新对话草稿态无法使用
/mode,以及尚未发送 prompt 时错误创建空 Session 的问题。 - 优化新对话的 Workspace 归属:可在当前 VS Code 文件夹尚无 Session 时直接建立本 Workspace 对话,也可继承当前所选 DSH Workspace 创建新对话。
- 修复第二个 VS Code 窗口无法复用随机端口 Runtime 的问题:启动者会把经过限制的 loopback URL 写入进程锁,后续窗口通过
host.describe验证后连接已有 Harness,避免再次启动写进程。
Full Changelog: v0.4.0...v0.4.1
v0.4.0
- 新增 Workspace 注册与 Session 归属:创建会话前自动注册当前工作区,避免新会话全部落入未分组状态。
- 新增按 VS Code 文件夹自动发现并恢复已有 DSH Session;打开曾在 Web 中建立过工作区的文件夹时可继续使用原会话和历史记录。
- 优化 Webview 会话选择器:按 Workspace 分组展示会话,并为历史或未关联工作区的会话提供“未分组会话”兜底分组。
- 扩展 Harness Workspace RPC 集成,支持读取工作区列表及按工作区筛选会话,为跨 Web 与 VS Code 的工作区复用提供基础。
- 增强 Trace Timeline:按可见事件的实际时间范围绘制时间轴,保留空闲间隔并改善 CSP 下的时间条定位。
- 修复跨 DSH Workspace 切换 Session 后发送消息会因 VS Code 当前目录不同而误建新会话的问题。
- 修复多窗口或多进程启动 Runtime 时的竞争:优先复用已存在的 Harness,并通过插件锁避免重复启动写入同一会话存储。
- 修复默认端口被占用时无法启动的问题:按 Harness 默认端口
3080探测,未配置端口时交由操作系统分配空闲端口,并校验host.describe后才复用服务。
Full Changelog: v0.3.2...v0.4.0
v0.3.2
- 新增资源管理器入口:文件和目录右键可将目标路径与 workspace root 预填到 DSH Chat,不会自动发送或读取文件内容。
- 新增
DSH: Diagnose Environment:输出脱敏的 VS Code、Node、平台、工作区信任、命令发现、npm 全局目录、Runtime 健康状态和 API Key 引用诊断。 - 修复 Windows 下 npm 全局前缀查询无法通过
.cmd启动器执行的问题,并保留.cmd/.ps1Runtime 启动兼容性。
Full Changelog: v0.3.0...v0.3.2