Skip to content

参考项目说明

CocoCat 站在巨人的肩膀上。以下参考项目直接影响了 CocoCat 的设计和实现。

nanobot

影响领域:ReAct 循环、Dream/Consolidator 记忆、ToolRegistry 模式

nanobot 是 CocoCat 最核心的参考项目。直接继承或适配了以下设计:

  • Tool 基类 + ToolRegistryToolto_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.mdlog.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.pychannels/ 目录和 entry_manager.py 都直接采用 CowAgent 的架构模式。

参考项目对比

项目主语言CocoCat 借鉴的核心借鉴程度
nanobotPythonReAct 循环、Dream/Consolidator、ToolRegistry核心架构
paperclipPython/ReactUI 设计、Hiring 流程参考设计
claw-codePython工具系统、沙箱参考实现
llm_wikiPython知识库摄取、搜索直接复用
CowAgentPython渠道架构直接复用

每个参考项目在某一个或两个领域有深入的积累。CocoCat 的工作是将它们整合到一个统一的系统中,用 Rust 补充了缺失的进程管理和调度能力。

基于 MIT 协议开源