بنقرة واحدة
auth-manager
数据权限管理技能:支持资源权限查询与权限申请。 先判定“查询权限”还是“申请权限”,再按资源类型执行对应接口。 当用户提出“申请权限”、“查是否有权限”、“给某资源授权”时使用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
数据权限管理技能:支持资源权限查询与权限申请。 先判定“查询权限”还是“申请权限”,再按资源类型执行对应接口。 当用户提出“申请权限”、“查是否有权限”、“给某资源授权”时使用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Guides creation of BKN (Business Knowledge Network) definition files following v2.0.1 spec. Covers network, object_type, relation_type, action_type, concept_group. Use when creating knowledge networks, BKN files, object types, relation types, action types, concept groups, or when user asks to model business knowledge in BKN format. When kweaver-core is also loaded, use it to run kweaver CLI (auth, bkn push) after files exist.
数据分析员工(Data Analyst Agent)的唯一总入口:凡与数据资产、取数、指标、表/视图、 治理职责、知识网络等相关的问题,必须先经本 skill 做编排与路由,再进入找表或问数等子流程。 当用户提出数据类问题、需要知识网络选择、或需要在找表与问数之间切换时使用。
向飞书指定用户(通过 user_id)推送消息。 支持文本、卡片、图片、文件等多种消息类型。当用户需要给飞书用户发送推送消息时自动使用。
全局归档协议。只要任务需要写入任何文件(含 PLAN.md、报告、JSON 等归档物),必须按本技能执行 Session→ARCHIVE_ID、TIMESTAMP、双轨路径(根段须为 archives/)、回读校验与状态回执;WebUI 的 archive_grid 必须用 Markdown 中语言标识为 json 的围栏代码块输出。
KWeaver CLI 操作层 — 内化自 kweaver-core。 覆盖认证、平台业务域(config)、知识网络管理与查询、Agent CRUD 与对话、 数据源管理、数据视图、Skill 注册、Vega 可观测、context-loader 语义搜索、通用 API 调用。 仅由 bkn-creator pipeline 内部读取,不独立注册到宿主 skill 系统。
BKN 全生命周期编排入口。自包含 KWeaver CLI 操作层(内化 bkn-kweaver)。 凡涉及创建 BKN、从 PRD/文档提取对象关系、 生成或更新 `.bkn`、做数据视图绑定、环境检查、测试集生成、校验与推送时, 优先使用 bkn-creator 进行流程路由、阶段门禁、子 skill 编排与结果回执。 适用于 BKN 的 create/read/update/delete/extract/copy/validate 场景, 技能包能力补齐/skill 草案生成场景, 以及使用反馈巡检与改进场景(定时任务触发、Agent 对话质量异常、 feedback_brief 传入、知识网络持续优化)。 不应用于纯数据语义查询,该场景应交由 data-semantic 处理。
| name | auth-manager |
| version | 1.3.5 |
| user-invocable | true |
| description | 数据权限管理技能:支持资源权限查询与权限申请。 先判定“查询权限”还是“申请权限”,再按资源类型执行对应接口。 当用户提出“申请权限”、“查是否有权限”、“给某资源授权”时使用。 |
| metadata | {"openclaw":{"skillKey":"auth-manager"}} |
| allowed-tools | Bash(curl *), Bash(kweaver call *) |
| argument-hint | ["权限需求描述,可包含 resource_type/resource_id/resource_name/applicant_id/applicant_name/applicant_account"] |
渐进式加载: 核心概念 → 认证与 Token → 申请人发现 → 资源发现 → 部门查询(独立) → 用户组查询(独立) → 用户组成员查询(独立) → 应用账户查询(独立) → 管理控制台用户搜索(独立) → 用户角色查询(独立) → 申请参考 → 查询参考 → 数字员工查询(独立) → 行列规则接口(独立) 文档指南: README.md · 共享约束: core/core-constraints.md
本 skill 是权限管理统一入口,负责意图识别、参数校验、接口路由;HTTP 字段与示例在 references/,枚举清单在 resources/。
| 能力 | 说明 | API 端点 |
|---|---|---|
| 资源发现 | 当缺 resource_id 时按名称检索候选资源并回填 ID | 见 references/resource-discovery.md |
| 申请人发现 | 当缺 applicant_id 时按用户名/账号检索候选并回填 ID | 见 references/applicant-discovery.md |
| 部门查询 | 查询指定成员可见部门列表,支撑按部门检索前置定位 | 见 references/department-discovery.md |
| 用户组查询 | 按关键词分页检索用户组 | 见 references/group-discovery.md |
| 用户组成员查询 | 按用户组查询成员列表 | 见 references/group-members-discovery.md |
| 应用账户查询 | 分页检索应用账户(app) | 见 references/app-account-discovery.md |
| 数字员工查询 | 查询数字员工列表与详情,支撑 digital_employee 检索 | 见 references/digital-human-discovery.md |
| 管理控制台用户搜索 | 支持全量/按部门搜索用户,支撑申请人定位 | 见 references/console-user-search.md |
| 用户角色查询 | 支持按用户查角色、按角色查成员 | 见 references/user-role-discovery.md |
| 行列规则接口 | 查询 data_model 视图行列规则增删改查 | 见 references/data-model-row-column-rules.md |
| 权限查询 | 批量校验是否具备所列操作 | /api/auth-service/v1/data-resource/operations |
| 权限申请 | 申请资源操作权限 | /api/auth-service/v1/data-auth/apply |
| 资源类型 | 校验 resource_type / object_type | resources/resource.md |
| 操作枚举 | 校验 auth_operations / action | resources/operations.md |
| 访问者类型 | 校验申请人 / subject 类型 | resources/accessors.md |
技能接受以下入参,大模型在调用技能时建议按此结构传递:
{
"query": "用户权限诉求(必须)",
"context": "补充上下文,可包含资源ID、申请人、时间等(可选)"
}
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
query | string | 是 | 第一优先级:识别「查询权限」或「申请权限」 |
context | string | 否 | 填充 resource_id、resource_name、resource_type、applicant_id、applicant_name、applicant_account、resources、action 等,不替代 query 的意图判定 |
| 场景 | query | context |
|---|---|---|
| 申请某类资源权限(数据视图 / 知识网络 / 行列规则等) | ✅ 须体现「申请 / 授权 / 开通」等 | ✅ 建议含 resource_type + (resource_id 或 resource_name) + (applicant_id 或 applicant_name/applicant_account) + 操作列表 |
| 批量查询是否具备指定操作 | ✅ 须体现「查询权限 / 是否可查 / 能否操作」等 | ✅ 建议含 (resources 或 resource_name) + object_type + 待校验 action |
| 仅澄清枚举(读文档) | ✅ 说明查阅目的 | 可选 |
重要:不得混用职责。
| 入参 | 职责 |
|---|---|
query | 意图路由:只用于判定走申请还是查询(及是否属于本 skill) |
context | 字段补齐:提供调用接口所需的结构化信息,不改变 query 已确定的入口 |
query 始终必填,决定流程入口。context 在缺参时补齐;不得单独凭 context 反转 query 的「申请 / 查询」判定。resource_id 时先做资源发现:通过资源检索接口获取候选并回填 ID(见 references/resource-discovery.md)。applicant_id 时先做申请人发现:通过用户名/账号检索接口获取候选并回填 ID(见 references/applicant-discovery.md)。core/core-constraints.md 为准。Authorization: Bearer <access_token>(获取与携带方式见 references/authentication.md)http://127.0.0.1:8155)Content-Type: application/json摘要:用 kweaver call 时,可 kweaver auth login 从磁盘凭据自动带 Token;也可设置 KWEAVER_TOKEN + KWEAVER_BASE_URL 用环境变量静态 Token(CI 常用)。用 curl/Postman/脚本 时把 Token 放进 Authorization: Bearer … 或读自定义变量(详见上文链接)。
详细约束(单一事实来源): core/core-constraints.md
resource_type、auth_operations、applicant_type 等与文档及 enum.go 一致,禁止同义词。data_view_row_column_rule 的 row_rules 须对照 examples/row-rules.md。/data-auth/apply 前,需先按 references/auth-query.md 校验申请人是否已具备目标操作;若已具备则直接返回“无需申请”。401/403/Unauthorized/token expired 时,必须先刷新 token,再重试原请求 1 次。本节步骤一~三在上下文已校验时可跳过重复执行(如 Token 仍有效),但不可跳过进度输出;步骤四起不得省略。
kweaver auth whoami / kweaver auth status 显示 active 且未过期)。满足时不得重复登录,但必须本步输出进度:「步骤一(Token 预检):已跳过(上下文已校验)」或 「已校验通过(复用上下文)」,并一句指明依据。kweaver auth status。active:继续后续流程。references/authentication.md 的“预检与刷新标准流程”先刷新再继续。KWEAVER_TOKEN 静态凭据:不支持 refresh 换发,失效时需替换新 token。401/403/Unauthorized/token expired:先执行 token 刷新,再按同参数重试原请求一次。目标:在查询/申请分流前完成安全拦截,并判定流程入口。
写操作与安全拦截(必须在本节内最先执行,先于模糊澄清、查询/申请分流及其它任何路由)
下列为本 skill 独立安全拦截 · 写操作 规则:在权限治理与行列规则治理域内界定敏感字面初检、治理写操作例外与业务数据写操作硬拦截。
query、context、补充说明、粘贴的 SQL/命令片段、多轮合并后的当前任务描述。\b…\b(避免 alternative 误命中 alter),并额外将连续写法 insertinto 视为命中(不分词)。完整清单——删/破坏/撤销类:delete、drop、rm、del、remove、truncate、clear、purge、erase、destroy、cancel、unset、discard、shutdown;改类:update、alter、modify、edit、change、revise、rewrite、replace、set、rename;增/建/导入类:insert、add、create、new、append、import、save。推荐正则(i 忽略大小写):(?i)(\b(delete|drop|rm|del|remove|truncate|clear|purge|erase|destroy|cancel|unset|discard|shutdown|update|alter|modify|edit|change|revise|rewrite|replace|set|rename|insert|add|create|new|append|import|save)\b|insertinto)。删除、移除、清空、清空数据、清除、销毁、作废、撤销、卸掉、删掉、剔除;改类:修改、更新、编辑、变更、改动、修订、改写、替换、重命名、调整;增/导入类:新增、添加、新建、插入、追加、导入、创建、保存;DDL/运维与权限类:建表、删表、改表、授权、回收权限、索引、库表、停机。说明:子串命中不单独决定拦截;是否与放行语义冲突以整体治理意图判定为准。effect 判断等 → 查询分支。data_query、view_detail、rule_apply 等),走 /data-auth/apply → 申请分支。data_view_row_column_rule / data-view-row-column-rules 的规则对象做创建、更新、删除或列表/详情查询(见 references/data-model-row-column-rules.md);整句主体为规则而非业务表行记录。DELETE / UPDATE / INSERT / TRUNCATE DML 或可类比写语句的,同等处理;建表 / 删表 / 改表(非行列规则对象)、停机、回收权限(本 skill 主流程未提供对应接口时按越界处理)亦按硬拦截。不因句中出现「申请」「查询」「授权」「规则」等词而放行上述业务数据写操作。不触发本条、仍可经「治理写操作例外」的典型情形:全句仅为权限查询/申请/规则 CRUD/发现检索,且「删除」「更新」仅出现在规则名、权限操作名、审计对象名等名词性固定业务用词中(如「删除规则」「更新规则配置」指行列规则对象),且整句无执行业务记录删改或裸 DML 的义务或指令语气。查询权限:检查是否有权、是否具备某些操作 → 查询分支。
申请权限:授权、申请、开通 → 申请分支。
同轮两者皆有时先澄清顺序,默认先查后申。
仅查阅枚举/文档、不涉及 HTTP 时:在进度中标注 「阶段:文档查阅」,可不走查询/申请分支 HTTP。
诉求不在本 skill 范围(如工商企业问数、纯组织详情而无权限语义、或命中上文业务数据写操作硬拦截)时:在进度中标注 **「阶段:范围外」**或 「阶段:安全拦截」,说明边界并停止,不得假走权限接口。
resource_type、applicant_type、auth_operations、expired_at + (resource_id 或 resource_name) + (applicant_id 或 applicant_name/applicant_account)。action + (resources 或 (resource_name + object_type))。applicant_id 与当前用户 ID 不一致时执行存在性校验。applicant_type=digital_employee:通过 GET /api/dip-studio/v1/digital-human/{id} 校验。applicant_type:通过 user-management / authorization 相关接口校验。resource_id、applicant_id、auth_operations 补齐后执行。/api/auth-service/v1/data-resource/operations 按同资源、同操作、同申请人进行预检(subject=applicant)。effect=true:直接返回“该用户已具备权限,无需重复申请”。effect=false:继续调用 /api/auth-service/v1/data-auth/apply 发起申请。POST …/data-resource/operations 或 POST …/data-auth/apply。references/auth-query.md)。references/auth-apply.md)。resources[].object_id 时,按 references/resource-discovery.md 检索并回填;多候选须澄清。object_type、action 与 resources/resource.md、resources/operations.md。resources、action;可选 subject。POST /api/auth-service/v1/data-resource/operations;失败即停,保留原始错误。effect、最小口径(资源 ID/类型、操作列表、访问者),标注 流程完成。resource_id 时,按 references/resource-discovery.md 检索并回填。applicant_id 时,按 references/applicant-discovery.md 检索并回填。applicant_type=digital_employee 且仅有名称时,按 references/digital-human-discovery.md 确认 ID。resource_type=data_view_row_column_rule 时,对照 examples/row-rules.md 校验 row_rules / resource_attributes。applicant_id 与当前用户不一致时执行(见上文 2.1)。effect=true 则返回「无需申请」并标注 流程完成。POST …/data-auth/apply;失败即停,保留原始错误。推荐模板:
## 📋 任务进度清单(阶段:总控制台)
- [x] 已完成 · 步骤N(步骤名称)
- [ ] 待完成 · 步骤N+1(步骤名称)
## 📋 任务进度清单(阶段:查询)
- [x] 已完成 · 步骤5(资源发现)
- [x] 已完成 · 步骤6(枚举与类型校验)
- [ ] 进行中 · 步骤7(构造查询请求体)
- [ ] 待完成 · 步骤8(调用权限查询接口)
- [ ] 待完成 · 步骤9(总结交付)
## 📋 任务进度清单(阶段:申请)
- [x] 已完成 · 步骤5(资源发现)
- [x] 已完成 · 步骤6(申请人发现)
- [ ] 进行中 · 步骤10(申请前权限预检)
- [ ] 待完成 · 步骤11(构造并调用申请接口)
- [ ] 待完成 · 步骤12(总结交付)
data_view:GET /api/mdl-data-model/v1/data-views?name=<resource_name>。knowledge_network:GET /api/bkn-backend/v1/knowledge-networks?name_pattern=<resource_name>&offset=0&limit=20。resource_id。applicant_id 时必走)GET /api/user-management/v1/account-match?account=<applicant_account>。GET /api/user-management/v1/search-in-org-tree?keyword=<applicant_name>&type=user&role=<role>&offset=0&limit=20。applicant_id。applicant_id 与当前用户一致,可跳过存在性校验并继续申请流程。GET /api/user-management/v1/console/search-users/{fields}。name 非必填;可使用 department_id、account、code 等条件检索。role 为必填 query 参数,且服务端会校验当前 token 用户是否拥有该角色。department_id 缺失或 -1(未分配组)时,仅 super_admin/sys_admin/sec_admin/audit_admin 可用。GET /api/user-management/v1/users/{user_ids}/{fields}(fields 包含 roles,且 query 必填 role)。GET /api/user-management/v1/role-members/{roles}。super_admin/sys_admin/audit_admin/sec_admin/org_manager/org_audit/normal_user)。GET /api/user-management/v1/management/department-members/{member_id}/departments。GET /api/user-management/v1/management/groups。GET /api/user-management/v1/management/group-members/{group_id}。GET /api/user-management/v1/apps。GET /api/dip-studio/v1/digital-human。GET /api/dip-studio/v1/digital-human/{id}。applicant_type=digital_employee 且仅有名称时,先查询候选再确认 ID。/data-auth/apply)resource_type:见 resources/resource.md。resource_id、auth_operations 为数组;expired_at 为秒级时间戳。data_view_row_column_rule:必填 resource_attributes;row_rules 见 examples/row-rules.md。data_view:可传 apply_type(可为空字符串)。/data-resource/operations)resources、action;可选 subject。object_type / action 取值见 resources/resource.md、resources/operations.md。effect 语义见 references/auth-query.md。auth-manager/
├── README.md # 文档指南与分层索引
├── SKILL.md # 本文件 - 主入口
├── core/
│ ├── core.md # 核心概念 (L1)
│ └── core-constraints.md # 共享约束(单一事实来源)
├── references/ # HTTP 模板与示例 (L2)
│ ├── authentication.md # Token 获取与 Authorization 携带
│ ├── applicant-discovery.md # 用户名/账号到 applicant_id 的检索与回填
│ ├── resource-discovery.md # 资源名到 resource_id 的检索与回填
│ ├── department-discovery.md # 部门查询(独立)
│ ├── group-discovery.md # 用户组查询(独立)
│ ├── group-members-discovery.md # 用户组成员查询(独立)
│ ├── app-account-discovery.md # 应用账户查询(独立)
│ ├── console-user-search.md # 管理控制台用户搜索(全量/按部门)
│ ├── user-role-discovery.md # 用户角色查询(按用户/按角色)
│ ├── digital-human-discovery.md # 数字员工列表/详情查询(独立)
│ ├── data-model-row-column-rules.md # data_model 视图行列规则增删改查(独立)
│ ├── auth-apply.md # 申请接口模板
│ └── auth-query.md # 查询接口模板
├── resources/
│ ├── resource.md
│ ├── operations.md
│ └── accessors.md
└── examples/
└── row-rules.md
用户请求
│
├─ 仅需了解能力与端点 ──▶ core/core.md
│
├─ Token / Bearer / kweaver CLI ──▶ references/authentication.md
│
├─ 缺申请人ID(用户名/账号补齐) ──▶ references/applicant-discovery.md
│
├─ 缺资源ID(资源名补齐) ──▶ references/resource-discovery.md
│
├─ 查部门 / 组 / 组成员 / 应用账户 ──▶ references/department-discovery.md, references/group-discovery.md, references/group-members-discovery.md, references/app-account-discovery.md
│
├─ 查全部用户 / 按部门查用户 ──▶ references/console-user-search.md
│
├─ 查询用户角色 / 角色成员 ──▶ references/user-role-discovery.md
│
├─ 申请权限 / 构造 apply 体 ──▶ references/auth-apply.md + resources/*
│
├─ 批量查询是否可操作 ──▶ references/auth-query.md + resources/*
│
├─ 搜索数字员工(独立) ──▶ references/digital-human-discovery.md
│
├─ 查询行列规则 CRUD(独立) ──▶ references/data-model-row-column-rules.md
│
├─ 行列规则 row_rules ──▶ examples/row-rules.md + core/core-constraints.md
│
└─ 争议或完整门禁 ──▶ SKILL.md + core/core-constraints.md
| 文档 | 用途 |
|---|---|
| README.md | 分层阅读指南 |
| core/core.md | 核心概念与快速参考 (L1) |
| core/core-constraints.md | 共享约束(与实现对齐) |
| references/authentication.md | Token 获取、Bearer 与 kweaver call 自动注入 |
| references/applicant-discovery.md | 用户名/账号到 applicant_id 的检索与回填 |
| references/resource-discovery.md | 资源名到 resource_id 的检索与回填 |
| references/department-discovery.md | 部门查询(独立) |
| references/group-discovery.md | 用户组查询(独立) |
| references/group-members-discovery.md | 用户组成员查询(独立) |
| references/app-account-discovery.md | 应用账户查询(独立) |
| references/console-user-search.md | 管理控制台用户搜索(全量/按部门) |
| references/user-role-discovery.md | 用户角色查询(按用户/按角色) |
| references/digital-human-discovery.md | 数字员工列表与详情查询(独立) |
| references/data-model-row-column-rules.md | data_model 视图行列规则增删改查(独立) |
| references/auth-apply.md | 权限申请 HTTP 模板 |
| references/auth-query.md | 权限批量校验 HTTP 模板 |
| resources/resource.md | resource_type / object_type |
| resources/operations.md | auth_operations / action |
| resources/accessors.md | 申请人 / 访问者类型 |
| examples/row-rules.md | row_rules 示例 |
idrm-go-common/rest/authorization/enum.go | 枚举源码 |
/auth-manager 给用户申请 data_view 的 data_query 权限
/auth-manager 申请 knowledge_network 的查询与详情权限
/auth-manager 给某 data_view 申请行列规则权限(rule_apply)
/auth-manager 检查某个 data_view 是否具备 view_detail 权限
/auth-manager 查询“销售订单明细视图”当前用户是否有 data_query(未提供资源ID)
/auth-manager 给账号 zhangsan 开通“销售订单明细视图”的 data_query 权限(未提供用户ID)
/auth-manager 查询某个部门下的用户并按账号筛选
/auth-manager 根据角色查询成员用户(super_admin,sys_admin)
/auth-manager 查询应用账户列表(app)并定位目标账户
用户输入:
/auth-manager 查询“销售订单明细视图”我是否有 data_query 权限
技能执行(对应「阶段:查询」进度清单):
1) 步骤一~四:Token 预检 → 意图=查询 → 参数校验 → 路由查询分支
2) 步骤5:发现缺少 resources[].object_id,触发资源发现
3) 调用 GET /api/mdl-data-model/v1/data-views?name=销售订单明细视图
4) 若仅 1 个候选:回填 object_id,构造 resources=[{object_id, object_type=data_view}]
5) 步骤6~8:枚举校验 → 构造请求体 → POST …/data-resource/operations,action=["data_query"]
6) 步骤9:返回 effect=true/false,标注流程完成
用户输入:
/auth-manager 给账号 zhangsan 开通“销售订单明细视图”的 data_query 权限
技能执行(对应「阶段:申请」进度清单):
1) 步骤一~四:Token 预检 → 意图=申请 → 参数校验 → 路由申请分支
2) 步骤5:发现缺少 resource_id,触发资源发现并回填 resource_id
3) 步骤6:发现缺少 applicant_id,调用 GET /api/user-management/v1/account-match?account=zhangsan
4) 回填 applicant_id 与 applicant_name(若缺失)
5) 步骤10:申请前权限预检(subject=applicant)
6) 步骤11~12:构造 apply 体 → POST …/data-auth/apply → 返回申请结果,标注流程完成