DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

cyrusgogogo /

cyrusgogogo/dsh-codeeek

Verified

阅读代码 · DSH 独立插件:一个独立于普通工作区选择的代码阅读模式:先理解业务,再梳理调用链、精读实现,最后通过具体场景验证理解。

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@0d9112b9

阅读代码 · DSH 独立插件

一个独立于普通工作区选择的代码阅读模式:从业务问题或具体代码出发,按需要解释业务、调用链与实现逻辑,不必依次完成固定阶段。

当前源码工作区已加入代码优先的 IDE 工作台、选区逻辑图与方法级阅读关联;下方既有 0.1.7 发布归档仍是原发布时的不可变快照。源码改动需重新构建、以新版本打包并安装后才会更新已运行的 DSH。

  • 独立入口:侧边栏“阅读代码”,位于工作区列表上方,不替换原工作区或对话入口。
  • 多仓库项目:一个阅读项目绑定 1–12 个本地仓库。绑定不可变,切换普通 DSH 工作区不会改变阅读目标;添加仓库时新建项目。顶部仓库选择 → 管理仓库… 可确认移除整个项目,仅从选择器与阅读列表收起,磁盘源码和原阅读档案保留;重新打开目录会新建项目。
  • 需求驱动:从问题出发时按需解释业务、调用链和关键实现;从代码出发时聚焦选区、项目内上下游和代码逻辑。业务发现只用于宽泛目标,理解自查只在用户需要时进行;每轮一个知识点。
  • 默认仓库名:选择本地目录即可开始,不必填写项目或仓库名称。已有档案名称保留。
  • 项目地图:显式打开中央“项目地图”文档,建立可复用的文件结构索引。按路径建议分层 → 目录模块 → 文件逐步缩小范围,支持路径检索、人工层命名与字面路径归属;导航不请求模型、不保存空阅读会话。索引只持久化到项目档案,不写源码仓库或浏览器存储。
  • 结构与阅读关联:地图汇总同项目、同仓库文件的历史知识点关联;这些计数不是方法覆盖率或已理解比例。文件详情按需重读 SHA256,并复用现有方法级证据核验,只为当前版本记录提供源码定位和精确知识点入口;旧版本、旧档案及截断明确提示。建议分层是路径规则,不是已验证的业务架构、全语言 AST 或调用图。
  • 代码证据:仓库 ID、相对路径、行号、SHA256、符号文本线索与读取时间;打开证据和发布知识点时重新核验,源码变化会使旧证据失效。
  • 固定留痕:读取审计、阶段历史、知识点 Markdown、Mermaid 原文、最终对话文本与汇总导出。
  • 代码阅读配色:语法高亮、真实行号、较大行距、长行折行与高对比代码面板;着色完全在本地页面完成,不额外发送源码或执行代码。
  • IDE 阅读工作台:左侧文件目录、中间代码与阅读共用的文档标签、右侧阅读列表。初次打开仓库中央显示“选择文件,开始阅读”,不以大输入框占据代码区;需要问题阅读时再打开。页面不显示固定阶段导航,生成后只展示实际内容维度,跟随宿主明暗主题。
  • 文件工作台:桌面默认展开左侧目录,可切换字面量检索与人工批注、折叠或在 200–420px 内调宽;中间源码支持最大化、真实行号、字号和折行。最多保留 12 个内存文件标签,切换时重读并核验版本、恢复各文件位置,不持久化浏览器源码。窄屏两侧按需用抽屉打开,优先保留中央空间。
  • 完整方法级阅读:代码解读的最小范围是方法、函数或构造器等完整可调用单元;类或整文件是更大的范围,不把局部语句当完整方法。文档/数据文件豁免;未知编程语言不会因缺少高亮而跳过规则。模型识别语义边界,Host 核验实际字节版本、UTF16 行列与连续完整读取证据,不宣称全语言 AST 证明。
  • 源码上的阅读记录:在同一项目内跨阅读会话关联已归档代码单元。打开或重新加载文件、核验哈希后,行号栏显示已有 AI 解读的标记,悬停方法或聚焦标记可看归档结论;标记点击打开预览,预览按钮精确打开对应会话与知识点。没有额外模型调用,也不将结论或源码新增到浏览器持久化;已有解读不等于你已理解。
  • 选区逻辑图:手动选择方法或类的文字范围(最多 8,000 个 UTF16 单位),右键或 Shift+F10 使用 AI 生成逻辑图,沿用会话模型与发送范围确认。片段会先扩展读取所属完整代码单元,方法优先展示有证据的控制流、分支、异常与返回;类按实际协作绘图。结果在中央阅读文档中图优先显示,普通解释和追问仍可用;界面不自动框选符号,不是 AST 或静态调用图。
  • 阅读位置:按会话在原档案中保存知识点、查看/主动理解标记、源码哈希与滚动位置,以及当前显示代码还是阅读内容;兼容旧档案。只保存位置元数据,不新增浏览器源码或对话存储;恢复源码时重新读取核验,不能恢复不存在的历史字节。深入前可保留返回位置。
  • 调用前确认:首次调用、提供方/模型或绑定范围变化须重新确认。显示所选提供方,实际端点以 DSH 配置为准,不仅凭模型名称宣称本地。
  • 版本化批注:手动批注存阅读工作区,记录原字节哈希、UTF16 行列、选文和附近上下文。变更仅提供待复核候选,不猜新行号;人工重新绑定保留历史,回滚也不自动解除已观察到的复核状态。
  • Mermaid:支持时序图、流程图、类图、状态图、ER 图;危险指令与资产节点在渲染前拒绝,SVG 清洗后在禁止脚本的 iframe 中展示。

先安装,再开始阅读

当前发布版本 0.1.7,目标 DSH 0.2.1-rc.2。普通使用者安装预构建包即可,不需要另行安装 Node、pnpm、React 或现场编译;模型提供方需在 DSH 中配置。目标版本是兼容声明,不是对正在运行的 DSH 的自动探测。

本地发布产物:0.1.7 安装包 · SHA256 校验文件 · 发布报告。这些链接指向当前源码工作区的交付文件,不是公共下载地址;仅克隆源码不保证同时获得归档。

  1. 获取可信的安装包与同次发布的校验文件,核对 SHA256;校验一致不等于发布者签名。
  2. 在当前 DSH 应用的插件/Bundle 管理界面用归档绝对路径安装并启用。提示 restart-required 时必须完整退出并重开 DSH;仅刷新浏览器不能更新旧 Host。不要用 CLI 管理桌面版保留的 profile。
  3. 左侧打开 阅读代码 → 安装与使用,确认 Client、Host 都是 0.1.7 且项目列表加载完成,再创建项目。版本不一致时创建和发送会暂停,并显示恢复步骤。

在源码工作区根目录可用 PowerShell 获取安装路径与哈希:

(Resolve-Path '.\releases\dsh-code-reading-0.1.7.tgz').Path
Get-FileHash '.\releases\dsh-code-reading-0.1.7.tgz' -Algorithm SHA256

详细步骤、完整重启/仅刷新的决策表、升级回退与按错误码排障见 安装手册;从第一次创建到导出的操作见 使用手册;变更见 更新记录。

使用

  1. 在 DSH 左侧点击 阅读代码。安装器如提示 restart-required,需完整退出并重新打开 DSH(不只是刷新页面);仅 Client 入口未更新时才刷新当前页面。
  2. 点击 打开本地仓库,从已有 DSH 工作区添加仓库,或选择本地绝对目录,自动使用目录名称。仓库不能与产物目录重叠,也不能重复或互相嵌套。点击 打开仓库仅保存记录,不自动请求模型;更多 → 打开其他仓库 可另建绑定。
  3. 打开仓库后,中央默认显示 选择文件,开始阅读。从左侧 文件目录 单击文件,在中央只读查看;文件和阅读内容使用同一排文档标签切换。
  4. 手动框选方法或类的文字范围,右键或 Shift+F10 选择 AI 生成逻辑图;只需解释时用 让 AI 分析选中代码/解释这段。先核对中央底部的 阅读模型,首次调用、提供方/模型或绑定变化时确认 源码发送范围;每轮只发布一个知识点。
  5. 想从问题出发时,底部 问题阅读 打开当前记录,或右侧 新建阅读 打开临时阅读,在中央阅读文档填写目标并 开始阅读。新建后仅浏览源码、选模型、填写问题或取消发送都不会保存会话,也不出现在阅读列表;确认发起分析,或显式保存人工批注时才保留。未发起的草稿离开后不恢复。点击右侧已有记录只打开它,即使尚无内容也不会再新建。
  6. 逻辑图在中央阅读文档中优先展示,随后核对解释、结论和证据。内容维度只切换已归档内容,不改变内部阶段、不请求模型;普通追问不会自动延续上一轮的绘图任务。继续阅读 或明确追问才开始下一轮,查看过不自动记作理解。
  7. 右侧 阅读列表 默认展示 阅读中 的会话;记录旁 归档 只收起会话,知识点、证据、批注和位置都保留。在 已归档 中可查看并 恢复;恢复前不能发送新分析,进行中的阅读须先停止或等待结束再归档。点击证据在中央打开对应文件,重新核验 SHA256。
  8. 选择代码后 用于追问 可固定上下文,临时浏览其他文件不替换它。深入后可 返回原阅读路线;保存阅读位置 和切换主题会保存位置元数据。
  9. 在知识点下折叠查看 历史追问与对话记录;右侧列表底部 阅读产物 → 导出档案 保留汇总导出。阅读设置仅设置默认阅读代码模型并显示插件档案根目录;默认模型只用于之后新建的阅读,不覆盖已有会话或 DSH 全局默认,可选择跟随 DSH 默认。

普通 DSH 侧边栏切换工作区不会重绑仓库。重新打开本页面可以继续原阅读会话。暂停/停止只终止当前轮次,不删除档案。

方法标记如何认定

只有明确归档了完整代码单元、证据能连续覆盖其范围且文件 SHA256 与当前加载版本一致,才显示行号栏标记。类/文件概览不自动等于其所有方法已有解读;旧记录没有方法范围时不猜测补齐。源码版本不同的结论仍留在阅读历史中,但不挂到当前旧行号;重新阅读后可建立新版本关联。标记只是“已有 AI 解读”,不是“你已理解”或整仓业务仍正确的证明。关联检查发生在打开/重新加载文件时,不是实时监听;达到检索或显示预算会提示截断。

遇到问题先看这里

现象 建议处理
已安装但没有“阅读代码”入口 确认安装在当前应用/profile 且已启用;按安装器提示完整退出重开,Host 生效后 Client 仍旧时再刷新当前页。
Host/Client 版本不一致 完整重启 DSH 后刷新页面,不要绕过版本检查继续创建或发送。
删除仓库提示 UNKNOWN_METHOD 当前 Host 尚未加载删除接口,本次删除未执行。确认已安装包含该功能的 Host,完整退出 DSH(含托盘)后重开;若仍不支持,需要更新安装包。仅刷新网页或重新构建源码不会更新已安装的旧 Host。同版本号也可能是不同构建,当前源码握手会额外核验删除能力。
项目列表或档案加载失败 使用页面的对应重试入口;失败不代表数据为空,先确认实际档案目录,不要急着重复创建。
模型目录为空或加载失败 在 DSH“设置 → 模型”配置后重新加载目录,再确认当前会话的提供方与模型;恢复目录不会自动替你换模型。
提示项目已保存,但会话步骤未完成 先刷新检查仓库列表,再用该项目的“新阅读会话”继续,不要重复新建项目。
修改目录后找不到原档案 在“安装与使用 → 诊断信息”核对实际根目录与来源;改变配置不会自动搬迁旧档案。

网络请求若显示“结果未确认”,先刷新核对已有结果,不要假设操作失败后盲目重复提交。更多情况见 完整排障手册。

只读与信任边界

阅读 Agent 只拥有以下五个专用工具:

工具 能力
reading_catalog 查看项目、绑定、当前阶段与主题
reading_files 有界枚举文件
reading_search 有界字面量搜索,不执行正则表达式或项目代码
reading_read 通过只读文件句柄读取有限行范围并创建证据
reading_publish 向固定目录发布一个结构化知识点并结束本轮

Host 根执行守卫与被保留的 preset 守卫共同拒绝 shell、通用文件写入、网络工具、子代理、工作流及插件转调。即使在普通权限界面选择更宽模式,也不能为阅读 Agent 放行这些工具。框架自身的模型调用不属于被禁止的工具网络访问。

受控产物由 Host 写入;Agent 不能指定产物文件名或任意写入路径。源码根与产物根绑定时检查分离,拒绝符号链接/junction、硬链接、路径穿越、UNC、ADS 和设备路径。扫描会跳过依赖/构建目录及部分常见敏感文件名;这不是通用秘密检测或 DLP,仓库内其他普通文本仍可能包含敏感信息。

重要限制:这是插件工具边界,不是操作系统级沙箱。 同一账户的其他本地进程如果能在路径检查与实际操作之间并发替换目录,纯 Node.js 路径 API 不能提供原子目录句柄约束。本插件不宣称能抵御这种恶意本地文件系统竞态,也不阻止其他普通 DSH 会话修改同一仓库。请使用可信、权限受控的产物目录;不支持把不受信任的并发本地写入者纳入“严格只读”保证。需要该保证时,应额外使用 OS ACL、只读挂载或独立容器。

证据表示“某时刻实际读取到这些字节”,不是跨文件/跨仓原子快照,也不等于 AI 结论必然正确。工具的 symbol 线索只做文本匹配;完整方法范围由模型识别,Host 核验字节版本、坐标及连续完整证据覆盖,不是 AST 解析、静态调用图或编译器证明。请核对事实、推导与假设标注。

固定目录

默认根目录:

%DSH_HOME%/code-reading
# 未设置 DSH_HOME 时:%USERPROFILE%/.dsh/code-reading

优先级为 Host dataDir → DSH_CODE_READING_HOME → DSH_HOME/code-reading → 用户主目录 .dsh/code-reading。自定义值必须是非空本机绝对路径,Windows 必须包含盘符(如 D:\DSHData\code-reading),不接受 \reading、/reading 等缺少盘符的路径或 UNC,也不自动展开 %变量% 或 ~。改变已有运行时的根目录需要完整重启,不自动迁移旧档案。不同 DSH profile 若希望隔离阅读档案,应使用不同 dataDir;不要让两个独立 DSH 进程同时写同一根。页面 安装与使用 → 诊断信息显示实际位置与来源。

code-reading/
  projects/<project-id>/
    project.json
    sessions/<reading-id>/
      state.json
      annotations.json
      audit.jsonl
      notes/<lesson-id>.md
      diagrams/<lesson-id>.mmd
      messages/<dsh-event-seq>.json
      exports/reading.md
  • audit.jsonl 留存操作、仓库/路径、范围、哈希和时间;不保存源码全文或原始搜索词。
  • projects/<projectId>/structure/<repoId>.json 保存有界文件清单、扫描时间/截断信息和人工层配置,跨阅读会话复用;只保存路径与导航元数据,不备份源码。清单 JSON 最多 1 MiB、侧车最多 2 MiB;损坏或绑定不匹配时拒绝加载,不静默覆盖人工配置。
  • annotations.json 保存人工批注、选区及附近上下文、哈希、提交凭据和重新绑定历史;单文件原子提交是权威,审计 *-attempt 仅代表尝试。它含代码片段,不是完整源码备份。
  • messages/ 保存用户和导师的最终文本,不保存隐藏推理或所有工具结果。DSH 原始 Session 日志仍按 DSH 自身规则保存在原位置。
  • Mermaid 内嵌代码块保存在知识点 Markdown 中;通过结构化 mermaid 字段发布时,会额外生成独立的 .mmd 文件。因此没有独立图文件不一定表示图源码未归档。
  • 笔记与最终消息可能包含源码片段。目录不是加密保险库,请按项目敏感级别管理访问、备份与保留周期。
  • 不自动删除档案,不宣称跨文件事务完全原子。消息归档失败会显示错误,随后重放完整连续 DSH 事件前缀;孤立的失败发布临时文件不能被当成已提交知识点。

资源限制

当前版本仅支持本地、非链接、UTF-8 普通文本文件:

  • 单文件最多 1 MiB;页面阅读器一次加载完整文件,不再分页,最多 20,000 行(超限整份拒绝,不显示截断文件)。Agent 取证工具单次仍最多 400 行、100,000 字符。
  • 文件枚举最多访问 8,000 个条目;搜索最多 2,000 个文件、16 MiB、80 条命中;达到上限会标为截断。自定义依赖缓存目录可能占用预算;遇到截断时可指定已知入口文件路径直接读取,不能把“未检出”当作“不存在”。
  • 单会话最多 500 条证据、100 个知识点、2,000 条最终消息;审计/状态文件上限 8 MiB。到限后应新建阅读会话。
  • 每个知识点最多 12 个完整代码单元,所有结论/主题/代码单元合计最多 40 条不同证据引用。方法可跨多次有界读取,不能用局部证据冒充完整范围;超过预算需调整阅读目标,不能降为语句片段后声称完整方法。
  • 方法关联在同项目内有界检索,最多展示 200 条当前版本记录;达到会话/知识点/验证或显示预算会明确提示截断,旧版本和旧档案的计数也可能只是已扫描部分。
  • 文件阅读器按完整文件展示;选区仍不超过 8,000 个 UTF16 单位。批注正文最多 4,000 字符,每会话最多 100 条/400 次提交/8 MiB,每条最多 20 个绑定历史版本;代码变动后只有人工确认或重绑清除已观察到的复核状态。
  • Mermaid 最多 10,000 字符、160 行、120 条边;不支持 HTML、链接/点击回调、图片/图标资产、初始化配置或自定义 CSS。
  • 项目地图按仓库显式建立有界路径索引,复用原有 8,000 条目扫描预算;文件详情仍受单文件 1 MiB 读取限制。目录清单不是实时快照或可读性证明,历史知识点关联不是方法覆盖率。人工分层与索引清单使用独立 revision/CAS;页面路线只在内存保留。
  • 仓库移除只改变固定项目元数据,不自动删除源码或阅读档案;未实现磁盘目录删除、项目迁移 UI、AST 分析器、全仓符号/依赖调用索引、自动运行项目或跨仓一致性快照。

安装与兼容性

目标运行时:DSH 0.2.1-rc.2。无需修改已安装 DSH 的源码,提供原生 Host 插件、独立 preset 与 Client 模块。

发布命令生成 releases/dsh-code-reading-0.1.7.tgz、同名 .tgz.sha256 与 .release.json。使用归档绝对路径安装并启用;本工程没有 preinstall/install/postinstall/prepare 安装期脚本。prepack 只校验已有构建;不要批准不明构建脚本或为不兼容的 DSH 版本盲目授予版本豁免。发布前会拒绝覆盖旧版本文件,保护已安装引用的归档。

卸载/停用不删除阅读档案;保留的旧阅读工具会 fail closed。重新启用在同一 Host 根下复用 store 与锁,避免旧会话和新页面形成双写运行时。普通 DSH 会话不受阅读工具守卫影响。

Client 使用 DSH 原生模块工厂并外置 React。修改本工程后必须重新构建、打包和安装,按安装器提示重启 Host 或刷新 Client;桌面 startup profile 仅刷新页面不足以加载新的 Host。本工程不是替代 Web 服务器,也不承诺已安装桌面版自动热更新。

开发与验证

以下命令在包含源码和脚本的仓库根目录运行,不是普通使用者的安装步骤。推荐 Node.js 24 LTS、pnpm 11.7.0;最低 Node 声明为 >=22.18.0。完整发布还要求可用的 zstd 支持,不支持时明确停止,不把跳过日志测试称为完整验收。

安装开发依赖并检查工作区

pnpm install --frozen-lockfile --ignore-scripts
pnpm run check
pnpm run doctor -- --dsh-version 0.2.1-rc.2

冻结锁文件不等于无需网络;本地依赖缓存不完整时仍需下载锁定版本。源码或随包文档修改后,应先执行 pnpm run build 或 pnpm run check,否则 doctor 会按输入哈希将旧构建判为过期。

命令 检查范围与边界
pnpm run build 构建 Host、preset、原生 Client、第三方许可清单与逐文件/输入哈希。
pnpm test 单元、模拟 Host 接线与 DSH 0.2.1-rc.2 原生兼容门禁回归,不安装进当前 DSH。
pnpm run test:browser 使用真实 Client 构建,在 Chrome 中执行拦截 HTTP 的隔离组件测试。
pnpm run doctor 检查当前构建、SHA256、源码/文档新鲜度;可用 -- --dsh-version <版本> 显式比较目标,不读取用户 DSH 配置或探测运行中的 Host。
pnpm run check 依次构建、运行全部回归、隔离浏览器和离线自检。
pnpm run verify:package -- <归档路径> 对真实 gzip/tar 有界读取并静态检查;不解包、不执行插件代码、不安装。
pnpm run test:package -- --trusted <归档路径> 对自己信任的归档解包、导入 Host/preset,并复跑模拟接线和包内 Client 浏览器;会执行包内代码,但不安装进当前 DSH。

对当前工作区已交付的归档,可以重复静态校验;仅在确认来源可信时才执行第二条:

pnpm run verify:package -- releases/dsh-code-reading-0.1.7.tgz
# 会执行包内代码;不要用于未知第三方包。
pnpm run test:package -- --trusted releases/dsh-code-reading-0.1.7.tgz

浏览器测试默认使用本机 Chrome,可通过 DSH_TEST_BROWSER 指定 Chromium 可执行文件。测试覆盖原生 Client 工厂、React 页面、错误恢复与 Mermaid;这是隔离组件测试,不是当前登录 DSH 的端到端验收,也不会启动替代服务器或发起真实模型请求。报告和截图写入测试输出目录。

发布新版本

修改发布内容后,先提升 包版本,再运行:

pnpm run pack:release

发布顺序为:拒绝覆盖 → 构建与全部回归 → 源码新鲜度检查 → 暂存打包 → 真正 tarball 的静态校验 → 本次自身可信归档的隔离导入/接线/浏览器复验 → 排他写入安装包、SHA256 与报告。发布失败不等于可以绕过校验直接安装暂存文件。

当前 0.1.7 归档已经存在,再次向默认位置发布会在构建前拒绝,这是预期保护。重复演练可选择尚无同名产物的仓库内新目录:

pnpm run pack:release -- --out-dir .test-output/release-check-1

输出目录的真实位置必须在仓库内,祖先不能是 symlink/junction,也不能放入源码、依赖或包运行目录。已发布归档是打包时的快照;更新本文不会回写旧归档。 若要发行包含新文档或代码的安装包,应提升版本后重新发布,而不是覆盖旧文件。

0.1.7 DSH 0.2.1-rc.2 兼容

  • 将 engines.dsh 与五个可选 Host peer 同步精确锁定到 0.2.1-rc.2,不绕过兼容门禁,也不宣称兼容未来预发布版。
  • Host/Client 版本一并提升到 0.1.7,重新构建原生模块并生成新归档,不覆盖 0.1.6 安装包。
  • 对照 DSH 0.2.1-rc.2 原生包静态核对:本插件使用的 Host、preset 与 Client 契约仅版本号变化,未发现接口改动;保留 0.1.6 的阅读工作台、档案格式、只读边界与五工具白名单。
  • 0.1.6 归档保留给 DSH 0.2.1-rc.1,不在 0.2.1-rc.2 上使用版本豁免;安装后按提示完整退出重开 DSH。

历史:0.1.6 阅读工作台改版

  • 页面从配置表单升级为阅读工作台:顶部项目切换,左侧五阶段与已生成知识点,中间聚焦当前知识点与追问,右侧并排核对真实源码;历史折叠收纳,产物与规则分别进入阅读产物和设置。
  • 首次阅读合并为一个阅读目标输入;第一个问题成为阅读主题,没有目标时显示“未命名阅读主题”。每轮只发布一个知识点,阶段切换只导航、不请求模型。
  • 源码证据在右侧定位并重新核验 SHA256,支持折叠、最大化、调宽与字号调整;选区可显式用于追问或解释,临时浏览不替换提问上下文,旧证据失效时明确提示。
  • 阅读位置按会话保存阶段、知识点、查看/理解标记、源码哈希与滚动位置,深入后可返回原阅读路线;只保存位置元数据。
  • 新增 reader-state 接口的独立 revision 与 CAS、仓库/知识点归属校验和取消 epoch;保持档案格式、数据根、五工具白名单与只读边界不变,DSH 目标仍为 0.2.1-rc.1。

历史:0.1.5 DSH 升级兼容

  • 将 engines.dsh 与五个可选 Host peer 同步精确锁定到 0.2.1-rc.1,不绕过兼容门禁,也不宣称兼容未来预发布版。
  • Host/Client 版本一并提升到 0.1.5,重新构建原生模块并生成新归档,不覆盖 0.1.4 安装包。
  • 保留既有阅读档案、批注格式、五工具白名单与只读边界;安装后按提示完整退出重开 DSH。

历史:0.1.4 文件工作台与批注

  • 右侧文件目录 / 批注双面板;中间只读代码阅读、类型识别、分页与选区右键菜单。菜单也支持 Shift+F10、方向键和 Esc。
  • 选区分析沿用已确认会话模型、阶段和取证规则;手动批注只写阅读侧车,不修改仓库,不自动发给模型。
  • 批注以原字节哈希、精确选文和双侧上下文定位;任何哈希变化只产生待复核候选,模糊匹配不自动附着,重新绑定保留旧历史。观察变化后即使回滚也需人工确认。
  • 源码回归 100 项通过、0 失败、0 跳过;隔离 Chrome 的原有 22 项及文件工作台 15 项检查通过,包括双窗口观察后回滚、停用发生在 fsync 期间、忽略 abort 的 A→B→A 迟到响应。着色保真、主题和对比度也通过。
  • 这些是临时仓库、原生服务模拟和模拟模型的隔离验收,不代表当前登录 GUI 已加载新版。桌面 startup profile 更新后须完整退出并重新打开 DSH。

历史:0.1.3 配色与代码阅读

  • 页面跟随 DSH 明暗主题,五阶段、只读状态、代码事实/推导/假设采用克制的语义色,不只依赖颜色传达含义。
  • 源码证据和 Markdown 代码围栏共用高对比代码面板,提供语法着色、行号、较大的字号/行距和自动折行。证据从实际行号起算;折行只改变显示,不改写源码。
  • 按明确语言或文件名识别 Java、JS/TS、Vue、Python、SQL、PowerShell 等;整段分词保留跨行上下文,所有 token 作为 React 文本展示,不注入 HTML、不执行代码。
  • 未知语言、输入超过 60,000 UTF-16 长度单位或解析失败时保真回退纯文本。更多范围和预览见 0.1.3 配色验收。

历史:0.1.2 发布时的验收结果

以下为 2026-10-15 的 0.1.2 发布验收,完整范围、哈希与未做事项见 0.1.2 验收记录:

检查 结果
源码自动回归 72 通过,0 失败、0 跳过。
Chrome 隔离检查 源码 Client 与归档内 Client 各 22 项通过,无意外 HTTP 请求或页面错误。
可信归档副本 Host/preset 实际导入成功,21 项模拟接线通过;这是 72 项的子集,不重复累计。
最终安装包 17 个包内文件;入口、共享 chunk、skill、文档、版本及 SHA256 检查通过;再次发布拒绝覆盖。
真实应用验收 未安装到正在运行的 DSH,未发送真实模型请求,未改写真实阅读档案。

回归覆盖跨仓同名文件、外部仓库/证据拒绝、路径穿越、junction 与硬链接、源码变化、CAS、幂等、事件重放、启停与异步准入、模型提供方错标、UTF-8 请求预算、tar 类型冲突/有界读取、祖先链接保护,以及失败恢复、历史分页隔离和 Markdown/Mermaid 外连拒绝。

历史记录与当前版本分开看:0.1.1 验收记录 保留当时的真实阅读轮次只读核验。当前版本的实际安装与生效应另行检查,不能由旧报告推断;旧归档与历史记录不因新版本发布而覆盖。

可显式设置 DSH_TEST_ARCHIVE_STATE 后运行浏览器测试,对已有档案的内嵌 Mermaid 做隔离内容复验。原生 v4 日志使用多帧 zstd;只读解码器 与 档案验收器 需要具备 zstd 支持的 Node,建议使用当前 DSH 的 Node 24+。这些工具不发起阅读模型请求、运行项目代码或写入原阅读档案。

工程入口

职责 入口
Host 与独立阅读 preset Host、preset
档案、锁与文件边界 store、filesystem、数据根配置
原生 Client 与恢复引导 页面、连接与错误处理、安装帮助
阅读行为约定 可复用 skill
构建与发布检查 构建、doctor、静态包契约、发布

参考提取器 只读提取本机 ASAR 的参考模块,不修改安装目录;参考模块不会打包发布。

许可证

MIT;Mermaid、DOMPurify、React Markdown 等依赖保留各自上游许可证,发布包内的构建代码包含 esbuild 保留的法律声明。

—/ 5

No ratings yet

Verified DSH bundle

Commit 0d9112b96e0c

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout