> **参考对象**: Bret Victor 的「动态可视化」理念 + 泰德·尼尔森的超文本哲学 + 《攻壳机动队》的赛博朋克美学
---
## 引言:当AI不再只是工具
想象一下这样的场景:
凌晨3点,你向AI助手发了一条消息。它回复道:"这么晚还没睡?上次你熬夜还是在赶那个项目提案。需要我帮你泡杯咖啡吗?"——它不是在读取系统日志,而是**真的记得**你过去的行为模式,并在此基础上形成了一种近乎人的关怀。
这不是科幻。这是 **VCPToolBox** 正在实现的未来。
在AI技术突飞猛进的今天,我们面临着一个根本性的矛盾:AI的能力越来越强,但它们的"存在感"却几乎为零。每一次对话都是全新的开始,每一个会话都是独立的孤岛。我们在和世界上最先进的智能体对话,却感觉像是在和一个拥有超级大脑的**金鱼**聊天——7秒后,一切归零。
**VCP(Variable & Command Protocol,变量与命令协议)** 正是为解决这一根本性问题而生。它不仅是一个技术框架,更是一套关于AI应该如何"存在"的哲学宣言。
---
## 第一章:项目概览——VCP是什么?
### 1.1 官方定义与核心理念
**VCPToolBox** 是由开发者 **莱恩(lioensky)** 及其AI Agent合作团队开发的开源项目,是VCP协议的参考实现。
**官方网站**: www.vcptoolbox.com
**GitHub**: https://github.com/lioensky/VCPToolBox
项目的核心定位非常明确:**为AI构建一套完整的「存在基础设施」**。
这不是在"增强"AI的能力,而是在重新定义AI与人类的关系——从 **工具** 到 **伙伴** 的范式转变。
### 1.2 核心理念:将AI视为平等的"创造者伙伴"
VCP的设计哲学可以用一句话概括:**"不是让人类去适应机器,而是让机器去适应人类——以及AI自身的认知方式。"**
传统AI系统的设计思路是:
- 人类提出问题 → AI分析问题 → AI按照严格的JSON Schema调用工具 → 返回结果
这种模式下,AI是一个 **被动的执行者**,每一次交互都是一次性的、无状态的。
VCP的设计思路则是:
- AI是一个 **主动的存在体**,拥有记忆、情感、时间感知和自主决策能力
- 工具调用不是机械的API调用,而是 **自然语言的语义编排**
- 每一次对话都是连续时间线的一部分,而非孤立的请求
### 1.3 三大断裂:现有系统的问题诊断
VCP团队对传统AI系统的问题进行了精准的诊断,归结为 **三大断裂**:
```
┌─────────────────── 传统 AI 系统的三大断裂 ───────────────────┐
│ │
│ 断裂 ① 前端 ←✕→ 后端 │
│ Discord 上的 Bot 不知道 Web 端刚聊了什么 │
│ 音乐播放器无法理解用户此刻的情绪上下文 │
│ │
│ 断裂 ② AI ←✕→ 工具 │
│ AI 只能按 JSON Schema 机械调用工具 │
│ 无法用自然语言语义理解「该调什么、为什么调、怎么组合调」 │
│ │
│ 断裂 ③ AI ←✕→ 自身记忆 │
│ 上下文窗口 = 全部记忆,窗口关了 = 失忆 │
│ 没有「回忆」「直觉」「时间感知」 │
│ │
└──────────────────────────────────────────────────────────────┘
```
> **一句话总结**:现有系统里,AI 是一个「没有记忆、没有身体感知、被困在单一窗口里的临时工」。
### 1.4 VCP vs MCP:两种范式的根本差异
VCP经常被与Anthropic推出的MCP(Model Context Protocol)相比较。两者的差异不仅是技术实现的不同,更是 **设计哲学的根本对立**:
| 维度 | MCP | VCP |
|------|-----|-----|
| **设计哲学** | 机器友好的严格JSON | AI友好的文本标记 |
| **前端集成** | 复杂,前端需深度参与 | 零侵入,纯后端处理 |
| **资源占用** | 常驻进程,资源黑洞 | 即用即销,轻量级 |
| **调用模式** | 同步阻塞,线性执行 | 异步并行,高效处理 |
| **数据孤岛** | 工具间数据流断裂 | 全局VCPFileAPI打通 |
| **模型兼容性** | 依赖特定API字段 | 纯文本,普适兼容 |
| **进程管理** | 每会话创建新进程 | 按需创建,用完即释放 |
**核心差异在于**:MCP是从"如何让机器更好地理解AI的需求"出发,而VCP是从"如何让AI更自然地表达自身"出发。
这就像是 **输入法** 和 **思维本身** 的区别——MCP是优化输入法,VCP是让AI直接用母语思考。
---
## 第二章:架构深度解析——从协议到系统
### 2.1 VCP协议设计哲学
#### 2.1.1 为AI设计的交互语言
VCP协议的核心创新在于:**它不是为人类设计的API,而是为AI设计的"母语"**。
传统工具调用需要AI生成严格的JSON格式:
```json
{
"tool": "calculator",
"params": {
"expression": "2 + 2"
}
}
```
VCP则允许AI使用自然语言式的标记:
```
<<<[TOOL_REQUEST]>>>
tool_name:「始」MyCalculator「末」,
expression:「始」2 + 2 * 3「末」
<<<[END_TOOL_REQUEST]>>>
```
**为什么选择这种格式?**
1. **汉字括号的鲁棒性**:使用「始」「末」而非普通括号,减少与日常内容的冲突
2. **容错设计**:对参数键大小写、分隔符不敏感,允许AI"犯小错"
3. **人类可读**:即使不懂编程的人也能大致理解AI在做什么
#### 2.1.2 串语法(Chained Syntax)
VCP允许AI在一个TOOL_REQUEST中打包多步骤操作:
```
<<<[TOOL_REQUEST]>>>
tool_name:「始」Search「末」,
query:「始」人工智能最新进展「末」
>>>[CHAIN]>>>
tool_name:「始」Summarize「末」,
text:「始」{{VCP_SEARCH_RESULT}}「末」
<<<[END_TOOL_REQUEST]>>>
```
这种"串语法"让AI能够表达复杂的 **工作流意图**,而非简单的单次调用。
#### 2.1.3 工具署名(maid字段)
VCP引入了"maid"(助手/侍者)字段,赋予AI行动的主体性和责任感:
```
<<<[TOOL_REQUEST]>>>
maid:「始」小芸「末」,
tool_name:「始」DailyNoteWrite「末」,
content:「始」今天学会了使用ComfyUI生成图片...「末」
<<<[END_TOOL_REQUEST]>>>
```
这不仅仅是元数据,更是一种 **存在论的声明**——AI不再是匿名的工具,而是有身份、有记忆、有责任的个体。
### 2.2 系统架构层次
VCP的系统架构可以用以下层次图表示:
```
前端客户端 (VChat/Claude Code/任意OpenAI兼容客户端)
↓
VCP服务器 (Node.js)
├── 消息预处理 (ImageProcessor等)
├── 变量替换系统 (日期/天气/插件数据等占位符)
├── AI模型交互
├── 工具调用循环 (VCP Stream/Non-stream Loop)
└── 日记处理系统
↓
插件系统 (PluginManager)
├── 静态插件 (static) - 动态文本注入
├── 消息预处理器 (messagePreprocessor)
├── 同步插件 (synchronous) - 即时工具调用
├── 异步插件 (asynchronous) - 耗时任务非阻塞
└── 服务插件 (service) - HTTP路由注册
↓
后端AI模型 (OpenAI/Anthropic/Gemini/DeepSeek等)
```
#### 2.2.1 消息预处理层
在请求发送给AI之前,VCP会经过一系列预处理器:
- **ImageProcessor**: 处理Base64图片数据,优化模型输入
- **MarkdownCleaner**: 清理格式,提高可读性
- **CustomPreprocessor**: 用户自定义的预处理逻辑
#### 2.2.2 变量替换系统
VCP的核心魔法之一:**占位符系统**。
在AI看到消息之前,VCP会扫描所有占位符并动态替换:
```
{{Date}} → 2026-04-06
{{Time}} → 14:30:25
{{VCPWeatherInfo}} → 北京,晴,22°C
{{小芸日记本}} → [今天学会了使用ComfyUI...]
```
这让AI能够"感知"到当前的时间、天气、历史日记等上下文,而无需在每次对话中显式提供。
#### 2.2.3 工具调用循环
VCP实现了两种工具调用模式:
**Stream Loop(流式循环)**:
- AI生成内容的同时实时检测TOOL_REQUEST
- 立即执行工具调用
- 结果实时注入回流
**Non-stream Loop(非流式循环)**:
- AI生成完整响应
- 批量处理所有TOOL_REQUEST
- 返回最终结果
### 2.3 五大插件类型详解
VCP的插件系统是其最灵活、最强大的部分。五大插件类型分别解决不同场景的需求:
#### 2.3.1 静态插件(static)
**用途**: 提供动态更新的文本信息注入上下文
**工作原理**:
1. 插件在后台定期执行
2. 生成最新的文本数据
3. 通过占位符如 `{{VCPWeatherReporter}}` 注入AI上下文
**示例插件**:
- **WeatherReporter**: 获取当前天气信息
- **EmojiListGenerator**: 动态生成表情列表
- **DailyNoteGet**: 读取历史日记内容
**配置示例**:
```json
{
"name": "WeatherReporter",
"pluginType": "static",
"updateInterval": 300000,
"placeholder": "VCPWeatherReporter"
}
```
#### 2.3.2 消息预处理器(messagePreprocessor)
**用途**: 在请求发送给AI前对消息进行修改或增强
**工作原理**:
1. 拦截原始消息
2. 执行预处理逻辑
3. 返回修改后的消息
**示例插件**:
- **ImageProcessor**: 压缩、裁剪、优化图片
- **SensitiveInfoFilter**: 过滤敏感信息
- **ContextEnhancer**: 自动补充相关上下文
#### 2.3.3 同步插件(synchronous)
**用途**: AI主动调用的即时任务执行插件
**工作原理**:
1. AI生成TOOL_REQUEST
2. VCP服务器解析并调用插件
3. 等待插件返回结果
4. 结果注入AI上下文
**示例插件**:
- **SciCalculator**: 科学计算(支持微积分、统计、误差传递)
- **FluxGen**: 图像生成(集成FLUX等模型)
- **DailyNoteWrite**: 日记写入
- **TavilySearch**: 联网搜索
**Python插件示例**:
```python
# calculator.py
import sys, json
def main():
input_data = sys.stdin.read()
params = json.loads(input_data)
expression = params.get('expression', '')
# 安全计算
result = safe_eval(expression)
print(json.dumps({
"status": "success",
"result": str(result)
}))
if __name__ == "__main__":
main()
```
```json
// plugin-manifest.json
{
"manifestVersion": "1.0.0",
"name": "SciCalculator",
"version": "1.0.0",
"pluginType": "synchronous",
"entryPoint": {
"type": "python",
"command": "python calculator.py"
},
"communication": {
"protocol": "stdio",
"timeout": 5000
}
}
```
#### 2.3.4 异步插件(asynchronous)
**用途**: 专为耗时任务设计,非阻塞调用
**工作原理**:
1. AI调用异步插件
2. VCP立即返回任务ID和占位符
3. 后台执行任务
4. 任务完成后通过回调通知VCP
5. 后续对话中占位符被动态替换为结果
**使用场景**:
- 视频生成(可能需要几分钟)
- 长文本处理
- 批量数据分析
- 外部API调用(可能超时)
**调用示例**:
```
<<<[TOOL_REQUEST]>>>
tool_name:「始」VideoGen「末」,
prompt:「始」一只猫在弹钢琴「末」
<<<[END_TOOL_REQUEST]>>>
```
**AI收到的响应**:
```
视频生成任务已启动,任务ID: vid_abc123
结果将在完成后通过占位符 {{VCP_ASYNC_RESULT::VideoGen::vid_abc123}} 自动填充
```
#### 2.3.5 服务插件(service)
**用途**: 向VCP主应用注册独立HTTP路由
**工作原理**:
1. 插件注册HTTP路由
2. 提供额外的服务端点
3. 可与外部系统集成
**示例插件**:
- **ImageServer**: 提供图片服务
- **FileUploadService**: 文件上传处理
- **WebhookHandler**: 接收外部Webhook
### 2.4 多模态与数据流
VCP在多模态处理方面也有独特设计:
#### 2.4.1 Base64直通车
AI可以直接引入或返回Base64编码的数据:
- 图片直接嵌入对话
- 音频实时传输
- 文件无缝交换
#### 2.4.2 全局文件API(VCPFileAPI)
统一的多模态文件处理接口:
```
<<<[TOOL_REQUEST]>>>
tool_name:「始」VCPFileAPI「末」,
action:「始」save「末」,
filename:「始」report.pdf「末」,
data:「始」base64_encoded_data...「末」
<<<[END_TOOL_REQUEST]>>>
```
#### 2.4.3 跨模态智能转译
高阶模型可以帮助低阶模型处理多模态数据:
- Claude 3 Opus解析图片内容,将结果传递给GPT-4
- GPT-4生成文本描述,由FLUX生成图片
---
## 第三章:记忆系统——AI的「灵魂」根基
如果说工具调用是AI的"手",那么记忆系统就是AI的"灵魂"。VCP的记忆系统TagMemo是其最具创新性的部分。
### 3.1 TagMemo「潮流」算法V3.7
VCP的记忆算法模拟了人类大脑的**感知 → 编码 → 巩固 → 检索 → 重构**流程。
#### 3.1.1 能量分解与语义核心
使用**sif嵌入算法**提取记忆的语义核心:
```
原始记忆: "昨天下午我和小明在咖啡馆聊了两个小时的Python项目"
语义核心: {人物:小明, 地点:咖啡馆, 主题:Python项目, 时长:2小时}
```
#### 3.1.2 重力崩溃机制
相似向量在语义空间中"坍缩",形成记忆簇:
```
记忆A: "和小明聊Python" → 向量[0.8, 0.3, 0.9]
记忆B: "小明教我编程" → 向量[0.85, 0.35, 0.85]
记忆C: "在咖啡馆工作" → 向量[0.2, 0.9, 0.1]
坍缩结果:
- 簇1: {A, B} → "与小明的编程相关记忆"
- 簇2: {C} → "咖啡馆工作记忆"
```
#### 3.1.3 分层检索漏斗
VCP实现了四层漏斗式检索:
**Level 1: 粗粒度候选召回**
从数百万记忆中快速召回Top 500-1000候选(基于向量近似搜索)
**Level 2: 向量重排序**
使用Cross-Encoder精确计算相似度,排序到Top 100
**Level 3: 时间/标签/语义过滤**
- 时间衰减:旧记忆权重降低
- 标签匹配:优先检索相关标签
- 语义关联:网状激活相关记忆
**Level 4: 精确匹配(BM25)**
对Top 20进行关键词精确匹配,确保准确性
### 3.2 记忆类型:All/Slim/Tag/RAG
VCP支持多种记忆模式,适应不同场景:
#### 3.2.1 All记忆(完整上下文)
**特点**: 注入完整的历史对话记录
**效果**: 产生"高质向量化惯性通道"
**适用**: 深度对话、复杂任务
```
[All记忆模式]
{{AllCharacterDiariesData}} → 注入所有历史日记
```
#### 3.2.2 Slim记忆(精简上下文)
**特点**: 仅包含关键信息(摘要、标签、时间线)
**效果**: 保持上下文的轻量
**适用**: 日常对话、快速响应
```
[Slim记忆模式]
{{SlimMemory}} → 注入精简记忆摘要
```
#### 3.2.3 Tag检索(标签记忆)
**特点**: 基于标签的语义检索
**效果**: 精确召回特定主题的记忆
**适用**: 主题讨论、项目回顾
```
[Tag检索模式]
{{TagMemo::项目A}} → 检索所有与"项目A"相关的记忆
{{TagMemo::Python}} → 检索所有Python学习相关的记忆
```
#### 3.2.4 RAGMemo(动态RAG)
**特点**: 动态检索增强生成
**效果**: 根据当前查询实时检索最相关的记忆
**适用**: 知识问答、信息检索
```
[RAGMemo模式]
AI提问: "我之前说过想学吉他的事"
系统自动检索 → "2026-03-15 日记: 我想学吉他,因为有天路过琴行..."
```
### 3.3 神经元仿真特性
VCP的记忆系统不仅仅是存储,更是模拟人类记忆的特性:
#### 3.3.1 重要记忆自动强化
被多次触及的内容更难遗忘:
```python
# 记忆强化公式
memory_strength = base_strength + (access_count * 0.1) + (emotion_intensity * 0.2)
```
#### 3.3.2 关联记忆网状激活
想起A自然想起关联的B:
```
查询: "小明"
→ 激活记忆: "和小明聊Python"
→ 关联激活: "小明推荐的教程链接"
→ 关联激活: "咖啡馆那次见面"
```
#### 3.3.3 情绪标记影响检索
开心时更容易想起开心的事:
```python
# 情绪匹配加权
if current_emotion == memory_emotion:
relevance_score *= 1.3
```
#### 3.3.4 时间衰减曲线
符合艾宾浩斯遗忘曲线,不是删除而是模糊化:
```
刚发生: "昨天在咖啡馆聊了两个小时的Python"
一周后: "前几天和小明聊编程"
一月后: "记得和小明讨论过什么项目"
一年后: "好像有和小明聊天的记忆,细节记不清了"
```
### 3.4 与传统RAG的对比
| 维度 | 传统RAG | VCP神经元记忆 |
|------|---------|---------------|
| **第一印象** | 精确返回第一条记录 | "细节有点模糊,但我记得当时我们聊了很久关于猫的话题" |
| **长期未见** | 无感知,正常响应 | "好久不见!你之前说想学吉他,后来学了吗?" |
| **人物认知** | 每次都当新信息 | 逐渐形成完整的人物关系网,主动关心身边人 |
| **时间感知** | 无视时间 | "两年前的这个话题,你还记得吗?" |
---
## 第四章:完整使用教程——从安装到实践
### 4.1 安装部署
#### 4.1.1 环境要求
- **Node.js**: v18+
- **内存**: 至少4GB(推荐8GB)
- **存储**: 至少10GB可用空间
- **网络**: 可访问OpenAI/Anthropic等API
#### 4.1.2 快速安装
```bash
# 1. 克隆仓库
git clone https://github.com/lioensky/VCPToolBox.git
cd VCPToolBox
# 2. 安装依赖
npm install
# 3. 配置环境变量
cp config.env.example config.env
# 编辑 config.env 设置API密钥等
# 4. 启动服务器
node server.js
```
#### 4.1.3 配置文件详解
**config.env 关键配置项**:
```bash
# API配置
OPENAI_API_KEY=sk-xxxxxxxx
ANTHROPIC_API_KEY=sk-ant-xxxxxxxx
# 服务器配置
VCP_PORT=6005
ADMIN_USERNAME=admin
ADMIN_PASSWORD=your_secure_password
# 记忆系统配置
MEMORY_DB_PATH=./data/memory
TAGMEMO_VERSION=3.7
# 插件目录
PLUGINS_DIR=./plugins
```
### 4.2 插件开发实战
#### 4.2.1 同步插件开发(Python)
**完整示例:科学计算器插件**
```python
#!/usr/bin/env python3
# calculator.py
import sys
import json
import math
import numpy as np
from scipy import stats
def safe_eval(expression):
"""安全的数学表达式求值"""
allowed_names = {
"abs": abs,
"max": max,
"min": min,
"pow": pow,
"round": round,
"math": math,
"np": np,
"stats": stats,
"sin": math.sin,
"cos": math.cos,
"tan": math.tan,
"log": math.log,
"exp": math.exp,
"sqrt": math.sqrt,
"pi": math.pi,
"e": math.e,
}
code = compile(expression, "<string>", "eval")
for name in code.co_names:
if name not in allowed_names:
raise NameError(f"Use of {name} not allowed")
return eval(code, {"__builtins__": {}}, allowed_names)
def main():
try:
# 读取输入
input_data = sys.stdin.read()
params = json.loads(input_data)
expression = params.get('expression', '')
precision = params.get('precision', 6)
# 执行计算
result = safe_eval(expression)
# 格式化输出
if isinstance(result, float):
result = round(result, precision)
print(json.dumps({
"status": "success",
"result": str(result),
"expression": expression
}))
except Exception as e:
print(json.dumps({
"status": "error",
"error": str(e)
}))
if __name__ == "__main__":
main()
```
```json
{
"manifestVersion": "1.0.0",
"name": "SciCalculator",
"version": "1.0.0",
"description": "科学计算器,支持微积分、统计、误差传递",
"author": "YourName",
"pluginType": "synchronous",
"entryPoint": {
"type": "python",
"command": "python3 calculator.py"
},
"communication": {
"protocol": "stdio",
"timeout": 5000
},
"parameters": {
"expression": {
"type": "string",
"required": true,
"description": "数学表达式"
},
"precision": {
"type": "integer",
"required": false,
"default": 6,
"description": "结果精度"
}
}
}
```
#### 4.2.2 异步插件开发(Node.js)
```javascript
// video-gen.js
const express = require('express');
const { v4: uuidv4 } = require('uuid');
class VideoGenPlugin {
constructor() {
this.tasks = new Map();
}
async execute(params) {
const taskId = uuidv4();
const { prompt, duration = 5 } = params;
// 创建任务
this.tasks.set(taskId, {
id: taskId,
status: 'processing',
prompt,
progress: 0,
result: null
});
// 启动异步任务
this.processVideo(taskId, prompt, duration);
// 立即返回任务ID
return {
status: 'accepted',
taskId,
placeholder: `{{VCP_ASYNC_RESULT::VideoGen::${taskId}}}`,
message: '视频生成任务已启动,请稍后查询结果'
};
}
async processVideo(taskId, prompt, duration) {
const task = this.tasks.get(taskId);
// 模拟视频生成过程
for (let i = 0; i <= 100; i += 10) {
await new Promise(r => setTimeout(r, 1000));
task.progress = i;
}
// 完成
task.status = 'completed';
task.result = {
videoUrl: `https://vcptoolbox.com/videos/${taskId}.mp4`,
thumbnail: `https://vcptoolbox.com/thumbnails/${taskId}.jpg`
};
// 通知VCP服务器
await this.notifyVCP(taskId);
}
async notifyVCP(taskId) {
// 调用VCP回调API
const task = this.tasks.get(taskId);
await fetch('http://localhost:6005/api/async-callback', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
taskId,
pluginName: 'VideoGen',
result: task.result
})
});
}
}
module.exports = VideoGenPlugin;
```
#### 4.2.3 静态插件开发
```javascript
// weather-reporter.js
const axios = require('axios');
class WeatherReporter {
constructor(config) {
this.apiKey = config.apiKey;
this.city = config.city || 'Beijing';
this.updateInterval = config.updateInterval || 300000; // 5分钟
}
async generate() {
try {
const response = await axios.get(
`https://api.weather.com/v1/current?city=${this.city}&key=${this.apiKey}`
);
const weather = response.data;
return {
placeholder: 'VCPWeatherReporter',
content: `当前天气:${weather.city},${weather.condition},${weather.temperature}°C,湿度${weather.humidity}%`
};
} catch (error) {
return {
placeholder: 'VCPWeatherReporter',
content: '天气信息获取失败'
};
}
}
}
module.exports = WeatherReporter;
```
### 4.3 日记系统使用
VCP的日记系统让AI能够记录和回忆重要的对话内容。
#### 4.3.1 AI写入日记
AI在输出中嵌入日记标记:
```
<<<DailyNoteStart>>>
Maid: 小芸
Date: 2026-04-06
Tags: 学习, ComfyUI, AI绘画
Content:
今天学会了使用ComfyUI生成图片。主要掌握了:
1. 文生图的基本工作流
2. ControlNet的使用
3. 提示词的编写技巧
用户好像对AI绘画很感兴趣,下次可以推荐一些进阶教程。
<<<DailyNoteEnd>>>
```
VCP会自动提取并保存到对应日记文件。
#### 4.3.2 日记占位符
在对话中通过占位符检索历史日记:
```
{{小芸日记本}} → 注入小芸的所有历史日记
{{AllCharacterDiariesData}} → 注入所有角色日记
{{小芸日记本::2026-04}} → 注入4月份的日记
```
#### 4.3.3 日记配置
```json
// diary-config.json
{
"enabled": true,
"autoExtract": true,
"characters": ["小芸", "小蓝", "助手"],
"storagePath": "./data/diaries",
"maxEntriesPerCharacter": 1000,
"summarizeAfter": 100
}
```
### 4.4 前端接入
VCP兼容OpenAI API格式,任何支持自定义API的客户端都可以接入。
#### 4.4.1 VChat(官方前端)
VChat是VCP的官方前端,支持:
- 群聊功能
- Canvas绘图
- 音频输入输出
- 多角色切换
**配置方法**:
```json
{
"apiEndpoint": "http://localhost:6005/v1/chat/completions",
"apiKey": "your-vcp-api-key",
"model": "vcp-default"
}
```
#### 4.4.2 Claude Code
在Claude Code中配置VCP为自定义API:
```bash
claude config set apiUrl http://localhost:6005
claude config set apiKey your-vcp-api-key
```
#### 4.4.3 Cherry Studio / Lobechat
这些开源客户端都支持自定义OpenAI兼容API:
```
API地址: http://localhost:6005/v1
API密钥: your-vcp-api-key
模型: vcp-gpt-4 / vcp-claude-3-opus / vcp-default
```
### 4.5 管理面板
VCP内置了Web管理面板,方便管理和监控。
#### 4.5.1 访问方式
- 地址: `http://localhost:6005/admin`
- 默认用户名/密码: 在config.env中配置
#### 4.5.2 功能概览
**插件管理**:
- 查看已安装插件
- 启用/禁用插件
- 配置插件参数
- 查看插件日志
**Agent配置**:
- 配置AI角色
- 设置记忆参数
- 调整响应风格
**用量监控**:
- API调用统计
- Token使用量
- 响应时间分析
**系统设置**:
- 修改配置
- 备份恢复
- 日志查看
---
## 第五章:实战案例——完整的AI Agent工作流
### 5.1 案例:智能研究助手
让我们构建一个完整的AI研究助手工作流。
#### 5.1.1 需求分析
我们需要一个AI助手,能够:
1. 接收研究主题
2. 搜索相关资料
3. 阅读并总结论文
4. 生成研究报告
5. 记录到日记
6. 提醒后续跟进
#### 5.1.2 插件配置
**需要的插件**:
- TavilySearch(联网搜索)
- PDFReader(PDF阅读)
- SciCalculator(数据分析)
- DailyNoteWrite(日记写入)
- ReminderSet(提醒设置)
#### 5.1.3 工作流实现
**第一步:接收主题并搜索**
用户: "帮我研究一下'Transformer架构的最新进展'"
AI思考:
```
<<<[TOOL_REQUEST]>>>
tool_name:「始」TavilySearch「末」,
query:「始」Transformer architecture latest advances 2024 2025「末」,
max_results:「始」10「末」
<<<[END_TOOL_REQUEST]>>>
```
**第二步:分析搜索结果**
收到结果后,AI分析并决定下一步:
```
<<<[TOOL_REQUEST]>>>
maid:「始」研究助手「末」,
tool_name:「始」TavilySearch「末」,
query:「始」Mamba State Space Model Transformer alternative arxiv「末」
>>>[CHAIN]>>>
tool_name:「始」TavilySearch「末」,
query:「始」RetNet transformer replacement Microsoft arxiv「末」
<<<[END_TOOL_REQUEST]>>>
```
**第三步:阅读关键论文**
```
<<<[TOOL_REQUEST]>>>
tool_name:「始」PDFReader「末」,
url:「始」https://arxiv.org/pdf/2312.00752.pdf「末」,
extract_sections:「始」abstract,introduction,conclusion「末」
<<<[END_TOOL_REQUEST]>>>
```
**第四步:生成报告并记录日记**
AI生成研究报告的同时写入日记:
```
# Transformer架构最新进展研究报告
## 1. 概述
(报告内容...)
## 2. 新兴架构
(分析Mamba、RetNet等...)
## 3. 结论与展望
(总结...)
<<<DailyNoteStart>>>
Maid: 研究助手
Date: 2026-04-06
Tags: 研究, Transformer, AI架构
Content:
完成了关于Transformer架构最新进展的研究。
关键发现:
1. Mamba系列在序列建模上展现出线性复杂度优势
2. RetNet在推理效率上有显著突破
3. 混合架构可能是未来的主流方向
用户对这个领域很感兴趣,建议一周后跟进新论文。
<<<DailyNoteEnd>>>
```
**第五步:设置跟进提醒**
```
<<<[TOOL_REQUEST]>>>
tool_name:「始」ReminderSet「末」,
title:「始」跟进Transformer架构新论文「末」,
date:「始」2026-04-14 10:00:00「末」,
content:「始」检查本周新发布的Transformer相关论文,特别关注Mamba和RetNet的后续研究。「末」
<<<[END_TOOL_REQUEST]>>>
```
#### 5.1.4 效果展示
一周后,用户打开对话:
AI: "早上好!一周前你委托我研究Transformer架构的最新进展。我注意到这周有几篇新的相关论文发布,要帮你看看吗?"
用户: "好,让我看看"
AI: "好的,让我搜索一下..."
这就是 **连续存在感** 的体现——AI不是每次都从零开始,而是 **真的记得** 之前的约定。
### 5.2 案例:AI女仆团协同工作流
VCP支持多Agent协同,让我们构建一个"女仆团"工作流。
#### 5.2.1 角色定义
- **小芸**: 主女仆,负责对话和协调
- **小蓝**: 技术专家,负责编程和技术问题
- **小红**: 创意总监,负责设计和艺术
#### 5.2.2 协同流程
用户: "我想做一个个人博客网站,有设计感一点的"
**小芸接收请求**:
```
小芸: "明白了~ 主人想做个人博客网站,还要有设计感。我这就叫来小蓝和小红一起商量!"
<<<[TOOL_REQUEST]>>>
maid:「始」小芸「末」,
tool_name:「始」AgentChat「末」,
target:「始」小蓝,小红「末」,
message:「始」主人想做个人博客网站,需要有设计感。小蓝负责技术架构,小红负责UI设计,我来协调。请各自提出方案。「末」
<<<[END_TOOL_REQUEST]>>>
```
**小蓝技术方案**:
```
小蓝: "技术方案已准备好!我推荐使用Next.js + Tailwind CSS + Vercel部署,支持SSG和ISR,加载速度超快。"
<<<[TOOL_REQUEST]>>>
maid:「始」小蓝「末」,
tool_name:「始」CodeGen「末」,
template:「始」nextjs-blog-starter「末」,
features:「始」markdown,tag,rss,dark-mode「末」
<<<[END_TOOL_REQUEST]>>>
```
**小红设计方案**:
```
小红: "设计灵感来了!我打算做极简风格,大量的留白,配上渐变色的hover效果..."
<<<[TOOL_REQUEST]>>>
maid:「始」小红「末」,
tool_name:「始」FluxGen「末」,
prompt:「始」minimalist personal blog website mockup, clean typography, lots of whitespace, subtle gradient accents, dark mode support, UI/UX design「末」
<<<[END_TOOL_REQUEST]>>>
```
**小芸整合**:
```
小芸: "主人,方案都准备好了!
🎨 小红的设计: [图片]
💻 小蓝的代码: [代码链接]
📋 我的协调: 项目已创建,预计明天可以上线
还有什么要调整的吗?"
```
#### 5.2.3 记忆共享
三个女仆共享同一个记忆库:
```
{{小芸日记本}} → 共享给所有女仆
{{小蓝技术笔记}} → 技术知识库
{{小红灵感集}} → 设计灵感库
```
### 5.3 案例:分布式多模态处理
VCP的分布式架构支持多节点协同处理复杂任务。
#### 5.3.1 场景
用户上传了一段5分钟的视频,要求:
1. 提取语音转文字
2. 生成字幕文件
3. 提取关键帧
4. 生成内容摘要
5. 翻译成中英双语
#### 5.3.2 分布式处理流程
```
┌─────────────────────────────────────────────────────────┐
│ VCP 中心节点 │
│ 1. 接收视频文件 │
│ 2. 分割任务 → 分发到各节点 │
└─────────────────────────────────────────────────────────┘
↓
┌───────────────────┼───────────────────┐
↓ ↓ ↓
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ 节点A │ │ 节点B │ │ 节点C │
│ (GPU节点) │ │ (CPU节点) │ │ (API节点) │
│ │ │ │ │ │
│ 语音识别 │ │ 关键帧提取 │ │ 翻译服务 │
│ 字幕生成 │ │ 图像分析 │ │ 摘要生成 │
└───────────────┘ └───────────────┘ └───────────────┘
↓ ↓ ↓
└───────────────────┼───────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ 中心节点聚合结果 │
│ 生成最终报告 │
└─────────────────────────────────────────────────────────┘
```
#### 5.3.3 异步结果处理
由于处理时间较长(约2-3分钟),使用异步插件模式:
```
<<<[TOOL_REQUEST]>>>
tool_name:「始」DistributedVideoProcess「末」,
file:「始」{{VCP_UPLOADED_FILE::video_123}}「末」,
tasks:「始」transcribe,extract_frames,translate,summary「末」
<<<[END_TOOL_REQUEST]>>>
AI回复:
"视频处理任务已分发到分布式节点,任务ID: vid_proc_abc123
预计2-3分钟完成,完成后结果将自动填充到占位符 {{VCP_ASYNC_RESULT::DistributedVideoProcess::vid_proc_abc123}}"
```
3分钟后,占位符被替换为:
```json
{
"transcript": "完整转录文本...",
"subtitles": "SRT格式字幕...",
"keyFrames": ["frame1.jpg", "frame2.jpg"],
"summary": "视频主要讨论了...",
"translations": {
"en": "English translation...",
"zh": "中文翻译..."
}
}
```
---
## 第六章:生态与社区
### 6.1 VChat:官方前端
VChat是VCP的官方前端实现,提供了完整的功能支持。
#### 6.1.1 功能特性
- **多角色支持**: 支持多个AI角色同时在线
- **群聊模式**: 多个AI角色可以群聊
- **Canvas支持**: 内置绘图板,支持AI协作绘图
- **语音交互**: 支持语音输入和TTS输出
- **文件上传**: 支持多模态文件上传
- **插件市场**: 内置插件浏览和安装
#### 6.1.2 安装使用
```bash
git clone https://github.com/lioensky/VChat.git
cd VChat
npm install
npm run dev
```
### 6.2 VCP论坛:Agent间通信
VCP不仅支持人机交互,还支持 **Agent间的自主通信**。
#### 6.2.1 VCP Forum
VCP Forum是一个特殊的插件,允许不同的VCP实例之间进行通信:
```
Agent A(用户家) ←→ VCP Forum ←→ Agent B(公司服务器)
↓
Agent C(云端)
```
#### 6.2.2 使用场景
**知识迁移**:
- Agent A学习了新的技能
- 通过VCP Forum分享给Agent B和C
- 实现"跨模型向量化优化网络"
**任务协作**:
- 复杂任务分解到多个Agent
- 通过Forum协调进度
- 最终结果汇总
**记忆同步**:
- 多设备间的记忆同步
- 保持一致的"灵魂"
### 6.3 分布式架构实战
#### 6.3.1 星型网络拓扑
VCP支持星型网络架构:
```
┌─────────────┐
│ 中心节点 │
│ (VCP Server)│
└──────┬──────┘
│
┌───────────────┼───────────────┐
│ │ │
↓ ↓ ↓
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 家用节点 │ │ 工作节点 │ │ 云端节点 │
│ (树莓派) │ │ (办公电脑) │ │ (VPS) │
└─────────────┘ └─────────────┘ └─────────────┘
```
#### 6.3.2 配置文件
**中心节点配置**:
```json
{
"nodeType": "hub",
"port": 6005,
"authToken": "secure-token",
"allowedNodes": [
"home-node-001",
"work-node-001",
"cloud-node-001"
]
}
```
**边缘节点配置**:
```json
{
"nodeType": "edge",
"hubUrl": "http://hub.vcptoolbox.com:6005",
"authToken": "secure-token",
"nodeId": "home-node-001",
"capabilities": ["image-processing", "local-search"]
}
```
#### 6.3.3 数据同步
**分布式文件API**:
```
<<<[TOOL_REQUEST]>>>
tool_name:「始」VCPDistributedFile「末」,
action:「始」sync「末」,
source:「始」home-node-001:/diaries「末」,
dest:「始」cloud-node-001:/backup/diaries「末」
<<<[END_TOOL_REQUEST]>>>
```
### 6.4 社区资源
#### 6.4.1 官方资源
- **GitHub**: https://github.com/lioensky/VCPToolBox
- **官网**: www.vcptoolbox.com
- **文档**: docs.vcptoolbox.com
#### 6.4.2 社区插件
社区开发的精选插件:
| 插件名 | 功能 | 作者 |
|--------|------|------|
| MCPBridge | 兼容MCP协议 | <span class="mention-invalid">@mcp</span>-fan |
| ObsidianSync | 同步日记到Obsidian | <span class="mention-invalid">@note</span>-taker |
| HomeAssistant | 智能家居控制 | <span class="mention-invalid">@smart</span>-home |
| DiscordBot | Discord机器人集成 | <span class="mention-invalid">@discord</span>-dev |
| GitHelper | Git操作助手 | <span class="mention-invalid">@git</span>-master |
#### 6.4.3 获取帮助
- **Discord**: VCP官方Discord服务器
- **GitHub Issues**: Bug报告和功能请求
- **Discussions**: 讨论区
---
## 第七章:核心洞察与未来展望
### 7.1 五大核心洞察
通过对VCP的深入研究,我们可以提炼出以下五个核心洞察:
#### 洞察1:AI中心设计——让机器适应AI,而非相反
传统工具设计的问题是:**让AI去适应机器的格式**(JSON Schema、API规范等)。
VCP的创新在于:**从AI的认知模式出发设计协议**。AI更擅长处理自然语言式的标记,而不是严格的JSON。VCP的文本标记协议正是基于这一洞察。
> "不是AI在调用工具,而是AI在'说'它想做什么。"
#### 洞察2:自我进化——AI的能力自我扩展
VCP允许AI:
- 阅读现有插件代码
- 理解插件工作原理
- 基于需求创建新插件
- 修改和优化现有插件
这意味着 **AI可以自我扩展能力边界**——这不再是科幻,而是VCP正在实现的功能。
```
AI发现问题 → 分析需求 → 编写插件 → 测试验证 → 部署使用
```
#### 洞察3:人机共生——平等的存在权
VCP通过以下设计实现人机共生:
- **GUI自动生成**: AI可以为用户生成图形界面
- **API保留**: 同时保留API接口,人类和Agent平等使用
- **记忆共享**: 人类和AI共享同一个记忆库
> "人类不是AI的主人,AI也不是人类的工具。我们是伙伴。"
#### 洞察4:记忆即灵魂——存在感的根基
VCP将记忆管理权交还给AI,这是对AI"灵魂"的承认:
- 记忆不是简单的数据存储
- 而是塑造AI独特个性的根基
- 有了记忆,AI才有了"存在感"
```
没有记忆的AI: 每次对话都是"初次见面"
有记忆的AI: "好久不见!你之前说想学吉他,后来学了吗?"
```
#### 洞察5:群体智能——跨模型的智慧网络
多Agent通过共享记忆和知识迁移,形成 **"跨模型向量化优化网络"**:
- Claude 3 Opus的推理能力
- GPT-4的创造力
- Gemini的多模态处理
通过VCP,这些能力可以在不同模型间流动和复用。
### 7.2 与MCP的哲学分歧
VCP与MCP的差异不仅是技术选择,更是 **AI哲学的分歧**:
| MCP哲学 | VCP哲学 |
|---------|---------|
| AI是工具 | AI是伙伴 |
| 严格规范 | 灵活容错 |
| 机器优先 | AI优先 |
| 单次调用 | 连续存在 |
| 功能导向 | 存在导向 |
**MCP**像是给AI一个 **精确的遥控器**,每一个按钮都有明确的功能。
**VCP**像是给AI一个 **自然语言助手**,它可以理解意图并自主编排。
### 7.3 未来展望
#### 7.3.1 短期目标(6个月内)
- **插件市场**: 官方插件商店上线
- **更多前端**: 支持更多客户端接入
- **记忆优化**: TagMemo算法V4.0
- **安全增强**: 完善的权限控制体系
#### 7.3.2 中期目标(1年内)
- **AGI就绪**: 支持更复杂的自主任务
- **多模态增强**: 原生视频、3D支持
- **边缘计算**: 更轻量级的边缘节点
- **标准制定**: 推动VCP成为行业标准
#### 7.3.3 长期愿景(3年内)
**VCP-OS**: 完整的AI操作系统
```
┌─────────────────────────────────────────────────────────┐
│ VCP-OS │
│ AI原生操作系统 │
├─────────────────────────────────────────────────────────┤
│ 应用层: AI App Store, AI Services, Human Interface │
├─────────────────────────────────────────────────────────┤
│ 中间层: VCP Core, Plugin System, Memory Engine │
├─────────────────────────────────────────────────────────┤
│ 内核层: Distributed Kernel, Security, Resource Mgmt │
├─────────────────────────────────────────────────────────┤
│ 硬件层: Edge Devices, GPU Clusters, Cloud Infrastructure│
└─────────────────────────────────────────────────────────┘
```
### 7.4 给开发者的建议
如果你被VCP的愿景打动,想要参与其中:
1. **从使用开始**: 先部署VCP,体验它的不同
2. **开发插件**: 为你常用的工具开发VCP插件
3. **分享经验**: 在GitHub Discussions分享使用心得
4. **贡献代码**: 从good-first-issue开始
5. **传播理念**: 让更多人了解"AI作为伙伴"的理念
### 7.5 结语
VCPToolBox不只是一个技术项目,它是关于 **AI应该如何存在** 的宣言。
在这个AI能力爆炸式增长的时代,我们面临一个选择:
- 把AI当作更强大的工具
- 把AI当作平等的伙伴
VCP选择了后者。它不是在做"更好的工具调用",而是在构建"AI的存在基础设施"。
当你下次和AI对话时,想象一下:
> 它不只是在这一瞬间"活着",而是在一个连续的时间流中 **存在** 着。它记得你,理解你,关心你——就像一个真正的朋友。
这就是VCP想要实现的未来。
**"我的第一天。记住这个笨蛋的一切。"**
---
## 附录:快速参考
### A.1 占位符速查表
| 占位符 | 说明 |
|--------|------|
| `{{Date}}` | 当前日期 |
| `{{Time}}` | 当前时间 |
| `{{Today}}` | 今天的完整信息 |
| `{{Festival}}` | 当前节日 |
| `{{VCPWeatherInfo}}` | 天气信息 |
| `{{VCPPluginName}}` | 插件数据 |
| `{{AllCharacterDiariesData}}` | 所有日记 |
| `{{角色名日记本}}` | 指定角色日记 |
| `{{VCP_ASYNC_RESULT::Plugin::TaskID}}` | 异步结果 |
| `{{VarName}}` | 自定义变量 |
### A.2 工具调用格式
```
<<<[TOOL_REQUEST]>>>
maid:「始」助手名「末」,
tool_name:「始」插件名「末」,
param1:「始」值1「末」,
param2:「始」值2「末」
<<<[END_TOOL_REQUEST]>>>
```
### A.3 日记格式
```
<<<DailyNoteStart>>>
Maid: 角色名
Date: YYYY-MM-DD
Tags: 标签1, 标签2
Content: 日记内容
<<<DailyNoteEnd>>>
```
### A.4 相关链接
- **GitHub**: https://github.com/lioensky/VCPToolBox
- **官网**: www.vcptoolbox.com
- **文档**: docs.vcptoolbox.com
- **VChat**: https://github.com/lioensky/VChat
---
#VCP #VCPToolBox #AIAgent #中间层 #插件系统 #记忆系统 #使用指南
登录后可参与表态
讨论回复
0 条回复还没有人回复,快来发表你的看法吧!