$npx -y skills add kweaver-ai/kweaver-dip --skill auth-manager数据权限管理技能:支持资源权限查询与权限申请。 先判定“查询权限”还是“申请权限”,再按资源类型执行对应接口。 当用户提出“申请权限”、“查是否有权限”、“给某资源授权”时使用。
| 1 | # 数据权限管理 |
| 2 | |
| 3 | > **渐进式加载**: [核心概念](./core/core.md) → [认证与 Token](./references/authentication.md) → [申请人发现](./references/applicant-discovery.md) → [资源发现](./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) → [申请参考](./references/auth-apply.md) → [查询参考](./references/auth-query.md) → [数字员工查询(独立)](./references/digital-human-discovery.md) → [行列规则接口(独立)](./references/data-model-row-column-rules.md) |
| 4 | > **文档指南**: [README.md](./README.md) · **共享约束**: [core/core-constraints.md](./core/core-constraints.md) |
| 5 | |
| 6 | 本 skill 是权限管理统一入口,负责**意图识别、参数校验、接口路由**;HTTP 字段与示例在 `references/`,枚举清单在 `resources/`。 |
| 7 | |
| 8 | ## 核心能力 |
| 9 | |
| 10 | | 能力 | 说明 | API 端点 | |
| 11 | |------|------|----------| |
| 12 | | 资源发现 | 当缺 `resource_id` 时按名称检索候选资源并回填 ID | 见 [`references/resource-discovery.md`](references/resource-discovery.md) | |
| 13 | | 申请人发现 | 当缺 `applicant_id` 时按用户名/账号检索候选并回填 ID | 见 [`references/applicant-discovery.md`](references/applicant-discovery.md) | |
| 14 | | 部门查询 | 查询指定成员可见部门列表,支撑按部门检索前置定位 | 见 [`references/department-discovery.md`](references/department-discovery.md) | |
| 15 | | 用户组查询 | 按关键词分页检索用户组 | 见 [`references/group-discovery.md`](references/group-discovery.md) | |
| 16 | | 用户组成员查询 | 按用户组查询成员列表 | 见 [`references/group-members-discovery.md`](references/group-members-discovery.md) | |
| 17 | | 应用账户查询 | 分页检索应用账户(app) | 见 [`references/app-account-discovery.md`](references/app-account-discovery.md) | |
| 18 | | 数字员工查询 | 查询数字员工列表与详情,支撑 `digital_employee` 检索 | 见 [`references/digital-human-discovery.md`](references/digital-human-discovery.md) | |
| 19 | | 管理控制台用户搜索 | 支持全量/按部门搜索用户,支撑申请人定位 | 见 [`references/console-user-search.md`](references/console-user-search.md) | |
| 20 | | 用户角色查询 | 支持按用户查角色、按角色查成员 | 见 [`references/user-role-discovery.md`](references/user-role-discovery.md) | |
| 21 | | 行列规则接口 | 查询 `data_model` 视图行列规则增删改查 | 见 [`references/data-model-row-column-rules.md`](references/data-model-row-column-rules.md) | |
| 22 | | 权限查询 | 批量校验是否具备所列操作 | `/api/auth-service/v1/data-resource/operations` | |
| 23 | | 权限申请 | 申请资源操作权限 | `/api/auth-service/v1/data-auth/apply` | |
| 24 | | 资源类型 | 校验 `resource_type` / `object_type` | [`resources/resource.md`](resources/resource.md) | |
| 25 | | 操作枚举 | 校验 `auth_operations` / `action` | [`resources/operations.md`](resources/operations.md) | |
| 26 | | 访问者类型 | 校验申请人 / `subject` 类型 | [`resources/accessors.md`](resources/accessors.md) | |
| 27 | |
| 28 | ## 技能入参 |
| 29 | |
| 30 | 技能接受以下入参,大模型在调用技能时建议按此结构传递: |
| 31 | |
| 32 | ```json |
| 33 | { |
| 34 | "query": "用户权限诉求(必须)", |
| 35 | "context": "补充上下文,可包含资源ID、申请人、时间等(可选)" |
| 36 | } |
| 37 | ``` |
| 38 | |
| 39 | ### 入参说明 |
| 40 | |
| 41 | | 参数名 | 类型 | 必填 | 说明 | |
| 42 | |--------|------|------|------| |
| 43 | | `query` | string | **是** | **第一优先级**:识别「查询权限」或「申请权限」 | |
| 44 | | `context` | string | 否 | 填充 `resource_id`、`resource_name`、`resource_type`、`applicant_id`、`applicant_name`、`applicant_account`、`resources`、`action` 等,**不替代** `query` 的意图判定 | |
| 45 | |
| 46 | ### 入参使用场景总览 |
| 47 | |
| 48 | | 场景 | `query` | `context` | |
| 49 | |------|---------|-----------| |
| 50 | | 申请某类资源权限(数据视图 / 知识网络 / 行列规则等) | ✅ 须体现「申请 / 授权 / 开通」等 | ✅ 建议含 `resource_type` + (`resource_id` 或 `resource_name`) + (`applicant_id` 或 `applicant_name`/`applicant_account`) + 操作列表 | |
| 51 | | 批量查询是否具备指定操作 | ✅ 须体现「查询权限 / 是否可查 / 能否操作」等 | ✅ 建议含 (`resources` 或 `resource_name`) + `object_type` + 待校验 `action` | |
| 52 | | 仅澄清枚举(读文档) | ✅ 说明查阅目的 | 可选 | |
| 53 | |
| 54 | ### 入参职责区分 |
| 55 | |
| 56 | **重要**:不得混用职责。 |
| 57 | |
| 58 | | 入参 | 职责 | |
| 59 | |------|------| |
| 60 | | `query` | **意图路由**:只用于判定走申请还是查询(及是否属于本 skill) | |
| 61 | | `context` | **字段补齐**:提供调用接口所需的结构化信息,不改变 `query` 已确定的入口 | |
| 62 | |
| 63 | ### 使用优先级 |
| 64 | |
| 65 | 1. **`query`** 始终必填,决定流程入口。 |
| 66 | 2. **`context`** 在缺参时补齐;不得单独凭 `context` 反转 `query` 的「申请 / 查询」判定。 |
| 67 | 3. **缺 `resource_id` 时先做资源发现**:通过资源检索接口获取候选并回填 ID(见 [`references/resource-discovery.md`](references/resource-discovery.md))。 |
| 68 | 4. **申请分支缺 `applicant_id` 时先做申请人发现**:通过用户名/账号检索接口获取候选并回填 ID(见 [`references/applicant-discovery.md`](references/applicant-discovery.md))。 |
| 69 | 5. 枚举与硬约束以 [`core/core-constraints.md`](core/core-constraints.md) 为准。 |
| 70 | |
| 71 | ## 前置条件 |
| 72 | |
| 73 | - 可用的 **`Authorization: Bearer <access_token>`**(获取与携带方式见 **[references/authentication.md](./references/authentication.md)**) |
| 74 | - 可访问的 auth-service(如 `http://127.0.0.1:8155`) |
| 75 | - 请求头 `Content-Type: application/json` |
| 76 | |
| 77 | **摘要**:用 **`kweaver call`** 时,可 **`kweaver auth login`** 从磁盘凭据自动带 Token;也可设置 **`KWEAVER_TOKEN` + `KWEAVER_BASE_URL`** 用环境变量静态 Token(CI 常用)。用 **`curl`/Postman/脚本** 时把 Token 放进 **`Authorization: Bearer …`** 或读自定义变量(详见上文链接)。 |
| 78 | |
| 79 | ## 关键约束 |
| 80 | |
| 81 | > **详细约束(单一事实来源)**: [core/core-constraints.md](./core/core-constraints.md) |
| 82 | |
| 83 | 1. **先意图、后请求**:必须先完成步骤二「独立安全拦截 · 写操作」与「查询 vs 申请」判定及参数校验,再发 HTTP。 |
| 84 | 2. **枚举原值**:`resource_type`、`auth_operations`、`applicant_type` |