Tracking follow-up improvements for `multi-review` identified during PR #109 code review. ## Improvements ### 高优先级 - [x] **替换手写 YAML 解析器为 `js-yaml`**(quality + architecture 确认)— `parseYAML()` 仅支持 `key: value` 和 `key: |`,不支持列表和嵌套对象 - [ ] **移除 `loadReviewers()` 未使用的 `configPath` 和 `team` 参数**(quality + architecture 确认)— 接口签名包含但实现未引用,属于幽灵参数 - [ ] **超时逻辑余量过大**(quality)— `remaining()` 中 `Math.max(30_000, ...)` 导致全局超时后仍可继续 30s,建议直接归零或抛错 - [ ] **静默异常处理**(quality)— 多处 catch block 完全忽略异常,建议至少输出 debug 日志 - [x] **默认 model provider 名称不一致**(quality)— `zhipuai-coding-plan/glm-5.1`(代码)vs `zhipuai/glm-5.1`(README 示例) ### 中优先级 - [ ] **抽取共享 composite action**(architecture)— version 解析/path 计算/cache/install 逻辑在多个 action 间完全重复 - [ ] **拆分 `reviewers.ts` 职责**(architecture)— 同时包含 reviewer 加载、YAML 解析、环境变量读取和 model 解析,建议拆分 - [ ] **统一构建产物管理策略**(quality)— `.gitignore` 未包含 `dist/`,当前 `dist/index.cjs` 已提交 ### 低优先级 - [ ] **硬编码相对路径耦合**(architecture)— `action.yml` 通过 `../setup-opencode/...` 引用 sibling action,文件结构变化会静默失效 - [ ] **Provider API key 输入改为通用 JSON**(architecture)— 为每个 provider 声明独立输入不可扩展 - [ ] **添加单元测试**(quality)— 核心逻辑未编写测试用例 _Originally from PR #109 review: https://github.com/sun-praise/opencode-actions/pull/109#issuecomment-4531083494_
Tracking follow-up improvements for
multi-reviewidentified during PR #109 code review.Improvements
高优先级
js-yaml(quality + architecture 确认)—parseYAML()仅支持key: value和key: |,不支持列表和嵌套对象loadReviewers()未使用的configPath和team参数(quality + architecture 确认)— 接口签名包含但实现未引用,属于幽灵参数remaining()中Math.max(30_000, ...)导致全局超时后仍可继续 30s,建议直接归零或抛错zhipuai-coding-plan/glm-5.1(代码)vszhipuai/glm-5.1(README 示例)中优先级
reviewers.ts职责(architecture)— 同时包含 reviewer 加载、YAML 解析、环境变量读取和 model 解析,建议拆分.gitignore未包含dist/,当前dist/index.cjs已提交低优先级
action.yml通过../setup-opencode/...引用 sibling action,文件结构变化会静默失效Originally from PR #109 review: #109 (comment)