Files
company-ai-platform/.claude/specs/feishu-account-personalization/tasks.md
JiuContinent d7db84571d ```
feat: 添加飞书用户模块和订阅功能支持

- 新增feishu_users模块用于处理飞书用户身份验证和权限管理
- 新增subscriptions模块用于处理订阅相关功能
- 新增personalization模块用于个性化服务
- 在alembic迁移配置中注册新的模型模块
- 在API路由器中添加feishu_users和subscriptions路由
- 实现事件调度服务的改进,包括错误处理和状态更新优化
- 添加飞书命令处理的权限检查机制
- 实现飞书应用票据事件处理
- 改进审计日志记录功能
```
2026-07-27 08:02:17 +08:00

71 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 实现任务
- [x] 1. 建立飞书用户身份与权限域
- 新增 `app/modules/feishu_users/` 的模型、schema、principal、身份与管理服务。
- 实现首次注册、初始管理员引导、角色/状态修改、最后管理员保护与审计。
- 增加用户管理 API 和身份/权限测试。
- _Requirements: 1, 2, 8.5, 8.8, 8.9, 9.1, 10.4_
- [x] 2. 将验证后的飞书事件接入用户主体
- 扩展 webhook/长连接事件提取 `tenant_key`、sender ids、chat type 和 mentions。
- 只有验证后的事件才能解析或创建 `FeishuPrincipal`;群聊始终使用发送者身份。
- 把 principal 传入命令处理并在停用/缺身份时安全拒绝。
- _Requirements: 1, 2.2, 2.4, 8.1, 9.1_
- [x] 3. 实现个人规则、偏好、兴趣和记忆隔离
- 新增 `app/modules/personalization/` 偏好模型与服务。
- 为 AI 规则/记忆和市场自选增加 owner按 owner 查询、去重和安全认领。
- 将现有 AI rule API 固定为公司规则入口;飞书个人/公司规则命令分别授权。
- 实现个人规则、偏好、兴趣 CRUD 命令及跨用户隔离测试。
- _Requirements: 3, 4, 8.2, 8.3, 8.5, 8.7, 9.4_
- [x] 4. 实现会话与个性化 AI 问答
- 新增会话和消息模型、20 轮裁剪、30 天清理与重置命令。
- 按既定优先级组装公司规则、个人规则、请求、偏好/兴趣、记忆和会话历史。
- 隔离 provider session`noop`/AI 不可用时不写历史、偏好或记忆。
- 实现白名单自动偏好提取与敏感画像拒绝。
- _Requirements: 3, 4.5, 5, 8.3, 8.7, 9.2_
- [x] 5. 实现订阅与受控中文计划解析
- 新增订阅/投递模型、schema 和服务。
- 支持单次、每天、工作日、每周、每月和间隔计划以及 IANA 时区。
- 实现 15 分钟下限、50 个启用订阅、每日 96 条、安静时段。
- 实现私聊固定 open_id、管理员当前群绑定以及订阅生命周期命令/API。
- _Requirements: 6, 8.4, 8.6, 8.7, 10.4_
- [x] 6. 实现持久化扫描、幂等投递和重试
- 每分钟扫描到期订阅,通过行锁和唯一投递键领取并推进下一执行时间。
- 为 Feishu client 增加 `open_id`、消息 UUID 和业务状态校验。
- 实现个人/群订阅上下文边界、1/5/15 分钟重试和无 Celery 持久化恢复。
- 接入 scheduler、Celery task/queue helper 并保持固定群报表任务不变。
- _Requirements: 6.7, 7, 10.3_
- [x] 7. 实现用户数据查看、忘记我和运行可观测性
- 实现 `我的数据`、二次确认、事务删除和审计匿名化。
- 增加用户/订阅/投递查询 API、活跃用户和投递状态指标。
- 启用订阅但缺少飞书凭据时 readiness 返回 degraded。
- _Requirements: 6.2, 9, 10.2, 10.4_
- [x] 8. 完成配置、Alembic 迁移与全量验证
- 增加安全关闭的功能开关、管理员身份配置并更新 `.env.example`
- 创建迁移并处理旧公司规则、旧自动记忆和旧自选延迟认领。
- 补齐身份、隔离、权限、计划、并发、投递、删除和迁移回归测试。
- 运行 Ruff、compileall、完整 pytest 和迁移一致性检查。
- _Requirements: 3.7, 10_
```mermaid
flowchart LR
T1["1 身份权限"] --> T2["2 事件主体"]
T1 --> T3["3 个人数据隔离"]
T2 --> T4["4 个性化问答"]
T3 --> T4
T1 --> T5["5 订阅与计划"]
T5 --> T6["6 扫描投递"]
T3 --> T7["7 删除与可观测性"]
T5 --> T7
T2 --> T8["8 迁移与验证"]
T4 --> T8
T6 --> T8
T7 --> T8
```