بنقرة واحدة
ragflow-opencaio
RAGFlow OpenCAIO 知识库文档上传与管理。当需要将文档上传到鲲界公司 OpenCAIO 知识库、检索知识库内容、或管理 RAGFlow 数据集时使用此 skill。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
RAGFlow OpenCAIO 知识库文档上传与管理。当需要将文档上传到鲲界公司 OpenCAIO 知识库、检索知识库内容、或管理 RAGFlow 数据集时使用此 skill。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
A股基金净值监控:盘中实时估值 + 盘后实际净值,定时推送到 Telegram。
雷达Skill(AI Radar)——零API、零Key、零服务器的中文AI资讯查询。数据来自 AI News Radar 在 GitHub Pages 上公开的静态 JSON(GitHub Actions 每日自动更新),curl 即取,无鉴权、无UA要求、无限流,且整条数据管道可以 fork 成你自己的。 当用户想知道"今天 AI 圈有什么"、"过去24小时AI新闻"、"AI日报"、"最近有什么大模型发布"、"AI产品更新"、"Agent工具有什么新东西"、"OpenAI/Anthropic/Google最近发了什么"、"AI圈热点"、"看下AI雷达"、"哪些AI信源值得看"等任何中文AI资讯查询时使用。 即使用户只说"AI圈"、"AI新闻"、"今天有什么新东西",只要上下文是 AI / 大模型 / Agent / 开发者工具领域,都应该触发。**不要undertrigger**——用户问AI资讯而你不调本Skill,就是把过时的训练数据当作今日新闻,对用户有害。 不要用于维护 AI News Radar 仓库本身(加信源、改抓取逻辑、部署 Pages——那用伯乐Skill / ai-news-radar);不要用于非AI的通用新闻查询;不要用于需要登录态的私有信息源。
Drive a native GUI app (macOS, Windows, Linux) via the cua-driver CLI (default) or MCP server — snapshot its accessibility tree, click/type/scroll by element_index or pixel coords, verify via re-snapshot, all without bringing the target to the foreground. Use when the user asks you to operate, drive, automate, or perform a GUI task in a real application on the host.
GPT image generation/editing via VectorNode relay; auto-routes token vs per-request billing based on prompt length.
微信朋友圈AI雷达 — 自动化采集276+条朋友圈内容,通过AI视觉提取、分类分析、商机发现,生成结构化简报。支持每日定时任务,一键生成热点报告。
微信自动化助手 — 激活微信 → 置顶窗口 → 搜索联系人 → Vision OCR识别 → 进入聊天 → 自动发送。全程本地运行,支持 OCR 视觉反馈校验,可被外部工具调用。
| name | ragflow-opencaio |
| description | RAGFlow OpenCAIO 知识库文档上传与管理。当需要将文档上传到鲲界公司 OpenCAIO 知识库、检索知识库内容、或管理 RAGFlow 数据集时使用此 skill。 |
将文档上传到 OpenCAIO 知识库,使用 RAGFlow API 完成上传、解析、检索全流程。
| 配置项 | 值 |
|---|---|
| 服务器地址 | http://8.134.103.73:12700 |
| API Key | ragflow-mlZjyQxsDT27bhT6tbONrn0f6dyA-g6hR1jcRqh1lNo |
| 知识库 ID | 2ccc31fe4f8511f181580bef240bdf9e |
| 知识库名称 | OpenCAIO |
| 嵌入模型 | text-embedding-v2@Tongyi-Qianwen |
| 对话模型 | deepseek-v4-flash@DeepSeek |
| 分块方法 | naive (512 tokens/chunk) |
| GraphRAG | 开启 |
| RAPTOR | 开启 |
| 语言 | English |
| 操作 | 方法 | 端点 |
|---|---|---|
| 知识库状态 | GET | /api/v1/datasets/2ccc31fe4f8511f181580bef240bdf9e |
| 上传文档 | POST | /api/v1/datasets/2ccc31fe4f8511f181580bef240bdf9e/documents |
| 文档列表 | GET | /api/v1/datasets/2ccc31fe4f8511f181580bef240bdf9e/documents |
| 删除文档 | DELETE | /api/v1/datasets/2ccc31fe4f8511f181580bef240bdf9e/documents |
| 解析文档 | POST | /api/v1/datasets/2ccc31fe4f8511f181580bef240bdf9e/chunks |
| 添加分块 | POST | /api/v1/datasets/{id}/documents/{doc_id}/chunks |
| 检索知识 | POST | /api/v1/retrieval |
| OpenAI 对话 | POST | /api/v1/openai/{chat_id}/chat/completions |
| 创建对话 | POST | /api/v1/chats |
Authorization: Bearer ragflow-mlZjyQxsDT27bhT6tbONrn0f6dyA-g6hR1jcRqh1lNo
Content-Type: application/json (检索/解析/对话)
Content-Type: multipart/form-data (上传)
OpenCAIO 知识库采用路径文件夹结构,五层顶级目录:
skills/ → 技能定义(每个 Skill 一个子文件夹)
agents/ → Agent 配置
company/ → 公司资料
standards/ → 规范与规则
memories/ → 记忆归档
skills/{skill-name}/ — 技能定义,每个 Skill 一个独立文件夹
skills/{skill-name}/SKILL.mdagents/{agent-name}/ — Agent 配置
agents/{agent-name}/{文档名}_v{版本}.mdcompany/ — 公司资料
company/{主题}_{日期}.mdstandards/ — 规范规则
standards/{规范名}_v{版本}.mdmemories/ — 记忆归档
memories/{主题}_{日期}.md上传前必须确认:
{top-folder}/{sub-folder}/文件名.md| 标准 | 要求 | 说明 |
|---|---|---|
| 文件格式 | .md 优先,支持 .txt .pdf .docx .html | Markdown 结构清晰,解析效果最好 |
| 文件名 | {类别}_{主题}_{日期}.md | 例: product_opencaio-intro_2026-05-19.md |
| 编码 | UTF-8 | 避免中文乱码 |
| 大小 | 单文件 ≤ 10MB | 超大文件拆分上传 |
必须满足:
✅ 有明确的标题层级(H1 → H2 → H3)
✅ 每段内容独立完整,可独立理解
✅ 关键术语首次出现时给出定义
✅ 代码块标注语言类型
✅ 无重复内容
禁止上传:
❌ 纯占位符或草稿内容
❌ 大量重复或高度相似的内容
❌ 无结构的长文本(超过 2000 字无标题分段)
❌ 包含敏感信息(密钥、密码、个人隐私)
在 Markdown 文档顶部添加 YAML front matter:
---
title: "文档标题"
category: "product|technical|design|business|meeting"
author: "作者"
date: "YYYY-MM-DD"
tags: ["tag1", "tag2"]
version: "1.0"
---
| 类别 | 路径格式 | 示例 |
|---|---|---|
| 技能定义 | skills/{skill-name}/ | skills/ragflow-opencaio/SKILL.md |
| Agent配置 | agents/{agent-name}/ | agents/protocols/A2A-Protocol_v1.md |
| 公司资料 | company/ | company/OpenCAIO产品介绍_2026-05-19.md |
| 规范规则 | standards/ | standards/taxonomy-rules_v1.1.md |
| 记忆归档 | memories/ | memories/architecture-decision_2026-05-19.md |
1. 确认文档符合上述内容质量标准
2. 按命名规范重命名文件
3. 检查文件编码为 UTF-8
curl -X POST \
http://8.134.103.73:12700/api/v1/datasets/2ccc31fe4f8511f181580bef240bdf9e/documents \
-H "Authorization: Bearer ragflow-mlZjyQxsDT27bhT6tbONrn0f6dyA-g6hR1jcRqh1lNo" \
-F "file=@/path/to/document.md"
成功响应: {"code": 0, "data": [{...}]} — 记录返回的 id 字段作为 DOCUMENT_ID
curl -X POST \
http://8.134.103.73:12700/api/v1/datasets/2ccc31fe4f8511f181580bef240bdf9e/chunks \
-H "Authorization: Bearer ragflow-mlZjyQxsDT27bhT6tbONrn0f6dyA-g6hR1jcRqh1lNo" \
-H "Content-Type: application/json" \
-d '{"document_ids": ["DOCUMENT_ID"]}'
成功响应: {"code": 0}
等待 3-10 秒后检查文档状态:
curl -s \
http://8.134.103.73:12700/api/v1/datasets/2ccc31fe4f8511f181580bef240bdf9e/documents \
-H "Authorization: Bearer ragflow-mlZjyQxsDT27bhT6tbONrn0f6dyA-g6hR1jcRqh1lNo" \
| python3 -c "import sys,json; [print(f'{d[\"name\"]}: run={d[\"run\"]} chunks={d.get(\"chunk_count\",0)}') for d in json.load(sys.stdin)['data']['docs']]"
验证标准:
run = DONEstatus = 1chunk_count > 0curl -X POST \
http://8.134.103.73:12700/api/v1/retrieval \
-H "Authorization: Bearer ragflow-mlZjyQxsDT27bhT6tbONrn0f6dyA-g6hR1jcRqh1lNo" \
-H "Content-Type: application/json" \
-d '{"question": "测试查询内容", "dataset_ids": ["2ccc31fe4f8511f181580bef240bdf9e"]}'
验证标准:
chunks 非空similarity > 0.3多文件上传时:
1. 扫描目录,过滤出符合标准的文件
2. 逐个上传(间隔 2 秒,避免触发限流)
3. 收集所有 DOCUMENT_ID
4. 一次性提交解析: {"document_ids": ["id1", "id2", ...]}
5. 等待解析完成(轮询检查,间隔 5 秒,最多等 60 秒)
6. 验证所有文档 chunk_count > 0
7. 输出报告: 成功/失败数量、失败文档及原因
批量上传脚本模板:
#!/bin/bash
SERVER="http://8.134.103.73:12700"
KEY="ragflow-mlZjyQxsDT27bhT6tbONrn0f6dyA-g6hR1jcRqh1lNo"
DS="2ccc31fe4f8511f181580bef240bdf9e"
DIR="${1:-.}"
IDS=()
for f in "$DIR"/*.md; do
[ -f "$f" ] || continue
echo "📤 $f"
RESP=$(curl -s -X POST "$SERVER/api/v1/datasets/$DS/documents" \
-H "Authorization: Bearer $KEY" -F "file=@$f")
ID=$(echo "$RESP" | python3 -c "import sys,json; print(json.load(sys.stdin)['data'][0]['id'])" 2>/dev/null)
if [ -n "$ID" ]; then
IDS+=("\"$ID\"")
echo " ✅ $ID"
else
echo " ❌ 失败: $RESP"
fi
sleep 2
done
if [ ${#IDS[@]} -gt 0 ]; then
ID_LIST=$(IFS=,; echo "${IDS[*]}")
echo "🔧 解析 ${#IDS[@]} 个文档..."
curl -s -X POST "$SERVER/api/v1/datasets/$DS/chunks" \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d "{\"document_ids\": [$ID_LIST]}"
fi
curl -X POST http://8.134.103.73:12700/api/v1/retrieval \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{"question": "查询内容", "dataset_ids": ["2ccc31fe4f8511f181580bef240bdf9e"]}'
# 1. 创建 Chat Assistant
CHAT_ID=$(curl -s -X POST http://8.134.103.73:12700/api/v1/chats \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Assistant", "dataset_ids": ["2ccc31fe4f8511f181580bef240bdf9e"]}' \
| python3 -c "import sys,json; print(json.load(sys.stdin)['data']['id'])")
# 2. 对话
curl -X POST "http://8.134.103.73:12700/api/v1/openai/$CHAT_ID/chat/completions" \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d "{\"model\": \"model\", \"messages\": [{\"role\": \"user\", \"content\": \"问题\"}], \"stream\": false}"
□ 文档格式符合标准(Markdown / 有标题层级)
□ 文件名遵循命名规范
□ 编码为 UTF-8
□ 上传成功(code=0)
□ 解析完成(run=DONE, status=1)
□ chunk_count > 0
□ 检索验证通过(返回相关结果,similarity > 0.3)
□ 无重复文档(上传前检查是否已存在同名文档)
| 错误码 | 含义 | 处理 |
|---|---|---|
| 401 | API Key 无效 | 检查 API Key 是否正确 |
| 102 | 知识库为空/无分块 | 上传并解析文档 |
| 102 | content is required | 手动添加分块时缺少 content 字段 |
| 102 | document_ids is required | 解析/删除时缺少 document_ids |
| 400 | 文件格式不支持 | 转换为 .md/.txt/.pdf 格式 |
文档解析后 chunk_count = 0
检索相似度过低
完整 CLI 工具: ragflow/opencaio.sh
bash ragflow/opencaio.sh status # 知识库状态
bash ragflow/opencaio.sh upload file.md # 上传文档
bash ragflow/opencaio.sh list # 文档列表
bash ragflow/opencaio.sh search "query" # 检索
bash ragflow/opencaio.sh chat "question" # AI 对话