# 飞书责任人映射Skill 设计

## 1. Skill 定位

`飞书责任人映射Skill` 负责将风险项、章节点和责任角色映射到飞书用户 ID。

英文实现标识建议使用 `FeishuOwnerMappingSkill`。

## 2. 输入

```python
@dataclass
class FeishuOwnerMappingInput:
    risk_items: list[dict]
    owner_mapping_config: dict | None = None
```

## 3. 输出

```python
@dataclass
class FeishuOwnerMappingOutput:
    mention_targets: list[dict]
    unresolved_roles: list[dict]
```

## 4. 核心方法

### 4.1 `run(input) -> FeishuOwnerMappingOutput`

主入口方法。

### 4.2 `load_owner_mapping() -> dict`

读取责任人映射。

### 4.3 `resolve_roles(risk_items) -> list[str]`

解析责任角色。

### 4.4 `resolve_user_ids(roles, mapping) -> list[dict]`

映射飞书用户 ID。

## 5. 技术实现

使用技术：

1. YAML 配置
2. Django Admin 维护表
3. 飞书用户 ID

## 6. 异常处理

1. 责任角色未配置：加入 unresolved。
2. 用户 ID 为空：不 @，但保留角色。
3. 配置文件缺失：使用默认映射。

## 7. 测试要点

1. 风险项能映射责任角色。
2. 责任角色能映射用户 ID。
3. 未配置角色能被识别。

