# 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 |
