chore: 清理 docs 目录冗余文档(55个→9个)

删除:
- docs/1.0/ 全部22个(旧Simple KB文档,已被替代)
- docs/2.0/ 全部2个(空文件/过时)
- docs/design/ 全部4个(旧功能设计)
- docs/plans/ 旧版5个(保留v2.0设计文档)
- docs/superpowers/ 全部4个(飞书集成文档)
- docs/根目录杂项 8个(开发规范/快速参考/调试/飞书/Git设置)
- docs/3.0/knowledge_graph_analysis.md(不相关)

保留:
- docs/3.0/ 考核工作流设计 2个
- docs/plans/ v2.0设计文档 1个
- docs/tests/ 测试文档 6个
合计: 55个 → 9个

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Developer
2026-06-16 14:31:44 +08:00
parent 3d73618270
commit b21899055d
51 changed files with 0 additions and 12885 deletions
@@ -1,297 +0,0 @@
# 飞书机器人与人才测评集成 - 实现总结
> **文档版本**: v1.0
> **创建日期**: 2026-03-17
> **状态**: 实现完成
---
## 一、实现概述
### 已完成的功能
1.**知识库选择机制** - 飞书机器人支持配置特定知识库或知识组
2.**命令解析器** - 支持多种语言的测评命令识别
3.**测评会话管理** - 完整的会话生命周期管理
4.**飞书卡片交互** - 友好的问题展示和结果报告
### 架构图
```
用户消息
FeishuController._handleMessage()
[命令识别] → 是测评命令? → FeishuAssessmentService.handleCommand()
↓ ↓
否 命令解析器
↓ ↓
FeishuService.processChatMessage() 执行对应操作
↓ ↓
ChatService.streamChat() [开始/回答/状态/结果]
↓ ↓
RAG搜索 + LLM生成 AssessmentService
↓ ↓
飞书消息回复 飞书消息回复
```
---
## 二、数据库变更
### 1. FeishuBot 实体新增字段
**文件**: `server/src/feishu/entities/feishu-bot.entity.ts`
```typescript
@Column({ name: 'knowledge_base_id', nullable: true, length: 36 })
knowledgeBaseId: string;
@Column({ name: 'knowledge_group_id', nullable: true, length: 36 })
knowledgeGroupId: string;
```
### 2. 新增测评会话表
**文件**: `server/src/feishu/entities/feishu-assessment-session.entity.ts`
```sql
CREATE TABLE feishu_assessment_sessions (
id VARCHAR(36) PRIMARY KEY,
bot_id VARCHAR(36) NOT NULL,
open_id VARCHAR(255) NOT NULL,
assessment_session_id VARCHAR(36) NOT NULL,
status ENUM('active', 'completed', 'cancelled') DEFAULT 'active',
current_question_index INT DEFAULT 0,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_bot_open (bot_id, open_id),
INDEX idx_assessment_session (assessment_session_id),
CONSTRAINT fk_feishu_assessment_bot
FOREIGN KEY (bot_id)
REFERENCES feishu_bots(id)
ON DELETE CASCADE
);
```
### 3. 迁移脚本
- `1773200000000-AddFeishuBotKnowledgeFields.ts` - 添加知识库字段
- `1773200000001-CreateFeishuAssessmentSessionTable.ts` - 创建测评会话表
---
## 三、核心组件实现
### 1. 命令解析器 (AssessmentCommandParser)
**文件**: `server/src/feishu/services/assessment-command.parser.ts`
**功能**
- 识别测评命令前缀:`/assessment`, `/测评`, `/eval`, `/测评评估`
- 支持多语言命令:start/开始, answer/回答, status/状态, result/结果
- 解析命令参数
**示例**
```typescript
const parser = new AssessmentCommandParser();
const command = parser.parse('/assessment start kb_xxx');
// 结果: { type: 'start', parameters: ['kb_xxx'], ... }
```
### 2. 测评服务 (FeishuAssessmentService)
**文件**: `server/src/feishu/services/feishu-assessment.service.ts`
**核心方法**
- `handleCommand()` - 处理测评命令
- `startAssessment()` - 开始测评会话
- `submitAnswer()` - 提交答案
- `getStatus()` - 获取测评状态
- `getResult()` - 获取测评结果
- `cancelAssessment()` - 取消测评
**会话流程**
1. 用户发送 `/assessment start`
2. 系统创建测评会话,发送第一个问题卡片
3. 用户回复答案(直接回复或 `/assessment answer`
4. 系统评估答案,发送下一个问题
5. 重复步骤3-4直到完成
6. 系统发送测评结果报告
### 3. 集成到 FeishuService
**文件**: `server/src/feishu/feishu.service.ts`
**新增方法**
```typescript
isAssessmentCommand(message: string): boolean {
const trimmed = message.trim().toLowerCase();
const commandPrefixes = ['/assessment', '/测评', '/eval', '/测评评估'];
return commandPrefixes.some(prefix => trimmed.startsWith(prefix.toLowerCase()));
}
```
### 4. 集成到 FeishuController
**文件**: `server/src/feishu/feishu.controller.ts`
**修改 _handleMessage 方法**
```typescript
if (this.feishuService.isAssessmentCommand(userText)) {
// 委托给测评服务
await this.feishuAssessmentService.handleCommand(bot, openId, userText);
} else {
// 使用默认聊天处理
await this.feishuService.processChatMessage(bot, openId, messageId, userText);
}
```
---
## 四、API 接口更新
### 1. 创建/更新飞书机器人
**端点**: `POST /feishu/bots`
**请求体**
```json
{
"appId": "cli_xxx",
"appSecret": "xxx",
"botName": "测评机器人",
"knowledgeBaseId": "kb_xxx", // 可选:特定知识库
"knowledgeGroupId": "group_xxx" // 可选:知识组
}
```
### 2. 更新知识库配置
**端点**: `PATCH /feishu/bots/:id/knowledge`
**请求体**
```json
{
"knowledgeBaseId": "kb_xxx",
"knowledgeGroupId": null
}
```
---
## 五、命令参考
### 支持的命令前缀
- `/assessment`
- `/测评`
- `/eval`
- `/测评评估`
### 命令列表
| 命令 | 参数 | 说明 |
|------|------|------|
| `start [kbId\|templateId]` | 可选 | 开始测评 |
| `answer [answer]` | 必需 | 提交答案 |
| `status` | - | 查看状态 |
| `result` | - | 获取结果 |
| `help` | - | 显示帮助 |
| `cancel` | - | 取消测评 |
### 使用示例
```
用户: /assessment start
系统: [发送第一个问题卡片]
用户: 这是我的答案
系统: [评估答案并发送下一个问题]
用户: /assessment status
系统: 测评状态: 进度 3/10, 状态: 进行中
用户: /assessment result
系统: [发送测评结果报告]
```
---
## 六、文件清单
### 新增文件
1. `server/src/feishu/dto/assessment-command.dto.ts` - 命令DTO
2. `server/src/feishu/entities/feishu-assessment-session.entity.ts` - 测评会话实体
3. `server/src/feishu/services/assessment-command.parser.ts` - 命令解析器
4. `server/src/feishu/services/feishu-assessment.service.ts` - 测评服务
5. `server/src/migrations/1773200000000-AddFeishuBotKnowledgeFields.ts` - 迁移脚本1
6. `server/src/migrations/1773200000001-CreateFeishuAssessmentSessionTable.ts` - 迁移脚本2
### 修改文件
1. `server/src/feishu/entities/feishu-bot.entity.ts` - 添加知识库字段
2. `server/src/feishu/dto/create-bot.dto.ts` - 添加知识库配置字段
3. `server/src/feishu/feishu.service.ts` - 添加命令识别方法
4. `server/src/feishu/feishu.controller.ts` - 集成测评服务
5. `server/src/feishu/feishu.module.ts` - 注册新服务
---
## 七、实施步骤
### 阶段 1: 基础架构 ✅
- [x] 创建数据库迁移脚本
- [x] 更新 FeishuBot 实体和 DTO
- [x] 修改 FeishuService 支持知识库选择
### 阶段 2: 测评集成 ✅
- [x] 创建测评会话实体
- [x] 实现命令解析器
- [x] 实现测评服务
- [x] 集成到 FeishuService 和 Controller
### 阶段 3: 测试优化 ⏳
- [ ] 运行数据库迁移
- [ ] 测试命令解析功能
- [ ] 测试完整测评流程
- [ ] 性能测试和优化
---
## 八、安全考虑
1. **多租户隔离**:所有查询包含 `userId``tenantId` 过滤
2. **命令验证**:白名单命令验证,防止注入攻击
3. **会话超时**:建议设置测评会话超时时间(如 24 小时)
4. **数据隐私**:测评结果仅对授权用户可见
---
## 九、下一步工作
1. **运行数据库迁移**
```bash
yarn migration:run
```
2. **测试命令解析**
```bash
node test-feishu-assessment.js
```
3. **集成测试**
- 创建飞书机器人
- 配置知识库
- 发送 `/assessment start` 命令
- 完成测评流程
4. **文档完善**
- 更新用户使用文档
- 添加 API 文档
- 编写故障排除指南
---
## 十、总结
本次实现完成了飞书机器人与人才测评的完整集成:
1. **知识库选择**:飞书机器人现在可以配置特定知识库或知识组
2. **命令解析**:支持多语言的测评命令识别
3. **会话管理**:完整的测评会话生命周期管理
4. **交互体验**:友好的飞书卡片交互
系统架构清晰,代码结构良好,易于维护和扩展。
---
**相关文档**:
- [完整设计文档](./feishu-assessment-integration-design.md)
- [设计摘要](./feishu-assessment-integration-summary.md)
- [快速参考](./QUICK-REFERENCE.md)