# VCPChat **Repository Path**: ckiss58/VCPChat ## Basic Information - **Project Name**: VCPChat - **Description**: No description available - **Primary Language**: Python - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-28 - **Last Updated**: 2025-10-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # VCPChat 聊天客户端 这是一个为 VCP (Variable & Command Protocol) 服务器打造的 AI 聊天桌面客户端。 *请立刻在全局设置里设置用户名,以避免众多依赖功能报错!* 后端链接:https://github.com/lioensky/VCPToolBox 请下载壁纸包以避免元素窗口异常:https://github.com/lioensky/VCPChat/releases 请下载音频解码包:https://github.com/lioensky/VCPChat/releases/tag/%E8%A7%A3%E7%A0%81%E5%99%A8core [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/lioensky/VCPChat) ## 安装与部署 1. **克隆仓库** 克隆此项目到您的本地计算机: ```bash git clone https://github.com/lioensky/VCPChat.git cd VCPChat ``` 2. **安装依赖** 本项目需要 Node.js 和 Python 环境。 * **安装 Node.js 依赖:** ```bash npm install ``` * **安装 Python 依赖** (用于音频引擎、高级插件等): ```bash pip install -r requirements.txt ``` * **安装高性能音频重采样模块 (可选, 推荐)**: 本项目包含一个用 Rust 编写的高性能音频重采样模块,用于提升升频和 WASAPI 模式下的音质。 如果您的环境是 **64位 Windows** 且使用 **Python 3.13**,可直接安装预编译好的模块: ```bash pip install audio_engine/rust_audio_resampler-0.1.0-cp313-cp313-win_amd64.whl ``` 如果您的环境不同,则需要进入 `rust_audio_engine` 目录,自行编译。 3. **启动应用** * **常规启动:** ```bash npm start ``` * **静默启动 (可选):** 您也可以使用 `run_silent.vbs` 脚本来实现无控制台窗口的静默启动。 ## 前后端深度协同:释放 AI 的无限潜能 VChat 不仅仅是一个聊天界面,它是强大的 VCP 后端生态(VCPToolBox)的“眼睛”和“画板”。两者深度结合,旨在释放 AI 的无限潜能: * **高级能力渲染**: VChat 专为渲染 VCP 协议的复杂输出而设计。无论是 AI 主动记录和反思的“日记”,还是多媒体内容,都能以最直观的方式呈现。Vchat的Agent输出气泡拥有近乎怪物级的渲染能力,可以渲染几乎所有主流动画和文档。 * **重型异步任务**: 后端可以执行如视频生成、数据分析等耗时很长的重型任务。AI 发起任务后可立即响应用户,任务完成后,VChat 会通过后端推送,将结果(如生成的视频)实时展现在对话流中,整个过程流畅不卡顿。 * **Agent 群体智能**: 后端支持多个 AI Agent 协同工作,甚至实现 Agent 主动分配任务给子 Agent。VChat 的群聊模式和清晰的发言标记系统,为这种高级的“AI 女仆团”协作流提供了完美的交互界面。 * **丰富的多媒体交互**: AI 可以通过后端调用 VCP 工具,在对话中发送表情包、播放音乐、展示视频。VChat 拥有强大的多媒体渲染引擎和高级的窗口气泡动画、流式动画,确保了极致的视听体验。 * **VCP 核心多模态能力**: 这使得例如 FluxGen 或 SunoGen 这样的插件生成的多媒体,AI 真的可以看到和听到。 * **Base64 直通车**: 允许 AI 在 `tool` 字段中直接引入 Base64 数据,极大地简化了多媒体内容的即时调用。 * **全局文件 API (`VCPFileAPI` v4.0 超栈追踪版)**: 实现了革命性的全URL超栈追踪。现在,AI在任何分布式节点上提交本地文件路径(如 `H:\MCP\123.txt`),主服务器都能智能解析其来源并自动向源节点请求文件的Base64数据,实现无缝的跨服务器文件调用。 * **跨模态智能转译**: 实现高阶模型对低阶模型的“能力赋能”。例如,能识别音频的模型可以帮助纯文本模型,将其无法处理的音频 Base64 数据智能转译为文字描述,反哺给请求方。 * **分布式多模态传输 (v4.0 核心升级)**: 借助**全 URL 超栈追踪**,任意节点上的 AI 都能直接使用本地文件路径进行跨服调用。主服务器会自动追踪并拉取数据,彻底打通了分布式网络中的文件孤岛,让多模态数据在星型网络中无缝流转。 * **智能响应路由**: VCP 核心能够智能判断插件返回的是传统的 stdio 文本信息,还是包含 Base64 的结构化数据,并自动选择正确的渠道进行转发和处理。 * **多 Agent 协作共享**: 在多 Agent 协同任务中,实现 Base64 数据的智能共享,并能根据需要将其动态转译为临时的 `fileurl`,方便其他 Agent 或前端应用访问。 ## 主要功能 * **VCP 服务器集成**: 客户端的核心聊天功能依赖于 VCP 服务器。它通过 HTTP(S) 与 VCP 服务器通信,发送用户消息并接收 AI 的响应,支持流式传输以实现实时交互。 * **VCP 工具调用**: 完美支持 VCP 服务器定义的各类工具调用,包括需要立即返回结果的**同步工具**(如计算、查询)和可后台执行的**异步工具**(如视频生成、网站长文抓取),让 AI 的能力边界无限扩展。VChat 对工具调用流程进行了深度优化,提供了更强大的交互能力: * **智能交互气泡**: 工具调用气泡经过精心设计,鼠标悬停时会自动展开,清晰展示 AI 发起的完整指令集,方便用户理解和调试。 * **多样化回调机制**: 任务完成后,结果可通过多种方式通知用户: * **WebSocket 实时通知**: 适合需要即时反馈的场景。 * **上下文嵌入式气泡**: 将结果无缝整合到对话流中。 * **系统级多设备推送通知**: 即使用户不在应用内,也能收到重要任务的完成提醒。 * **协同式指令优化**: 在执行工具调用前,AI 可以主动向用户征求意见,或邀请用户及其他 Agent 共同协作,对即将执行的指令进行修改和完善,实现了人机/多 Agent 协同决策。 * **可靠的中止机制**: 当用户中止 AI 回复时,系统会同步中止正在执行的 VCP 工具调用链,并彻底终止相关的后台进程,确保资源被及时释放。 * **用户端 VCP 工具调用器**: * 现在,强大的 VCP 工具不再是 AI 的专属。VChat 为用户提供了一个完整、直观的图形用户界面(GUI),让用户也能轻松调用和执行 VCP 工具。 * **无需指令**: 用户无需记忆和手动输入复杂的命令,只需在 GUI 界面中选择工具、点击参数预设按钮,即可像 AI 一样利用 VCP 生态的强大能力。 * **透明执行**: 调用过程和结果会清晰地展示在界面上,方便用户监控和调试。 * **ComfyGen 插件面板**: 为 ComfyGen 这个强大的图像生成插件提供了丰富的管理和配置面板。这包括对工作流(Workflows)、LoRA 模型、以及其他模型文件的精细化管理。此外,它还集成了一个类似于 Stable Diffusion WebUI 的前端管理界面,允许用户和 AI 通过图形化界面,直观、精确地控制图像生成的每一个参数和内容细节,极大地提升了创作的灵活性和深度。 * 这一功能打破了人与 AI 在工具使用上的界限,让用户也能成为 VCP 生态的直接参与者和创造者。 * **VCP 日记渲染**: 能够渲染和显示 VCP 日记内容。这不仅是查看日志,更是观察 AI 如何形成长期记忆、实现自我进化的窗口。 * **Agent 管理**: * 创建、删除和配置多个 AI Agent。 * 为每个 Agent 设置名称、系统提示、模型参数(如温度、上下文Token限制、最大输出Token)。 * 管理 Agent 的头像。 * 支持每个 Agent 拥有多个独立的聊天话题 (Topics),包括话题的创建、删除、重命名、排序和**导出**(支持导出为 Markdown 或 HTML 格式)。 * 支持 Agent 列表的自定义排序。 * **高级上下文管理 (兼容 SillyTavern)**: VChat 基于后端服务器节点实现了与 SillyTavern 高度兼容的上下文管理机制,为精细化、可复用的对话背景设定提供了强大支持。 * **预设、角色卡与世界书**: 现在VCP系统完全兼容并支持挂载 SillyTavern 的 `预设 (Preset) `、 `角色卡 (Character Card) ` 和 `世界书 (World Book)`。您可以无缝导入和使用已有的 SillyTavern 资源,或在 VCP 内直接创建和管理。 * **可视化预设编辑器**: 内置强大的可视化编辑器,允许您创建和编辑上下文预设。支持设置复杂的注入规则,如 `深度注入 (Deep Injection) ` 和 `相对注入 (Relative Injection) `,精确控制每一条上下文在对话历史中的位置和行为。 * **拖拽式上下文排序**: 在聊天界面中,所有注入的上下文(如系统提示、角色设定、世界信息等)都清晰可见,并支持通过 `拖拽 `方式实时调整它们的相对顺序,直观地改变 AI 的行为优先级。 * **Agent 独立挂载**: 每个 Agent 都可以独立挂载不同的预设和世界书组合。这意味着您可以为“写作助手”Agent 配置一套专业的写作背景资料,同时为“聊天伴侣”Agent 设置另一套完全不同的角色扮演设定,实现高度个性化的 AI 体验。 * **群聊模式 (Agent Groups)**: * 允许多个已配置的 Agent 在同一个聊天会话中进行协作或角色扮演。 * 支持创建、配置和管理 Agent 群组,包括设置群组名称、头像。 * 每个群组可以包含多个从现有 Agent 列表中选择的成员。 * **发言模式**: * **顺序发言 (`sequential`)**: 成员按预定顺序轮流发言(当前实现为按成员列表顺序,每次一个,具体高级轮换逻辑可后续增强)。 * **自然随机 (`naturerandom`)**: 根据用户输入中的 `@角色名`、`@角色标签` 或消息内容中与成员预设标签匹配每个Agent的关键词/描述词,来智能产生上下文权重决定哪些成员响应。此模式在构建自然权重回复序列时还保留有一定的随机性,并可能在没有明确触发时选择一个保底发言者。 * **邀约模式 (`inviteonly`)**:根据用户点击Agent的按钮来决定谁来发言。 * **群组设定 (`groupPrompt`)**: 可以为整个群聊定义一个共同的背景、规则或系统级指令,影响群内所有 Agent 的行为。 * **发言邀请 (`invitePrompt`)**: * 这是一个模板字符串,用于在群聊中由系统(或协调者Agent)提示特定 Agent 发言。 * 模板中应使用 `{{VCPChatAgentName}}` 作为占位符,系统在实际邀请时会自动将其替换为目标 Agent 的名称。 * **默认 `invitePrompt` 示例**:`现在轮到你{{VCPChatAgentName}}发言了。系统已经为大家添加[xxx的发言:]这样的标记头,以用于区分不同发言来自谁。大家不用自己再输出自己的发言标记头,讨论时不要讨论这个标记头系统,专注正常聊天即可。` * 这个提示旨在引导 Agent 自然地开始其回合,同时告知它们关于发言标记的规则。 * **发言标记系统**: * 为了在包含多个 Agent 和用户的群聊中清晰地标识每一条消息的来源,系统会自动在每条消息(无论是用户还是 Agent 的)前添加发言者标记,格式通常为 `[发言者名称的发言]: 实际消息内容`。 * **重要提示**:用户和配置的 Agent 在聊天时**无需手动输入或模仿**这些标记头。Agent 的系统提示和 `invitePrompt` 也应引导它们专注于对话内容,而不是讨论或生成这些标记。 * 群组同样支持独立的话题管理,包括话题的创建、删除、重命名和排序。 * **群文件/工作区**: 为每个群组提供一个专属的共享文件空间和工作区。 * **集中存储**: 所有与群组任务相关的文件(文档、代码、素材等)都可以上传并存储在这里,群内所有成员(用户和 Agent)均可访问。 * **协同编辑**: 支持对工作区内的文件进行实时协同编辑,类似于在线文档,极大地促进了团队合作和项目迭代。 * **跨端记忆与无缝同步**: VChat 的记忆系统以 VCP 后端为核心,构建了一个统一的、持久化的 Agent 记忆库。这意味着,无论您在哪个前端(如网页、移动端或另一台电脑上的 VChat 客户端)与 Agent 互动,所有的对话历史、学习到的知识和形成的用户偏好都会被实时同步到这个中心记忆库。当您打开 VChat 客户端时,它会自动从后端拉取最新的记忆状态,确保您的 Agent 拥有完整、连贯的上下文。这种设计打破了设备之间的壁垒,实现了真正的“一次对话,处处同步”,让您无论身在何处,都能与同一个“老朋友”无缝沟通。 * **心流锁模式 (Flow Lock)**: * **专注交互**: 当针对某个话题开启此功能后,用户将暂时无法切换 Agent 或话题,窗口会被锁定,确保对话的深度和连续性。 * **AI 主动性**: 在该模式下,AI 不再仅仅被动等待用户输入,而是可以主动发起对话、继续执行任务、汇报进度或提出想法,实现真正的自主工作。 * **双向控制**: * **用户**: 可以设置触发 AI 主动说话的引导语 (Prompt)、AI 主动说话的最短冷却时间 (CD),并随时手动开启或关闭心流锁。 * **AI**: 也可以根据任务需求,自主开启或关闭心流锁,并能自行设置触发下一次主动行为的引导语。 * **全新工作范式**: 结合 VChat 已有的主动弹窗交互 UI,心流锁模式让 Agent 能够独立进行长期、复杂的任务。AI 只在关键节点或需要决策时才征求用户建议,彻底摆脱了传统的一问一答模式,适用于需要持续思考和执行的多种场景,如研究、编程、创作等。 * **Agent 正则表达式**: * 引入了强大的正则表达式功能,允许对 Agent 的行为进行更深度的控制。 * 支持多种正则应用场景,包括:**聊天历史内容正则**、**渲染器正则**、**深度正则**和**content 数组正则**。 * 提供完整的图形用户界面(GUI),方便用户进行正则表达式的编辑、测试和管理,极大地提升了易用性。 * **人类工具箱工作流增强**: * 工作流引擎得到全面升级,提供了更精细化的节点控制和更强大的逻辑构建能力。 * **节点输入输出细化**: 增强了对节点输入输出数据的控制。 * **新增高级节点**: * **数据转换器**: 方便在不同节点间进行数据格式转换。 * **高级条件判断**: 支持更复杂的逻辑判断分支。 * **计时器/延时器**: 用于控制工作流的执行时序。 * **编辑器/循环节点**: 提供了更灵活的数据处理和流程控制能力。 * **URL 渲染器升级**: 现在可以直接渲染 PDF、音频和视频文件,丰富了内容的呈现方式。 * **Canvas 协同模块:实时、交互式的代码与文档工作区**: * **功能定位**: 一个革命性的实时协同空间,用户或 Agent 可随时创建。它不仅仅是一个文本编辑器,而是一个集成了完整开发与渲染环境的“活文档”和“交互式白板”。 * **无缝协同编辑**: 在这个工作区内,用户与 AI 可以像使用 Google Docs 一样,对代码(如 `.js`, `.py`, `.html`)或文档(`.md`)进行**零延迟**的共同编辑。每一处改动都会实时同步给对方。 * **群组协同与文件区集成**: Canvas 现已深度整合进群聊模式。用户和多个 Agent 可以在群组中共同打开和编辑同一个 Canvas,并与群文件区的文档实时同步。这使得 AI 团队能够像人类开发团队一样,围绕一个共享的、可执行的文档或代码库进行无缝协作,共同完成复杂的编码和文档撰写任务。 * **内置全功能 IDE**: * **沙盒化编译与执行**: 提供一个安全的沙盒环境,可直接编译和运行工作区内的代码,并实时显示结果。 * **即时调试**: 代码执行过程中的错误、日志和输出会立刻在旁边显示,方便 AI 和用户共同诊断问题。 * **VChat 超级渲染器集成**: 工作区内的代码(如 HTML, Mermaid 图表, Python 数据可视化)可以直接调用 VChat 强大的渲染引擎进行预览,实现“所见即所得”。 * **文档类型归类与工作区管理**: Canvas 不再是零散文件的集合,而是结构化的项目空间。支持为不同类型的文档(如代码、Markdown笔记、设计图)进行分类和归档,或通过文件夹/标签系统进行管理,让复杂项目中的多文件协作变得井然有序。 * **版本回溯与可视化节点线**: 每一次重要的保存或提交都会在时间轴上创建一个“变动节点”。Canvas 会以直观的节点线图谱形式,清晰记录文档的每一次演变历史。用户可以轻松浏览、对比不同版本之间的差异,并一键回溯到任意历史节点,为协同开发和创意迭代提供了强大的安全保障和追溯能力。 * **核心应用场景**: * **AI 概念验证 (PoC)**: AI 可以不再仅仅发送静态代码片段,而是直接在 Canvas 中创建一个可运行的、交互式的项目原型来向用户展示其想法。 * **人机结对编程**: 用户可以粘贴自己的代码,邀请 AI 进行重构、优化或添加新功能。双方可以一边讨论,一边实时修改和测试代码。 * **交互式学习与教学**: AI 可以作为导师,手把手地在 Canvas 中引导用户学习编程,每一步操作都清晰可见,并可立即运行验证。 * 基于VCP后端实现了Agent永久记忆/跨端记忆/时间轴记忆。 * AI拥有完整的跨话题唯一标识化认知,并会对所有工具调用不断反思、优化与学习。 * **聊天界面**: * 提供用户友好的聊天界面进行 AI 交互。 * 支持 Markdown/Katex/Html/Mermaid/VCPTool/manim/matplotlib/Anime.js/Three.js/Latex/交互式按钮/交互式弹窗/div/src/draw.io/csv/pdf…等21种渲染器 渲染聊天消息,包括代码块高亮。 * **强大的多媒体与文件处理**: * 支持通过文件选择器、粘贴(文件路径或多媒体数据)、拖放操作添加附件。 * 能够从剪贴板读取和粘贴多媒体(兼容几乎市面上所有多媒体文件和文档文件),并直接在聊天中发送。 * 支持将过长的文本粘贴内容自动保存为文本文件附件。 * 内置高级图片查看器,方便在独立窗口预览聊天中的图片进行操作,支持复制和外部打开。 * **@附加笔记**: 在输入框中输入 `@` 符号并跟上关键词,即可快速搜索并附加 `AppData/Notemodules` 目录下的笔记文件,实现知识的无缝调用。 * **高级动态渲染**: VChat 不仅能渲染静态文本,更能无缝展示由后端 AI 生成或调用的丰富多媒体内容,如**音乐、视频、动态表情包、交互文档**等,为 VCP 协议的强大能力提供一个表现力丰富的舞台。 * **DIV 元素流式渲染**: 针对 AI 输出的复杂 DIV 气泡主题内容,VChat 实现了创新的流式渲染机制。它不仅仅是简单地展示内容,而是完美兼容 VChat 内置的21种渲染器(如Markdown、Python、Mermaid等)的流式实现,并新增了对Anime.js的流式渲染兼容,实现了和md渲染器的优雅竟态处理。VChat优雅地处理了各种极端复杂的渲染竞态问题,例如:当DIV中包裹着需要实时执行的Python代码块(气泡会动态渲染出代码的运行结果),当Python代码中又包含了需要加载的`src`图片标签,当表格中需要内嵌一篇完整的Markdown文档,或者当表格单元格里需要显示一张图片时,VChat的渲染引擎都能智能地、按正确的依赖顺序进行渲染,确保这些复杂的、互相嵌套的内容被准确、流畅地拼接成一个完整的动态气泡,提供了业界领先的复杂内容呈现能力。 * **跨聊天消息转发**: 极大地简化了信息和文件的流转。 * **一键操作**: 在任意聊天(无论是与单个 Agent 还是在群组中)中,右键点击任何消息气泡,即可选择“转发”。 * **完整内容保留**: 转发时会完整保留原始消息的所有内容,包括文本、代码块、渲染的卡片,以及所有附加文件(图片、文档等)。 * **灵活的目标选择**: 您可以轻松地将消息转发给任何其他的 Agent 或群组,实现信息的无缝分享和跨上下文讨论。 * **气泡评论**: 右键点击消息气泡,可以为其添加评论。评论会附加在原始消息下方,方便进行针对性的讨论和备注。尤其是在转发气泡时添加评论,可以方便Agent理解你的转发意图。 * **高级气泡主题**: Vchat 允许每一个主题文件独立设计聊天气泡样式和动画,允许Agent为自己的每一个输出气泡设置独立的气泡样式和内部动画,允许气泡交互性元素,支持agent对自身气泡的div/js/canvas自定义,使得Agent可以输出完整2D/3D的气泡元素内容。 * **AI 气泡交互增强:可点击按钮**: * AI 输出的气泡渲染能力得到进一步提升,现在可以在 `div` 内容中动态渲染可交互的 `