io.github.brunosrz/vectora
AI assistant with RAG, web search, filesystem and memory. MCP sub-agent for Claude Code.
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
vectora-agentclaude mcp add vectora -e 'GOOGLE_API_KEY=<your google_api_key>' -e 'COHERE_API_KEY=<your cohere_api_key>' -e 'TAVILY_API_KEY=<your tavily_api_key>' -e 'OPENAI_API_KEY=<your openai_api_key>' -e 'ANTHROPIC_API_KEY=<your anthropic_api_key>' -e 'LANGSMITH_API_KEY=<your langsmith_api_key>' -- uvx vectora-agent==0.1.0rc3
{
"mcpServers": {
"vectora": {
"command": "uvx",
"args": [
"vectora-agent==0.1.0rc3"
],
"env": {
"GOOGLE_API_KEY": "<your google_api_key>",
"COHERE_API_KEY": "<your cohere_api_key>",
"TAVILY_API_KEY": "<your tavily_api_key>",
"OPENAI_API_KEY": "<your openai_api_key>",
"ANTHROPIC_API_KEY": "<your anthropic_api_key>",
"LANGSMITH_API_KEY": "<your langsmith_api_key>"
}
}
}
}
متغيرات البيئة
GOOGLE_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)
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
Vectora — Monorepo
Monorepo da Vectora. Cada produto vive em sua própria pasta, com toolchain e lockfile independentes. O que conecta tudo é o GitHub Actions (um workflow por projeto, gated por path) e o pre-commit compartilhado na raiz.
Estrutura
| Pasta | Projeto | Stack | Deploy |
|---|---|---|---|
vectora/ | App Vectora (assistente de IA self-hosted) | Python (uv) + Vite + Electron | Instaladores nativos (Nuitka + Electron) via canal de update |
company/ | Site institucional | TanStack Start + Vite (pnpm) | Vercel → vectora.company |
docs/ | Documentação | Hugo | Vercel → docs.vectora.company |
services/ | Gateway (OAuth/webhooks pro desktop, ex-relay) + updates (distribuição de releases) — era relay/ + update-server/, unificados | Hono + Cloudflare Workers (pnpm) | Cloudflare (wrangler) |
O app em si (backend Python, frontend Vite, casca Electron) fica todo dentro de
vectora/— veja vectora/README.md para detalhes de arquitetura, build e CLI.
CI/CD (.github/workflows/)
4 workflows reais, cada um gated por path (on.push/pull_request.paths):
uma mudança só no vectora/ não dispara o build/deploy de company/docs/services.
| Workflow | Dispara em | Faz |
|---|---|---|
vectora.yml | vectora/**, tags v* | lint • security • build • testes (unit/integration/e2e) • release nativo (Nuitka + Electron) • publica no canal de update (R2 + KV) |
edge.yml | company/**, services/**, docs/** | lint/typecheck/test dos 3 projetos • deploy automático em push em master (Vercel + Cloudflare) |
release-please.yml | push em master | mantém o PR de release acumulado (Conventional Commits) — mesclar publica a tag vX.Y.Z |
pr-checks.yml | pull requests | labels automáticos • valida título em Conventional Commits |
Não existe workflow de Docker Build/Push, CodeQL nem triage de issues — a distribuição do app vectora é via instaladores nativos (não imagem Docker).
Secrets esperados
| Secret | Usado por |
|---|---|
GOOGLE_API_KEY, COHERE_API_KEY, TAVILY_API_KEY, LLM_PROVIDER, LOG_LEVEL | testes do vectora |
WIN_CERTIFICATE_BASE64, WIN_CERTIFICATE_PASSWORD, APPLE_ID, APPLE_APP_SPECIFIC_PASSWORD, APPLE_TEAM_ID, VECTORA_RELEASES_TOKEN | assinatura/publicação dos instaladores nativos |
VERCEL_TOKEN, VERCEL_ORG_ID, VERCEL_PROJECT_ID_COMPANY, VERCEL_PROJECT_ID_DOCS | deploy Vercel (company + docs) |
CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID, R2_ACCESS_KEY_ID, R2_SECRET_ACCESS_KEY | deploy do services + canal de update (R2) |
Desenvolvimento
Cada projeto é independente — entre na pasta e use o gerenciador dele:
# 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 (raiz)
O .pre-commit-config.yaml na raiz cobre todos os projetos (ruff/ty/bandit no
vectora/, prettier/oxlint/tsc no frontend, actionlint nos workflows):
pre-commit install
pre-commit run --all-files
Licença
Proprietária. Consulte LICENSE.
الأسئلة الشائعة
ما هو io.github.brunosrz/vectora؟
AI assistant with RAG, web search, filesystem and memory. MCP sub-agent for Claude Code.
كيف أثبّت io.github.brunosrz/vectora؟
يعمل على جهازك. في Claude Code: claude mcp add vectora -e 'GOOGLE_API_KEY=<your google_api_key>' -e 'COHERE_API_KEY=<your cohere_api_key>' -e 'TAVILY_API_KEY=<your tavily_api_key>' -e 'OPENAI_API_KEY=<your openai_api_key>' -e 'ANTHROPIC_API_KEY=<your anthropic_api_key>' -e 'LANGSMITH_API_KEY=<your langsmith_api_key>' -- uvx vectora-agent==0.1.0rc3. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج io.github.brunosrz/vectora إلى مفتاح API؟
نعم. يتطلب GOOGLE_API_KEY, COHERE_API_KEY, TAVILY_API_KEY, OPENAI_API_KEY, ANTHROPIC_API_KEY, LANGSMITH_API_KEY، وتضبطها في إعداداته.
هل io.github.brunosrz/vectora مفتوح المصدر؟
شيفرته علنية على GitHub، لكن المستودع لا يعلن ترخيصًا قياسيًا.
من يصون io.github.brunosrz/vectora؟
ينشره brunosrz. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.