Files
CheersAI-Desktop/masked/masked_prd_ai_office_software.md
T

375 lines
22 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.
# PRD安全、便捷的PC端CS版AI办公软件
---
## 1. 文档信息
| 项目 | 内容 |
|------|------|
| **产品名称** | StarDesk AI星办公 |
| **文档版本** | V1.0 |
| **文档状态** | 评审中 |
| **作者** | 产品部 |
| **创建日期** | 2025-02-09 |
| **最近更新** | 2025-02-09 |
| **面向读者** | 开发工程师、UI设计师、测试工程师、安全团队、项目经理 |
### 版本修订记录
| 版本 | 日期 | 修订人 | 修订内容 |
|:---:|:---:|:---:|------|
| V0.1 | 2025-01-15 | — | 初稿,完成需求背景与功能框架 |
| V0.5 | 2025-01-28 | — | 补充详细功能描述、异常处理、安全架构 |
| V1.0 | 2025-02-09 | — | 评审反馈修订,定稿提交开发 |
---
## 2. 需求背景与目标
### 2.1 背景
当前企业员工在日常办公中已广泛使用AI工具如ChatGPT、Claude等Web端产品来辅助写作、数据分析、代码生成等工作。但Web端AI工具在企业环境中面临三大核心痛点
**痛点一:数据安全不可控。** 员工在公共AI平台输入的内容会议纪要、财务数据、客户信息、技术方案等会上传至第三方服务器企业无法审计数据流向存在严重的数据泄露风险。多家企业已因此发生过敏感信息外泄事件。
**痛点二:使用体验割裂。** 员工需要在浏览器中来回切换AI网页和办公软件Word、Excel、PPT、邮件客户端等频繁复制粘贴工作流被打断效率损耗显著。
**痛点三:管理无法触达。** 企业IT管理员无法统一管控员工的AI使用行为——无法设定使用策略、无法审计对话内容、无法控制模型调用成本AI工具在企业内处于"影子IT"状态。
### 2.2 产品定位
StarDesk AI 是一款**面向企业用户的PC端客户端Client-Server架构AI办公软件**将AI能力深度集成到本地办公场景中在确保企业数据安全的前提下为员工提供便捷、高效的AI办公体验。
### 2.3 目标用户
| 用户角色 | 描述 | 核心诉求 |
|---------|------|---------|
| **企业知识工作者** | 日常需要撰写文档、处理数据、编写邮件的普通员工 | 在本地桌面环境中便捷调用AI不中断工作流 |
| **IT管理员** | 负责企业软件部署和安全策略的技术管理者 | 统一部署、集中管控、审计合规 |
| **部门管理者** | 团队负责人 | 了解团队AI使用情况控制成本 |
### 2.4 业务目标与核心指标
| 目标维度 | 具体目标 | 衡量指标 | 目标值 |
|---------|---------|---------|-------|
| **安全合规** | 企业敏感数据零泄露 | 安全事件数 | 0 |
| **用户渗透** | 目标企业员工高活跃使用 | 周活跃用户占比WAU/总部署数) | ≥60% |
| **效率提升** | 显著减少员工重复性办公时间 | 用户自评效率提升比例 | ≥30% |
| **部署成功率** | 企业可快速完成全员部署 | 从采购到全员可用的天数 | ≤3天 |
---
## 3. 用户故事
### 3.1 企业知识工作者
| 编号 | 用户故事 | 优先级 |
|:---:|--------|:---:|
| US-01 | 作为一名企业员工我想要在桌面端直接唤起AI助手如通过快捷键以便我不需要打开浏览器就能快速提问或让AI帮我处理任务 | **P0** |
| US-02 | 作为一名经常写文档的员工我想要在AI对话中直接引用本地文件Word、PDF、Excel等作为上下文以便AI能基于我的真实资料给出精准回答 | **P0** |
| US-03 | 作为一名员工我想要把AI生成的内容一键导出为Word、PPT或Markdown文件以便我直接用于工作交付而不需手动排版 | **P0** |
| US-04 | 作为一名需要处理数据的员工我想要把Excel文件拖入AI助手让它帮我分析数据趋势、生成图表或写公式以便我不需要学习复杂的数据分析工具 | **P1** |
| US-05 | 作为一名员工我想要AI助手能记住我之前的对话和偏好设置以便我不需要每次都重复交代背景信息 | **P1** |
| US-06 | 作为一名经常写邮件的员工我想要选中一段文字后右键调用AI进行润色、翻译或摘要以便我在任何应用内都能随时获得AI辅助 | **P1** |
### 3.2 IT管理员
| 编号 | 用户故事 | 优先级 |
|:---:|--------|:---:|
| US-07 | 作为IT管理员我想要通过管理后台统一部署客户端到全公司电脑支持静默安装以便我不需要逐台手动安装 | **P0** |
| US-08 | 作为IT管理员我想要设定敏感词过滤规则和数据外传策略以便所有员工的AI交互内容都符合公司安全合规要求 | **P0** |
| US-09 | 作为IT管理员我想要在后台查看全公司AI使用的审计日志谁在什么时间问了什么、AI回答了什么以便满足合规审查要求 | **P0** |
| US-10 | 作为IT管理员我想要按部门/角色配置不同的模型调用额度和功能权限以便控制AI使用成本并防止滥用 | **P1** |
### 3.3 部门管理者
| 编号 | 用户故事 | 优先级 |
|:---:|--------|:---:|
| US-11 | 作为部门管理者我想要查看本部门的AI使用统计看板使用人数、高频场景、调用量趋势以便评估AI工具的投入产出比 | **P1** |
| US-12 | 作为部门管理者我想要为团队创建共享的提示词模板库以便团队成员不需要从零编写提示词就能高效使用AI | **P2** |
---
## 4. 功能清单与优先级
### 4.1 功能全景
| 功能模块 | 功能点 | 优先级 | 判断依据 |
|---------|-------|:---:|---------|
| **AI对话核心** | 多轮对话交互 | P0 | 产品基础能力,无此功能产品不可用 |
| | 快捷键全局唤起如Ctrl+Space | P0 | 核心差异化体验,替代浏览器切换的关键 |
| | 多模型切换GPT-4o / Claude / 国产模型) | P0 | 企业客户的基本要求,不同场景需要不同模型 |
| | 对话历史管理与搜索 | P1 | 高频使用后的刚需,非首版上线阻塞项 |
| **文件处理** | 本地文件拖拽上传作为上下文 | P0 | 核心使用场景,解决"上下文输入"的便捷性问题 |
| | 支持格式Word、PDF、Excel、PPT、TXT、图片 | P0 | 覆盖主流办公文件格式 |
| | AI输出一键导出为Word/PPT/Markdown | P0 | 解决"输出交付"的最后一公里问题 |
| | Excel智能分析公式生成、数据可视化 | P1 | 高价值场景,但开发复杂度较高,可二期迭代 |
| **系统级集成** | 右键菜单AI功能选中文字→翻译/润色/摘要) | P1 | 体验加分项需要系统级hook技术风险中等 |
| | 剪贴板智能感知 | P2 | 锦上添花,非核心流程 |
| **安全与合规** | 数据传输全链路加密TLS 1.3 + AES-256 | P0 | 企业安全底线,不可妥协 |
| | 敏感词/敏感数据拦截DLP | P0 | 安全合规核心功能 |
| | 审计日志(完整对话记录、操作日志) | P0 | 企业合规硬性要求 |
| | 私有化部署支持 | P1 | 高安全级别客户的必要条件 |
| **管理后台** | 统一部署MSI/EXE静默安装包 | P0 | 企业IT部署的基础要求 |
| | 用户/部门/角色权限管理 | P0 | 企业级产品标配 |
| | 用量额度配置(按部门/角色设上限) | P1 | 成本控制需求 |
| | 使用统计看板 | P1 | 管理者决策依据 |
| **提示词生态** | 内置常用提示词模板库 | P1 | 降低使用门槛 |
| | 团队共享提示词空间 | P2 | 锦上添花,提升团队协作效率 |
### 4.2 版本规划概览
| 版本 | 核心目标 | 包含功能优先级 |
|:---:|---------|:---:|
| **V1.0MVP** | 跑通核心链路:安全对话 + 文件处理 + 基础管理 | P0 |
| **V1.5** | 补齐体验:系统集成 + 数据分析 + 提示词模板 | P0 + P1 |
| **V2.0** | 生态扩展:共享空间 + 插件系统 + 私有化部署 | P0 + P1 + P2 |
---
## 5. 详细功能描述
### 5.1 AI对话核心
#### 5.1.1 多轮对话交互
**正常流程:**
| 步骤 | 用户操作 | 系统响应 |
|:---:|---------|---------|
| 1 | 在对话输入框中输入问题点击发送或按Enter | 输入框内容清空,用户消息显示在对话区域右侧 |
| 2 | — | AI回复以打字机效果逐字显示在对话区域左侧底部显示"生成中…"状态 |
| 3 | 等待AI回复完成 | "生成中…"消失,回复内容下方出现"复制""导出""重新生成"三个操作按钮 |
| 4 | 继续输入追问内容 | 系统自动携带上文对话历史作为上下文,发送给模型 |
**上下文窗口管理:** 当对话轮次超过模型上下文上限时,系统自动采用"滑动窗口"策略保留最近N轮对话N根据模型上下文长度动态计算并在对话区顶部提示"早期对话已超出模型记忆范围"。
#### 5.1.2 快捷键全局唤起
| 步骤 | 用户操作 | 系统响应 |
|:---:|---------|---------|
| 1 | 在任意应用中按下 `Ctrl + Space`(可自定义) | 屏幕中央弹出一个轻量浮窗宽600px高80px包含输入框和模型选择下拉框 |
| 2 | 在浮窗中输入问题按Enter | 浮窗自动扩展为完整对话面板宽700px高500px开始生成回答 |
| 3 | 按Esc或点击浮窗外区域 | 浮窗收起,最小化到系统托盘,对话状态保留 |
#### 5.1.3 多模型切换
对话输入框左上方提供模型选择下拉菜单,支持的模型由管理员在后台配置。切换模型时,当前对话历史保留,新消息使用新模型处理。每个模型旁显示标签标注其特点(如"擅长中文写作""擅长代码""擅长逻辑推理")。
### 5.2 文件处理
#### 5.2.1 本地文件上传
**正常流程:**
| 步骤 | 用户操作 | 系统响应 |
|:---:|---------|---------|
| 1 | 将本地文件拖拽到对话区域 / 点击"📎"按钮选择文件 | 显示文件预览卡片(文件名、大小、类型图标),状态为"解析中…" |
| 2 | — | 文件解析完成后,卡片状态变为"✅ 已就绪",下方提示"你可以针对这份文件提问了" |
| 3 | 输入针对文件的问题(如"帮我总结这份报告的核心结论" | AI基于文件内容 + 用户问题生成回答 |
**支持格式与限制:**
| 文件类型 | 支持格式 | 单文件大小上限 | 解析方式 |
|---------|---------|:---:|---------|
| 文档 | .docx, .doc, .pdf, .txt, .md | 50MB | 文本提取 + OCR扫描版PDF |
| 表格 | .xlsx, .xls, .csv | 30MB | 结构化解析,保留表头和数据关系 |
| 演示文稿 | .pptx, .ppt | 50MB | 逐页文本提取 + 图片描述 |
| 图片 | .png, .jpg, .jpeg, .webp | 20MB | 多模态模型识别 |
#### 5.2.2 AI输出导出
用户在任意AI回复下方点击"导出"按钮后,弹出格式选择菜单:
| 导出格式 | 处理方式 | 适用场景 |
|---------|---------|---------|
| **Word (.docx)** | AI输出的Markdown自动转换为带格式的Word文档标题、列表、表格均保留样式 | 正式文档交付 |
| **PPT (.pptx)** | 自动将内容按标题层级拆分为幻灯片页面 | 汇报演示 |
| **Markdown (.md)** | 原始Markdown内容直接保存 | 技术文档、知识库 |
| **纯文本 (.txt)** | 去除所有格式标记 | 快速复制粘贴 |
### 5.3 安全与合规
#### 5.3.1 数据传输加密
**架构设计:**
客户端与服务器之间的所有通信强制使用TLS 1.3协议。对话内容在客户端本地使用AES-256加密后再传输服务端解密处理后回复内容同样加密返回。密钥通过企业管理后台由IT管理员定期轮换。
#### 5.3.2 敏感数据拦截DLP
| 步骤 | 系统行为 |
|:---:|---------|
| 1 | 用户发送消息时客户端本地DLP引擎先对内容进行扫描 |
| 2 | 匹配到敏感规则(如身份证号、银行卡号、管理员自定义关键词)时,**阻断发送** |
| 3 | 弹出提示:"检测到你的输入中可能包含敏感信息【×××】,已阻止发送。如需继续,请移除敏感内容或联系管理员。" |
| 4 | 本次拦截事件自动记录到审计日志包含用户ID、时间、触发规则、原始内容摘要 |
**预置敏感规则:** 身份证号码18位/15位、手机号码、银行卡号、电子邮箱、IP地址、自定义关键词管理员可配置
#### 5.3.3 审计日志
管理后台提供完整的审计日志模块,记录以下信息:
| 字段 | 说明 |
|------|------|
| 用户ID / 姓名 / 部门 | 操作人身份信息 |
| 时间戳 | 精确到秒 |
| 操作类型 | 发送消息 / 上传文件 / 导出文件 / 切换模型 / DLP拦截 |
| 内容摘要 | 对话内容前200字可配置是否记录完整内容 |
| 模型 | 本次调用使用的模型名称 |
| Token消耗 | 本次调用的输入/输出Token数 |
日志支持按时间范围、用户、部门、操作类型筛选支持导出为CSV。日志保留周期默认180天管理员可自定义。
### 5.4 管理后台
#### 5.4.1 统一部署
提供MSI格式安装包支持以下部署方式
| 部署方式 | 说明 | 适用场景 |
|---------|------|---------|
| **手动安装** | 员工自行下载安装,首次启动时输入企业授权码 | 小型团队(<50人 |
| **静默安装** | 通过命令行参数 `msiexec /i StarDeskAI.msi /quiet ORGCODE=xxx` | 中大型企业通过SCCM/Intune等工具批量推送 |
| **域控推送** | 通过Active Directory组策略自动分发 | 已有Windows域环境的企业 |
客户端安装后自动连接企业服务端,获取配置策略(模型列表、安全规则、额度限制等),无需员工手动配置。
#### 5.4.2 权限与额度管理
管理后台支持三级权限体系:
| 层级 | 可配置项 |
|------|---------|
| **全局** | 可用模型列表、全局DLP规则、日志保留策略 |
| **部门** | 部门月度Token额度上限、部门专属提示词模板 |
| **角色/个人** | 是否可导出文件、是否可上传文件、个人月度额度 |
当用户额度用尽时,客户端提示"本月AI使用额度已用完请联系管理员",并阻断新的对话请求。
---
## 6. 异常情况处理
| 序号 | 异常场景 | 触发条件 | 系统处理方案 | 用户感知 |
|:---:|---------|---------|------------|---------|
| 1 | **网络断开** | 客户端检测到与服务端连接中断 | 自动进入离线模式用户可查看历史对话但无法发送新消息每5秒自动重连重连成功后恢复正常 | 顶部状态栏显示红色"离线"标识,输入框变灰并提示"网络已断开,正在尝试重连…" |
| 2 | **AI回复超时** | 模型API在30秒内未返回响应 | 自动重试1次若仍超时终止请求 | 显示"回复生成超时,请点击重试或切换其他模型" + 重试按钮 |
| 3 | **文件解析失败** | 文件损坏、格式不支持、超过大小限制 | 终止解析,不发送任何文件内容到服务端 | 文件卡片显示红色"❌ 解析失败",下方提示具体原因(如"文件已损坏""不支持.rar格式""文件超过50MB上限" |
| 4 | **DLP拦截** | 用户输入内容命中敏感数据规则 | 阻断发送,记录审计日志 | 弹窗提示被拦截的敏感类型,输入内容保留在输入框中供用户修改 |
| 5 | **Token额度用尽** | 用户本月已用量达到管理员设定的上限 | 阻断新对话请求,保留历史查看和导出功能 | 输入框上方显示"本月额度已用完已用100,000/100,000 tokens请联系管理员提升额度" |
| 6 | **模型服务不可用** | 某个模型API返回5xx错误 | 自动将该模型状态标记为"不可用",建议用户切换到其他可用模型 | 模型名称旁显示灰色"不可用"标签,发送消息时提示"当前模型暂时不可用,建议切换到【替代模型名】" |
| 7 | **客户端版本过低** | 客户端版本低于服务端要求的最低版本 | 阻断使用,强制显示更新页面 | 全屏显示"请更新到最新版本",提供下载链接和更新说明 |
| 8 | **并发对话限制** | 单用户同时打开超过5个对话窗口 | 阻止新建对话,不影响已有对话 | 提示"最多同时进行5个对话请关闭不需要的对话后再试" |
---
## 7. 数据埋点需求
### 7.1 关键行为事件
| 事件名称 | 触发时机 | 上报参数 | 分析用途 |
|---------|---------|---------|---------|
| `app_launch` | 客户端启动 | 启动方式(手动/开机自启)、系统版本、客户端版本 | 日活/周活统计 |
| `chat_send` | 用户发送消息 | 模型ID、消息长度、是否携带文件、对话轮次 | 核心使用频率、模型偏好分析 |
| `chat_receive` | AI回复完成 | 模型ID、回复长度、响应耗时(ms)、Token消耗量 | 模型性能监控、成本核算 |
| `file_upload` | 用户上传文件 | 文件类型、文件大小、解析结果(成功/失败) | 文件功能使用率、失败率监控 |
| `export_click` | 用户点击导出 | 导出格式Word/PPT/MD/TXT | 导出功能使用偏好 |
| `quicklaunch_trigger` | 快捷键唤起浮窗 | 唤起时的前台应用名称 | 用户使用场景分析 |
| `model_switch` | 用户切换模型 | 切换前模型ID、切换后模型ID | 模型偏好与满意度 |
| `dlp_block` | DLP拦截触发 | 触发规则类型、用户部门 | 安全策略有效性评估 |
| `error_occur` | 任何异常发生 | 错误类型、错误码、发生页面 | 稳定性监控与优化 |
### 7.2 埋点规范
所有事件统一上报至企业自有的数据分析平台不使用第三方埋点SDK上报格式为JSON包含公共字段`user_id``org_id``department``client_version``os_version``timestamp`。埋点数据传输使用与业务数据相同的加密通道。
---
## 8. 验收标准
### 8.1 AI对话核心
| 编号 | 验收条件 | 测试方法 |
|:---:|---------|---------|
| AC-01 | 用户输入问题后AI在15秒内开始返回首个字符流式输出 | 使用秒表计时测试10次取平均值 |
| AC-02 | 快捷键 `Ctrl+Space` 在任意前台应用中均可唤起浮窗响应时间≤500ms | 分别在Word、Excel、Chrome、VS Code中测试 |
| AC-03 | 切换模型后,下一条消息确实由新模型处理(可通过回复风格或模型标识确认) | 切换模型后问"你是什么模型"进行验证 |
| AC-04 | 对话历史在客户端关闭重启后完整保留 | 进行5轮对话→关闭客户端→重新打开→检查历史 |
### 8.2 文件处理
| 编号 | 验收条件 | 测试方法 |
|:---:|---------|---------|
| AC-05 | 拖拽上传.docx/.pdf/.xlsx/.pptx/.png文件均可成功解析解析完成后可基于文件内容对话 | 每种格式各准备2个测试文件进行测试 |
| AC-06 | 导出为Word的文件在Microsoft Word 2019+中打开后,标题层级、表格、列表格式正确无乱码 | 导出后用Word打开逐项检查 |
| AC-07 | 超过大小限制的文件上传后系统在3秒内提示错误信息且不发送任何数据 | 上传一个60MB的PDF文件进行测试 |
### 8.3 安全与合规
| 编号 | 验收条件 | 测试方法 |
|:---:|---------|---------|
| AC-08 | 输入包含身份证号的消息,发送按钮点击后被立即拦截,消息不会到达服务端 | 用抓包工具如Fiddler确认无请求发出 |
| AC-09 | 审计日志完整记录每一次对话的用户、时间、内容摘要、模型、Token消耗 | 进行10次对话后检查后台日志完整性 |
| AC-10 | 所有客户端与服务端通信均使用TLS 1.3加密 | 用Wireshark抓包验证协议版本 |
### 8.4 管理后台
| 编号 | 验收条件 | 测试方法 |
|:---:|---------|---------|
| AC-11 | 静默安装命令执行后客户端在2分钟内完成安装并自动连接服务端获取策略 | 在全新Windows 10/11机器上测试 |
| AC-12 | 管理员修改额度配置后客户端在5分钟内下次心跳同步时生效 | 修改额度→等待5分钟→客户端尝试发送消息验证 |
| AC-13 | 用户额度用尽后,无法发送新消息但可以查看历史和导出文件 | 将测试账号额度设为1→用完→验证功能 |
---
## 9. 排期建议
### 9.1 V1.0MVP工时预估
| 模块 | 预估工时(人天) | 负责团队 | 说明 |
|------|:---:|---------|------|
| PC客户端框架Electron/Tauri | 15 | 前端 | 含窗口管理、托盘、快捷键 |
| AI对话核心多轮对话+流式输出) | 12 | 前端+后端 | 含多模型适配层 |
| 文件上传与解析引擎 | 15 | 后端 | Word/PDF/Excel/PPT/图片解析 |
| 文件导出功能 | 8 | 前端+后端 | Markdown→Word/PPT转换 |
| 安全模块(加密+DLP+审计) | 18 | 后端+安全 | 核心安全能力 |
| 管理后台(部署+权限+日志) | 20 | 全栈 | 含前端页面+后端API |
| UI/UX设计 | 12 | 设计 | 客户端+管理后台 |
| 测试与修复 | 15 | 测试 | 功能+安全+兼容性测试 |
| **合计** | **115人天** | | |
### 9.2 里程碑计划
| 里程碑 | 时间节点 | 交付物 |
|-------|---------|-------|
| 需求评审通过 | 第1周 | 本PRD终稿 |
| UI设计稿交付 | 第3周 | 全部页面设计稿+交互标注 |
| Alpha内测版 | 第8周 | 核心功能可用,内部团队试用 |
| Beta公测版 | 第11周 | 全功能可用,邀请种子客户测试 |
| V1.0正式发布 | 第14周 | 正式版上线+部署文档+用户手册 |
---
## 附录
### 附录A技术架构选型建议
| 层级 | 推荐方案 | 备选方案 |
|------|---------|---------|
| 客户端框架 | TauriRust+WebView包体小、性能好 | Electron生态成熟但包体较大 |
| 后端服务 | Go / Rust高性能、低资源占用 | Java Spring Boot |
| 数据库 | PostgreSQL主数据+ Redis缓存+会话) | — |
| 模型网关 | 自建API网关统一代理多模型调用 | LiteLLM等开源方案 |
| 文件解析 | Apache Tika多格式支持+ PaddleOCR扫描件 | — |
### 附录B竞品参考
| 竞品 | 核心特点 | 与本产品差异 |
|------|---------|------------|
| Microsoft Copilot | 深度集成Office全家桶 | 仅限微软生态,无法私有化部署 |
| 钉钉AI助理 | 集成在钉钉IM中 | 仅限钉钉生态,不支持多模型切换 |
| ChatBox开源 | 轻量桌面客户端 | 无企业管理能力、无安全合规模块 |
本产品的差异化定位:**独立于任何办公生态,专注于安全可控+多模型灵活调用+企业级管理**。