自 v0.3.1 以来的能力与修复(8 个提交,+4724 行)。v0.3.1 是本仓库改名续用 dsh-free-search 后、正式对外开放的第一个完整版本;自它以来主要新增「手机访问」与「后台任务面板」两个大能力,并完成预览体系升级与侧边栏细节打磨。
手机访问(手机浏览器扫码连电脑上的 GUI)
dsh web 默认只绑 loopback 且无登录鉴权;本版本提供一条局域网/远程双通道扫码访问链路:
- 链接令牌鉴权:插件自带网关(默认端口 3090)监听 0.0.0.0,
?k=<令牌>→ HttpOnly Cookie → 302 到 GUI;无令牌/错误令牌一律 404,Cookie 过期即失效 - 一次一证:每次「关闭 → 开启」网关自动轮换令牌、生成全新链接,旧链接与已存设备即时失效;启动时按状态文件恢复开启不打扰
- HTTP/WS 全量透传:请求 Host 重写回环上游、剥 Origin、网关 Cookie 不外泄;终端 WebSocket 隧道双向可达
- 二维码面板:设置新增「手机访问」页,局域网(多网卡逐个 IPv4)+ 远程域名双标签,扫码即开
- 远程链路模板(
scripts/vps/):frp 客户端/服务端配置(TLS 隧道)+ caddy 反向代理 Caddyfile + systemd/开机自启注册脚本,一键部署到自己的 VPS - 安全边界:令牌等于本机完整权限(仅限本人使用);VPS 隧道已 TLS 加密;关网即作废
- 网关令牌/启停持久化在
data/dsh-kit-phone-gateway.json,不侵入 settings
后台任务面板(新)
输入框工具行新增后台任务开关(位于源代码管理与终端之间,正方形框图标 + 运行中任务数角标):
- 点开居中模态列出当前会话运行中的后台任务(只列进行中的 running/stopping,结束即消失)
- 每行:任务种类徽标 + 命令 + 状态 · 已运行时长;**「输出」展开实时增量(与模型
job_output共享读取游标)、「结束」**终止任务(等同job_kill,权限按会话隔离,跨会话自动拒绝) - ✕ / 点击遮罩 / Esc 均可关闭;设置卡新增「启用后台任务面板」开关
- 官方任务下拉只读展示,本面板补上可操作入口;「打开后台任务窗口」不可行——后台 pwsh 本就是无窗口隐藏子进程
文件预览升级
- Markdown 只读渲染视图(marked + DOMPurify 净化后注入样式);md 文件不再暴露「切源码」按钮
- CodeMirror 统一读写:原文预览/编辑、diff 视图共用一个编辑器宿主(按需加载,vendored 构建脚本
scripts/build-vendor.mjs),明暗主题令牌随 data-ds-dark-theme 切换 - 文本解码增强(text-decode.js):读取不再简单按"NUL 判二进制"——BOM 优先(UTF-8 / UTF-16 LE / UTF-16 BE 按对应编码解码);无 BOM 含 NUL 时,ini / cfg / conf / properties / reg 等配置类扩展名按 UTF-16LE/BE 双向评分恢复(修复 Windows 记事本"Unicode"存法导致的 ini 显示二进制问题);log / json / toml / yml 等几十种文本扩展名与 txt 同一条解码路径;
.gitignore点文件按完整基名匹配 - txt 类文件换行预览修复;CM 横向滚动条钉底
- 关闭文件树/SCM 时保留预览面板(有独立 ✕);侧边栏收起时预览自动加宽
源代码管理与侧边栏
- 侧边栏收起态不再渲染文件树/SCM 内容(去掉占位),并新增收起时自动展开的打开动作(官方 expandSidebar 通道优先,回退 DOM 兜底)
- 快捷键新增侧边栏展开/收起(默认 Ctrl+B),独立开关组可与其它快捷键分别关闭
Full Changelog: v0.3.1...v0.4.0