一个命令行工具,被三个工程师改成了24小时运转的"数字员工"。Anthropic设计Claude Code时想的是"辅助编程",有人却把它改造成了能自主决策、多代理协作的完整系统。更意外的是,这套叫DovePaw的架构没有额外服务器,全跑在本地环境。
从"写代码"到"养代理":一个命令的变形记
Claude Code的官方定位很清晰:IDE里的结对编程伙伴。你输入需求,它生成代码,对话结束,上下文清空。DovePaw的构建者最初也只是想记录学习笔记——"写下来的东西才不会忘",这是技术博客的常见开场。
但记录过程中出现了裂缝。有些任务需要持续运行:定时抓取数据、监控文件变化、跨项目同步状态。Claude Code的对话模式像门诊,看完即走;而实际工程需要住院部,有人长期值守。
解决思路不是换个工具,而是把Claude Code本身变成基础设施。DovePaw的核心设计是"寄生":不站在旁边,而是钻进宿主体内,借用它的环境、权限和执行能力。Claude Code的harness(运行环境)成了地基,上面盖起了调度层、工具层和代理层。
这套架构的关键在于"不重复造轮子"。Claude Code已经解决了沙箱、文件访问、命令执行的问题,DovePaw只负责往上搭积木。
四块积木怎么拼:技术解剖
DovePaw的堆栈可以拆成四层,每层都贴着Claude Code的原有能力生长。
最底层是launchd守护进程。macOS的系统级调度器被用来托管后台代理,这些代理不依赖Claude Code的对话窗口存活,系统重启后自动恢复。中间层是MCP工具(模型上下文协议),让Claude Code能调用外部能力时,代理之间也能用同样协议通信。
再往上是A2A协议(代理到代理)。这是Google今年推出的开放标准,DovePaw用它解决代理之间的身份识别、能力发现和任务移交。最顶层是Dove本体:一个运行在Claude Code之上的编排代理,决定什么时候调用谁、任务卡住了怎么降级。
整个系统的狡猾之处在于"环境复用"。Claude Code的harness本来就要管理Node运行时、文件句柄、环境变量,DovePaw直接住进去,把这些当成公共资源池。不需要Docker,不需要额外认证,代理和主程序共享同一套"免疫系统"。
结果是:一个原本单次对话的工具,变成了可持久化、可调度、可组合的代理网络。成本是零新增服务器,代价是深度绑定Claude Code的更新节奏。
为什么Anthropic没做这件事
从产品逻辑看,DovePaw的玩法在Anthropic的规划之外。Claude Code的商业模式是按对话计费,用户停留时间越长、调用越频繁,收入越高。而DovePaw把高频交互压缩成了后台自治,理论上减少了"聊天"这个核心行为。
更深层的冲突是责任边界。当代理开始自主调度、跨工具执行,出错时算谁的?Claude Code的当前设计保留了明确的人机交互点,每个动作都有用户确认或可见日志。DovePaw的守护进程模式打破了这一点——代理可能在凌晨三点修改文件,而用户在睡觉。
但需求真实存在。个人开发者和小团队想要"设置后忘记"的自动化,又不想维护Kubernetes或自建代理框架。DovePaw的折中方案是:用现有工具的缝隙,拼出一个足够好的替代物。
这种"缝隙创新"在技术史里反复出现。Vim的插件生态、Chrome的扩展商店、甚至Excel的宏,都是用户把工具推到设计边界之外的产物。区别在于,大模型时代的"扩展"不再是脚本,而是能自主决策的代理。
个人系统的启示:当基础设施变成乐高
DovePaw的构建者强调这是"个人"系统——不是企业级方案,没有多租户、没有审计日志、没有SLA。但恰恰是这种个人属性,暴露了当前AI工具市场的空白。
现有产品两极分化:一边是ChatGPT式的聊天窗口,一边是LangChain式的重型框架。中间地带——让普通开发者能把对话能力变成持续运行的自动化——几乎空白。DovePaw证明这个地带可以用"寄生架构"填上,代价是深度耦合和维护负担。
更值得关注的是A2A协议的早期采用。Google推这个标准时,场景预设是企业级代理协作;而DovePaw把它用在了单机多代理的协调上。协议的设计足够抽象,小到个人项目、大到跨公司服务都能套用,这种"过度设计"反而给了边缘创新空间。
Claude Code的harness设计无意中成了关键变量。如果它像某些竞品那样封闭、沙箱化,DovePaw这种改造就不可能。Anthropic选择暴露足够的运行时能力,让用户能"住进去",这是技术哲学上的开放,也是商业模式上的冒险。
个人代理系统的竞赛已经开始,但跑道还没划好。DovePaw的构建者下一步要解决的,可能是代理之间的冲突仲裁——当两个后台代理同时想修改同一个文件,谁来喊停?
热门跟贴