概览
dsh-web-enhanced
README / ZH
插件文档
目录摘要
dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。
在 GitHub 阅读完整 READMELIMITATIONS
已知限制
- 工作区为视图标签页而非并排列:激活时取代对话记录显示,而不是与其并排;它自身不拥有宽度与折叠状态。 - markdown 中的 HTML 只做白名单渲染:`<table>` 按结构解析,行内标签映射到对应元素,其余标签只保留文字。`<details>`、内联 `style`、自定义元素不还原。 - mention 的项目内列表一次性列出宿主搜索上限(`searchMaxEntries`,默认 200)内的条目,并保持 `skipDirs` 过滤(默认 `node_modules`,`.git` 恒隐藏):依赖目录正是几乎不会被引用的路径,列出来会把真正的项目文件挤出这批结果。每层遍历都是文件优先、再进子目录,因此根目录的 `TODO.md` 这类文档一定在批次内。弹层内的搜索是对这批结果的本地过滤,不是逐键重新查询。要越过上限、走到项目外、或进入被跳过的目录,用第一行的「浏览其他位置…」——它的浏览器不套用 `skipDirs` 过滤。 - mention 浏览器是应用内的文件管理器,不调系统对话框:宿主的 `host.pickDirectory` 只选目录且只在 `native` 能力下可用,浏览器的 `<input type="file">` 出于安全也不给绝对路径。Windows 上的盘符列表靠 26 次并发 `stat` 探测得到(Node 无原生绑定就拿不到盘符表),断连的网络盘符可能让这一步慢上一两秒;未映射为盘符的 UNC 共享(`\\server\share`)目前走不到。 - Office 预览为结构化视图:docx 的标题/段落/列表/表格与 xlsx 首个工作表可预览;内联样式(加粗/颜色)、图片与多工作表不保留。旧版 `.doc`/`.xls` 二进制格式不支持预览。 - 定时任务为 best-effort:tick 粒度 30s,宿主关机期间错过的窗口在启动时补跑一次,不留积压。 - 余额 key 与模型提供商同源(环境变量);未配置时显示错误态而非报错。切到非 `balanceProviders` 的渠道时整行隐藏。 - 图谱泳道为简化算法(首父连续性),非 git 完整拓扑着色;提交详情的文件清单按首父 diff 统计,合并提交因此只显示它带进来的改动。 - 未提交改动行:未跟踪文件的行数由宿主读文件数出(git 对未跟踪路径没有 numstat,而生成 numstat 就得先入索引——那是修改仓库),二进制、超过 `readMaxBytes` 或读取时已消失的文件报 `—`;同一文件既暂存又继续改过会出现两行(那是 git 算的两个 diff)。HEAD 不在当前绘制范围内时该行置顶且不连线。 - 分支切换不做 stash,也不阻止脏切换:git 会把不冲突的改动带过去,冲突时自行拒绝;这里只是切换前告知并让你确认。 - 插件管理**不重载运行中的进程**:Cordis 在启动时组合层栈,所以 update/remove 描述的是下一次启动。同理它也不做 enable/disable——那要改的是 profile 的 `cordis.patch.yml`,与安装是两回事。 - 插件管理**只看得到启动时所用的 profile**:`dsh --profile web` 列的是 `~/.dsh/profiles/web` 的依赖,装在别的 profile 里的插件不会出现。profile 目录就是 pnpm 的工作目录,跨 profile 操作会在一个此刻并未组合层栈的目录里跑 pnpm。要管别的 profile,用那个 profile 启动,或走 `dsh plugin --profile <name>`。 - 插件管理需要 PATH 上有 `pnpm`,且 profile 目录在本插件模块的祖先链上(正常安装即满足;源码检出或测试环境会显示「没有可管理的插件」而不是报错)。同时只允许一个 pnpm 操作在跑,第二个请求会被告知而不是排队。 - 识图至少需要一种转写源:DSH 里配置一个多模态模型、本地 Ollama、或独立识图 API。三者都没有时,发给纯文本模型的图片会被替换为占位描述而不是让整个回合报错,设置页的「识图」标签页会显示原因。该标签页同时就是这三者的配置入口,保存立即生效(`vision*` 静态配置作为底值保留)。转写质量取决于所选视觉模型的能力上限,不是插件的保证。 - 端点转写会把图片字节(base64、HTTPS)发给配置的 VLM 端点——除非端点是本机服务(如 Ollama),图片会离开本机。除进程内内容哈希缓存外不保存任何东西。DSH 模型路径在同一轮内按图片去重,但不跨轮缓存;端点路径按图片内容跨轮缓存。 - 不要再同时安装 `DSH-vision`(`dsh-image-vision`):两个插件都会打发送补丁、都会对同一张图识别一次。本插件的补丁自身卸载顺序安全,但 DSH-vision 的卸载会还原它自己捕获的方法,仍可能覆盖后来挂上的包装。 - 暂未内置大图缩放(`dsh-vision-proxy` 里可选的 `sharp` 步骤);端点收到的是原始字节,`visionMaxTokens` 仍会限制转写输出长度。
