Skip to main content

bkn-bind

为 BKN 对象匹配 Vega resource,输出绑定决议。

설치로 이동

소스 정보

저장소
openbkn-ai/bkn-engineering
최근 소스 활동
2026년 9월 11일 05:48
감지된 SKILL.md 언어
중국어
스타
17
포크
4

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
3 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
bkn-bind
description
为 BKN 对象匹配 Vega resource,输出绑定决议。
# 资源绑定 公约:`../_shared/contract.md` | 绑定规则:`references/binding-rules.md` | 语义服务:`references/semantic-guide.md` ## 做什么 给定对象草案和候选资源,为每个对象找到最佳绑定资源,输出 bound / pending / rejected。 ## 输入 - `object_draft_list`:对象清单(含属性和 `存储位置` 标记) - `candidate_resources`:候选资源(空则使用 `bkn-env` 输出的 `resource_availability.available_resources` 进行匹配) - `resource_availability`:可选,`bkn-env` 输出的完整信封 - `network_context`:网络名、领域 ## 流程 1. **存储位置过滤**: - 跳过 `存储位置: local` 的对象(本地对象无需资源绑定) - 在输出中记录被跳过的 local 对象列表 - 仅对 `platform` 对象执行后续步骤 2. 从对象描述提取数据源线索 3. 委托 `bkn-openbkn` 查资源存在性 + property schema(`openbkn vega resource query`) 4. **property schema 输出**:将每个已绑定对象的资源属性写入 `resource_schema_map`,供 `bkn-map` 做属性回灌和 `bkn-draft` 做属性命名预对齐 5. 字段兼容性验证:逐属性比对,`not_found > 50%` 降级为 ambiguous 6. 补充匹配:语义服务(`references/semantic-api.md`)+ GKN 复用 7. 逐对象决议:bound / pending / rejected 8. 数据源一致性校验:不同 datasource_id 标记风险 判定规则见 `references/binding-rules.md` ## 输出 ```yaml binding_decision_list: bound: [{object_id, object_name, selected_resource_id, confidence, reason}] pending: [{object_id, object_name, candidates, blocking_points}] rejected: [{object_id, object_name, reason}] skipped_local_objects: [对象名] binding_summary: total_objects: 0 # 仅计算 platform 对象 bound_objects: 0 binding_rate: 0.0 # bound_objects / total_objects(不含 local 对象) resource_schema_map: {object_name}: resource_id: "" resource_name: "" datasource_id: "" # 数据源 ID(用于跨数据源判断) properties: [{name, type, description}] foreign_keys: # 外键信息(用于关系类型判定) - field: "" # 本视图中的外键字段名 references_view_id: "" # 引用的视图 ID(如有) references_table: "" # 引用的物理表名(如有) references_field: "" # 引用的字段名 ``` ## 资源匹配职责 `bkn-bind` 是对象-资源匹配的唯一决策点。`bkn-env` 仅提供可用资源列表(`resource_availability`),不做匹配推荐。 **候选资源来源**: 1. `candidate_resources` 非空 → 使用用户传入的候选列表(`resource_availability` 仅用于截断风险检查) 2. `candidate_resources` 为空 + `resource_availability` 存在 → 使用 `resource_availability.available_resources` 3. `candidate_resources` 为空 + `resource_availability` 不存在(如 update pipeline 跳过了 bkn-env)→ warn 用户"无候选资源列表,请手动指定 resource_id 或 resource_name 辅助匹配" **截断风险处理**:当 `resource_availability.truncated == true` 时: - 向用户发出 warning:"平台视图列表可能存在截断,自动匹配可能遗漏目标视图。建议手动指定 view_id 或 view_name 辅助匹配。" - 继续用已获取的候选列表执行匹配,不阻断流程 - 匹配结果为 pending 时,提示用户可能需要手动确认 view_id ## 约束 - 只做对象级绑定,属性映射交 `bkn-map` - 绑定值必须是 `resource_id`,不用名称替代 - 多候选无法裁决时输出 pending,不强选 - 不静默忽略数据源不一致
GitHub에서 보기