14.2 所有功能特性汇总

功能清单

核心功能

功能 描述 引入步骤
LLM 对话 基础的大语言模型对话 Step 0
多轮对话 对话历史记忆 Step 1
工具调用 Function Calling 能力 Step 2
流式输出 实时响应流式显示 Step 3
配置管理 灵活的配置系统 Step 4
会话持久化 会话保存和加载 Step 5
技能系统 动态技能加载 Step 6
服务化架构 WebSocket 服务器 Step 7
Web 客户端 浏览器 UI Step 8
多模态支持 图像识别能力 Step 9
联网搜索 实时信息搜索 Step 10
MCP 集成 外部服务协议 Step 6

内置工具

工具列表

工具名称 类别 描述
read builtin 读取文件内容
write builtin 写入文件内容
exec builtin 执行 shell 命令
search builtin 互联网搜索

工具功能对比

特性 read write exec search
参数 path path, content command query
返回 文件内容 写入状态 执行结果 搜索结果
路径限制 workspace workspace workspace 互联网
权限要求 只读 读写 执行 API Key

技能系统

技能类型

本 Agent 支持以下类型的技能:

类型 说明 示例
development 开发相关 代码分析、调试
general 通用能力 写作、翻译
system 系统操作 文件管理

技能定义格式

1
2
3
4
5
6
7
8
9
10
---
name: "skill-name"
description: "技能描述"
category: "general"
tags: ["tag1", "tag2"]
---

# 技能名称

技能的详细说明...

WebSocket 协议

客户端消息

消息类型 功能 参数
chat.send 发送聊天消息 content, sessionId
session.create 创建新会话 name
session.load 加载会话 sessionId
session.list 列出所有会话 -
session.delete 删除会话 sessionId
tools.list 列出可用工具 -
skills.list 列出可用技能 -
mcp.list 列出 MCP 服务器 -
status.get 获取 Agent 状态 -

服务器消息

消息类型 功能 数据
status Agent 状态信息 状态对象
chat.streaming.start 开始流式响应 sessionId
chat.streaming.chunk 流式内容块 sessionId, chunk
chat.streaming.end 结束流式响应 sessionId
chat.tool.call 工具调用通知 sessionId, tool, params
chat.tool.result 工具执行结果 sessionId, result
error 错误消息 error

多模态能力

支持的内容类型

类型 格式 示例
纯文本 {type: "text", text: "..."} 普通对话
纯图像 {type: "image", mediaType: "...", data: "..."} 图片分析
混合 [{...}, {...}] 带图的提问

图像格式

格式 MIME 类型 扩展名
PNG image/png .png
JPEG image/jpeg .jpg, .jpeg
GIF image/gif .gif
WebP image/webp .webp

图像大小限制

  • 最大文件大小:10MB
  • Base64 编码后:约 13.3MB

搜索能力

Tavily 搜索参数

参数 类型 默认值 描述
query string 必需 搜索关键词
num_results number 5 结果数量 (1-10)
search_depth string basic 搜索深度
days number 7 时间范围(天)
topic string general 搜索主题

缓存配置

配置项 默认值 说明
启用缓存 true 是否启用缓存
TTL 3600 秒 缓存生存时间
最大缓存数 无限制 缓存大小限制

MCP 支持

支持 MCP Servers

服务器 功能 配置要求
Filesystem 文件系统操作 路径
GitHub GitHub 仓库 GitHub Token
PostgreSQL 数据库查询 连接字符串
Brave Search 网页搜索 API Key
Puppeteer 浏览器自动化 -

MCP 工具命名

1
2
3
4
5
6
<server-name>:<tool-name>

示例:
filesystem:read_file
github:create_issue
postgres:query

性能指标

响应时间

操作 响应时间
LLM 对话(无工具) ~1-2 秒
工具执行 ~0.1-1 秒
搜索(基础) ~2-3 秒
搜索(缓存) < 100ms
图像识别 ~3-5 秒

资源占用

资源 典型值
内存占用 ~100-200 MB
启动时间 ~1-2 秒
WebSocket 连接 ~5KB/连接

API 使用

API 免费额度 付费计划
DeepSeek - ¥1/1M tokens
Tavily 1,000 次/月 $5-20/月

配置选项

LLM 配置

1
2
3
4
5
6
7
8
9
10
11
{
"llm": {
"apiKey": "sk-...",
"baseUrl": "https://api.deepseek.com/v1",
"model": "deepseek-chat",
"visionModel": "gpt-4o",
"temperature": 0.7,
"maxTokens": 2000,
"streaming": true
}
}

搜索配置

1
2
3
4
5
6
7
8
9
10
11
12
{
"search": {
"provider": "tavily",
"apiKey": "tvly-...",
"maxResults": 5,
"searchDepth": "basic",
"cache": {
"enabled": true,
"ttl": 3600
}
}
}

MCP 配置

1
2
3
4
5
6
7
8
9
10
11
12
13
{
"mcp": {
"enabled": true,
"servers": [
{
"name": "filesystem",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "./workspace"],
"enabled": true
}
]
}
}

限制和约束

已知限制

限制 说明 解决方案
知识截止 LLM 训练数据有限 使用搜索工具
文件大小 图像最大 10MB 压缩或优化
API 限制 搜索次数受限 使用缓存
单模型 同一时间只能用一个模型 需要时切换

平台兼容性

平台 支持状态
Linux ✅ 完全支持
macOS ✅ 完全支持
Windows ✅ 完全支持(WSL)

依赖要求

依赖 最低版本 推荐版本
Node.js 20.0 20.x LTS
npm 10.0 最新
TypeScript 5.3 5.3+

功能对比表

步骤间功能对比

功能 Step 0 Step 5 Step 10
LLM 对话
对话历史
工具调用
流式输出
配置文件
会话持久化
技能系统
Web UI
多模态
搜索
MCP

扩展能力

支持的扩展

  1. 自定义工具 - 在 tools/ 目录添加
  2. 自定义技能 - 在 skills/ 目录添加
  3. 自定义 MCP Server - 配置外部服务
  4. 自定义搜索提供商 - 实现 ISearchService

可扩展点

1
2
3
4
5
6
7
8
9
10
11
// 工具扩展
ToolRegistry.register(new CustomTool())

// 技能扩展
SkillLoader.loadFrom('./custom-skills/')

// MCP 服务器扩展
MCPManager.addServer({...})

// 搜索提供商扩展
new CustomSearchClient()

小结

本节汇总了项目的所有功能特性:

  • 核心功能清单(11 项)
  • 内置工具对比
  • WebSocket 协议
  • 多模态能力
  • 搜索能力
  • MCP 支持
  • 性能指标
  • 配置选项
  • 扩展能力

通过完整的功能特性,这个 AI Agent 已经具备了实用系统所需的大部分核心能力。

导航

上一篇: 14.1 项目完整回顾

下一篇: 14.3 最佳实践与扩展方向