# 02-AI知识库系统系统功能规格说明书(SRS)V1.0.docx 《02-AI知识库系统系统功能规格说明书(SRS)》 版本:V1.0 文档类型:Software Requirements Specification(SRS) 依据文档:PRD V1.0 编写日期:2026-07-06 ## 第一章 文档说明 ### 1.1 编写目的 本文档用于指导研发、测试及实施团队进行系统开发。 与 PRD 的区别: PRD:说明"做什么" SRS:说明"怎么做" SRS 将细化到: 页面 按钮 字段 接口行为 权限 状态流转 异常处理 验收标准 ## 第二章 系统模块 系统划分为九个模块: ## 第三章 登录模块 ### 3.1 页面 手机号 _________________ 验证码 _________________ 【发送验证码】 【立即登录】 ### 3.2 字段定义 #### 手机号 #### 验证码 ### 3.3 按钮 #### 发送验证码 点击后: 手机号是否合法? ↓ 合法 ↓ 发送短信 ↓ 按钮倒计时60秒 异常: #### 登录 点击: 手机号 ↓ 验证码 ↓ 校验 ↓ 首次登录? ↓ 自动创建账号 ↓ 账号状态 ↓ 账号有效期 ↓ 登录成功 ### 3.4 登录成功 系统: 签发 Token 保存登录时间 更新最后登录时间 跳转首页 ### 3.5 登录失败 包括: 验证码错误 验证码过期 账号禁用 账号已过期 ## 第四章 首页 ### 页面布局 LOGO + 新聊天 ———————————— 历史聊天 ———————————— 直播运营 客服 SOP …… ———————————— 个人中心 退出登录 ### 新建聊天 点击: 创建: 新聊天 进入: 空白聊天页面。 ### 删除聊天 点击: 删除 弹窗: 确认删除? 取消 确定 点击确定: 仅隐藏。 数据库保留。 ## 第五章 AI聊天模块 ### 页面布局 标题 聊天区域 用户消息 AI消息 —————————— 输入框 发送 ### 输入框 支持: 中文 英文 Markdown 不支持: 图片 PDF Word Excel #### Enter 行为: 发送消息。 #### Shift+Enter 行为: 换行。 ### 点击发送 执行: 检查聊天次数 ↓ 检查登录状态 ↓ 检查账号状态 ↓ 检查知识库权限 ↓ 检索飞书 ↓ 组织Prompt ↓ 调用模型 ↓ Streaming ↓ 保存记录 ### AI回复 支持: Markdown 有序列表 无序列表 表格 代码块 #### Streaming 状态: □□□□□□□□□□ #### 停止生成 持续: 直到: 模型结束。 #### 停止生成 点击: 立即: 取消请求。 保留: 已生成内容。 #### 回复完成 系统: 自动保存: 用户消息 AI消息 更新: 会话时间。 ## 第六章 会话管理模块 ### 6.1 功能概述 系统支持用户创建多个独立会话,每个会话拥有独立上下文。 每个会话包含: 会话ID 会话标题 创建时间 更新时间 消息数量 状态 ### 6.2 会话生命周期 新建会话 │ ▼ 默认标题:新聊天 │ ▼ 第一轮问答完成 │ ▼ AI自动生成标题 │ ▼ 持续聊天 │ ▼ 用户删除 │ ▼ 前端隐藏 (数据库永久保存) ### 6.3 新建会话 点击按钮 + 新聊天 系统执行: 创建会话 默认标题:"新聊天" 创建时间=当前时间 消息数=0 打开聊天页面 ### 6.4 自动命名 触发条件: 第一轮 AI 回复完成。 生成规则: Prompt: 请根据本次聊天内容生成一个10~20字以内的中文标题,不添加标点,不使用"关于"等冗余词。 例如: 用户: 如何提高直播间停留时长? 标题: 直播间停留时长优化 ### 6.5 修改标题 点击: ✏ 编辑 支持: 最长50字符 即时保存 不影响聊天记录 ### 6.6 删除会话 点击: 删除 弹窗: 确认删除? 取消 确定 点击确定: 系统: 前端: 隐藏 后台: deleted=1 聊天永久保留 ## 第七章 聊天记录模块 ### 7.1 数据保存规则 每次提问保存: #### 用户消息 #### AI消息 保存: 后台额外保存: 检索知识库 检索片段 Prompt 引用来源 ### 7.2 上下文 后台配置: #### 方式一: Token 8192 #### 方式二: 最近10轮 推荐: 按 Token。 ### 7.3 消息状态 状态: WAITING ↓ GENERATING ↓ FINISHED 异常: WAITING ↓ TIMEOUT 或: WAITING ↓ STOPPED ## 第八章 后台首页 ### 页面布局 ──────────────────────── 今日聊天次数 今日新增用户 今日活跃用户 模型Token消耗 ──────────────────────── 知识库排行榜 ──────────────────────── 时间: 今天 最近7天 自定义 ──────────────────────── ### 卡片说明 #### 总用户 统计: 数据库用户数量。 #### 今日新增 统计: 今天注册成功人数。 #### 今日活跃 统计: 今天至少聊天一次。 #### 今日聊天次数 统计: 今日消息数。 #### Token消耗 统计: 模型: Input Token Output Token #### 排行榜 排序: 按使用次数。 字段: 排名 知识库 次数 ## 第九章 用户管理 ### 页面 手机号 姓名 状态 搜索 ────────────────────── 列表 ────────────────────── 批量操作 ### 查询条件 支持: √ 手机号 √ 姓名 √ 状态 ### 用户列表 字段: ### 编辑用户 可修改: 姓名 状态 账号开始时间 账号结束时间 每日聊天次数 ### 权限 页面: 知识库 ☑ 直播 ☑ 客服 □ SOP □ 运营 支持: 开始时间 结束时间 永久 ### 批量功能 支持: √ 批量授权 √ 批量修改聊天次数 √ 批量启用 √ 批量禁用 √ 批量删除 √ 批量设置有效期 ## 第十章 知识库管理 ### 页面 新增知识库 ────────────────────── 知识库名称 飞书SpaceID 节点ID 状态 备注 ────────────────────── ### 新增 填写: 名称 SpaceID NodeID 备注 点击: 保存。 ### 编辑 允许: 修改: 名称 状态 备注 不允许: 修改: 历史关联数据。 ### 删除 点击: 删除。 弹窗: 输入: 确认删除 确认: 系统: 解除所有权限关联。 删除知识库。 记录日志。 ### 检索 方式: 实时访问飞书。 不缓存。 无需同步。 ### 状态 支持: 启用 禁用 禁用后: AI: 不参与检索。 ## 第十一章 Prompt 管理模块 ### 11.1 功能概述 系统采用单一全局 Prompt。 所有 AI 请求均使用当前生效的 Prompt。 一期不支持: 多 Prompt Prompt 分类 Prompt 版本切换 用户级 Prompt ### 11.2 页面布局 Prompt 管理 ──────────────────────────── 当前 Prompt ┌──────────────────────┐ │ │ │ Prompt 编辑器 │ │ │ └──────────────────────┘ 【保存】 【恢复默认】 ──────────────────────────── ### 11.3 字段说明 ### 11.4 保存流程 编辑 Prompt │ 点击保存 │ 合法性校验 │ 写入数据库 │ 记录日志 │ 立即生效 ### 11.5 恢复默认 点击: 恢复默认 弹窗: 确定恢复系统默认 Prompt? 取消 确定 恢复成功: 更新数据库 写入日志 立即生效 ## 第十二章 AI 模型管理 ### 12.1 功能概述 后台支持切换 AI 模型。 一期仅允许同时启用一个模型。 ### 12.2 页面布局 模型列表 ────────────────────────── 模型名称 API地址 状态 当前使用 操作 ────────────────────────── 新增模型 ### 12.3 模型字段 ### 12.4 切换模型 流程: 选择模型 │ 点击启用 │ 旧模型关闭 │ 新模型启用 │ 立即生效 ### 12.5 参数说明 默认建议: ## 第十三章 系统配置模块 ### 13.1 页面结构 系统配置 ├── 登录配置 ├── AI 配置 ├── 聊天配置 ├── 安全配置 └── 保存 ### 13.2 登录配置 字段: ### 13.3 AI 配置 字段: ### 13.4 聊天配置 字段: ### 13.5 保存规则 点击保存: 参数校验 │ 保存数据库 │ 刷新缓存 │ 立即生效 │ 记录日志 ## 第十四章 操作日志模块 ### 14.1 页面布局 操作日志 ────────────────────────── 操作人 模块 类型 时间 搜索 ────────────────────────── 日志列表 ### 14.2 查询条件 支持: 操作人 操作模块 操作类型 时间范围 ### 14.3 日志详情 字段: ## 第十五章 权限控制 ### 15.1 权限模型 系统权限分为三层: 角色权限 ↓ 账号权限 ↓ 知识库权限 ### 15.2 登录权限 登录成功必须满足: 账号存在 ↓ 启用 ↓ 未过期 ↓ 允许登录 否则拒绝登录。 ### 15.3 AI 权限 用户发送问题: 获取用户知识库 ↓ 过滤禁用知识库 ↓ 过滤过期权限 ↓ 实时检索飞书 ↓ 生成答案 ### 15.4 权限冲突 多个知识库内容冲突时: 系统必须: 分别展示观点 标注知识库来源 不进行自动裁决 ## 第十六章 AI/RAG 业务流程 ### 16.1 完整时序 用户发送问题 │ 聊天次数校验 │ 登录校验 │ 账号校验 │ 知识库权限校验 │ 获取允许访问的 Space │ 实时检索飞书 │ 整理Prompt │ 调用 AI 模型 │ Streaming 输出 │ 保存聊天记录 ### 16.2 Prompt 组成 Prompt 包含: 系统 Prompt(后台维护) 检索知识片段 历史上下文 当前用户问题 ### 16.3 返回策略 有命中: 正常回答。 无命中: 返回: 当前知识库中未检索到相关内容,请联系管理员补充相关知识。 不得使用模型自身知识补充答案。 ## 第十七章 异常处理 ### 17.1 飞书异常 默认: 重试 2 次(后台可配置 0~3 次)。 仍失败: 知识库服务暂时不可用,请稍后再试。 ### 17.2 AI 超时 默认: 30 秒。 超时: 终止请求 保存日志 返回统一提示 ### 17.3 用户停止生成 点击: 停止生成 系统: 取消模型请求 保留已生成内容 消息状态标记为 STOPPED ### 17.4 每日次数耗尽 返回: 今日聊天次数已用完,请明天再试或联系管理员。 ## 第十八章 开发验收标准 ### 用户端 ✅ 手机号验证码登录 ✅ 多设备登录 ✅ 多会话 ✅ AI 流式输出 ✅ 停止生成 ✅ 自动生成标题 ✅ 删除会话仅隐藏 ✅ 每日聊天次数限制 ### AI 能力 ✅ 仅访问授权知识库 ✅ 飞书实时检索 ✅ 不联网搜索 ✅ Prompt 实时生效 ✅ 模型可切换 ✅ 知识冲突按来源展示 ✅ 超时与重试符合配置 ### 管理后台 ✅ 用户管理 ✅ 管理员管理 ✅ 知识库管理 ✅ Prompt 管理 ✅ AI 模型管理 ✅ 聊天记录管理 ✅ 系统配置 ✅ 数据统计 ✅ 操作日志 第二份文档完成 至此,《系统功能规格说明书(SRS)V1.0》第一版完成。 相比 PRD,SRS 已将系统细化到: 页面结构 按钮行为 字段定义 权限校验 状态流转 AI/RAG 调用流程 异常处理 开发验收标准 ## Table 1 | 属性 | 值 | | --- | --- | | 类型 | String | | 长度 | 11 | | 必填 | 是 | | 校验 | 中国大陆手机号 | ## Table 2 | 属性 | 值 | | --- | --- | | 类型 | String | | 长度 | 6 | | 必填 | 是 | ## Table 3 | 场景 | 提示 | | --- | --- | | 手机号为空 | 请输入手机号 | | 手机号非法 | 手机号格式错误 | | 发送失败 | 请稍后再试 | ## Table 4 | 字段 | 必填 | | --- | --- | | MessageID | √ | | SessionID | √ | | UserID | √ | | Content | √ | | 时间 | √ | ## Table 5 | 字段 | 必填 | | --- | --- | | MessageID | √ | | Reply | √ | | 模型 | √ | | Token | √ | | 回复耗时 | √ | ## Table 6 | 字段 | 编辑 | | --- | --- | | 手机号 | 否 | | 姓名 | 是 | | 昵称 | 否 | | 状态 | 是 | | 今日次数 | 否 | | 总次数 | 是 | | 最后登录 | 否 | ## Table 7 | 字段 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | Prompt 内容 | Text | √ | 系统提示词 | | 更新时间 | Datetime | √ | 自动生成 | | 更新人 | String | √ | 管理员 | ## Table 8 | 字段 | 必填 | | --- | --- | | 模型名称 | √ | | Provider | √ | | API URL | √ | | API Key | √ | | Model Name | √ | | Temperature | √ | | Max Token | √ | | Timeout | √ | | 是否启用 | √ | ## Table 9 | 参数 | 默认值 | | --- | --- | | Temperature | 0.3 | | Max Output Token | 4096 | | Timeout | 30 秒 | ## Table 10 | 配置项 | 类型 | | --- | --- | | 登录有效期 | Number | | 是否允许多设备 | Switch | | 注册审核 | Switch | ## Table 11 | 配置项 | 类型 | | --- | --- | | 上下文长度 | Number | | 上下文模式(Token/轮数) | Select | | AI 超时 | Number | | 飞书重试次数 | Number | | 是否展示引用来源 | Switch | | 是否允许联网 | Switch(一期固定关闭) | ## Table 12 | 配置项 | 类型 | | --- | --- | | 默认每日聊天次数 | Number | | 是否启用流式输出 | Switch | | 是否允许停止生成 | Switch | ## Table 13 | 字段 | 说明 | | --- | --- | | 日志ID | 唯一编号 | | 操作人 | 管理员 | | 操作模块 | 用户/知识库等 | | 操作类型 | 新增/修改/删除 | | 修改前 | JSON | | 修改后 | JSON | | IP | IPv4/IPv6 | | 时间 | Datetime |