关于 vectora
Vectora 是面向需要 RAG、网页搜索、文件系统访问和记忆功能的自托管 AI 助手应用。此 monorepo 还包含官网、文档、网关和更新服务。
主要功能
- 01自托管 AI 助手应用
- 02RAG、网页搜索与记忆
- 03文件系统访问
- 04Python 后端与 Vite、Electron
- 05原生安装包与更新渠道
适用场景
- 01在自托管环境运行 AI 助手
- 02将网页和本地文件用作上下文
- 03构建并分发原生应用版本
MCP 相关
Tagline 将 Vectora 描述为 Claude Code 的 MCP 子 Agent,但 README 未说明其 MCP 功能。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx vectora-agentGOOGLE_API_KEY密钥Google Gemini API key (recommended free-tier LLM provider)COHERE_API_KEY密钥Cohere API key — required for RAG embeddings and rerankingTAVILY_API_KEY密钥Tavily API key — required for web search and URL extractionOPENAI_API_KEY密钥OpenAI API key (optional — alternative LLM provider)ANTHROPIC_API_KEY密钥Anthropic API key (optional — alternative LLM provider)LANGSMITH_API_KEY密钥LangSmith API key (optional — tracing and observability)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Vectora — Monorepo
Vectora 的 Monorepo。每个产品都在自己的文件夹中,拥有独立的工具链和 锁文件。将所有内容连接起来的是 GitHub Actions(每个项目一个工作流, 按路径设定触发条件)以及根目录共享的 pre-commit。
结构
| 文件夹 | 项目 | 技术栈 | 部署 |
|---|---|---|---|
vectora/ | Vectora 应用(可自托管的 AI 助手) | Python (uv) + Vite + Electron | 通过更新渠道分发原生安装程序(Nuitka + Electron) |
company/ | 公司官网 | TanStack Start + Vite (pnpm) | Vercel → vectora.company |
docs/ | 文档 | Hugo | Vercel → docs.vectora.company |
services/ | Gateway(面向桌面端的 OAuth/webhooks,前身为 relay)+ 更新服务(发布版本分发)——由 relay/ + update-server/ 合并而来 | Hono + Cloudflare Workers (pnpm) | Cloudflare (wrangler) |
应用本身(Python 后端、Vite 前端、Electron 外壳)全部位于
vectora/中——请参阅 vectora/README.md 了解架构、构建和 CLI 的 详细信息。
CI/CD(.github/workflows/)
共有 4 个实际工作流,每个都按路径设定触发条件(on.push/pull_request.paths):
仅修改 vectora/ 不会触发 company/docs/services 的构建或部署。
| 工作流 | 触发条件 | 执行内容 |
|---|---|---|
vectora.yml | vectora/**、标签 v* | lint • 安全检查 • 构建 • 测试(unit/integration/e2e)• 发布原生版本(Nuitka + Electron)• 发布到更新渠道(R2 + KV) |
edge.yml | company/**、services/**、docs/** | 对 3 个项目执行 lint/typecheck/test • 推送到 master 时自动部署(Vercel + Cloudflare) |
release-please.yml | 推送到 master | 维护累积的发布 PR(Conventional Commits)——合并后发布标签 vX.Y.Z |
pr-checks.yml | 拉取请求 | 自动添加标签 • 验证 Conventional Commits 标题 |
没有 Docker Build/Push、CodeQL 或 issue 分类工作流——vectora 应用通过原生安装程序分发(而非 Docker 镜像)。
所需的密钥
| 密钥 | 用途 |
|---|---|
GOOGLE_API_KEY、COHERE_API_KEY、TAVILY_API_KEY、LLM_PROVIDER、LOG_LEVEL | vectora 测试 |
WIN_CERTIFICATE_BASE64、WIN_CERTIFICATE_PASSWORD、APPLE_ID、APPLE_APP_SPECIFIC_PASSWORD、APPLE_TEAM_ID、VECTORA_RELEASES_TOKEN | 原生安装程序的签名/发布 |
VERCEL_TOKEN、VERCEL_ORG_ID、VERCEL_PROJECT_ID_COMPANY、VERCEL_PROJECT_ID_DOCS | Vercel 部署(company + docs) |
CLOUDFLARE_API_TOKEN、CLOUDFLARE_ACCOUNT_ID、R2_ACCESS_KEY_ID、R2_SECRET_ACCESS_KEY | services 部署 + 更新渠道(R2) |
开发
每个项目都是独立的——进入相应文件夹并使用其包管理器:
# App Vectora (Python + Vite + Electron)
cd vectora && uv sync && uv run vectora start
# Site institucional
cd company && pnpm install && pnpm dev
# Docs (Hugo)
cd docs && hugo server
# Services (gateway + updates)
cd services && pnpm install && pnpm dev
Pre-commit(根目录)
根目录中的 .pre-commit-config.yaml 涵盖所有项目(vectora/ 中的 ruff/ty/bandit、前端中的 prettier/oxlint/tsc,以及工作流中的 actionlint):
pre-commit install
pre-commit run --all-files
许可证
专有。请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。