一键导入
blink-rag
Knowledge base with vector search, document upload, collections, and AI-powered Q&A with citations. Semantic search over uploaded documents.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Knowledge base with vector search, document upload, collections, and AI-powered Q&A with citations. Semantic search over uploaded documents.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
OAuth connector system for 38+ third-party services. Execute API calls to Google, Notion, Slack, Discord, GitHub, Stripe, Jira, HubSpot, Salesforce, LinkedIn, and more.
End-to-end guide for building and shipping a Blink app. Project setup, SDK init, auth, database, backend, deploy, and custom domains. Index to all other skills.
Authentication with managed and headless modes. Social providers, email/password, magic links, RBAC.
Build and deploy Blink apps to production. Preview vs production deploys, deploy pipeline, static site hosting.
Blink Claw agent management — managed AI agent hosting on Fly.io. List agents, check status, manage secrets. For autonomous agents, Telegram/Discord bots, and scheduled workflows.
AI Gateway for text generation, image generation/editing, video generation, text-to-speech, audio transcription, and AI phone calls. Unified access to 50+ models.
| name | blink-rag |
| description | Knowledge base with vector search, document upload, collections, and AI-powered Q&A with citations. Semantic search over uploaded documents. |
# Search a collection
blink rag search docs "How do I configure auth?"
# Upload a document
blink rag upload docs ./guide.txt
# List collections
blink rag collections
| Tool | Description |
|---|---|
blink_rag_search | Semantic search or AI Q&A over a collection |
blink_rag_collections | List available collections |
// Create collection
const col = await blink.rag.createCollection({ name: 'docs', description: 'Product docs' })
// Upload document
const doc = await blink.rag.upload({
collectionName: 'docs',
filename: 'guide.txt',
content: 'Your content...',
})
await blink.rag.waitForReady(doc.id)
// Vector search
const results = await blink.rag.search({
collectionName: 'docs',
query: 'How do I configure auth?',
maxResults: 5,
})
// AI search (RAG) — returns answer + sources
const result = await blink.rag.aiSearch({
collectionName: 'docs',
query: 'What are the main features?',
model: 'google/gemini-3-flash',
})
console.log(result.answer, result.sources)
// Text content
await blink.rag.upload({ collectionName: 'docs', filename: 'notes.txt', content: 'Text...' })
// From URL
await blink.rag.upload({ collectionName: 'docs', filename: 'article.html', url: 'https://example.com/article' })
// File (base64)
await blink.rag.upload({ collectionName: 'docs', filename: 'report.pdf', file: { data: base64, contentType: 'application/pdf' } })
Do NOT upload PDFs directly as base64 — embeddings may store incorrectly. Extract text first:
// 1. Upload PDF to storage
const { publicUrl } = await blink.storage.upload(pdfFile, `docs/${Date.now()}_${pdfFile.name}`)
// 2. Extract text
const text = await blink.data.extractFromUrl(publicUrl)
// 3. Upload extracted text as content
await blink.rag.upload({ collectionName: 'docs', filename: pdfFile.name, content: text })
Documents go through: pending → processing → ready (or error). Processing takes 30-40 seconds. Always wait before searching:
const doc = await blink.rag.upload({ ... })
await blink.rag.waitForReady(doc.id, { timeoutMs: 120000 })
const stream = await blink.rag.aiSearch({
collectionName: 'docs',
query: 'Explain the architecture',
stream: true,
})
Always use google/gemini-3-flash for RAG AI search. Deprecated models will fail.
| Error | Fix |
|---|---|
| 409 "Collection exists" | Catch and reuse existing collection |
| Zero tokens in search | Document still processing — wait for ready status |
| "Identical content" on upload | Duplicate doc — catch error, use existing doc ID |