Skip to content

[Refactor] 用 hrygo/hotplex 取代内部 ai/agents/runner 实现 #274

@hrygo

Description

@hrygo

背景

DivineSense 内部的 ai/agents/runner 实现了基于 Hot-Multiplexing 的进程池管理。目前该逻辑已沉淀为独立、生产级的通用库 hrygo/hotplex。为了降低维护成本并增强扩展性(如支持 Aider/OpenCode 等多种 CLI),建议将内部实现替换为该外部库。

核心收益

  • 减法原则:删除约 1,500 行底层系统编程代码。
  • 扩展性:原生支持多种 Agent CLI,无需重复开发底层驱动。
  • 稳定性:由专门的库处理 I/O 竞态、进程回收等复杂边界情况。

待办事项

  • 引入依赖 github.com/hrygo/hotplex
  • 重构 ai/agents/cc_runner.go 别名定义
  • 更新 server/router/api/v1/ai/handler.go 中的初始化逻辑
  • 适配 GeekParrotEvolutionParrot 的字段类型
  • 验证全量测试 go test ./ai/agents/...
  • 物理删除 ai/agents/runner/ 目录

技术细节

  • 两者架构高度契合(UUID v5 隔离、PGID 销毁、长连接复用)。
  • hotplex.Engine 对应 runner.CCRunner
  • 需要保持 divinesense 特有的 BuildSystemPrompt 注入。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions