dsh-codeeek:在 DSH 里单独开一条「阅读代码」线

前言

在 DSH 里用通用工作区改代码、跑对话时,想系统读陌生仓库往往要自己在对话里反复贴片段、记路径,和普通开发任务绑在一起,切换工作区还容易丢上下文。下面介绍社区插件 cyrusgogogo/dsh-codeeek(包名 dsh-code-reading):它在侧边栏提供独立于工作区列表的 阅读代码 入口,把多仓库绑定、只读取证、阅读档案和 IDE 式读码界面收进一条固定流程,业务、调用链和实现可以按问题或按选区按需展开,而不必走完固定阶段。

这是什么

维护者 cyrusgogogo,分类为 客户端 插件。当前发布版本 0.1.7,声明兼容 DSH 0.2.1-rc.2(兼容声明,不自动探测你正在运行的 DSH 版本)。许可证 MIT。

一句话定位:一个独立于普通工作区选择的代码阅读模式——从业务问题或具体代码出发,按需解释业务、调用链与实现逻辑;侧边栏入口在工作区列表上方,不替换原工作区或对话入口。

核心能力(与 README 一致)

独立入口与多仓库项目

  • 左侧 阅读代码 单独入口;切换普通 DSH 工作区不会改变已绑定的阅读目标。
  • 一个阅读项目可绑定 1–12 个本地仓库;绑定后不可变,要改绑定需新建项目。顶部仓库选择 → 管理仓库… 可从选择器收起项目,磁盘源码与原阅读档案保留。

需求驱动与 IDE 工作台

  • 从问题出发:按需解释业务、调用链和关键实现;从代码出发:聚焦选区、项目内上下游和逻辑。每轮聚焦一个知识点。
  • IDE 阅读工作台:左文件树、中代码与阅读文档标签、右阅读列表;初次打开中央为「选择文件,开始阅读」,需要时再开 问题阅读。
  • 项目地图:显式打开中央「项目地图」文档,建立可复用的文件结构索引;导航不请求模型,索引只写入项目档案。

方法级阅读、证据与留痕

  • 解读最小单位为完整方法、函数或构造器等可调用单元;Host 核验字节版本、UTF16 行列与连续读取证据,不宣称全语言 AST。
  • 代码证据:仓库 ID、相对路径、行号、SHA256、符号文本线索与读取时间;源码变化会使旧证据失效。
  • 固定留痕:读取审计、阶段历史、知识点 Markdown、Mermaid 原文、最终对话文本与汇总导出。
  • 同项目内跨会话关联已归档代码单元;行号栏显示已有 AI 解读标记(仅表示已有归档解读,不等于你已理解)。

选区逻辑图与 Mermaid

  • 手动选择方法或类范围(最多 8,000 UTF16 单位),右键或 Shift+F10 AI 生成逻辑图;片段会扩展为所属完整代码单元。Mermaid 支持时序图、流程图、类图、状态图、ER 图,危险指令在渲染前拒绝。

阅读 Agent 工具边界

阅读 Agent 仅五个专用工具:reading_catalog、reading_files、reading_search、reading_read、reading_publish。Host 拒绝 shell、通用写入、网络工具、子代理等;这是插件工具边界,不是操作系统级沙箱。同一账户下其他进程若在路径检查与操作之间并发替换目录,插件不宣称能抵御此类竞态。

安装与启用

普通使用者安装 预构建包 即可,无需自行安装 Node、pnpm 或现场编译;模型提供方需在 DSH 中配置。

README 给出的安装流程要点如下(安装包需从发布归档获取并校验 SHA256;归档链接在源码工作区 releases/ 下,克隆仓库不保证同时获得归档):

  1. 获取可信的 dsh-code-reading-0.1.7.tgz 与同次发布的 .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. 左侧点击 阅读代码;若安装器提示 restart-required,完整退出并重新打开 DSH。
  2. 打开本地仓库:从已有 DSH 工作区添加,或选本地绝对目录(默认用目录名)。打开仓库 只保存记录,不自动调模型;更多 → 打开其他仓库 可另建绑定。
  3. 左侧 文件目录 单击文件,在中央只读查看;文件与阅读内容共用一排文档标签。
  4. 框选方法或类,右键 AI 生成逻辑图,或 让 AI 分析选中代码/解释这段。首次调用或提供方/模型/绑定范围变化时,确认中央底部的 阅读模型 与 源码发送范围。
  5. 从问题出发:底部 问题阅读 或右侧 新建阅读,在中央填写目标并 开始阅读。未确认发起的草稿离开后不恢复;确认分析或保存人工批注后才保留会话。
  6. 右侧 阅读列表 管理进行中与 已归档 会话;点击证据在中央打开文件并重新核验 SHA256。阅读产物 → 导出档案 可汇总导出。

默认档案根目录优先级:Host dataDir → 环境变量 DSH_CODE_READING_HOME → DSH_HOME/code-reading → 用户主目录 .dsh/code-reading。页面 安装与使用 → 诊断信息 显示实际位置。

适用场景与注意

适合:需要在 DSH 内长期、可留痕地读多仓本地源码;希望问题驱动与选区精读、逻辑图、证据链在同一界面完成,且与普通编码工作区解耦的团队或个人。

注意:

  • 插件以 当前 DSH 进程权限 读取本地文件;安装前请查看源码与 MIT 许可证,并按项目敏感级别管理档案目录(笔记与消息可能含代码片段,目录不加密)。
  • 当前版本仅支持本地、非链接、UTF-8 普通文本;单文件最多 1 MiB、页面最多 20,000 行等上限见 README「资源限制」。
  • 社区目录 SkillHub 为独立站点,与 DeepSeek/幻方无官方从属关系;DSH 生态理念是「一切皆插件」,本插件是其中一条客户端阅读线。

结尾

dsh-codeeek 把「读代码」从通用工作区里拆出来:多仓绑定、只读 Agent、证据与档案、IDE 读码与逻辑图在同一套 Host 约束下运行。若你已在用 DSH 0.2.1-rc.2 系,可按上述方式安装 0.1.7 预构建包,从 阅读代码 → 打开本地仓库 开始。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye