Bilibili Auto Transcript
支持B站视频一键转录与收藏夹自动扫描,三级降级转录+AI摘要生成。
通过CLI管理DO知识库与文档索引,支持RAG检索增强生成。
openclaw skills install @simondelorean/gradient-knowledge-base命令、参数、文件名以原文为准
⚠️ 本技能为非官方社区开发,由 DigitalOcean 不维护。使用需自行承担风险。
*"龙虾从不遗忘。你的智能体也不应遗忘。" —— 知识库龙虾*
利用 DigitalOcean 的 Gradient 知识库构建 [检索增强生成](https://docs.digitalocean.com/products/gradient-ai-platform/details/features/#retrieval-augmented-generation-rag) 流水线。将文档存储在 DO Spaces 中,将其索引到托管式知识库(基于 OpenSearch),并通过语义或混合搜索进行查询。
你的智能体 DigitalOcean
┌─────────────┐ 上传 ┌──────────────┐
│ 文档文件 │ ──────────▶ │ DO Spaces │
└─────────────┘ │ (S3 兼容) │
└──────┬───────┘
│ 自动索引
┌──────▼───────┐
│ 知识库 (KBaaS) │
│ ┌──────────┐ │
│ │OpenSearch│ │
│ └──────────┘ │
└──────┬───────┘
│ 检索
┌─────────────┐ 回答 ┌──────▼───────┐
│ 你的智能体 │ ◀────────── │ RAG 结果 │
│ + LLM │ │ + 引用信息 │
└─────────────┘ └──────────────┘📖 *[知识库文档](https://docs.digitalocean.com/products/gradient-ai-platform/how-to/create-manage-knowledge-bases/)*
该技能连接至 DigitalOcean 三个官方服务端点:
| 主机名 | 用途 | 文档 |
|---|---|---|
api.digitalocean.com | 知识库管理(创建、列出、删除、数据源) | [DO API 参考](https://docs.digitalocean.com/reference/api/) |
kbaas.do-ai.run | 知识库检索 —— 语义或混合搜索查询 | [知识库检索文档](https://docs.digitalocean.com/products/gradient-ai-platform/how-to/create-manage-knowledge-bases/) |
inference.do-ai.run | 用于 RAG 合成的 LLM 对话补全 | [推理文档](https://docs.digitalocean.com/products/gradient-ai-platform/how-to/use-serverless-inference/) |
<region>.digitaloceanspaces.com | S3 兼容对象存储 | [Spaces 文档](https://docs.digitalocean.com/products/spaces/) |
所有端点均由 DigitalOcean 所有并运营。*.do-ai.run 域名为 Gradient AI 平台的服务域名。
该技能使用 两种不同的凭证 —— 可以理解为双钳策略:
| 凭证 | 使用场景 | 环境变量 |
|---|---|---|
| DO API Token | 知识库管理、索引、查询 | DO_API_TOKEN |
| Gradient API Key | RAG 合成中的 LLM 推理 | GRADIENT_API_KEY |
| Spaces 密钥 | S3 兼容上传 | DO_SPACES_ACCESS_KEY + DO_SPACES_SECRET_KEY |
凭证权限最小化原则: 使用权限最小的令牌。为
GRADIENT_API_KEY创建专用的 [模型访问密钥](https://docs.digitalocean.com/products/gradient-ai-platform/how-to/manage-access-keys/)。对于DO_API_TOKEN,使用具有仅知识库和 Spaces 权限的 [受限 API 令牌](https://docs.digitalocean.com/reference/api/create-personal-access-token/)。避免使用账户根令牌。
可选但推荐设置:
export GRADIENT_KB_UUID="your-kb-uuid" # 默认用于查询的知识库 UUID
export DO_SPACES_BUCKET="your-bucket" # 默认用于上传的存储桶
export DO_SPACES_ENDPOINT="https://nyc3.digitaloceanspaces.com"将文件上传至 DO Spaces,供知识库索引使用。这是存储层 —— 文档在此处落地后才会被索引。
# 上传文件
python3 gradient_spaces.py --upload /path/to/report.md --bucket my-kb-data
# 上传并指定键前缀(模拟文件夹结构)
python3 gradient_spaces.py --upload report.md --bucket my-kb-data --prefix "research/2026-02-15/"
# 列出存储桶中的文件
python3 gradient_spaces.py --list --bucket my-kb-data
# 使用前缀过滤列出文件
python3 gradient_spaces.py --list --bucket my-kb-data --prefix "research/"
# 删除文件
python3 gradient_spaces.py --delete "research/old_report.md" --bucket my-kb-data📖 *[DO Spaces 文档](https://docs.digitalocean.com/products/spaces/)*
支持知识库的完整增删改查操作。可通过程序化方式创建,无需像陆地生物一样在控制台点击操作。
# 列出所有知识库
python3 gradient_kb_manage.py --list
# 创建新知识库
python3 gradient_kb_manage.py --create --name "我的研究知识库" --region nyc3
# 查看特定知识库详情
python3 gradient_kb_manage.py --show --kb-uuid "your-kb-uuid"
# 删除知识库(⚠️ 永久性删除!)
python3 gradient_kb_manage.py --delete --kb-uuid "your-kb-uuid"📖 *[通过 API 创建知识库](https://docs.digitalocean.com/products/gradient-ai-platform/how-to/create-manage-knowledge-bases/)*
将您的 DO Spaces 存储桶(或网页 URL)连接到知识库。这一步告诉知识库“请索引这些文档”。
# 添加 DO Spaces 数据源
python3 gradient_kb_manage.py --add-source \
--kb-uuid "your-kb-uuid" \
--bucket my-kb-data \
--prefix "research/"
# 列出某个知识库的数据源
python3 gradient_kb_manage.py --list-sources --kb-uuid "your-kb-uuid"
# 触发重新索引(自动检测数据源)
python3 gradient_kb_manage.py --reindex --kb-uuid "your-kb-uuid"
# 为特定数据源触发重新索引
python3 gradient_kb_manage.py --reindex --kb-uuid "your-kb-uuid" --source-uuid "ds-uuid"🦞 小贴士:自动索引。 如果知识库启用了自动索引功能,可跳过手动触发重索引。知识库会自动检测 DO Spaces 存储桶中的变更。可在 [DigitalOcean 控制台](https://cloud.digitalocean.com) → 知识库 → 设置 中配置。
Skill: Gradient Knowledge Base
Version: 0.1.4
Chunk: 2/2
使用语义或混合查询检索已索引的文档。这里就是魔法发生的地方——你的文档将转化为答案。
# 基础查询
python3 gradient_kb_query.py --query "Q4 财务报告发生了什么?"
# 控制返回结果数量
python3 gradient_kb_query.py --query "收入趋势" --num-results 20
# 调整混合搜索平衡(见下文)
python3 gradient_kb_query.py --query "$CAKE 价格走势" --alpha 0.5
# JSON 输出(用于与其他工具管道连接)
python3 gradient_kb_query.py --query "SEC 文件摘要" --json直接 API 调用:
curl -s https://kbaas.do-ai.run/v1/{kb-uuid}/retrieve \
-H "Authorization: Bearer $DO_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"query": "Q4 财务报告发生了什么?",
"num_results": 10,
"alpha": 0.5
}'📖 *[KB 检索 API 文档](https://docs.digitalocean.com/products/gradient-ai-platform/how-to/create-manage-knowledge-bases/#query-a-knowledge-base)*
alpha 参数 — 混合搜索调优这是关键所在。alpha 参数控制关键词(字面)与语义(含义)搜索之间的平衡:
| Alpha | 行为 | 适用场景 |
|---|---|---|
0.0 | 纯关键词匹配 | 精确术语:股票代码、文件编号、日期 |
0.5 | 平衡的混合模式 | 通用研究类查询 |
1.0 | 纯语义搜索(基于含义) | 开放式问题:“发生了什么?”,“总结……” |
🦞 捕蟹法则: 初始建议设为
0.5。若搜索特定内容(如$CAKE、10-K、2026-02-15),可降低数值;若探索概念(如“市场情绪如何?”),则提高数值。
完整流程:查询知识库 → 构建上下文提示 → 调用大模型生成综合回答。一条命令,即可获得带引用的答案。
python3 gradient_kb_query.py \
--query "汇总所有关于 $CAKE 的研究" \
--rag \
--model "openai-gpt-oss-120b"该命令自动完成以下步骤:
注意: RAG 查询会调用 [Gradient 推理 API](https://docs.digitalocean.com/products/gradient-ai-platform/how-to/use-serverless-inference/),因此需要设置
GRADIENT_API_KEY。如果你已加载gradient-inference技能,则无需额外配置。
创建知识库时,可选择文档的分块方式:
| 策略 | 工作原理 | 适用场景 |
|---|---|---|
| 按章节分块 | 根据文档结构(标题、段落)进行分割 | 结构化报告 |
| 语义分块 | 在语义边界处进行分割 | 叙述性内容 |
| 分层分块 | 保留文档层级关系在分块中 | 技术文档 |
| 固定长度分块 | 等长分块 | 数据格式统一 |
可在 [DigitalOcean 控制台](https://cloud.digitalocean.com) 创建知识库时配置,或通过 API 的 embedding_model 和分块参数设置。
📖 *[知识库配置选项](https://docs.digitalocean.com/products/gradient-ai-platform/details/features/#retrieval-augmented-generation-rag)*
所有脚本均支持 --json 参数,输出机器可读格式。
gradient_spaces.py --upload FILE | --list | --delete KEY
[--bucket NAME] [--prefix PATH] [--key KEY] [--json]
gradient_kb_manage.py --list | --create | --show | --delete
| --list-sources | --add-source | --reindex
[--kb-uuid UUID] [--source-uuid UUID]
[--name NAME] [--region REGION] [--bucket NAME]
[--prefix PATH] [--json]
gradient_kb_query.py --query TEXT [--kb-uuid UUID] [--num-results N]
[--alpha F] [--rag] [--model ID] [--json]| 变量 | 是否必需 | 说明 |
|---|---|---|
DO_API_TOKEN | ✅ | DigitalOcean API 密钥(权限范围:GenAI + Spaces) |
DO_SPACES_ACCESS_KEY | ✅ | Spaces 访问密钥 |
DO_SPACES_SECRET_KEY | ✅ | Spaces 私密密钥 |
DO_SPACES_ENDPOINT | 可选 | Spaces 端点(默认值:https://nyc3.digitaloceanspaces.com) |
DO_SPACES_BUCKET | 可选 | 默认存储桶名称 |
GRADIENT_KB_UUID | 可选 | 默认知识库 UUID(避免每次输入 --kb-uuid) |
GRADIENT_API_KEY | RAG 所需 | 使用 --rag 进行大模型合成时所需 |
| 接口地址 | 用途 |
|---|---|
https://kbaas.do-ai.run/v1/{uuid}/retrieve | 知识库检索 API |
https://api.digitalocean.com/v2/gen-ai/knowledge_bases/ | 知识库管理 API |
https://{region}.digitaloceanspaces.com | DigitalOcean Spaces(兼容 S3) |
DO_API_TOKEN 将作为 Bearer Token 发送到 api.digitalocean.com 和 kbaas.do-ai.run{region}.digitaloceanspaces.com 上传数据使用此技能意味着你将文档和查询发送至 DigitalOcean 的知识库与 Spaces API。请仅在信任 DigitalOcean 处理你所索引文档的前提下安装。
已收录 1 个 Skill