团队展示、选题报告与需求分析:课伴 StudyMate 小组作业协作助手

课伴 StudyMate:让小组作业从分工走到交付

作业所属课程 软件工程课程班级
作业要求 团队展示+选题报告+需求分析
作业的目标 将上一阶段的智能体嵌入具体应用,通过团队展示、真实需求调研和需求分析,说明应用为谁解决什么问题,以及怎样实现和验收。
团队名称 五等分的计科
团队成员学号-名字 3124007214-陈建志;3124004160-陈信儒;3124004184-肖琳瀚;3124004159-陈康泓;3124004050-陈憬乐
项目仓库 DexJocelyn / StudyMateAgent

本文介绍课伴的选题、需求与实现。小陈、小肖是功能演示成员;需求来源采用真实内部使用观察,AI模拟走查单独作为辅助测试记录。

一、团队展示

1. 队名介绍与成员职责

我们的队名是五等分的计科,寓意五个同样学习计科的同好友。大家有共同的专业背景与兴趣,希望在交流和协作中一起学习、一起进步,把各自的想法落实到课伴项目中。

我们围绕模型编排、工具与存储、网页交互、对话与语音、测试与文档五个方向安排协作。下面列出各成员的职责方向与本人希望承担的角色。

姓名 学号 本次职责方向 希望承担的角色
陈建志 3124007214 模型与工具编排、整体集成联调 模型集成与联调
陈信儒 3124004160 工具接口、数据库与日程规则 后端开发
肖琳瀚 3124004184 前端交互、结果呈现与使用体验 后端开发
陈康泓 3124004159 对话记忆、语音输入与设备体验 测试与文档
陈憬乐 3124004050 功能测试、验收记录与文档整理 前端开发

希望承担的角色表达个人学习与发展意向,与本次协作方向分别记录。

陈信儒(3124004160):性格理性沉稳,做事踏实,待人平和。擅长C语言和Python,兴趣爱好是打游戏、乒乓球和象棋。希望在小组中承担后端开发工作,也在继续学习相关技术。

肖琳瀚(3124004184):性格稳重踏实,擅长Java,兴趣爱好是切牌和打游戏。目前正在学习后端相关技术,希望在小组中承担后端开发工作。

陈憬乐(3124004050):性格活泼开朗、乐观向上,独立性强,能够自主完成任务,有责任心,愿意主动承担自己的责任。擅长C语言和Python,兴趣爱好是打羽毛球、听歌和打游戏。目前正在学习前端技术,希望在小组中承担前端开发工作。

陈建志(3124007214):做事认真细致,遇到问题愿意耐心尝试,也比较重视组员的意见。正在学习Python、FastAPI、模型API接入和前后端联调,兴趣爱好是看动漫、打游戏。希望负责模型集成与联调,也愿意参与测试和文档整理。

陈康泓(3124004159):性格比较乐观,目前正在学习数据库系统,兴趣爱好是读小说。希望在小组中负责测试和文档工作。

2. 团队成员头像合影

01-五等分的计科五位成员头像合影

从左到右依次为陈信儒、肖琳瀚、陈建志、陈康泓、陈憬乐。图为五位成员头像组成的团队形象拼图。

3. 项目规划与愿景

课伴面向有课程小组作业的大学生。我们沿用上一阶段的任务、日程和对话能力,把应用整理成三个入口:帮小组分工、安排我的时间、检查作业。三者使用同一个项目的数据,检查发现的缺项可以继续成为任务。

我们希望课伴成为大学生小组作业中一个可靠的协作入口,让要求、分工、时间和提交材料都能被清楚记录。成员知道自己下一步要做什么,协调者能跟进进度;提交前可以回看依据、发现遗漏,再由人确认并补齐。它应减少来回核对的负担,同时把判断权留给使用者。

二、选题报告

1. 从上一版到这次应用

上一阶段,我们主要验证智能体能否理解自然语言、调用工具并保存任务。本阶段要回答一个更具体的问题:这些能力怎样帮助小组完成一次真实作业?

只把任务列出来还不够。成员接到任务后要知道什么时候做,提交前也要核对报告是否覆盖了老师的要求。因此,我们把分工、个人排程和材料检查接在一起,而不是单独增加一个文档问答框。

2. 目标用户与待验证的问题

目标用户是大学课程作业小组,重点关注两类使用场景:协调人整理要求并确认分工,组员安排本人任务;提交前,成员共同核对材料。

目前整理出三个问题假设:

  • 要求散落在群聊和文档里,难以对应到负责人。
  • 接到任务后,成员需要根据自己的空闲时间安排工作。
  • 任务标记完成了,最终报告或展示材料仍可能漏掉要求。

这些需求在项目成员的实际使用与问题反馈中逐步形成,下面列出反馈来源及其如何影响设计。

3. 需求来源:项目成员的真实使用观察

我们采用开发过程中的内部使用观察收集需求:项目成员实际操作课伴,指出遇到的问题,再将问题转成可验证的功能改动。以下三条来自同一名项目成员U1的真实反馈,不是三位受访者,也不是正式访谈统计。收集时间为本次项目迭代期间,未保留各条独立访谈日期,因此不补写日期或人数。

来源与实际问题 用户需要什么 需求与设计调整 验证证据
U1:任务开始后只能标记完成,希望有空再继续 工作中断后能保留原任务并恢复 FR-03:增加暂停/继续,保留负责人和原截止日期 本文任务暂停截图p7-2
U1:已有小陈和小肖,草案却全分给小陈 分工基于全组真实名单,不能把当前聊天者视为唯一负责人 FR-02:预读成员名册,增加分工草案校验 p6-2草案覆盖两人,p7-1实际保存
U1:导出时间含T、时区和微秒,可读性差 计划和检查报告能直接读懂时间 FR-09:统一为中文日期与北京时间 p12-2导出示例和实际Markdown文件

此外,项目提交人转述:组员整体认可当前版本,但在各自电脑上部署时遇到一些问题。这说明除了网页功能,首次安装和启动体验也会影响使用。当前尚未收齐各台设备的配置、报错和逐人操作记录,因此不统一归因,也不据此宣称全部组员已完成所有功能验收或计算满意率。

我们将部署体验列为后续改进方向:让首次环境准备、依赖安装和失败提示更清楚,并评估自带运行环境的Windows便携包。现有演示包仍需要本机Python和首次安装依赖,免环境便携包尚未完成。AI模拟走查记录另列,不计入真实用户数量。

这类观察反映了实际成员在小组作业中的需求,但样本集中在本组,不能据此代表其他课程或所有学生。后续将继续找组外同学试用,记录其最近一次分工、时间协调和提交核对的经历,验证需求是否具有普遍性。

4. AI模拟用户走查(辅助验证)

我们使用另一智能体模拟首次使用者,实际操作分工、个人日程和作业检查,保留43张截图与操作日志。它没有图像输入,因此本轮主要评价操作流程、页面文字和执行结果,不作配色或整体视觉体验评价。

观察到的问题 核对后的理解 后续改进方向
时间安排入口生成的草案出现在聊天区,右侧仍显示无已保存日程 草案尚未采用时数据状态正确,但用户要跨区域寻找结果 在时间安排区提示待确认草案并提供查看入口
人工复核中的“人工确认”容易被理解为认可AI的缺项结论 系统实际将其当作该要求已满足,存在文案歧义 明确区分确认已满足与确认需补充,提前说明建任务条件
菜单叫“下载任务计划”,实际先在聊天中生成下载链接 独立点击链接成功下载,不能写成导出功能完全失效 明确生成与下载的后续动作,并提供清晰成功反馈

上表三项目前均为待实施的改进计划,尚未完成修改与复测。

02-AI模拟走查:草案与时间安排分处两区
03-AI模拟走查:需展开查看依据与复核

报告中的部分故障判断需要修正:选择小林后刷新,独立复核可以恢复身份;正常从工作台进入检查作业,项目也能保持。日志中等待复核按钮的阶段,结果清单已存在,只是详情折叠。因此我们分别记录原始反馈和复核结论,尚未实施的改进也不会写成已经修复。

走查原始记录与独立复核清单另存为团队测试附件;本文列出主要结论,供后续复测。

这轮是AI模拟用户测试,不是真实学生访谈,不能据此推断学生群体的需求、满意度或产品效果。

5. 应用的主要亮点

我们的亮点是把“发现遗漏”接回“继续执行”:系统对照老师要求与已保存材料,给出可定位的文字依据或缺项;使用者人工复核,再确认负责人、耗时和截止时间,生成同项目中的补充任务。

这样,检查结果不止停留在一段建议里。任务卡和导出文件可以继续核对,成员也能跟进补充工作。实际价值仍需要通过真实试用验证,目前不宣称节省了多少时间或优于所有同类工具。

三、需求分析与实现思路

1. 项目标志与业务流程

课伴Logo由打开的书页和绿色勾选组成:书页代表课程、知识与学习过程;勾选代表核对要求、完成任务与交付确认。两者结合,表达课伴既帮助小组安排学习任务,也帮助检查提交材料的定位。深绿色希望传达稳妥、清晰的使用感受,浅色背景便于阅读。Logo已用于网站页头与PPT。

04-课伴标志

应用按“分工—个人安排—交付检查”推进,发现缺项时返回任务流程。

05-课伴业务流程

2. 功能描述与验收标准

功能 前端交互 后端处理与约束 验收标准
项目与成员 新建、切换、重命名和归档项目;选择当前聊天成员 按项目保存成员、任务、日程与材料;成员选择仅为视角切换 切换项目后显示对应数据;归档可恢复;成员视角不被描述为账号登录
帮小组分工 输入要求,查看任务标题、负责人、估时和截止时间;确认草案 读取真实成员名册,检查字段和负责人;采用后才创建正式任务 草案未确认时不新增正式任务;确认后刷新仍可找到任务
任务跟进 开始、暂停、继续、完成及明确转交任务 保存任务状态;暂停保留原负责人和截止时间 卡片状态与实际数据一致;暂停后出现继续入口
个人时间安排 查看“我的”任务,填写空闲时段,预览并保存日程 按最早截止优先安排;检查空闲范围、冲突、截止和工时覆盖 保存本人日程时保留其他成员安排;时段不足时提示缺口
检查作业 保存要求、上传材料,按状态筛选并展开依据 支持TXT、MD、DOCX正文;真实模型分析;后端核对引文与版本 引文能定位到提供的原文;区分有依据、待补充和待核实,不自动判分
人工复核与补充任务 保存人工判断和备注,确认负责人、估时与截止 人工标为需补充后才能建任务;检查来源版本并防重复创建 补充任务出现在同项目看板;材料变化后旧结果不能继续建任务
计划与报告导出 下载任务计划或自查报告 从已保存数据生成文件,使用易读的北京时间 导出内容与对应记录一致,人工备注保留

3. 前后端怎样分工

前端使用HTML、CSS和JavaScript,负责项目与成员选择、草案预览、操作状态和原文依据展示。Markdown回复经过渲染与清理,避免把大量标记符号直接显示给使用者。

后端使用FastAPI编排模型与工具。千问负责理解自然语言、形成建议和解释结果;16项MCP工具承担任务、日程、材料和外部查询等操作,SQLite保存业务数据。排程可行性、引文、版本和重复请求由程序检查,不能依赖模型一句“已完成”。

06-系统实现架构

模型密钥保留在后端配置中。网页切换聊天成员不会自动切换模型,也不构成账号权限隔离。不同电脑各自运行时数据独立,共用模型密钥不等于共享项目数据库。

4. 需求思维导图

07-需求思维导图

5. 数据关系与类图概要

项目关联成员、任务、日程和自查工作区。自查记录保留材料版本,通过任务关联记录连接补充任务,以便追溯来源。

08-数据关系与类图概要

上图便于快速理解业务闭环。进一步的分析类图包含属性、业务操作和关联基数,见文末软件需求规格说明书。需求文档已整理运行约束、前后端需求、数据字典、接口、异常流程、验收标准与追踪关系;本次展示和最终验收按相同需求基线核对。

四、一次完整的实操演示

本例使用“演示”项目和小陈、小肖两名演示成员。操作日期为2026年11月6日;日后复现时应把日期改成使用当天之后的有效时段。

以下图片为实际操作截图。双图用于对照步骤,查看细节时可打开原图。

1. 进入工作台

首页三个入口分别对应分工、个人时间安排与作业检查。先选项目,再选择当前聊天成员。

09-主界面与三个入口

2. 从要求生成分工草案

小陈输入项目展示要求,指定每项30分钟、截止11月8日20:00,并要求先给草案。结果将五项工作分给两名成员:小陈3项、小肖2项。此时仍标记为待确认,尚未保存。

10-输入作业要求

11-两名成员的待确认分工草案

3. 确认保存,并暂停自己的任务

采用草案后,全组看板显示5项正式任务。小陈将“需求整理”开始并暂停,卡片显示“已暂停”和“继续任务”;原负责人、30分钟估时和截止时间保留。
12-采用草案后保存5项任务

13-小陈暂停自己的需求整理任务

4. 小肖安排自己的时间

切换为小肖,查看“我的”任务,两项任务各30分钟。小肖填写11月7日19:00—20:00的空闲时间,不需要先等其他成员填写。

14-小肖查看自己的两项任务

15-填写小肖的空闲时段

生成的草案将模型与工具联调安排在19:00—19:30,测试记录整理安排在19:30—20:00。核对后确认,正式日程中出现对应安排。

16-待确认的个人日程草案

17-保存后的个人日程

5. 保存模拟要求和报告初稿

模拟要求包含目标用户与问题、技术方案、成员分工表、公开仓库链接四项。报告初稿已有问题与技术说明、仓库链接,但故意没有分工表。上传后展开正文,确认检查所依据的内容已保存。

18-四项模拟要求

19-已上传的报告初稿正文

6. 查看检查结果,人工确认缺项

本次真实检查得到:2项有文字依据、1项待补充、1项待核实。成员分工表待补充,仓库是否公开可访问留给人工核实。

展开分工表检查项后,可以看到要求原文和缺项说明。人工选择“需补充”,备注“报告初稿缺少成员分工表,需要补充小陈、小肖各自的具体任务”,然后保存复核。

20-真实检查结果总览

21-人工复核并保存备注

7. 缺项变为任务,复核记录带入导出文件

确认由小陈负责、预计30分钟、截止11月8日20:00后,创建补充分工表任务。任务回到同一项目,小陈的任务从3项增至4项。下载的检查报告保留要求、缺项说明、人工复核和备注。

22-实际生成的分工表补充任务

23-导出报告保留人工备注

这次演示证明了操作链路可以连起来,不能据此宣称所有材料都能准确检查。补充任务完成后,仍需要上传修改后的材料并重新检查。

五、迭代记录与后续安排

日期 主要改动 目的与当前状态
2026年10月30日 增加要求与材料自查、原文引文和版本校验 让检查结论有材料依据
2026年11月1日 将自查整合回原项目,关联补充任务 让缺项回到已有任务流程
2026年11月5日 完善个人排程、项目管理、简洁结果列表和中文时间导出 提高使用与阅读的清晰度
2026年11月6日 修正团队分工时忽略其他成员的问题,完成本次案例实操与15张截图 实测草案覆盖小陈与小肖;截图和PPT已整理
2026年11月6日 收集AI模拟走查的43张截图及日志,独立复核关键结论 已形成草案提示、复核文案、下载引导三项改进计划,尚未实施
2026年11月7日 补齐五位成员的姓名、学号、个人介绍与角色意向 博客稿、成员页和讲者备注同步更新
2026年11月7日 整理内部真实使用观察、软件需求规格说明书及PNG图示 文档已形成,提交前继续全组审核
2026年11月8日 确认五等分的计科队名,加入成员头像合影、组名和Logo说明 头像合影不作为真人摄影;保留流程图、思维导图与类图
提交前 上传博客配图、核对需求与演练 头像合影是否替代首次合照需老师认可
后续开发与验收 最终对外访问、多人试用和设备兼容验证 待落实,不把本机入口描述为公开上线

六、当前能力边界与加分项

目前已接入千问真实模型,能够通过工具读写任务和日程、检查提供的正文并生成补充任务。联网搜索与天气属于辅助能力:搜索需要后端单独配置搜索服务,天气使用独立接口;它们不是材料检查的替代品。

本版暂不支持PDF、扫描图片或OCR,不自动批改和评分,也不会验证图片真实性、仓库链接是否可访问或程序实际运行效果。语音输入支持暂停、继续和停止,部分设备的手动停止朗读仍待复测。

老师明确列出的额外加分方向是智能体与硬件联动。我们目前没有完成这一项,不把普通浏览器麦克风输入自行认定为硬件加分。OCR可列为后续探索,但不是本版已实现能力,也不据此认定已经获得加分。

七、仓库、运行与检查入口

源码仓库:StudyMateAgent。2026年11月6日已更新main分支,代码基线为9d706a9,包含程序源码、运行说明和教学示例。

本机使用Python环境启动FastAPI后,在浏览器打开http://127.0.0.1:8000/。具体依赖、模型配置和启动方式以仓库README为准。模型与搜索密钥仅保存在运行主机的后端配置,不放进公开博客或源码。

对外运行状态: 当前提供源码与本机体验方式,正式对外访问地址尚未完成部署和跨设备验收。该项属于老师要求的最终上线工作,后续需补可供老师和助教检查的有效入口;本机地址和GitHub源码链接不替代上线。

本项目使用Codex辅助整理、实现和调试。团队成员负责需求与分工核对、实际试用、测试和提交内容审核。

附录:软件需求规格说明书

版本:1.0,2026年11月7日。适用范围:本次课程项目展示与需求基线,供全组审核。编制依据为老师给出的《软件需求规范》参考要求、项目真实使用反馈与当前实现。按引言、总体描述、具体需求、数据与接口、验收和追踪组织,不宣称已通过国家标准符合性审查。

1. 引言

1.1 目的与范围

为大学课程作业小组提供同一项目内的分工、个人日程和提交材料自查,明确输入、实际数据变化与验收条件。面向小组成员、课程老师、助教及维护者。本文区分当前实现与后续计划,不将AI建议视为评分或老师验收结论。

核心流程:保存作业要求 → 确认分工草案 → 执行任务与安排个人时间 → 对照材料检查 → 人工复核 → 建立补充任务 → 补充材料并重新检查。

1.2 术语

术语 定义
项目 成员、任务、日程、对话与自查材料的业务范围
当前成员 手动选择的聊天视角,不是身份认证或访问权限
草案 尚未写入正式任务或日程的待确认结果
MCP工具 经stdio协议调用的真实业务与查询接口,共16项
材料版本 要求或材料变动时更新的版本,用于阻止采用过期分析
找到文字依据 材料存在可定位文字,不代表内容质量或要求已经合格

1.3 依据与相关资料

  • 课程作业要求。
  • 项目源码,公开源码基线提交9d706a9。
  • backend/main.py、backend/review_api.py、backend/services/models.py、backend/services/tools.py、backend/services/review.py、backend/storage/db.py。
  • 本次博客中的内部使用观察、实际操作截图与辅助AI模拟走查;模拟身份不作为真实受访者。

2. 总体描述

2.1 用户与真实需求来源

协调成员希望将要求拆成明确任务;接到任务的成员希望按本人空闲时间安排;提交前成员希望定位材料中的依据与遗漏。现有真实证据来自开发期间的项目成员使用反馈:任务要能暂停、多成员分工不能全部归给当前聊天者、时间导出应易读。属于便利样本的内部使用观察,尚不能代表所有学生群体,也没有正式访谈人数、满意度或节省时长统计。

项目提交人另转述组员整体认可当前版本,但在各自电脑部署时遇到一些问题;尚未收集逐台配置与报错,不能推断具体原因或完成比例。首次安装和启动体验据此列入后续优化范围。

2.2 运行环境与约束

浏览器前端采用HTML/CSS/JavaScript;Python 3.11+运行FastAPI与官方MCP SDK,SQLite保存数据,千问通过兼容接口提供推理。首次源码运行需联网安装依赖;真实模型和可选搜索需有效密钥及额度。当前发布包没有自带Windows解释器;Windows兼容性以实机结果为准。

同一服务可共享同一数据库;各自电脑独立运行不自动同步。数据库使用WAL与事务,当前按单后端进程运行,不作为多实例横向扩展方案。正式公网访问仍需部署与跨设备验收。

2.3 业务流程与标志

项目标志与业务流程见本文第三部分。

3. 功能需求

编号 前端输入与呈现 后端规则与实际结果 验收条件
FR-01 项目与成员 新建、切换、重命名、归档和恢复项目;选择聊天成员 数据按项目保存;有任务成员须先转交再移除;至少保留一名成员,不能归档最后一个活动项目 刷新恢复记录;切换不混入其他项目数据;不把成员选择当作登录
FR-02 分工草案 输入要求、成员、估时、明确截止时间;显示草案 读取真实成员名册;校验任务字段与负责人;用户采用后才创建正式任务 草案阶段任务库不变;采用后有实际卡片且刷新保留;不凭空增加成员
FR-03 任务跟进 查看我的/全组任务;开始、暂停、继续、完成及明确转交 状态为todo/doing/paused/done;暂停不改变负责人和截止日期,不自动计时 操作后状态与导出一致;转交前明确目标,不能因切换聊天视角自动转交
FR-04 个人日程 填写自己的明确空闲时段,生成、核对并保存草案 最早截止优先;检查负责人、可用时段、重叠、截止与工时覆盖;个人保存只替换本人安排 保留其他成员安排;不足时给缺口,不保存伪造可行结果;旧版本草案拒绝覆盖
FR-05 要求与材料 保存要求,手输或上传TXT/MD/DOCX,查看提取正文 要求最多12000字;材料最多8份、总计48000字;单份正文4—18000字;单文件512KiB;DOCX提取普通段落与表格正文 超限、不支持格式或无效正文明确失败;材料变更更新版本;不声称读取扫描图片
FR-06 真实AI自查 开始检查,按状态筛选、展开要求与材料依据 MCP读取当前项目文本;模型形成结构化结果;校验逐字引文、位置和版本后保存 区分evidence_found/missing/uncertain;没有模型配置时报错,不返回模拟通过;不编造引文
FR-07 人工复核 保存判断与备注 状态为unreviewed/confirmed/needs_work;confirmed表示人工认为要求已满足,needs_work表示仍需补充 保存后重开可见;材料已过期时不得继续沿用旧分析;当前“人工确认”标签存在歧义,改名尚待实施
FR-08 补充任务 在需补充项确认负责人、未来截止时间、预计耗时 事务内建立任务与检查项关联;同一分析项相同参数返回原任务,不同参数拒绝重复创建 出现在同一项目并可跳转;未复核、旧版本、未知负责人或过期时间不得写入;完成任务不等于材料通过
FR-09 导出 生成并点击任务计划/自查报告下载链接 从已保存数据生成Markdown,采用易读的北京时间,保留人工备注和材料版本说明 文件内容与业务记录一致;旧分析导出带过期说明;菜单生成链接不等于浏览器已下载
FR-10 对话与外部查询 按项目/成员对话;查看真实工具进度与来源 后端调用模型,MCP执行操作;搜索可选Tavily,天气使用独立接口 无有效实时数据时如实失败;工具进度不是内部思维链;外部问答不能绕过业务校验
FR-11 语音与阅读 输入转写可编辑,暂停/继续/停止;支持朗读与Markdown排版 浏览器能力与权限决定可用性;回复渲染清理危险HTML 语音输入控制的受控测试通过;部分设备手动停止朗读存在已知问题,不作为已完成的可靠性承诺

4. 数据与分析类图

下图为分析阶段的领域类图,包含主要属性、业务操作及关联基数。当前Python主要以服务函数和SQLite表实现,不将图中的分析类声称为代码中同名面向对象类。

24-任务与排程分析类图

25-交付检查分析类图

实体/存储 关键字段与约束
Project / projects id主键、name、version;归档状态在project_archives,与项目一对一
Member / members id主键、project_id外键、name;一个成员归属一个项目
Task / tasks id、project_id、title(1—160)、description(最多4000)、assignee_id、deadline、estimated_minutes(1—10080)、status;一个任务有一个负责人
Preference / preferences (project_id,assignee_id)联合主键,windows保存起止时间列表;成员可尚未填写
ScheduleBlock / schedule_blocks id、project_id、task_id、assignee_id、start_at、end_at;任务可对应多个时间块
Session / sessions id、project_id、member_id、history、focus_id、draft、created_at;保存会话和待确认上下文
ReviewWorkspace / review_workspaces project_id主键、instructions、version;尚未使用自查的项目可以没有工作区行
ReviewMaterial / review_materials id、project_id、name、content;按项目保存已提取正文
ReviewRun / review_runs id、project_id、request_id、source_version、created_at、items、events、human_version;(project_id,request_id)唯一
ReviewItem 存在ReviewRun.items的JSON中,含要求引文、行号、建议、证据及人工判断,不是独立SQL表
ReviewTaskLink / review_task_links (run_id,item_index)联合主键、task_id、fingerprint;每个分析项至多创建一个关联任务
Download / downloads id、project_id、filename、content;下载校验所属项目,不使用任意路径访问

时间要求带时区、精确到分钟,内部规范为Asia/Shanghai;界面和导出显示中文时间,不向使用者展示内部任务编号作为主要名称。项目范围、成员归属等跨字段条件由业务服务检查,不能只依赖外键存在。

5. 外部接口与异常流程

接口 作用与关键输入
GET/POST /api/projects 列表/创建;name、members、request_id
PATCH /api/projects/ 重命名或归档/恢复
POST /api/sessions 建立指定项目、成员的会话
POST /api/chat/stream project_id、session_id、member_id、request_id、message/action;返回真实处理进度与结果
GET /api/projects/{id}/plan 任务、成员、日程、可用时间与版本快照
PUT /api/review/{id}/instructions 保存老师要求text
POST /api/review/{id}/materials 或 /upload 保存文字,或上传name与content_base64
POST /api/review/{id}/analyze request_id;读取材料并运行真实分析
PATCH /api/review/{id}/human run_id、index、status、note
POST /api/review/{id}/tasks run_id、index、assignee_id、deadline、estimated_minutes
POST /api/review/{id}/export run_id;生成自查Markdown下载链接
GET /api/downloads/{file_id}?project_id=… 下载当前项目生成的文件

错误流程:参数错误由校验层拒绝;业务错误返回可读说明。重复/冲突中的请求返回409,其他业务失败返回400。外部API鉴权失败、超时或额度不足不能写成操作成功;不展示密钥。材料在模型分析期间变化时,保存结果须再次核对版本。关闭页面后重新打开应从服务端读取已保存数据,未保存输入不保证跨设备恢复。

6. 非功能需求与验收方法

编号 要求 验证方式/边界
NFR-01 一致性 写操作使用事务;重要请求带标识并检查重复 对照测试库中的任务数、版本与关联数,不只看模型回复
NFR-02 机密配置 模型与搜索密钥位于后端环境配置;公共源码不含真实密钥、数据库和聊天 发布白名单与凭据扫描;组内私密演示包单独交接,不能公开
NFR-03 可理解性 显示中文任务名称、状态与北京时间;区分草案、正式保存与人工判断 实操核对卡片/导出;下载反馈、草案定位和复核文案仍有待改进
NFR-04 项目范围 页面链接与业务请求明确携带项目;成员历史分别保存 切换项目/成员及迟到响应回归测试;不等于细粒度授权已实现
NFR-05 容错 无配置、外部失败、过期结果与不支持文件均明确提示 受控错误测试与页面实际检查,不预设模型必定成功
NFR-06 兼容性 桌面浏览器可使用;源码在各系统创建自己的Python环境 Mac已做实测;Windows、麦克风及不同网络仍需实机核对,不承诺统一耗时

当前没有真实并发压测、可用率或响应时限统计,不编造吞吐量、准确率或百分比指标。模型响应受网络与供应商影响。

7. 需求追踪与验收记录

需求 对应代码/测试 已有证据
FR-01 services/projects.py;test_project_management.py 项目新增、归档/恢复回归测试
FR-02/03 agent/runner.py、services/tools.py;test_team_assignment.py、test_pause.py 博客p6/p7实际截图
FR-04 services/tools.py;test_personal_schedule.py 博客p8/p9个人排程截图
FR-05/06/07/08 services/review.py、review_api.py;test_review.py、test_review_ui.mjs 博客p10—p12真实模型和人工复核流程
FR-09 exports/markdown.py、services/review.py;test_export_readability.py 实际下载Markdown与导出截图
FR-10/11 mcp_client.py、services/weather.py/search.py、frontend/speech.js 工具冒烟、外部联调与语音受控测试;不等同全部设备验收

2026年11月6日发布前执行210项Python测试、20项前端Node测试及16工具MCP冒烟,通过。自动测试使用临时库和受控供应商响应,不消耗真实模型额度;真实供应商验证另行记录。本文件编写没有再次调用模型,也没有新增功能测试结果。

需求思维导图见本文第三部分。

8. 迭代记录与后续范围

日期 变更 状态
2026-10-30 要求/材料自查,引文与版本校验 已实现
2026-11-01 自查整合到原项目,补充任务回流 已实现
2026-11-05 个人排程、项目管理、简洁结果、中文导出时间 已实现
2026-11-06 团队名册预读与分工校验,真实实操截图,源码发布 已实现并记录;AI走查三项建议尚未实施
2026-11-07 补齐五位个人介绍,整理需求基线、数据字典与验收追踪 文档已整理,待全组审核
后续 下载引导、草案位置与复核标签优化 待实施
后续 根据组员部署反馈完善首次安装提示,评估免环境便携包 待收集设备与报错,便携包未完成
最终验收前 正式访问入口、跨设备检查与多人试用 待落实,不以本地网页替代上线

本版明确排除:PDF/扫描图片OCR、自动评分、跨项目冲突、个人账号权限、硬件联动。它们不属于当前已实现功能,也不能计为已取得的加分。需求变更需同步修改本文、对应验收条件和团队迭代记录。

posted @ 2026-11-08 21:02  玖斯琳  阅读(18)  评论(0)    收藏  举报