Skip to content

【维护】sidecar god-file 拆分:run.ts 2882 行 / agent-handlers.ts 2329 行 / agent-files-service.ts 2206 行 / plugin-market-service.ts 2125 行 #177

Description

@CavinHuang

位置

  • apps/sidecar/src/services/agent-runtime/runtime-core/run.ts(2882 行):五块职责混装——SDK 工具装配、Agent/Delegate/WaitForDelegations 三个内联工具定义(~700 行闭包)、事件总线"第二入口"发布助手(:1721-1825)、session 工厂主体(:1827-2611)、task-linked subagent 执行器(:2716-2827)。建议工具装配+委托工具拆 run-tools.ts、总线发布助手独立
  • apps/sidecar/src/services/agent-runtime/runtime-core/attempt.ts:147-766:createCanUseToolHandler 约 620 行,五段权限逻辑(插件敏感能力审批/AskUserQuestion 会话/workflow hook/subagent 策略/自动化暂停)应归入 permissions/ 目录
  • apps/sidecar/src/rpc/agent-handlers.ts(2329 行):混 12+ 域,约 2/3 与"agent"无关;create-rpc-handlers.ts:64-90 已有 15 个 factory 拼装缝,按 coding/plugin/skill/file/resume 再拆 4-5 个文件即可(schemas.ts 2103 行同步按域拆);:1460 有两个 handler 挤同一行、缩进断裂——文件过大导致的机械损伤样本
  • apps/sidecar/src/services/agent/agent-files-service.ts(2206 行):FileRef 授权/守护层(:211-657,自洽可整体移出)+ 线程/工作区/项目三套平行 CRUD(大量 ×3 近重复,:1041-1316)+ 附件流式写入 + 搜索
  • apps/sidecar/src/services/plugins/plugin-market-service.ts(2125 行):市场索引/缓存世代 + GitHub 适配(约 600 行,可下沉独立模块)+ 安装状态机 + catalog lease + semver
  • 总线发布助手散在三处且签名重复:run.ts / lume-runner.ts / run-loop.ts 均为 void bus.publish(...).catch(log.warn) 同构,可合并单一 bus-bridge

说明

与 web 评审 #141(god-file)同主题的 sidecar 侧。不阻塞功能,按机会成本排期;每处拆分都是纯移动+import 调整,可分 PR 逐个进行。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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