4 篇文章带有标签 “架构设计”

JiuwenSwarm 架构设计、工作原理与核心模块深度剖析

JiuwenSwarm 是什么?

JiuwenSwarm 是一个华为云开源的分布式 AI 多智能体协同与能力自进化系统。简单说,它是一个让 AI 智能体像团队一样协作、并且越用越聪明的系统。

核心特色

1. 三种执行模式,适配不同场景

模式 怎么工作 适合
Plan 模式 单 Agent 深度推理,自带任务规划 Rail,边思考边执行 复杂任务、多步骤分析
Performance 模式 卸掉规划护栏,直问直答,延迟最低 快速问答、简单查询
Swarm 模式 Leader 拆解任务,组建多 Agent 团队并行协作,可跨机器 大型复杂工作、多角色分工
flowchart LR
    M["用户输入"] --> P{模式选择}
    P -->|agent.plan| A1["单 agent 深度规划<br/>+ task planning rail"]
    P -->|agent.fast| A2["单 agent 快速响应<br/>- heavy rail"]
    P -->|team| A3["leader 拆解任务<br/>+ teammate 分布式执行"]
    A1 --> R["输出结果"]
    A2 --> R
    A3 --> R

Kilo Code - AI 编码智能体架构设计文档

项目总览

Kilo Code 是一个功能强大的开源 AI 编码助手,基于 OpenCode 框架开发。项目采用 Monorepo 架构,使用 Turborepo 和 Bun Workspaces 管理多个包。

核心数据

指标 数值
Monorepo 包数量 23
TypeScript 文件数 5800+
支持的 AI 模型 500+
内置工具数量 50+
UI 组件数(kilo-ui) 65+
国际化语言 19 种
开源协议 MIT

核心特性

  • 多模型支持:支持 500+ AI 模型,包括 Claude、GPT、Gemini、Grok、Codex、GLM 等
  • 多客户端:CLI、VS Code 扩展、Web UI 和桌面应用,满足不同场景
  • 丰富的工具集:50+ 内置工具,涵盖文件操作、命令执行、代码搜索
  • 插件扩展:支持外部插件和 MCP 服务器,动态加载自定义工具
  • 会话管理:完整的会话系统,支持父子会话、上下文压缩、会话恢复
  • 浏览器自动化:集成 Playwright,AI agent 可操作网页、截图、表单填充

Monorepo 依赖架构

Kilo Code 采用 Turborepo + Bun Workspaces 分层架构,23 个包协同工作。

架构分层

Pi - AI 编码智能体架构设计文档

Pi 是一个模块化的 AI 编码智能体 Monorepo,使用 TypeScript 构建。它提供统一的 LLM 抽象层、通用的智能体运行时、丰富的终端 UI 框架,以及完全可扩展的编码智能体命令行工具。

1. 项目概览

Pi(@earendil-works/pi-mono)是由 Mario Zechner 开发的 AI 编码智能体 Monorepo,设计理念是模块化、可扩展、供应商无关。它将多个 LLM 供应商的复杂性抽象为统一 API,提供强大的智能体运行时和工具执行能力,并附带生产就绪的终端 UI。

核心能力

能力 说明
统一 LLM API 9 种 API 协议和 30+ 供应商品牌的单一接口。只需修改一个字符串即可切换供应商。
智能体运行时 完整的智能体循环,支持并行工具执行、消息注入队列和上下文压缩。
丰富的终端 UI 独立的终端 UI 框架,支持差异化渲染、文本编辑器、图片显示和浮层系统。
扩展系统 80+ 扩展示例、20+ 生命周期钩子。可注册工具、命令、快捷键和供应商。
Web 组件 基于 Lit 的聊天 UI,支持沙箱化 Artifact 渲染(HTML、SVG、PDF、DOCX 等)。
多运行模式 交互式终端、管道友好的打印模式,以及用于 IDE 集成的 JSONL RPC 模式。

包依赖关系图

Cline 概览 - Cline 扩展架构和开发指南

Cline 扩展架构和开发指南

项目概述

Cline 是一个 VSCode 扩展,通过核心扩展后端和基于 React 的 webview 前端的组合提供 AI 辅助功能。该扩展使用 TypeScript 构建,遵循模块化架构模式。

架构概述

定义

  • 核心扩展:src 文件夹内的所有内容,按模块化组件组织
  • 核心扩展状态:由 index.ts 中的 Controller 类管理,作为扩展状态的唯一真实来源。它管理多种类型的持久存储(全局状态、工作区状态和密钥),处理状态在核心扩展和 webview 组件之间的分发,并协调多个扩展实例之间的状态。这包括管理 API 配置、任务历史、设置和 MCP 配置。
  • Webview:webview-ui 内的所有内容。所有用户可见的 react 或视图以及用户交互组件
  • Webview 状态:由 ExtensionStateContext.tsx 中的 ExtensionStateContext 管理,通过上下文提供者模式为 React 组件提供对扩展状态的访问。它维护 UI 组件的本地状态,通过消息事件处理实时更新,管理部分消息更新,并提供状态修改方法。上下文包括扩展版本、消息、任务历史、主题、API 配置、MCP 服务器、市场目录和工作区文件路径。它通过 VSCode 的消息传递系统与核心扩展同步,并通过自定义钩子(useExtensionState)提供类型安全的状态访问。