← 返回 Skills 市场
yannan

contextloader

作者 燕楠 (Nan Yan) · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
182
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install contextloader
功能描述
基于 Context Loader API 加载业务知识网络上下文。适用于概念检索、对象类或行动类识别、对象实例查询、实例子图扩展、逻辑属性解析、动态动作工具召回,以及知识网络构建任务状态查询。
使用说明 (SKILL.md)

Context Loader

当任务涉及从业务知识网络加载上下文时,使用本技能。

典型触发场景:

  • 用户想知道某个问题相关的概念、对象类、关系类或行动类
  • 用户想查询某个已知对象类下的实例
  • 用户想围绕某个对象实例扩展关联图谱上下文
  • 用户需要计算某些实例的逻辑属性或指标值
  • 用户希望基于真实对象实例召回可执行动作
  • 用户想确认知识网络是否仍在构建,或希望触发重建

内置参考资料

按需读取以下文件:

  • references/api-calling.md:请求构造模式与最小调用示例
  • references/examples.md:中文端到端调用链示例
  • references/openapi/kn_schema_search.yaml
  • references/openapi/kn_search.yaml
  • references/openapi/query_object_instance.yaml
  • references/openapi/query_instance_subgraph.yaml
  • references/openapi/get_logic_properties_values.yaml
  • references/openapi/get_action_info.yaml
  • references/openapi/ontology_job.yaml

如果你不确定字段名、必填参数、枚举值或请求体结构,先查对应的 OpenAPI 文件,再发起请求。

标准工作流

除非用户已经明确提供可靠标识,否则优先按以下顺序执行:

  1. 如果用户没有明确给出 kn_id,先读取当前 agent 工作区中的 SOUL.md
  2. SOUL.md## 业务知识网络 表格中识别候选 BKN 地址,并尝试提取 kn_id
  3. ot_idat_id 未知时,先用 kn_schema_search 做概念识别
  4. 当用户需求较模糊时,用 kn_search 做混合检索
  5. kn_idot_id 已知时,调用 query_object_instance
  6. 当需要围绕真实实例扩展图谱上下文时,调用 query_instance_subgraph
  7. 当需要逻辑属性或指标值时,调用 get_logic_properties_values
  8. 只有拿到真实 _instance_identity 后,才调用 get_action_info

kn_id 读取规则

如果用户没有直接提供 kn_id,优先从当前 agent 的 SOUL.md 读取。

本项目里的 SOUL.md 约定包含一个业务知识网络表格:

  • 标题:## 业务知识网络
  • 表头:| 名称 | 地址 |

处理步骤:

  1. 读取当前工作区的 SOUL.md
  2. 找到 ## 业务知识网络 段落
  3. 解析表格中的每一行 名称 / 地址
  4. 地址 中提取 kn_id

优先按以下方式从 地址 提取 kn_id

  • 如果地址中带有查询参数 kn_id=\x3Cvalue>,直接取该值
  • 如果地址路径中包含 /knowledge-networks/\x3Ckn_id>,取该路径段
  • 如果地址路径中包含 /bkns/\x3Ckn_id>,取该路径段
  • 如果地址本身就是一个明显的知识网络标识,例如 kn_xxx,直接使用该值

如果 SOUL.md 中有多个 BKN 条目:

  • 先根据用户问题语义匹配最相关的 名称
  • 如果仍然无法唯一确定,先列出候选 BKN 并请用户确认

如果 SOUL.md 中没有 BKN 表格,或无法从地址中稳定提取 kn_id

  • 不要猜测 kn_id
  • 直接向用户追问,或先通过其他上游上下文确认

强约束

  • 不要臆造 _instance_identity
  • 不要臆造 ot_idat_id
  • 不要臆造 kn_id
  • _instance_identity 必须来自 query_object_instancequery_instance_subgraph
  • get_action_info 当前只支持单个对象实例
  • 过滤条件中的 value_fromvalue 必须同时出现
  • value_from 当前只支持 const
  • 路径子图查询中,object_typesrelation_types 的顺序必须严格对应

如何调用

基础地址从环境变量 CONTEXT_LOADER_BASE_URL 读取:值为 Context Loader(agent-retrieval)服务的完整根 URL,不含路径与末尾斜杠,例如 http://agent-retrieval:30779。将 OpenAPI 中的路径与查询串拼在该根 URL 之后即为完整请求 URL。

  • 如果 CONTEXT_LOADER_BASE_URL 未设置或为空,先停止调用并提示用户补充环境变量

使用环境中可用的任意 HTTP 请求工具即可。具体请求模板、必填请求头、最小请求体以及各接口调用指引,先查看 references/api-calling.md

鉴权约定:

  • 从环境变量 APP_USER_ID 读取 x-account-id
  • 调用时使用请求头 x-account-id: \x3CAPP_USER_ID>
  • 调用时固定使用 x-account-type: app
  • 不传递 Authorization 请求头
  • 如果 APP_USER_ID 缺失,先停止调用并提示用户补充环境变量

默认调用约定:

  • 优先使用 response_format=json
  • 除非 OpenAPI 明确标记为可选,否则传 x-account-idx-account-type
  • x-account-type 固定为 app
  • 用户未提供 kn_id 时,先读取 SOUL.md,再决定是否发起接口调用

输出要求

每次调用后:

  • 说明使用了哪个 API,以及为什么这样选
  • 返回已识别出的关键标识,如 kn_idot_idat_id_instance_identity
  • 如果返回多个候选实例,先列出候选项,再请用户确认下一步
  • 合适时给出下一步建议调用的 API
安全使用建议
本技能是“说明型”技能:它会读取工作区里的 SOUL.md(若用户未提供 kn_id)并把解析出的标识与 APP_USER_ID 一起发送到 CONTEXT_LOADER_BASE_URL 指定的服务。安装风险很低,但在使用前请确认:1) CONTEXT_LOADER_BASE_URL 指向可信的内部/受控服务(不要把它指向不明或公网地址),2) APP_USER_ID 的使用范围你已理解(该值会作为 x-account-id 头发送),3) 如果你不希望工作区内容被自动读取或发送,请在调用前手动提供 kn_id 或不要设置 CONTEXT_LOADER_BASE_URL。若你希望更严格的审查,请提供实际 CONTEXT_LOADER_BASE_URL 和组织的网络边界策略,以便进一步评估数据外泄风险。
功能分析
Type: OpenClaw Skill Name: contextloader Version: 1.0.0 The 'contextloader' skill bundle is a legitimate set of instructions and API definitions designed for an AI agent to interact with a business knowledge network (Knowledge Graph) system. It defines a clear workflow for semantic search, instance retrieval, and subgraph expansion using internal service endpoints (e.g., http://agent-retrieval:30779). The skill correctly utilizes environment variables for configuration and authentication (APP_USER_ID, CONTEXT_LOADER_BASE_URL) and includes detailed OpenAPI specifications and usage examples (SKILL.md, api-calling.md) without any evidence of malicious intent, data exfiltration, or harmful prompt injection.
能力评估
Purpose & Capability
技能名称和描述(基于 Context Loader API 加载业务知识网络上下文)与实际要求一致:它只需要一个服务根地址 (CONTEXT_LOADER_BASE_URL) 和账户 id (APP_USER_ID) 来调用一组 OpenAPI 接口,且提供了调用流程与接口选择逻辑,所需项与目的匹配。
Instruction Scope
SKILL.md 明确要求在需要时读取当前 agent 工作区的 SOUL.md(用于解析 kn_id)并按序调用后端 OpenAPI。读取工作区文件在本场景是可解释的,但要注意技能会把从工作区读取的标识/实例 ID 与 APP_USER_ID 一起发送到由 CONTEXT_LOADER_BASE_URL 指定的服务;如果该 URL 被设为不受信任的外部主机,会产生数据外发风险。
Install Mechanism
此技能为 instruction-only(无 install spec、无代码文件要写入磁盘),因此没有下载或安装风险,风险最低。
Credentials
仅要求两个环境变量:CONTEXT_LOADER_BASE_URL(服务根地址)与 APP_USER_ID(用于 x-account-id 头)。这两项与调用目标服务直接相关且合理。需要指出的风险是:任何具备控制 CONTEXT_LOADER_BASE_URL 或提供恶意远端服务的场景都可能导致敏感上下文(例如从 SOUL.md 读取的 kn_id 或实例标识)连同 APP_USER_ID 被发送到不受信任的接收端;这是配置/运行时信任边界问题,而非技能本身的不一致。
Persistence & Privilege
技能没有要求常驻(always)或修改其他技能/系统配置,默认允许主动调用模型(平台默认)。没有写入或长期存在的特权请求。
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install contextloader
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /contextloader 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of "contextloader" for loading business knowledge network contexts via the Context Loader API. - Supports concept retrieval, object/action type recognition, instance querying, subgraph expansion, logical property parsing, action recall, and knowledge network job status checking. - Provides standard workflows for identifying and using core identifiers (`kn_id`, `ot_id`, `at_id`, `_instance_identity`), with strict extraction logic from `SOUL.md`. - Enforces key constraints: do not fabricate IDs/instances, and follows strict API parameter requirements. - Integrates with environment variables `CONTEXT_LOADER_BASE_URL` and `APP_USER_ID` for configurable and secure API access. - Includes comprehensive reference material and detailed usage instructions in the documentation.
元数据
Slug contextloader
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

contextloader 是什么?

基于 Context Loader API 加载业务知识网络上下文。适用于概念检索、对象类或行动类识别、对象实例查询、实例子图扩展、逻辑属性解析、动态动作工具召回,以及知识网络构建任务状态查询。 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 182 次。

如何安装 contextloader?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install contextloader」即可一键安装,无需额外配置。

contextloader 是免费的吗?

是的,contextloader 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

contextloader 支持哪些平台?

contextloader 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 contextloader?

由 燕楠 (Nan Yan)(@yannan)开发并维护,当前版本 v1.0.0。

💬 留言讨论