面向自主学习与备考的任务管理应用,当前以技术面试备考为首个应用场景。
当前提供任务安排、学练、草稿与进度恢复的本地演示;模型评估仍在验收。
基础演示无需模型 API、密钥或外部记忆引擎。
技术栈:Python 3.11 · FastAPI · SQLite · 原生 JavaScript / HTML / CSS。
- 任务与计划:管理目标、任务、固定事件和可用时间;先预览再确认计划,任务或日程变化后拒绝过期提案。
- 学练与恢复:使用自编示例题练习,自动保存草稿与阅读位置;多客户端修改冲突时明确选择保留版本。
- 执行记录:区分活动投入、等待和用户补录;暂停保留进展,任务完成需要明确确认。
- 客观题反馈:服务端按选项集合判分,分别统计首次作答与全部尝试;提交后展示答案解析。
- 会话隔离:不同访客会话拥有独立任务、草稿和学习记录。
示例题围绕应用自身的计划、执行与保存规则,便于直接核对产品行为;当前演示不提供完整面试题库。
需要 Python 3.11。下载或克隆仓库后,在仓库根目录执行:
python -m venv .venv激活环境:
# Windows PowerShell
.venv\Scripts\Activate.ps1# macOS / Linux
source .venv/bin/activate安装依赖并运行:
python -m pip install -r requirements.lock.txt
python demo.py打开 http://127.0.0.1:8791,口令留空,点击“进入工作台”。更换端口使用 python demo.py --port 8792。
requirements.lock.txt 固定本次验证的依赖版本;requirements.txt 保留直接依赖范围,供后续升级使用。
如果 PowerShell 不允许激活脚本,可以直接用 .venv\Scripts\python.exe 代替后续命令中的 python,无需修改系统策略。
数据写入本仓库的 .runtime/demo/,重启服务后保留。保留浏览器 Cookie 可继续原访客会话;新浏览器或退出后新建的会话使用新的归属。会话有效期为 7 天,当前没有过期数据自动清理功能。
- 在“任务”中创建目标与任务,填写预计投入、下一动作和完成条件。
- 在“今日”中设置可用时间,生成计划预览,再确认计划。
- 开始任务,记录部分进展,暂停后恢复。
- 在“学练”中选择示例题,编辑草稿,等待保存确认后刷新页面。
- 提交客观题,查看结果与错题重练;将任务关联到题目后,可体验基础练习完成确认。
| 问题 | 处理机制 |
|---|---|
| 提交成功但响应丢失,重试造成重复记录 | 按归属保存请求编号与负载;相同请求返回原结果,不同负载返回冲突 |
| 多个页面修改同一草稿 | 服务端版本校验,保留冲突双方内容,由用户明确选择 |
| 提交后题目或标准发生变化 | 原答冻结题目与标准版本,已提交正文不可覆盖 |
| 预览后任务或日程发生变化 | 校验计划版本、日程修订、有效期及剩余时段容量 |
| 计时被误当作任务完成 | 分别保存执行事实与成果确认,暂停或结束计时不自动完成任务 |
| AI 输出格式异常或关键字段不确定 | 校验结构和标签;未通过时保持待核实,不自动写入正式成绩 |
后端采用模块化单体,SQLite 保存业务状态;前端直接调用版本化接口。当前范围采用单机方案,没有引入分布式队列或前端框架。
源码包含模型网关、独立评估工作流、操作提案和记忆引擎适配模块。默认演示关闭模型调用、正式评估和记忆引擎写入;“正式复习”入口会说明能力未配置。“学伴与提案”可展示事实反馈及手动操作提案,模型生成不可用。
模型调用已实现调用次数、令牌用量与并发预算,以及结果未知时的显式重试。评估按固定标准逐项检查要点和关键错误,并由程序推导结果。
针对模型返回额外字段、错误分组或非法 JSON 的问题,新增严格逐行输出协议:校验固定行数、顺序、字段标识、标签与理由,再转换为内部对象并复用评分规则;旧调用仍按冻结的原协议解释。
2026-10-21,首批单元的真实模型配置验收通过:24 条开发样本要点一致率 68/69、等级一致率 23/24;12 条新保留样本分别为 33/33、12/12,格式异常与截断均为 0。结果只适用于当次模型配置、提示、题目与标准,不代表全题库准确率。详情见 模型配置验收摘要。
真实学习者无提示作答、完整接续与本轮独立复验仍待完成;公开基础演示继续关闭正式成绩写入。
在仓库根目录运行公开候选版的程序测试,无需模型或 Engram:
python -m unittest discover -p "test_*.py" -q测试覆盖身份隔离、重复请求、版本冲突、排程、草稿冻结、执行、客观题、真实服务重启,以及可控上游下的模型预算与输出校验。公开评分样例只用于回归测试,不能再作为未见保留集证明模型效果。
浏览器测试额外需要 Node.js 20+:
npm ci
npx playwright install chromium
npm run test:browser浏览器测试使用临时数据库和受控应用时钟,覆盖 390/1280 像素宽度,测试结束后清理临时数据,不更改系统日期。test_browser_server.py 仅是测试夹具,不作为应用启动入口。
本次候选版的实测结果见 验证记录。
demo.py 本地演示入口
app.py / storage.py HTTP 入口、会话和 SQLite 事务
planner.py / planning_service.py
排程与计划确认
draft_service.py / reading_service.py / execution_service.py
学练、阅读位置与执行记录
product_*.py / formal_drafts.py / assessment_*.py
产品装配、原答存档和评估
model_gateway.py / configuration_acceptance.py
模型预算、调用状态与配置验收
companion_service.py / operation_service.py
资料、事实反馈和操作提案
formal_workflow/ / engine_adapter/ / contracts/
持久工作流、外部引擎适配和类型合同
static/ 页面与浏览器脚本
data/ 自编产品规则示例
trial_content/ 自编评分题与公开回归样例
test_*.py / test_*_browser.cjs
程序与浏览器测试
docs/ 截图、验证记录与内容来源
- 在已通过的首批模型配置上完成真实无提示作答与隔离写入、回读和恢复;新增单元分别建立标准与独立保留样本。
- 完成独立引擎链路复验与个人隔离试用,验证恢复、回退及实体手机使用体验。
- 完善演示界面、访客数据清理与资源限制,完成干净环境和跨平台启动验证。
- 发布独立 HTTPS 演示,补齐部署、持久化备份与恢复说明,再记录实际体验反馈。
- 逐步扩展其他学习与备考场景,优先在同一仓库演进;目前仍以技术面试场景与自编产品规则示例为范围。
代码采用 MIT License。trial_content/ 中的自编题与评分样例保留其 CC0-1.0 声明,外部资料仅作为事实核验来源。其他自编演示内容随仓库使用 MIT 许可。
基础演示不安装或分发 Engram;记忆引擎适配模块为可选集成,启用时须另行安装兼容版本并遵守其许可。Engram 由 nagisanzenin 开发,采用 MIT 许可;本仓库保留 上游完整许可 及 第三方署名。依赖与内容来源见 来源说明。
项目使用 AI 辅助开发,业务规则、实现范围与验证结果分别记录;未完成能力以本 README 的范围说明为准。

