VT.ai

开源多模态 AI 聊天应用,通过基于语义的路由自动把请求分配给最合适的模型,统一接入多家 LLM 服务商。

源仓库
vinhnx/VT.ai
Star 数
★ 116
最近更新
15 天前
License
MIT
主语言
Python

30 秒速览

运行形态
命令行工具自托管服务
可在哪里用
通用 · 跨平台OpenAI API · Claude API
费用
软件免费,模型调用费用自付
上手难度
低 · 几分钟可跑通
开始前需要
Python 3.11uv 包管理器至少一个服务商的 API key(OpenAI、Anthropic、Gemini、DeepSeek 或 Ollama)Shell / 命令行网络访问本地文件系统
典型场景
个人开发者在本地用一条命令启动多模型聊天界面,在 GPT-4o、Claude、Gemini 和本地 Ollama 模型之间切换比较输出
不适合
  • 不想为模型调用付费且不愿配置本地 Ollama 的用户
  • 需要托管服务、开箱即用无需自建服务端的团队

这个 Agent 能做什么,适合哪些场景?

VT.ai(GitHub 仓库 vinhnx/VT.ai,MIT 许可证)是一个开源的多模态 AI 聊天应用,核心特色是基于向量的语义路由,可根据查询意图自动选择模型。它通过 LiteLLM 统一接入 OpenAI、Anthropic、Google Gemini、DeepSeek、Cohere 以及本地 Ollama/llmman 模型,并使用 Chainlit 提供浏览器聊天界面(默认 http://localhost:8000)。能力覆盖文本对话、DALL-E 3 与 GPT-Image-1 图像生成、视觉分析、语音转写与合成、Tavily 实时网络搜索,以及 <think> 标签的推理过程可视化。安装方式包括一键安装脚本、PyPI 包(pip install vtai)或 uvx 直接运行,运行入口是 vtai 命令行。项目以安全为先,最新 v0.7.5 版本修复了 25 个依赖漏洞,v0.7.8 新增了独立的 CLI 模块。

VT.ai 读取用户在浏览器聊天界面中输入的文本、图片、语音和网络搜索请求,先用 FastEmbed 嵌入做语义分类(路由层位于 vtai/router/),把查询自动导向最合适的模型;然后通过 LiteLLM 调用 OpenAI(GPT-o1、GPT-o3、GPT-4o)、Anthropic(Claude 3.5/3.7)、Gemini 2.0/2.5、DeepSeek 或本地 Ollama/llmman 模型(Llama3、Mistral、DeepSeek R1 等)。图像生成走 GPT-Image-1(支持透明背景、多格式、质量参数),语音处理使用 GPT-4o mini TTS、TTS-1、TTS-1-HD,网络搜索调用 Tavily API 并带来源标注。专用处理器位于 vtai/assistants/,工具(搜索、文件操作、集成)位于 vtai/tools/,主入口为 vtai/app.py。API key 可通过环境变量、vtai --api-key provider=key 命令行参数设置,或持久化保存在 ~/.config/vtai/.env。

  1. 个人开发者在本地用一条命令启动多模型聊天界面,在 GPT-4o、Claude、Gemini 和本地 Ollama 模型之间切换比较输出
  2. 需要图像生成能力的创作者,用 GPT-Image-1 生成带透明背景或多格式参数的图片
  3. 希望减少手动选模型成本的对话用户,利用语义路由按查询意图自动分配模型,降低延迟
  4. 需要实时信息来源的研究者,通过 Tavily 网络搜索集成获取带来源标注的资料
  5. 偏好语音交互的用户,使用语音转文字和文字转语音功能进行可配置语音的对话
  6. 关注依赖安全的团队,借助 Dependabot 扫描、版本锁定和 uv override-dependencies 的安全实践

如何安装或部署这个 Agent?

推荐使用官方一键安装脚本(自动安装 Python 3.11、uv 包管理器、创建虚拟环境并配置 API key)。

Linux/macOS:

curl -fsSL https://raw.githubusercontent.com/vinhnx/VT.ai/main/scripts/install_and_run.sh | bash

Windows (PowerShell):

git clone https://github.com/vinhnx/VT.ai.git
cd VT.ai
.\scripts\install_and_run.bat

替代方式:

pip install vtai

或用 uv:

uv pip install vtai

或免安装试用:

uvx --python 3.11 vtai

如何使用这个 Agent?

设置至少一个服务商的 API key,然后运行 vtai,应用会在默认浏览器打开 http://localhost:8000。

export OPENAI_API_KEY="sk-..."
vtai

其他服务商的 key:

export ANTHROPIC_API_KEY="sk-ant-..."
export GEMINI_API_KEY="..."
export DEEPSEEK_API_KEY="..."
export OLLAMA_API_BASE="http://localhost:17434"

命令行选项:

vtai --version
vtai --help
vtai --api-key openai=sk-...

API key 也可持久化保存在 ~/.config/vtai/.env;模型选择默认由语义路由自动完成,也可通过会话配置手动覆盖。

这个 Agent 有哪些优点和局限?

优点
  • 多服务商统一接入:一套界面通过 LiteLLM 使用 OpenAI、Anthropic、Gemini、DeepSeek 和本地 Ollama 模型
  • 基于 FastEmbed 的向量语义路由自动选择模型,无需手动切换,降低延迟
  • 多模态齐全:文本、视觉分析、图像生成(GPT-Image-1)、语音双向交互、Tavily 网络搜索
  • 安全实践到位:Dependabot 自动扫描、关键依赖版本锁定,v0.7.5 修复了 25 个依赖漏洞
  • 默认无遥测、无数据收集,API key 仅存本地
局限
  • 核心功能依赖外部 LLM 服务商的付费 API,需自行管理各服务商的 key 和费用
  • 本地模型需要另行安装并运行 Ollama 或 llmman 服务
  • Python 版本固定为 3.11.x,运行环境有明确版本要求
  • 聊天界面基于 Chainlit,自建服务端方式需要自行部署和维护

这个 Agent 与同类方案有什么区别?

README 将自身定位为多模型聊天应用,技术栈中明确使用了 Chainlit(界面框架)、LiteLLM(模型抽象层)和 SemanticRouter(意图分类),可视为把这几类独立项目组合成一个开箱即用的多模态聊天产品的方案;文档未提及其他同类竞品。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
VT.ai 当前 60 · 存在缺口 命令行工具免费 + 模型费 ★ 116 15 天前 Python OpenAI API · Claude API
Open WebUI Tools Collection 48 · 缺口较多 自托管服务免费 + 模型费 ★ 832 5 天前 Python —
Locally Uncensored 64 · 存在缺口 桌面应用免费版 + 付费版 ★ 3.3k 8 天前 TypeScript OpenAI API · Claude API
AgentLego 多模态工具库 40 · 缺口较多 代码库 / SDK免费 ★ 416 2 年前 Python —

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
存在缺口
60/ 100 五分制 3.0 / 5
信任安全 17/29
可靠稳定 8/14
适用触发 10/18
规范维护 13/18
有效结果 9/13
证据核验 3/8
查看各维度的扣分理由
信任安全17 / 29 · 2.9/5

依赖安全处理突出:pyproject.toml 大量安全版本覆盖、litellm 供应链投毒事件有完整审计记录与安全版本钉扎,可得满分。但减分点明确:宣称的'工作区隔离'、'无数据收集'、'安全默认'等安全声明均无对应源码佐证(vtai/ 源码未提供);API 密钥明文写入 ~/.config/vtai/.env 被称为'安全存储';网页搜索、图像生成等外部效果操作无用户确认机制的任何证据;无回滚说明。

可靠稳定8 / 14 · 2.9/5

依赖可用性尚可:版本钉扎、PyPI/uvx/pipx 多安装途径、lockfile 思路。但自一致性扣分严重:版本号互相矛盾(README 称 v0.7.8 为最新、security.md 称 0.7.5、pyproject 为 0.7.15);pylint CI 测试 Python 3.8–3.10 而项目要求 >=3.11,<3.12;tests/unit/test_config.py 使用 'from utils.config import' 与实际包路径 vtai.utils.config 不符,测试很可能无法运行;ruff 配置 target-version="0.7.11" 是无效值。

适用触发10 / 18 · 2.8/5

环境适配尚可:明确钉扎 Python 3.11、覆盖 Linux/macOS/Windows、提供 uvx/pipx/源码多种途径并声明 Rust 替代实现。受众与场景描述较全(多提供商、本地 Ollama)。扣分点:能力边界从未明示(哪些操作受支持/受限制、路由失败时行为均未说明);trigger_precision 仅靠路由阈值可配置的描述,无具体证据。

规范维护13 / 18 · 3.6/5

安装说明非常完整详尽(满分理由充分);MIT LICENSE 文件完整。扣分点:configuration.md 和 troubleshooting.md 自述'页面建设中',信息架构不完整;known_limitations 无专门章节;版本/变更记录存在跨文件矛盾且日期(2026年4月)与 CVE 编号无法在本仓库内核实;维护为单人项目,长期维护承诺证据有限。

有效结果9 / 13 · 3.5/5

输出可用性有基础:聊天界面、带来源 URL 的搜索结果、思维过程可视化、可配置 TTS。边际价值合理但非独创:核心能力主要来自 Chainlit/LiteLLM/SemanticRouter 组合,VT.ai 的贡献是路由与封装。成本收益方面提供本地模型与 uvx 临时运行选项,但首次运行需下载嵌入模型且语义路由增加复杂度,代价未量化说明。

证据核验3 / 8 · 1.9/5

扣分点集中:README 的大量安全与隐私声明('25个漏洞修复'、'工作区隔离'、'无数据收集')无法追溯到仓库内可验证的代码或工件;跨源印证失败——版本号、安全公告内容、pylint CI 目标之间互相矛盾;vtai/ 源码本身未在证据集中,无法将行为描述与实现对照;文档混合了事实陈述与营销措辞('Security First'),未做明确区分。

风险与缓解建议
  • 静态审查仅基于所提供的文件,vtai/ 核心源码未在证据集中,所有行为与安全声明均未经执行验证。
  • 仓库内版本号互相矛盾(0.7.5 / 0.7.8 / 0.7.15),发布记录日期为 2026 年,CVE 编号无法在仓库内核实,请以实际 PyPI 包为准。
  • API 密钥以明文保存在 ~/.config/vtai/.env,请勿在共享主机上使用,并按需轮换密钥。
  • 推荐安装方式是 curl | bash 执行远程脚本,存在供应链风险;建议先审查脚本内容再执行。
  • 所列单元测试存在导入路径错误,测试套件可能不可运行;CI 配置(Python 3.8–3.10)与项目要求(3.11)不一致,质量门禁可能失效。
  • 网页搜索、图像生成等操作会调用付费外部 API 并对外发送数据,无用户确认机制的证据,请在可信网络环境中使用。
证据充分度:低 评估于 2026年10月31日 审查版本 c441650a81dd
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v0.7.13
    发布说明摘录
    Patch release updating python-dotenv minimum version to 1.2.2 and refreshing the lockfile.
    在 GitHub 查看 ↗
  2. v0.7.12
    发布说明摘录
    Patch release with code structure improvements and dependency updates
    在 GitHub 查看 ↗
  3. v0.7.7 v0.7.7 - Path Handling Fix
    发布说明摘录
    Bug Fixes This release fixes a critical issue where VT.ai failed to import modules when the project path contained spaces or special characters (e.g., 'VT.ai' directory). Fixed Issues - Path Handling: Fixed ModuleNotFoundError when project path contains spaces - Use os.path.normpath() to properly handle paths with spaces and special characters - Fix import failures in directories like VT.ai or My Projects - Normalize path comparison when checking sys.path entries Technical Details - Chainlit loads app.py as a file, not as a module …
    在 GitHub 查看 ↗

常见问题

使用 VT.ai 需要付费吗?
软件本身是开源免费的(MIT 许可证),但调用 OpenAI、Anthropic、Gemini、DeepSeek 等云端模型需要你自己提供并支付相应的 API key 费用;使用本地 Ollama 模型则不需要云端 API。
支持哪些模型服务商?
支持 OpenAI(GPT-o1、GPT-o3、GPT-4o)、Anthropic(Claude 3.5/3.7)、Google Gemini(2.0/2.5)、DeepSeek、Cohere,以及通过 Ollama 或 llmman 运行的本地模型(Llama3、Mistral、DeepSeek R1 等)。
API key 如何存储,数据会被收集吗?
API key 可通过环境变量、命令行参数设置,或持久化保存在本地 ~/.config/vtai/.env;项目默认无遥测、无数据收集,所有操作限制在工作区边界内。
可以完全离线使用吗?
可以通过 Ollama(或 llmman)运行本地模型使用聊天能力,但图像生成(GPT-Image-1)、网络搜索(Tavily)等部分功能依赖云端服务。
如何升级到最新版本?
最新版本为 v0.7.8(新增即时响应的 --version/--help CLI 标志)和 v0.7.5(修复 25 个依赖漏洞),可从 GitHub Releases 页面查看完整发布说明和升级指引。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents