14 KiB
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
不支持:
图片
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 |