Memory

ht-skills

Try it

管理灏天文库文集和文档,支持新建文集、新建文档、查询文集/文档、更新文档、修改文档归属、管理文档层级、查询个人花园限制与用量;支持文档片段 RAG 检索、图片上传到 COS、图片分组、查询图片列表/详情与图片额度。适用于 OpenClaw 自主写文章并上传、文集创建、文档入库、知识检索、文档移动、插图上传与外链等场景。

What it does

管理灏天文库文集和文档,支持新建文集、新建文档、查询文集/文档、更新文档、修改文档归属、管理文档层级、查询个人花园限制与用量;支持文档片段 RAG 检索、图片上传到 COS、图片分组、查询图片列表/详情与图片额度。适用于 OpenClaw 自主写文章并上传、文集创建、文档入库、知识检索、文档移动、插图上传与外链等场景。

The skill document

ht-skills 灏天文库管理(客户端)

通过服务端 API 调用,需配置 config.json 中的token(个人 API Token)。


客户端注意事项(必须遵守)

  • 个人花园范围list_collections / get_collection / 新建与修改文档等读写操作仅针对个人花园;用户在灏天文库网页上的精品文集等非花园文集不会出现在列表中,也无法通过 ht-skills 操作。若接口返回「已晋升为精品文集」,请引导用户前往 灏天文库 网页编辑。
  • 查询文集列表:无 --limit--offset;仅返回当前用户的个人花园文集。
  • 查询文档列表:必须带 --collection-id(文集 ID);若没有文集 ID,需先 list_collections.py --name "文集名称" 查询,或向用户询问目标文集名称
  • 查询文档列表:无 --limit--offset
  • 更新文档author 字段不可更新,只能更新 name、content、sort、parent。
  • 修改文档归属:需有目标文集权限;一篇文档只属于一个文集,使用 move_document.py --id <文档ID> --collection-id <目标文集ID> 即可。
  • 文档归属:一篇文档只属于一个文集(产品约束)。
  • 图片上传:需本地可读图片路径;大文件上传耗时较长。上传成功后响应中的 file_url 可直接用于正文插图。
  • 图片分组:使用 --group-id 前可用 list_image_groups.py 查询分组 ID;分组必须属于当前用户。
  • RAG 文档片段检索--collection-ids 须为灏天文库公开精品文集 ID(见下方公开目录链接);不要list_collections.py 查个人花园文集 ID 来做 RAG 检索。

智能体执行规范(必须遵守)

规范一:修改特定文档

  1. 先查询:使用 list_documents.py --collection-id <文集ID> --name "关键词"get_document.py --id 定位要修改的文档,确认文档 ID。
  2. 再修改:使用 update_document.py --id 修改标题、正文。

规范二:添加特定文档

  1. 文集必填:用户必须提供目标文集。若用户未提供或只说「随便加」「你决定」等,必须主动询问:「请告知要将文档添加到的文集名称」。
  2. 查询文集 ID:用户给出文集名称后,用 list_collections.py --name "文集名称" 查询文集 ID;若不存在则询问是否新建。
  3. 添加文档:使用 add_document.py --collection-id --name "标题" [--content 内容] [--content-file 文件路径]

规范三:添加文集

  1. 用户确认:新建文集前必须让用户确认要创建的文集名称,例如:「将创建文集「xxx」,请确认名称是否正确?」。
  2. 封面提示:向用户说明——灏天文库会在创建后半小时内自动生成一次封面图;目前不支持自定义封面;之后若改名,封面可能与名称不一致,请谨慎操作。创建成功后 API 响应含 cover_notice,须转告用户。
  3. 确认后再执行:用户确认后再执行 create_collection.py --name "文集名称"。若使用 --get-if-exists 则同名已存在时直接返回已有 ID,不重复创建。
  4. 修改文集名称:使用 update_collection.py --id --name "新名称" 前,须提醒用户改名可能导致封面与名称不一致(响应含 cover_notice)。

规范四:修改文档归属

  1. 先定位文档:用 list_documents.py --collection-id <文集ID> --name "关键词"get_document.py --id 确认文档 ID。
  2. 确认目标文集:用户需提供目标文集名称或 ID;若无则 list_collections.py --name "关键词" 查询。
  3. 执行移动:使用 move_document.py --id <文档ID> --collection-id <目标文集ID>

规范五:上传图片并用于文档

  1. 可选分组:若用户要归类图片,先 list_image_groups.pycreate_image_group.py --name "分组名" 取得 group_id
  2. 检查额度(可选):get_image_limits_usage.py 确认 can_upload
  3. 上传upload_image.py --file "路径" [--remark "说明"] [--group-id N]
  4. 使用链接:从返回 JSON 的 data.file_url 插入文档 Markdown/HTML;勿猜测 URL。

规范六:文档片段检索(RAG)

  1. 明确检索问题:用户给出要问的内容或关键词,作为 --content
  2. 确定目标文集 ID(必填,最多 5 个):
    • 公开精品文集 ID 从灏天文库官方目录获取(含 ID 与名称对照表):
    • 在目录中按分类或搜索找到与用户问题相关的文集名称,取表格 ID 列的数字(如 189 对应「AI 大模型」)。
    • 勿用 list_collections.py:该接口只返回当前用户个人花园文集,与 RAG 索引的公开精品文集不是同一套数据。
    • 若用户只说了领域/主题(如「人工智能」)而未指定具体文集,应先在公开目录中挑选 1~5 个最相关的文集 ID,必要时向用户确认。
  3. 执行检索
    python scripts/retrieve_documents.py --content "用户的问题" --collection-ids 189 907
    
  4. 使用返回结果:响应中的 sources 为相关片段及出处(文集名、文档名、source 字段等);本接口不调用大模型,由智能体根据片段自行组织回答或引用。若响应含 warning,说明传入文集超过 5 个,已自动截断。

规范七:个人花园配额与会员(写操作前建议执行)

  1. 写操作前先查配额:新建文集、新建文档、移动文档、更新较长正文前,先执行 get_garden_limits_usage.py,确认 usage.can_create_collection、目标文集的 documents_quotalimits.max_chars_per_document
  2. 解读会员状态:响应 data.membership.is_membertrue 表示当前为会员(member_status=1);实际配额上限仍以 data.limits 为准(由灏天文库计算,含等级 tier 与会员倍数)。
  3. 会员失效提示:若 is_memberfalse 且某文集 documents_quota.used 已超过当前 limit,应告知用户「存量保留,但不能再新建/扩容」;更新超长正文可能因字数上限被 403 拒绝。
  4. 配额不足时:不要强行重试写接口;向用户说明当前 已用/上限(如 collections_quota.textdocuments_quota.text),建议删减内容、更换文集或续费会员后再操作。

规范八:申请花园文集晋升精品文集

  1. 与个人花园维护不同:晋升是把已有个人花园文集申请变为平台精品文集;记录写入 sys_collection_upload,由管理员在灏天文库「文集审核管理」审核。
  2. 提交前先查额度check_garden_promotion_quota.py,确认 can_submit 为 true(每用户 24 小时最多 1 次);响应中的 notice 为晋升后果说明,须向用户宣读。
  3. 确认文集 IDlist_collections.pyget_collection.py;文集内应已有文档。
  4. 晋升前必须向用户确认:向用户说明「审核通过后 OpenClaw/ht-skills 将无法再改文集名称、文档内容,请前往灏天文库网页维护;请确认内容已定稿」;用户同意后再提交
  5. 提交request_garden_promotion.py --collection-id [--reason "说明"] --confirm--confirm 必填,表示已向用户说明并获确认)。
  6. 跟踪list_my_garden_promotion_requests.py(status:0 待审、1 通过、2 驳回)。
  7. 晋升后编辑:若修改接口返回「已晋升为精品文集」,告知用户前往 灏天文库 网页编辑,勿反复重试 ht-skills 写接口。

前置条件

  1. config.json:在 client 目录配置 config.json,填写token
  2. 环境变量(可选):HT_SKILL_SERVER_URLHT_SKILL_TOKEN 优先级高于 config.json。
  3. 依赖pip install requests

脚本目录

所有脚本位于 scripts/,在 client 根目录执行。

功能一:新建文集(支持有则用、无则建)

python scripts/create_collection.py --name "文集名称" [--description "50字内简介"] [--brief "500字以上详细介绍"]
python scripts/create_collection.py --name "文集名称" --get-if-exists
  • 创建成功时响应含 cover_notice:半小时内自动生成封面一次,暂不支持自定义封面;后续改名可能导致封面与名称不一致

功能二:新建文档到指定文集

python scripts/add_document.py --collection-id 123 --name "文档标题" [--content "正文"] [--content-file 路径] [--parent 0]

功能三:查询文集列表

python scripts/list_collections.py [--name "关键词"]

功能四:查询文集详情

python scripts/get_collection.py --id 123 [--include-docs]

功能五:查询文档列表

python scripts/list_documents.py --collection-id 123 [--name "关键词"]
# collection-id 必填。若无文集 ID,需先 list_collections 查询或向用户询问

功能六:查询文档详情

python scripts/get_document.py --id 456

功能七:更新文档(修订已发文章)

python scripts/update_document.py --id 456 --name "新标题"
python scripts/update_document.py --id 456 --content "新正文"
python scripts/update_document.py --id 456 --content-file 文件路径
python scripts/update_document.py --id 456 --sort 50
python scripts/update_document.py --id 456 --parent 0

功能八:修改文档归属(移动到目标文集)

# 将文档移动到目标文集(一篇文档只属于一个文集)
python scripts/move_document.py --id 456 --collection-id 789
  • --id:文档 ID(必填)
  • --collection-id:目标文集 ID(必填)

功能九:设置文档父级(文集内层级)

python scripts/set_document_parent.py --collection-id 123 --document-id 456 --parent 0 [--sort 1]
  • parent=0 表示根文档;同级别 sort 越小越靠前

功能十:查询当前用户个人花园限制与用量

python scripts/get_garden_limits_usage.py
  • 无参数,返回当前用户个人花园的限制与占用情况(仅统计 source_type=garden 文集)
  • 占用字段使用更直观的 已用/上限 结构(如 3/1018/100
  • 响应含 data.membershipis_membermember_status),便于向用户解释会员与配额;实际上限以 data.limits 为准

功能十一:图片分组

python scripts/create_image_group.py --name "分组名称"
python scripts/list_image_groups.py [--limit 100] [--offset 0]
python scripts/update_image_group.py --id <分组ID> --name "新名称"

功能十二:图片上传与查询

python scripts/get_image_limits_usage.py
python scripts/upload_image.py --file "图片路径" [--remark "备注"] [--group-id N]
python scripts/list_images.py [--group-id N] [--name "文件名关键词"] [--limit 50] [--offset 0]
python scripts/get_image.py --id <图片ID>
  • 上传成功后的 data.file_url 为可访问地址(依赖服务端 cos.public_base_urlcos.domain 配置)
  • list_images.py--name 对应服务端查询参数 file_name(文件名模糊匹配)

功能十三:文档片段检索(RAG)

从灏天文库 RAG 向量索引中检索与问题相关的文档片段及出处,不调用大模型

文集 ID 从哪里获取?

RAG 检索针对的是平台公开精品文集(已入库向量索引),ID 与名称对照见官方目录:

灏天文库文集完整目录公开

目录按领域分类(如「人工智能与大模型」「编程语言与开发框架」等),每行格式为 ID | 文集名称。执行检索时,将表格中的 ID 数字 作为 --collection-ids 传入即可(如 ID 189 可写 189collection_189)。

注意list_collections.py 只能查到当前用户自己的个人花园文集,不能替代上述公开目录;做 RAG 检索时请以上述链接为准。

命令示例

# 在公开目录中查到「AI 大模型」ID 为 189、「人工智能基础」ID 为 907 后:
python scripts/retrieve_documents.py --content "什么是 Transformer?" --collection-ids 189 907

# ID 也可带 collection_ 前缀
python scripts/retrieve_documents.py --content "检索内容" --collection-ids collection_189

参数说明

参数必填说明
--content检索内容/用户问题
--collection-ids文集 ID 列表,从公开目录获取;支持 21collection_21最多 5 个,超出仅使用前 5 个并返回 warning

返回结果怎么用

  • sources:命中的文档片段列表,含 content(片段)、document_namecollection_namesource(出处描述)、distance(相似度)等
  • collection_info:实际检索的文集、未建索引文集等汇总信息
  • 智能体应基于 sources 组织回答,并注明引用出处;勿编造目录中不存在的文集 ID

功能十四:花园文集晋升申请

python scripts/check_garden_promotion_quota.py
python scripts/request_garden_promotion.py --collection-id <文集ID> [--reason "申请说明"] --confirm
python scripts/list_my_garden_promotion_requests.py [--limit 50] [--offset 0]
  • 仅针对当前用户的个人花园文集(source_type=garden
  • 每用户 24 小时最多 1 次晋升申请
  • 提交前须向用户说明晋升后果;--confirm 表示已获用户确认(必填)
  • check_garden_promotion_quota 与提交成功响应均含 notice 字段(晋升后果说明)
  • 审核在灏天文库后台进行,通过后文集变为精品文集,ht-skills 写接口将不可用

Related skills

Search, list, read, and annotate local and cloud documents indexed by Linkly AI via CLI or MCP.

44 installs1 stars

查询、安装与更新 Skill 的核心工具。专门用于回答“我们/公司/康哲/玄关/CMS 有哪些技能”、“平台有哪些可用 Skill”、“有哪些官方/推荐/内置技能”等查询和筛选意图;并支持下载 Skill 的 ZIP 包安装或更新(覆盖安装)至当前 Agent 的 Workspace 本地目录下(默认为工作区的...

24 installs

在 Mac Mini (M4) 上快速搭建本地知识库 + RAG 自然语言搜索系统。 适用场景: - 新 Mac 配置知识库:从零开始安装配置 Ollama、embedding模型、定时任务、文档解析 - 遇到 PDF 提取乱码、定时任务超时、skill 加载失败等问题 - 想要建立每日自动分析文档 + 08:00发送摘要到飞书的流程 - 迁移或复现知识库:打包整个 knowledge 目录和配置到新电脑 - **v1.4 新增**:CMap 残缺度自检(不预设来源)+ 50万字完整提取 + OCR fallback 到 .doc 本 skill 会引导完成:目录结构创建、依赖安装、脚本部署、定时任务注册、OpenClaw 配置。

24 installs

HiFleet 综合技能:船位、档案、事故事件、制裁、海事处罚、轨迹/航程/航次、PSC、区域通航、港口、公开船货盘、港距排序、班轮船期、航线、气象、船队、AIS。Position, track, voyage, casualty, sanction, maritime penalty, PSC, port, public tonnage, liner schedule, fleet, weather, AIS.

38 installs1 stars

Import documents and run hybrid vector-plus-keyword search across WeKnora knowledge bases via the REST API.

40 installs13 stars

Run the AI Search Hub browser automation scripts for Yuanbao, LongCat, Doubao, Qwen, Gemini, and Grok. Use this skill when the user wants to ask one of those...

30 installs