Releases: Xinlong-Wu/dsh-github-reviewer
Releases · Xinlong-Wu/dsh-github-reviewer
Release list
v0.1.2
What's Changed
- feat: add GitHub repository catalog comboboxes by @Xinlong-Wu in #34
Full Changelog: v0.1.1...v0.1.2
v0.1.1
What's Changed
- fix: improve reviewer drag feedback and workspace grouping by @Xinlong-Wu in #33
Full Changelog: v0.1.0...v0.1.1
v0.1.0-rc9
What's Changed
- feat: publish dsh-github-reviewer as an installable bundle by @Xinlong-Wu in #32
Full Changelog: v0.1.0-rc8...v0.1.0-rc9
v0.1.0
First stable release of dsh-github-reviewer.
Highlights:
- Enables the default reviewer bundle and Web settings UI by default.
- Supports an empty repository list as an idle reviewer configuration.
- Adds a collapsed, structured GitHub Reviewer settings card.
- Adds organization/repository row editors with icon actions.
- Loads configured providers and models from DSH for model candidate selection.
- Supports ordered model priorities with drag-and-drop and keyboard reordering.
- Preserves stale configured model routes and protects settings saves against revision races.
- Keeps settings and workspace integrations optional through Cordis injection.
Validation: 19 test files and 244 tests passed, with typecheck, lint, build, publint, and package dry-run completed.
v0.1.0-rc10
What's Changed
- Add an optional Web settings card for the default GitHub reviewer instance.
- Hot-restart only the internal reviewer runtime after settings changes, with serialized transitions and rollback.
- Keep settings, workspace registration, and Client UI optional through Cordis injection so missing companions do not block review polling.
- Harden poller and agent-runner disposal so runtime replacement waits for active review work to unwind safely.
- Fix workspace registration to use the real
workspaceRegistryservice and prevent stale generations from registering obsolete workspaces. - Add Host, lifecycle, settings, Client-controller, and bundle coverage.
Full Changelog: v0.1.0-rc9...v0.1.0-rc10
v0.1.0-rc2
Full Changelog: v0.1.0-rc1...v0.1.0-rc2
v0.1.0-rc8
v0.1.0-rc8
修复:GithubReviewer 工作区注册彻底修复
rc7 中工作区注册仍可能失败(目录建了但 workspace.json 里没有记录)。根因:workspace 服务(web-app bundle)的 init 会扫描整个会话存储,激活可能比 reviewer 晚几十秒,而注册逻辑按固定时机读取该服务,存在竞态。
本版改为 harness 真正提供的机制——伴生插件:
- reviewer 挂载一个
inject: ['workspace']的子插件;Cordis 的 inject 系统本身就是一个等待机制——伴生插件在 workspace 服务挂载完成的那一刻自动激活,创建目录并注册工作区。无需轮询、无需重试、无需 loader 检查。 - 无条件挂载:组合里没有 workspace 服务时伴生插件保持闲置(非 loader 条目,不挡启动、零副作用),reviewer 本身不受影响(它从不依赖 workspace,会话只是显示在未分组)。
影响
- web profile 中:升级后重启,
GithubReviewer记录会在 workspace 服务就绪时出现(服务 init 多慢都能等到),新 PR 会话归入该工作区并显示Review <owner>/<repo> PR <编号>标题。 - 无 workspace 的组合:行为不变,无多余目录/进程。
安装
npm install @xinlongwu/dsh-github-reviewerv0.1.0-rc7
v0.1.0-rc7
两个修复(rc6 引入的 bug):
修复
- 游标 schema 遗漏
reviewing状态:reviewing状态(评审中断标记)写入了存储域,但持久化 schema 的枚举漏了它——下次启动读取记录时校验失败,整个 harness 启动失败。已补入枚举并加回归测试(向后兼容:已有的reviewed/missing_instructions记录照常解析)。 - workspace 注册激活时序竞态:插件在 apply() 同步读取
ctx.get('workspace'),而该服务(web-app bundle)可能晚于插件激活——读取落空导致workspaceDir目录从未创建、会话一直留在"未分组"。现在目录在激活时无条件创建,注册在 effect 内延迟重试(最多 ~5 秒),服务晚到也能注册成功。
影响
- 升级到本版后,重启不再被旧的
reviewing记录卡住;GithubReviewer工作区能真正创建并归组新会话(已存在的旧会话仍留在原位置)。
安装
npm install @xinlongwu/dsh-github-reviewerv0.1.0-rc6
v0.1.0-rc6
基于 rc5 的功能增强(未发布过,随本版一起发布)。
新增
review.models模型候选列表:按顺序取第一个「provider 已注册且模型在目录中」的候选;判断在首次创建 PR 会话时进行(不再在插件挂载时报错),全部不可用时本次评审终止并在游标记录失败(退避后自动重试,模型恢复可用即自愈)。「可用」= 目录判定,不做真实连接探测reviewing游标状态:评审开始前持久化标记;重启后若发现reviewing,说明上次评审被中断,下个轮询从持久化会话续跑- 会话统一命名:PR 会话标题钉为
Review <组织>/<仓库> PR <编号>,自动标题生成不覆盖
改进
- diff 规模提示:用户提示携带
size: N files (+X/-Y)(来自列表响应),模型无需盲试即可选择get_diff还是分页get_files - body 截断:用户提示里的 PR 正文截到 8k 字符并标注
[truncated, use pull_request_read method=get],完整正文模型可自行读取 - 工具 schema 缓存:schema 每进程发现一次(不依赖 PR/token),大量新 PR 出现时不再重复连接
- PR 会话归入自动注册的
GithubReviewer工作区(rc5 已有,未随本版重复说明)
安装
npm install @xinlongwu/dsh-github-reviewer部署前置
agent-loop 家族(agents / sessions / agentDefaultModel)、sessionPersistence(可选但推荐)、storage-domain 与后端、github-mcp-server 二进制、session-title 服务(会话命名,web profile 自带)。详见 README。
v0.1.0-rc5
v0.1.0-rc5
- PR 评审/对话会话现在归入自动注册的
GithubReviewer工作区,不再落在"未分组"- 新增配置
workspaceDir(默认$DSH_HOME/github-reviewer/<name>)与workspaceTitle(默认GithubReviewer) - 插件激活时创建目录并调用 harness
workspace服务的create注册;web profile 自带该服务,注册失败仅降级会话分组,不影响评审 - 需要
dsh-workspace服务;未挂载时行为与之前一致
- 新增配置