VT.ai
开源多模态 AI 聊天应用,通过基于语义的路由自动把请求分配给最合适的模型,统一接入多家 LLM 服务商。
- 源仓库
- vinhnx/VT.ai
- Star 数
- ★ 116
- 最近更新
- 15 天前
- License
- MIT
- 主语言
- Python
- FA 评分
- 60/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 个人开发者在本地用一条命令启动多模型聊天界面,在 GPT-4o、Claude、Gemini 和本地 Ollama 模型之间切换比较输出
- 不适合
- 不想为模型调用付费且不愿配置本地 Ollama 的用户
- 需要托管服务、开箱即用无需自建服务端的团队
- 源码审查
- 60/100 · 存在缺口
这个 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。
- 个人开发者在本地用一条命令启动多模型聊天界面,在 GPT-4o、Claude、Gemini 和本地 Ollama 模型之间切换比较输出
- 需要图像生成能力的创作者,用 GPT-Image-1 生成带透明背景或多格式参数的图片
- 希望减少手动选模型成本的对话用户,利用语义路由按查询意图自动分配模型,降低延迟
- 需要实时信息来源的研究者,通过 Tavily 网络搜索集成获取带来源标注的资料
- 偏好语音交互的用户,使用语音转文字和文字转语音功能进行可配置语音的对话
- 关注依赖安全的团队,借助 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 | bashWindows (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?
查看各维度的扣分理由
依赖安全处理突出:pyproject.toml 大量安全版本覆盖、litellm 供应链投毒事件有完整审计记录与安全版本钉扎,可得满分。但减分点明确:宣称的'工作区隔离'、'无数据收集'、'安全默认'等安全声明均无对应源码佐证(vtai/ 源码未提供);API 密钥明文写入 ~/.config/vtai/.env 被称为'安全存储';网页搜索、图像生成等外部效果操作无用户确认机制的任何证据;无回滚说明。
依赖可用性尚可:版本钉扎、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" 是无效值。
环境适配尚可:明确钉扎 Python 3.11、覆盖 Linux/macOS/Windows、提供 uvx/pipx/源码多种途径并声明 Rust 替代实现。受众与场景描述较全(多提供商、本地 Ollama)。扣分点:能力边界从未明示(哪些操作受支持/受限制、路由失败时行为均未说明);trigger_precision 仅靠路由阈值可配置的描述,无具体证据。
安装说明非常完整详尽(满分理由充分);MIT LICENSE 文件完整。扣分点:configuration.md 和 troubleshooting.md 自述'页面建设中',信息架构不完整;known_limitations 无专门章节;版本/变更记录存在跨文件矛盾且日期(2026年4月)与 CVE 编号无法在本仓库内核实;维护为单人项目,长期维护承诺证据有限。
输出可用性有基础:聊天界面、带来源 URL 的搜索结果、思维过程可视化、可配置 TTS。边际价值合理但非独创:核心能力主要来自 Chainlit/LiteLLM/SemanticRouter 组合,VT.ai 的贡献是路由与封装。成本收益方面提供本地模型与 uvx 临时运行选项,但首次运行需下载嵌入模型且语义路由增加复杂度,代价未量化说明。
扣分点集中: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 并对外发送数据,无用户确认机制的证据,请在可信网络环境中使用。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
Patch release updating python-dotenv minimum version to 1.2.2 and refreshing the lockfile.在 GitHub 查看 ↗ -
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 查看 ↗