参考项目说明
CocoCat 站在巨人的肩膀上。以下参考项目直接影响了 CocoCat 的设计和实现。
nanobot
影响领域:ReAct 循环、Dream/Consolidator 记忆、ToolRegistry 模式
nanobot 是 CocoCat 最核心的参考项目。直接继承或适配了以下设计:
- Tool 基类 + ToolRegistry:
Tool的to_openai_schema()和execute()模式,ToolRegistry.register()和get_definitions() - ReAct 循环:
AgentLoop.run()的基本结构——构建 messages → LLM 调用 → 工具执行 → 循环 - Dream 处理器:cursor 驱动的增量历史处理,LLM 提取关键信息的模式
- Consolidator:token budget 管理和历史压缩
- heartbeat 模式:定时的后台任务轮询
- auto_dream:任务完成后的自动记忆整合触发
- 子 Agent 模式:
SubAgentTool的 spawn-and-collect 模式
nanobot 的贡献不仅在于代码,更在于架构思想:Agent 应该能管理自己的记忆(Dream),运行时应该能压缩自己的上下文(Consolidator)。
本次会话新增借鉴:
- GitStore:nanobot 的记忆版本控制模式,CocoCat 实现更轻量的版本
- Per-User Dream:扩展 nanobot 的单用户 Dream 为多用户独立处理
- AutoCompact:nanobot 的空闲会话压缩模式
paperclip
影响领域:UI 设计、Hiring 流程
paperclip 的 Web 界面设计理念影响了 CocoCat 的管理面板:
- Agent 管理 UI:列表 + 详情的布局模式
- Hiring 审批流程:pending → approve/reject 的两步流程
- 聊天界面设计:消息气泡、群组列表的交互模式
- 设置页面布局:配置表单的组织方式
claw-code
影响领域:工具系统、会话运行时、沙箱设计
claw-code 的实现对 CocoCat 的工具系统和沙箱设计有直接影响:
- 工具模式:工具是 Agent 与外部世界交互的唯一方式,所有工具返回字符串
- 会话运行时:
ConversationRuntime的思路对应AgentRunner - 沙箱层:命令过滤、环境净化的分层设计
- 错误处理:工具执行失败返回友好错误信息而非异常
- 路径验证:文件操作前的路径安全检查
claw-code 展示了如何构建一个安全的 Agent 执行环境,CocoCat 的沙箱层直接受此启发。
llm_wiki
影响领域:知识库摄取、双阶段管道、搜索
llm_wiki 的知识库处理管线被 CocoCat 直接采纳:
- 双阶段摄取管道:
- 阶段 1:LLM 分析源文件 → 结构化元数据(title, type, entities, concepts)
- 阶段 2:LLM 根据分析结果生成 Markdown Wiki 页面
- 基于 token 的加权搜索:使用 token 匹配和加权评分排序搜索结果
- 图扩展搜索:通过 wikilinks 和 frontmatter
related字段展开关联页面 - 自动索引:
index.md和log.md由系统自动维护 - 知识库结构:
wiki/entities/、wiki/concepts/的目录组织模式
CocoCat 的 search_kb 工具和 ingest_to_kb 工具的实现直接沿用 llm_wiki 的两阶段设计。
本次会话对 knowledge/team-wiki/ 进行了三次 llm-wiki 对齐:
- v1:多页关联 Ingest、lint 工具、save_to_kb、[[Wikilink]] 格式
- v2:Schema 工作流指令、Phase 3 LLM 内容更新、Index 带摘要、Log 格式对齐
- v3:现有页面 Wikilink 转换、全操作日志记录、clip_to_kb、Overview 合成页、Schema 精简
核心思想对齐:知识库是持续编译的资产,不是静态文档。 LLM 不只是搜索它,而是维护它。
CowAgent
影响领域:渠道/插件架构
CowAgent 的渠道抽象层影响了 CocoCat 的频道设计:
- Channel 基类:
start()+send()的接口模式 - ChatMessage 统一格式:跨渠道的消息对象
- 插件式注册:渠道通过实现基类而非继承复杂框架
- Entry 概念:渠道入口配置与 Agent/Scene 绑定
CocoCat 的 channel.py、channels/ 目录和 entry_manager.py 都直接采用 CowAgent 的架构模式。
参考项目对比
| 项目 | 主语言 | CocoCat 借鉴的核心 | 借鉴程度 |
|---|---|---|---|
| nanobot | Python | ReAct 循环、Dream/Consolidator、ToolRegistry | 核心架构 |
| paperclip | Python/React | UI 设计、Hiring 流程 | 参考设计 |
| claw-code | Python | 工具系统、沙箱 | 参考实现 |
| llm_wiki | Python | 知识库摄取、搜索 | 直接复用 |
| CowAgent | Python | 渠道架构 | 直接复用 |
每个参考项目在某一个或两个领域有深入的积累。CocoCat 的工作是将它们整合到一个统一的系统中,用 Rust 补充了缺失的进程管理和调度能力。