← Back to home@Ycet

dsh-awesome-hud

dsh侧边HUD面板,包含多个信息展示模块(可自定义是否展示),集成压缩上下文、查看git graph等功能。DSH side HUD panel, containing multiple information display modules (customizable whether to display), integrating features such as compressed context, viewing git graph, etc.

Stars
2
Language
JavaScript
Created
Aug 29, 2026
Updated
Oct 6, 2026
GitHub repo

Introduction

dsh-awesome-hud

简体中文 English

License: MIT

为 DeepSeek Harness Web / 桌面端聊天页打造的悬浮 HUD 面板:会话状态、上下文占用与一键压缩、git 变更、子代理、任务与 MCP 启停,一目了然。

HUD在dsh中的效果(浅色主题)

alt text

HUD在dsh中的效果(深色主题)

alt text


[!NOTE] 一个 DSH Web 插件(dsh.bundle.patch 通道安装)。浏览页面右上角新增「HUD面板」按钮,点击开合悬浮面板;面板与 dsh-better-sidebar 右侧栏互斥协作,互不遮挡。

📑 目录


✨ 功能列表

模块说明
会话当前工作区名称、会话名称、会话状态(任务中/待审批/空闲中/待回答/等待子任务)、模型提供商/模型名/推理等级;会话名称右侧铅笔按钮可重命名(点击进入编辑态,输入框+取消/确认,确认后保存并自动更新会话列表标题);右上角「HUD 设置」勾选展示模块
上下文窗口上下文占用进度条(0–40% 绿 / 40–90% 黄 / >90% 红)、底部展示「已用 n · 上限 n · 缓存命中 n%」(缓存命中率保留一位小数;数据不可用时显示 —)、一键「压缩」当前会话上下文
用量DeepSeek 余额、OpenCode Go 三个窗口用量百分比(oc-go 5h/1w/1m)与 Codex 5 小时/周剩余额度百分比(dsh-codex-subscription 返回 gpt-reserve 额度时,追加展示同等样式的 codex gpt-reserve额度 行);行首带对应图标并缩进,点击具体数值直达对应设置页;DeepSeek、OpenCode Go 与 Codex 按各自安装/登录状态独立展示
git当前分支(标题栏右侧分支按钮:下拉列表可切换已有分支、创建新分支并自动切换)、变更文件数量;变更文件按暂存区(staged)与未暂存区(changes)分组展示(组名带灰色计数,无文件的分组自动隐藏);文件行点击可暂存/移除暂存/撤销;「commit」提交暂存区(手动输入或 AI 生成提交信息——按内置本地 git 提交规范 [YYMMDD] 项目名 vX.Y.Z:内容),「revert」撤销全部未暂存变更(已跟踪文件还原内容、未跟踪新建文件一并删除;破坏性操作均有二次确认与受影响文件清单);「git graph」弹窗(全部引用提交分页展示:每页最多 80 条,滑到底部出现「加载更多」按钮逐页追加,直至全部历史;当前分支标签为蓝底白字,其他分支为灰底黑字;提交行右键菜单可复制短哈希/全哈希/提交标题、从此处创建分支、合并至当前分支,或执行 soft / mixed / hard reset;创建分支为原位输入 + 图标按钮,合并与 reset 为行内二次确认);仅在有 git 仓库时展示
子代理任务当前会话全部后代子代理(按层级缩进)、执行中(黄)/已完成(绿)状态,点击在官方右侧栏打开子代理会话,保留主会话;仅在有子代理时展示
任务当前会话待办任务列表、已完成/待完成状态与计数(如1/3),随任务列表实时刷新;进行中任务显示旋转动画图标,底部展示「已完成/进行中/待处理」三态计数(含 0 恒显);仅在有任务时展示
计划清单当前会话通过 plan 模式(exit_plan_mode)产出的全部计划:待审批(黄)/已执行(绿)/已废弃(灰、划线淡色)三态标签,标题栏展示计划总数,点击行弹出计划全文弹窗,模块底部展示「已执行/待审批/已废弃」三态计数(含 0 恒显);仅在有计划记录时展示
MCP接入的全部 MCP 服务及 dsh 全局启用状态;开关直接启停 dsh 全局的 MCP 服务(写入 profilecordis.patch.yml),切换后页面刷新
便笺按工作区共享的便笺(同一工作区目录下所有会话共用一份内容,本地持久化);输入框底部拖拽手柄可调整高度(实时持久化),5000 字上限与字符计数,右侧圆点指示内容存在;可一键添加便笺全文至对话输入框;输入框为空时「清空」按钮置灰,有内容时需二次确认后清空;折叠/展开状态持久化
待办按工作区共享的待办清单(同一工作区目录下所有会话共用一份清单与顺序,本地持久化);勾选完成/恢复、添加/删除、整行拖拽排序(拖动手柄位于行最左侧)、一键清空已完成(二次确认,空列表置灰);底部展示完成计数;折叠/展开状态持久化

互斥协作:打开 better-sidebar 右侧边栏会自动关闭 HUD;手动关闭右侧边栏后 HUD 自动恢复。点击「HUD面板」按钮时若右侧边栏已打开,则先自动关闭侧边栏再打开 HUD(若版本兼容性导致自动关闭失败,HUD 会延迟到右侧边栏关闭后自动打开)。

🚀 快速开始

方式一:从 GitHub 远程安装(推荐)

# 1. 安装(要求本机 git 可访问 GitHub)
dsh plugin --profile web add github:Ycet/dsh-awesome-hud

# 2. 重启 DSH Web 服务并刷新页面

方式二:从本地源码安装(开发)

# 1. 安装(将 <absolute-path-to-plugin> 替换为本地源码目录绝对路径)
dsh plugin --profile web add "dsh-awesome-hud@link:<absolute-path-to-plugin>"

# 2. 重启 DSH Web 服务并刷新页面

安装完成后,聊天页右上角(「打开工作区」按钮左侧)出现「HUD面板」按钮,点击即可开合。

[!NOTE] HUD 面板默认展开;每个会话各自记住自己的开合状态(按会话 id 存于 localStorage),在 A 会话收起不会影响 B 会话。新建会话页(尚未开始的空白会话)例外:该页每次进入都从收起状态开始(只改内存态、不写 localStorage,因此不影响任何会话的记忆),并在右上角提供独立的悬浮「HUD面板」按钮用于在该页展开。模块可见性保存于 DSH profile 设置中,跨浏览器/设备随 profile 同步。

桌面端安装(macOS)

当前版本:0.14.11。先完全退出 DeepSeek Harness,再使用桌面应用自带的 CLI 安装;不要用旧 Web CLI 管理 desktop profile。

"/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh" plugin --profile desktop add "dsh-awesome-hud@link:<absolute-path-to-plugin>"

重新打开应用后,在会话右上角点击「HUD面板」。Codex 额度需要另行安装并登录支持当前 DSH 版本的 dsh-codex-subscription;DeepSeek / OpenCode 数据来自 dsh-account-usage。

[!NOTE] 便笺、待办、折叠和面板开合记忆保存在当前浏览器或桌面应用的 localStorage。安装插件不会自动搬运 Web 浏览器中的这些数据;模型与登录凭据由 DSH 管理。

🧭 使用说明

  • HUD 面板:悬浮于聊天页右上角,宽度 300px,高度上限为输入框底部(留 8px 底距),内容超出时面板内部滚动(滚动条仅在滚动时显示,停止 2s 后渐隐);聊天内容与输入框随面板展开自动向左让位,不会重叠。
  • 设置菜单:「会话」模块右上角齿轮打开菜单,可勾选展示「上下文窗口 / 用量 / git / 子代理任务 / 任务 / 计划清单 / MCP」模块(用量仅在其可用时列出),底部「取消 / 确认」按钮丢弃或保存勾选;「会话」模块恒展示。用量可用时,菜单内额外提供「用量模块内容」分组,可分别开关 DeepSeek 余额、OpenCode Go 用量和 Codex 额度。
  • 会话模块:会话名称右侧铅笔按钮可重命名会话——点击进入编辑态(输入框 + 取消/确认图标按钮),Enter 提交、Esc 取消,输入为空时确认按钮置灰;确认后保存新名称,会话列表标题自动更新。
  • 上下文窗口:进度条颜色随占用率自动切换;底部按「已用 n · 上限 n · 缓存命中 n%」展示,缓存命中率固定保留一位小数(无可用统计时显示 —);「压缩」在会话空闲时可用,运行中按钮禁用并提示原因。
  • 用量模块:位于「上下文窗口」模块下方。DeepSeek/OpenCode Go 复用 dsh-account-usage 插件路由,Codex 复用 dsh-codex-subscription 的浏览器 RPC;面板打开时立即加载、之后每 60 秒轮询;数据均缩进展示并带对应图标;模块支持折叠,默认展开(折叠状态经 localStorage 持久化)。
    • DeepSeek 余额:展示余额合计(充值 + 赠送),「跳转」按钮弹出选择菜单,可跳转 deepseek 开放平台或 opencode go 用量页;点击具体余额数值可直接打开设置面板「账户」分区的 deepseek 标签页;仅当已配置 DEEPSEEK_PLATFORM_TOKEN 时展示该行。
    • OpenCode Go 用量:三行分别展示 oc-go 5h / 1w / 1m 窗口用量百分比,点击具体百分比数值可直接打开设置面板「账户」分区的 opencode go 标签页;仅当已配置 OpenCode Go Key 且订阅有效(/api/account-usage/opencode 返回 ok + keySource)时展示。
    • Codex 额度:展示 codex 5h额度 与 codex 周额度 两条剩余额度整数百分比,使用 ChatGPT 图标;点击百分比数值打开「设置:Codex 订阅」页面。仅当安装并登录 dsh-codex-subscription 时展示;已登录但额度请求暂时失败时保留行并显示 —,无法确认安装/登录状态时隐藏。
    • gpt-reserve 额度:dsh-codex-subscription 返回 gpt-reserve 额度(/wham/usage 的 additional_rate_limits → rateLimits 中 id 为 base_model_inference、limit_name/name 为 gpt-reserve;插件按 id 或 name 归一化匹配,忽略大小写、下划线、连字符与空格)时,在周额度下方追加 codex gpt-reserve额度 行,样式、图标与交互与 5h/周额度完全一致(取其主窗口剩余百分比;额度带名称时显示为「codex gpt-reserve额度(名称)」)。该额度不存在时不展示该行;存在但窗口数据异常时保留行并显示 —。
    • 模块可见性与可配置内容:DeepSeek、OpenCode Go 与 Codex 各自独立;仅已安装/配置/登录的数据源显示对应行,全部不可用时模块与设置项整体隐藏;展示内容可在「用量模块内容」分组中单独开关(host settings 持久化,随 profile 同步)。
  • git 模块:每 5 秒随面板打开自动刷新(写操作后立即刷新);标题栏右侧分支按钮点击弹出下拉列表——可切换已有分支(当前分支高亮带勾标记),或在输入框中输入新分支名点击「添加」创建并自动切换;「git graph」弹窗按每页最多 80 条分页展示当前仓库(全部引用)提交图(滑到列表底部出现「加载更多」按钮点击追加下一页,全部加载完后底部显示「已显示全部提交」提示);分支标签中,当前分支为蓝底白字,其他分支为灰底黑字;HEAD 指向版本以放大的白色填充圆点 + 蓝色描边标记。提交行右键菜单可复制短哈希(前 7 位)/全哈希(40 位)/提交标题,并提供以下受保护操作:
    • 从此处创建分支:点击后原菜单项位置展开为输入框 + 「取消」/「确认」图标按钮(输入框为空时确认按钮置灰)。输入合法分支名并点击确认后,以该提交为起点执行 git checkout -b <名称> <提交> 并切换到新分支:成功提示后菜单关闭、git 快照与提交图刷新,新分支标签随即显示为蓝底当前分支。分支名重复、或本地修改会阻止切换时给出提示(后者列出受影响文件)并保留输入内容,便于改名重试;不自动 stash、不强制切换。输入框内按 Enter 不触发创建,按 Escape 取消输入并恢复为原菜单项(再按一次关闭菜单);Git 操作(merge / rebase / cherry-pick / revert)进行中时该项置灰。
    • 合并至当前分支:先在原菜单项位置显示行内「确认?/取消」,确认后执行 git merge --no-edit;已包含提示「无需合并」、本地修改阻塞提示受影响文件、合并冲突自动 git merge --abort 回滚并列出冲突文件清单。
    • reset(soft)-保留暂存:仅可选择当前本地分支历史中、早于 HEAD 的提交;二次确认后以 git reset --soft 回退,所选提交之后的提交内容保留在暂存区。
    • reset(mix)-取消暂存:同样仅可回退至当前本地分支历史中的较早提交;二次确认后以 git reset --mixed 回退,所选提交之后的提交内容保留在工作区且不在暂存区。
    • reset(hard)-撤回更改:二次确认后以 git reset --hard 回退并丢弃所选提交之后的提交内容,以及已跟踪文件的未提交修改;未跟踪文件不会被删除。
    • reset 在未检出本地分支、Git 操作进行中、所选提交不在当前分支历史中或所选提交即为 HEAD 时不可用。变更文件按分组展示(状态字母按类型着色——修改 M 黄色、新增 A 蓝色、删除 D 红色、未跟踪 ? 灰色,重命名 R / 复制 C 蓝色):
    • 分组:staged(暂存区)与 changes(未暂存区,含未跟踪)两组,组名右侧灰色数字为组内文件数,并提供一键按钮:changes 组「+」暂存全部未暂存文件、staged 组「-」取消暂存全部暂存文件;某组无文件时该组不展示
    • 文件行操作:点击任一文件行弹出选项菜单——staged 组文件提供「remove from stage」(移出暂存区);changes 组文件提供「add to stage」(暂存该文件)与「revert」(撤销该文件变更;未跟踪新建文件撤销 = 删除该文件,均带二次确认与受影响文件清单)
    • commit:按钮在暂存区无文件时置灰;点击弹出提交弹窗(展示待提交暂存文件数量 + 多行输入框 + AI generate + commit),输入为空时 commit 置灰;Enter 仅换行,需点击 commit 才会提交;提交范围仅为暂存区
    • AI generate:使用当前会话所选模型,结合暂存区全部 diff(超 16KB 截断)与当前会话最近对话上下文(用户直接消息与助手消息,供理解改动意图;若对话中用户明确指定了提交备注则直接采用),按内置本地 git 提交规范生成提交信息并填入输入框——格式 [YYMMDD] 开发项目名称 vX.Y.Z:修改内容(日期取系统当前时间;版本号依规范自动判断:破坏性变更→主版本、向后兼容新功能→次版本、修复/文档→修订号;项目名与当前版本取自工作区向上最近的 package.json);生成后自动校验版本号是否已按规范递增,不达标时自动重试一次(附上一次输出与原因反馈),仍不达标则照常填入并提示核对
    • revert:按钮在无任何未暂存变更(含未跟踪)时置灰;点击后二次确认弹窗列出全部受影响文件(未跟踪文件带 ? 前缀标识),确认后还原已跟踪文件的未暂存变更并删除未跟踪新建文件(暂存区不受影响)
  • 子代理任务模块:按层级缩进展示全部后代子代理;执行中状态徽章为黄色,已完成为绿色;点击条目在官方右侧栏打开对应子代理会话,保留当前主会话;嵌套子代理携带其直接父会话与会话模式。缺少侧栏接口时显示打开失败提示。
  • 任务模块:列表展示当前会话待办任务;进行中(in progress)任务行首为旋转动画图标(DeepSeek 官方同款,1s/圈,品牌蓝),已完成/待处理保持勾选与待办图标;模块底部展示「x 已完成 · x 进行中 · x 待处理」三态计数(含 0 恒显),标题栏保留「已完成/总数」计数。
  • 计划清单模块:位于「任务」模块下方,展示当前会话通过 plan 模式产出的全部计划清单(新→旧),仅在存在计划记录时展示;每 5 秒随面板打开自动刷新,状态由会话日志自动推导:
    • 待审批(黄色标签):计划刚产出、用户尚未审批;
    • 已执行(绿色标签):用户在计划审查中审批通过(exit_plan_mode 成功返回),进入执行阶段;后续退出 plan 模式不会改为废弃。此标签不代表所有步骤已经完成;
    • 已废弃(灰色标签、文字划线变淡):对应的审查调用失败(如拒审/要求修改/打断审查),或计划无审批结论但 plan 模式随后退出(如 /plan off)。兼容新版消息级错误标记与旧结果块;
    • 行主文字取计划首个 Markdown 标题,无标题时截取正文;点击任一行弹出计划全文弹窗(标题、状态、产出时间与正文,正文按轻量 Markdown 渲染,支持标题/列表/代码块/链接/引用与 GFM 表格);模块底部展示「x 已执行 · x 待审批 · x 已废弃」三态计数(含 0 恒显);模块可折叠,默认展开。
  • MCP 模块:开关控制 dsh 全局的 MCP 服务启停;切换后页面自动刷新生效;模块默认展开,无任何 MCP 服务时仍展示空状态。
  • 便笺模块:按工作区共享的便笺——以会话所在工作区目录为键保存(同一工作区目录下的所有会话共用一份内容,含输入框高度),本地持久化;删除或归档其中任一/全部会话都不影响该工作区其它会话的内容,下次在同一工作区新建会话时内容依旧存在;输入框底部拖拽手柄可拖拽调整高度(实时持久化),5000 字上限与字符计数显示;右侧圆点指示便笺内容存在;可一键添加便笺全文至对话输入框(新建会话页会打开该工作区最近的会话并追加草稿);输入框为空时「清空」按钮置灰,有内容时首次点击进入红色确认态,二次点击后清空(点击其他区域、Escape 或 2 秒超时会取消);模块可折叠/展开(状态持久化)。未归属工作区(无 cwd)的会话降级为会话级隔离,不与其它会话共享。
  • 待办模块:按工作区共享的待办清单——以会话所在工作区目录为键保存(同一工作区目录下的所有会话共用同一份清单与顺序,本地持久化);勾选完成/恢复、添加/删除项、整行拖拽排序(拖动手柄位于行最左侧勾选框之前)、一键清空已完成(二次确认弹窗,无已完成项时按钮置灰);底部展示完成计数;模块可折叠/展开(状态持久化)。同一工作区多会话/多标签页同时编辑时按条目 id 归并,不会互相清空。
  • 折叠状态:各模块折叠/展开状态刷新页面后保持(localStorage);「会话」模块图标使用 DSH favicon。
  • 会话切换:首帧读取目标会话的面板开合记忆、模块设置及上次成功数据。Git 按工作区共享,账号用量与 MCP 全局共享,计划与子代理按会话隔离;后台立即刷新,切走期间完成的查询仍保存到自己的缓存。首次访问且数据尚未读取时先显示「加载中…」,不伪造统计值;查询确认无数据或服务不可用后隐藏对应模块,空 MCP 仍可查看。会话摘要尚未到达时不会借用其他工作区的 Git、便笺或待办。
  • 新建会话页:右上角提供独立悬浮「HUD面板」按钮(该页没有会话页眉;Windows 普通窗口中入口位于原生标题栏下方,全屏时取消该偏移)。该页每次进入都从收起状态开始,点击按钮后展开;面板固定贴右侧、宽 300px,输入框与正文左移让位,按钮保持原位。官方右侧栏展开时,按钮移到侧栏左侧。新建页的 Git、便笺、待办和便笺发送目标使用同一最近工作区;MCP 作为全局模块独立刷新,无会话或工作区时也可查看和启停。只展示该页有数据源的模块(会话 / 用量 / 便笺 / 待办 / MCP,以及目标工作区确为 Git 仓库时的 Git);尚无会话记录时重命名不可用。进入真实会话后加载该会话自己的开合记忆,标题栏原按钮接管入口。

🖼️ 界面截图

各模块预览

「会话」模块

alt text

「上下文窗口」模块

alt text

「用量」模块

alt text

「git变更」模块

alt text

「子代理任务」模块

alt text

「任务」模块

alt text

「计划清单」模块

alt text

「MCP」模块

alt text

「便笺」模块

alt text

「待办」模块

alt text

其他界面

HUD 设置菜单

alt text

「git graph」界面

alt text

「git commit」界面

alt text

「计划清单」界面

alt text

⚙️ 兼容性

桌面端测试环境、功能覆盖范围与复验方法见 v0.14.7 桌面兼容性验收记录。

会话切换回归测试使用官方桌面前端的 React 执行完整 HUD bundle,拦截所有网络请求。设置 HUD_TEST_RUNTIME(解包后的官方 DSH 运行时目录)、HUD_TEST_PLAYWRIGHT(Playwright 模块路径)和可选的 HUD_TEST_BROWSER(浏览器可执行文件路径),再运行 node --test test/session-switch-runtime.test.mjs;未配置时该组测试会明确跳过。真实 Git 与计划审批集成测试另需 DSH_TEST_INSTALL_ROOT 指向官方运行时目录,全部操作仅发生在临时夹具中。

项目版本/说明
DeepSeek HarnessmacOS 桌面端 0.2.0-rc.2;保留旧 Web 接口兜底,其他版本仍需验证
dsh-client-ui-subagent子代理会话使用官方 subagentchat 资源在右侧栏打开;旧版不具备该接口时显示失败提示,不替换主会话
dsh-plan-mode计划清单数据源:会话日志exit_plan_mode 工具调用(tool/call/tool/result/plan/mode 事件);上游审批语义变更时需复查状态推导
dsh-better-sidebar0.16.1(通过公开服务 ctx.betterSidebar 监听面板状态;自动关闭依赖其折叠按钮 DOM 特征,失败时按「延迟打开」降级,不影响 HUD 独立使用)
平台macOS 已验证;Windows/Linux 仅理论兼容(git 命令行为一致)
主题跟随深浅主题(使用--dsw-alias-* 主题 token)
语言简体中文 / English,跟随 DSH locale
数据作用域「便笺」「待办」按工作区目录共享(localStorage);无 cwd 的会话降级为会话级隔离
面板开合状态按会话 id 独立持久化(dsh-awesome-hud:open,值为 `{ "会话 id": "1"

🔧 技术栈

类别内容
Host 侧Node.js ESM、ctx.webServer 前缀路由、ctx.settings、ctx.subagents、ctx.agents / ctx.commands(压缩命令)、ctx.subprocess、ctx.llm(AI 生成提交信息)
Client 侧原生 JavaScript ModuleLoader bundle、React(react.createElement)、Cordis Slots(conversation.session.header.utilities / shell.overlay)、CSS 主题变量;不新增 slot,新建会话页入口复用 shell.overlay
数据来源客户端会话投影(ctx.sessions.list / workspaces / modelDirectories)+ 自有 host API(git / MCP / 子代理 / 计划清单 / 压缩)+ dsh-account-usage 余额/用量路由(复用)
测试node --test(git 解析、MCP 解析、状态推导、计划清单推导、设置收敛、信任围栏;位于 test/)

⬆️ 升级说明(v0.11.x → v0.14.11)

v0.14.11:修复切换会话后 Git 等模块延迟出现。共享快照订阅在首帧读取目标数据,按作用域合并未完成查询,切走后的结果仍缓存;Git 写操作后的新快照不会被旧查询覆盖。模块设置与保存队列跨面板挂载保留,模型目录及面板开合记忆同步切换;首次查询显示加载状态,摘要未就绪时避免借用其他工作区的数据。Git 独立只读查询并行,未跟踪文件行数统计最多四个并发进程。新增真实 React 首帧、快速切换、离线、空数据和请求竞态回归测试。

v0.14.10:修复 Windows 新建会话页的 HUD 入口被原生标题栏遮挡,并兼容全屏切换。主视图明确无会话时不再回退到列表中的旧会话,侧栏恢复守卫共用同一判定。Git、便笺、待办和发送目标使用同一工作区,保留原有 Windows 路径存储键;MCP 独立加载与刷新,无会话或工作区时也可查看和启停。修复 Windows 路径标题与无工作区标题;尚无会话记录时禁用重命名。补充客户端数据流、异常请求及浏览器布局回归测试;Windows 原生桌面仍需实机验收。

v0.14.9:修复计划审批结果的新版消息配对与错误标记识别,避免审批通过后被退出模式误判为废弃,以及拒审后持续待审批;保留旧日志格式兼容,并修复缺少序号时的退出判断。子代理任务改为通过官方 subagentchat 资源在右侧栏打开,携带直接父会话与会话模式,保留主会话。补充状态、导航回归测试及官方桌面计划审批流程集成测试。

v0.14.8:修复输入法确认候选时误添加待办、误保存待办编辑、误重命名会话和误创建 Git 分支。所有文本输入及弹窗/菜单键盘处理统一识别输入法组合状态:选词中的 Enter / Escape 交给输入法;输入完成后再次按 Enter 才执行原有提交操作。Git 图中的分支输入仍只由确认按钮创建。便笺与提交信息输入中的 Escape 不再误关闭相关界面。补充输入法事件顺序与键盘回调回归测试。

v0.14.7:适配桌面端子代理会话导航、账号菜单中的设置跳转与模型快照订阅;OpenCode 跳转使用通用控制台地址。修复合并冲突漏检及空 MCP patch 写入;新建页便笺追加前自动打开目标会话。补充桌面接口行为测试与真实 subprocess 临时仓库测试。

v0.14.6:修复 HUD 面板展开后遮挡提示词导航的问题。

v0.14.5:调整「HUD面板」按钮样式与位置,并修复其在 DSH 插件管理页面也显示的问题。

v0.14.4:修复 HUD 入口与新版 DSH 的兼容问题:会话页按钮位于右上角工具区,可正常开关面板;新建会话页恢复独立悬浮入口,面板仍默认隐藏。官方右侧边栏展开时,入口移至边栏左侧,不再遮挡边栏工具栏。

v0.14.1:修复 git graph 右键菜单无法打开:菜单初始状态缺少「从此处创建分支」输入行字段时会被误判为「已展开」并读取输入内容,抛出 Cannot read properties of undefined (reading 'text') 使整个右键菜单渲染失败。现已显式初始化该字段,并对读取统一做 null / undefined 归一化保护。

v0.14.0:git graph 支持「从此处创建分支」:提交行右键菜单在「合并至当前分支」下方新增该项。点击后原位展开输入框与「取消」/「确认」图标按钮,确认即基于该提交执行 git checkout -b 并跳转到新分支;输入为空时确认按钮置灰,重复分支名与本地修改阻塞均给出提示且保留输入内容,Enter 不触发创建、Escape 取消输入,Git 操作进行中时该项置灰。

v0.13.4:便笺新增安全清空:便笺操作区在「添加至对话」左侧增加「清空」按钮。输入框为空时按钮置灰;有内容时首次点击进入红色二次确认态,确认按钮以红色描边和文字显示,二次点击后清空并同步到同工作区会话。点击确认按钮外区域、按 Escape 或等待 2 秒会取消确认,不改变内容;localStorage 写入失败时保留原内容并提示。

面板开合状态改为按会话独立:旧版本把单一开关状态存在 dsh-awesome-hud:open,升级后该值会迁移为「首个进入的会话」的状态,其余会话各自默认展开并各自记忆。

新建会话页新增悬浮入口:面板位置与真实会话一致(固定贴页面右侧);该页每次进入均为收起状态。

「便笺」「待办」由会话级改为工作区级。升级后首次在某工作区打开面板时,插件会做一次性的自动归并迁移:

  • 便笺:取该工作区内候选会话中 updatedAt 最新的一份;
  • 待办:按条目 id 去重合并(同 id 以先出现的为准),顺序保持稳定;
  • 迁移结果写入工作区键,并记录迁移标记(dsh-awesome-hud:workspace-migrated),同一工作区只迁移一次;
  • 旧的会话级键保留不删除,回滚到旧版本后仍可读到迁移前数据。

如介意旧键占用的空间,可在确认迁移完成后于浏览器控制台执行 localStorage.removeItem("dsh-awesome-hud:workspace-migrated"),再删除 dsh-awesome-hud:notes / dsh-awesome-hud:todos 中「非工作区路径」的旧键(删除后无法再回滚迁移)。

📄 许可证

MIT