# 飞书责任人映射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. 未配置角色能被识别。