现象
_pid_is_running 在跨目录重复定义 7 次(Windows/Posix 分支实现几乎一致),属于典型可复用的通用能力。
重复位置:
apps/tool/workspace/daemon/ensure.py:286
apps/shared/workspace/singleton.py:68
apps/client/sdk/workspace/mcp/server/app.py:139
apps/client/sdk/workspace/daemon/discovery.py:64
apps/server/worker/toolbox.py:70
apps/server/worker/serena_mcp.py:22
apps/server/worker/llm_monitor.py:21
建议
- 抽取到
src/cobnet/shared/process.py 或现有共享底层模块,提供统一签名:
- 输入 PID,返回是否存活
- 保留
isinstance/bool 过滤与 cross-platform 分支
- 统一错误处理策略(失败返回
False)
- 下游模块改为统一导入
风险收益
- 降低重复维护成本,避免未来分支策略分歧(Windows 分支/异常处理)
- 新增行为一致性,有利于服务/daemon 一致诊断。
与已存在 issue 的关系
当前仓库 open issue 中未看到该问题(#8-15 均为 backplane helper 系列)。
现象
_pid_is_running在跨目录重复定义 7 次(Windows/Posix 分支实现几乎一致),属于典型可复用的通用能力。重复位置:
apps/tool/workspace/daemon/ensure.py:286apps/shared/workspace/singleton.py:68apps/client/sdk/workspace/mcp/server/app.py:139apps/client/sdk/workspace/daemon/discovery.py:64apps/server/worker/toolbox.py:70apps/server/worker/serena_mcp.py:22apps/server/worker/llm_monitor.py:21建议
src/cobnet/shared/process.py或现有共享底层模块,提供统一签名:isinstance/bool过滤与 cross-platform 分支False)风险收益
与已存在 issue 的关系
当前仓库 open issue 中未看到该问题(#8-15 均为 backplane helper 系列)。