Skip to content

multi-review: follow-up improvements from code review #110

@Svtter

Description

@Svtter

Tracking follow-up improvements for multi-review identified during PR #109 code review.

Improvements

高优先级

  • 替换手写 YAML 解析器为 js-yaml(quality + architecture 确认)— parseYAML() 仅支持 key: valuekey: |,不支持列表和嵌套对象
  • 移除 loadReviewers() 未使用的 configPathteam 参数(quality + architecture 确认)— 接口签名包含但实现未引用,属于幽灵参数
  • 超时逻辑余量过大(quality)— remaining()Math.max(30_000, ...) 导致全局超时后仍可继续 30s,建议直接归零或抛错
  • 静默异常处理(quality)— 多处 catch block 完全忽略异常,建议至少输出 debug 日志
  • 默认 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: #109 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions