Changelog
August 25, 2026 · View on GitHub
未发布
- 完善模拟面试官对话协议:先承接候选人回答,再自然过渡并追问一个问题;根据面试官风格调整语气、追问深度和节奏,避免题库式播报。
0.5.1 - 2026-08-25
- 按当前练习模式为每个 DSH Agent 动态披露工具目录:模拟面试不再看到评价、讲解和总结工具,其他模式只开放各自需要的题目、作答、点评或力扣能力;模式切换后自动刷新目录。
- 修正工具目录筛选范围,改为仅拒绝 dsh-interview 自身不需要的工具,其他插件和 DSH 原生工具不再被模式切换影响。
- 修复普通练习结束后工具目录立即切换为空闲模式,导致模型无法调用
interview_show_summary展示刚生成总结的问题。 - 将原有模拟面试拆分为“模拟面试”和“简历押题”:模拟面试专注真实问答与追问,简历押题保留评分、点评、讲解和直接背流程。
- 题目卡根据后端返回的能力字段决定是否显示“看答案”,模拟面试从领域层禁止看答案、评价和讲解。
- 新增简历押题配置与独立模式提示词,明确要求简历、岗位、JD 选择、押题范围和难度,不再复用模拟面试配置。
0.5.0 - 2026-08-25
重大变更
- 移除工作流状态机、
phase、派生stage、允许操作表、session_cursors、动作枚举和统一协调器;会话只保存练习绑定、当前题指针和卡片失效所需的修订号。 - 移除旧版流程工具,改为练习、题目、作答、评价、讲解和力扣七组可组合原子业务工具,不提供旧工具名兼容。
- 业务操作与 UI 展示彻底解耦;新增七个只读
interview_show_*展示工具,题目、点评讲解和总结必须通过相应卡片承载。 - 删除 Agent 任务队列与恢复逻辑;需要 AI 的工作台操作只投递一次性请求,不保存
pendingTask,失败后由用户重新发起。
改进
- 恢复完整模拟面试模式上下文,补回项目覆盖、JD 对齐、追问路径、手撕代码、回答判定、中途操作、结束条件和总结要求;仍只在练习绑定时注入一次,不重复写入工具描述。
- 模拟面试开启手撕代码后,从固定 Hot 100 题库随机抽题;题目仍归属于模拟面试,不会创建成独立刷力扣练习。
- 重构提示词注入层次:工具描述只保留原子能力,模式策略在练习绑定时注入一次,并将看答案与作答后点评拆为独立阶段,避免每次操作重复注入全部模式规则。
- 新建练习支持独立配置卡片;AI 只负责展示空白配置 UI,模式与全部必填项由用户明确选择,提交后再创建练习并生成第一题。
- “继续”“下一题”“重新作答”“重新出题”等用户意图改由 AI 读取权威数据后组合原子操作,不再扩张服务端流程命令枚举。
- 普通练习的出题、作答评价、直接看答案和结束总结统一采用“业务写入后显式展示”的工具链。
- Client 根据卡片类型、资源引用和会话修订号控制操作权限,不再读取或推导任何工作流阶段。
- 题目卡与点评卡采用一次性展示生命周期;题目卡承载回答与看答案,点评卡承载下一题、重新作答和结束练习,任一推进操作都会立即消费整张卡片。
- SQLite 新数据库只创建
session_bindings,不创建或迁移旧session_cursors。 - 练习工作台入口移至 DSH 左侧栏设置上方,展开时显示“面试训练”和进行中数量,折叠时保留图标;移除右下角悬浮、拖拽和位置记忆逻辑。
- 提示词改为“公共规则、模式专属策略、真实配置、一次性任务”四层组合;背八股、模拟面试、场景题和刷力扣分别约束出题、点评讲解与总结,UI 事件携带权威模式,避免模型自行猜测或混用模式。
修复
- 修复新建练习卡片的下拉菜单被卡片边界裁切的问题;配置交互改为“选择模式—填写配置”两步递进,支持返回上一步重新选择,提交后原卡片收起为带勾选图标和真实配置摘要的“练习配置已就绪”状态。
- 修复重新作答同一道题时新题目卡“看答案”仍被置灰的问题;新卡片权限只取决于卡片是否仍有效,不再受该题已有作答、评价或讲解影响。
- 修复练习档案中的“重新作答”缺少卡片凭证而无法执行的问题;档案入口改用独立题目聚焦操作,卡片入口继续执行一次性消费。
- 修复点击“看答案”后按钮在讲解生成期间重新可用的问题;点击后立即消费当前题目卡,不因请求结果重新开放。
- 后端在接受卡片操作时校验练习、题目和会话修订号,同一张卡片只能推进一次流程,过期请求不会重复执行。
测试
- 重写应用、SQLite、HTTP 命令、展示工具和端到端测试,覆盖无阶段绑定、一次性 AI 请求和业务/UI 分离边界。
0.4.0
重大变更
- 练习流程改为后端状态机编排,Agent 只负责出题、评价、讲解和总结;题目、点评讲解与结束总结必须通过对应 UI 产物展示。
- 交互协议升级为
dsh-interview/interaction-v2,明确拆分工作流状态、下一动作、UI 产物和 Assistant Text 契约,不兼容旧协议结果。 - 业务动作与卡片投递彻底分离;UI 完成操作后通过只读产物投递事件在对话最新位置生成正式卡片,不再借用业务工具重复执行命令。
- 力扣改为一题一练习,题目就是练习内容;抽取下一题时自动归档上一条练习。
- 练习模式收敛为背八股、模拟面试、场景题和刷力扣,不再提供独立简历出题模式。
- 配置改为按模式区分:背八股与场景题只配置主题;模拟面试必须配置简历、目标岗位、是否提供 JD、面试官风格、是否手撕代码和难度,选择提供 JD 时还必须填写 JD;刷力扣必须配置编程语言。
- 删除统一题数、追问策略和所有隐式默认配置。
新增
- 新增
question、review、finished等结构化交互产物及动作—状态—产物一致性校验,UI 只根据权威资源 ID 加载内容。 - 新增独立
artifact.deliverAgent 任务和interview_render_current_artifact投递工具,用于把 UI 操作产生的当前产物追加到会话最新位置。 - 新增常驻本地练习工作台,直接访问进行中练习、练习档案和热题 100,无需先由 Agent 调用展示工具。
- 新增刷力扣模式,内置力扣热题 100 官方分组快照;随机抽题不依赖模型生成,支持原题链接、难度、全局完成状态和按题型题目列表。
- 新增
interview_get_leetcode_catalog与interview_set_leetcode_completion原子工具,聊天工具和可视化 UI 共用同一题库与进度。 - 新增“继续练习”原子工具与 UI 命令,按权威状态恢复当前题、评价、讲解、下一题或总结,已结束练习必须明确确认后才能重新打开。
- 题目卡支持直接看答案,生成详细讲解和“直接背”,不会伪造作答与评分。
- 结束非力扣练习时基于完整历史生成总体总结、表现亮点和改进建议,并持久化展示。
- 补全练习与题目的增删改查工具、应用用例和可视化编辑入口。
- 练习工作台按照提供的参考界面复刻为居中模态布局,包含图标导航、动态进行中数量、紧凑表格、热题分组和独立删除确认弹层。
- 工作台配置项与模式筛选统一改为自定义下拉组件,支持键盘选择、点击外部关闭和明确选中态。
- 切换练习时向模型返回配置、总结、全部题目、历次作答、评价和讲解。
修复
- 修复未选择练习时说“继续”会在对话中错误展示练习档案卡片的问题;现在仅提示用户前往练习工作台选择进行中的练习。
- 修复通过 Agent 新建练习后,工作台“全部模式”复用旧列表而具体模式显示最新数据的问题;练习列表、详情和能力复盘改为每次直接读取本地数据。
- 修复 Host 返回
interaction-v2、Client 仍校验interaction-v1时题目卡片被静默丢弃的问题;协议版本现由前后端共享常量并有回归测试约束。 - 修复用户说“继续”时模型只输出恢复提示但不展示题目卡片的问题,当前题统一由后端物化为
question产物。 - 修复 UI 业务操作和 Agent 后续工具重复推进状态的问题,内容任务与纯卡片投递现在使用不同事件。
改进
- Client 在渲染工具结果前严格校验协议版本、错误受众和
artifact,不再解析普通文本或从工具参数重建业务内容。 - “继续练习”统一从会话游标恢复题目、评价、讲解、下一题或总结,不再由模型根据对话内容猜测流程。
- 会话工作台退出对话产物链路,只保留独立本地管理入口;对话中的业务内容统一使用题目、点评讲解和总结卡片。
- 题目时间轴保留鼠标滚轮和触控滚动,同时隐藏各浏览器的滚动条外观。
- 提交回答工具增加明确的消息意图边界:无关内容和题目澄清不再默认保存为作答,模糊消息先确认。
- 生成规范改为单一维护位置:配置归开始工具、出题归展示题目工具、力扣讲解归保存讲解工具,事件只引用对应约束。
- 响应协议按层拆分:工具仅要求执行返回指令,完整的 continue/exact 规则只在 Agent 事件中注入。
- 统一力扣讲解语言约束,工具参数只要求输出练习配置语言的一份完整答案代码。
- 卡片权限、命令互斥、资源版本和全部模式筛选改为行为测试,不再依赖内部变量名与源码正则。
- 工具卡片改用稳定资源键和版本化请求缓存,相同会话与练习的一批刷新共享一次最新数据加载。
- 卡片命令的即时重复点击保护统一收敛到
useCommand,移除“看答案”卡片内重复的本地锁状态。 - 题目卡与点评卡统一通过当前练习、当前题目和工作流阶段推导操作权限,移除卡片内重复状态判断。
- “看答案”点击后立即置灰,且仅当前处于待回答阶段、尚无讲解的题目允许触发。
- 历史点评卡的下一题、重新作答和结束练习操作会自动置灰,只有当前待继续题目可以操作。
- 修正进行中练习的“全部模式”筛选,并阻止较慢的旧筛选请求覆盖当前结果。
- 练习工作台入口支持拖动、视口边界约束和位置记忆,拖动操作不会误触打开工作台。
- 长练习的题目时间轴改为独立滚动区域,题目详情浮层不再随节点溢出或被裁剪。
- 重写开源项目 README,补充项目亮点、完整功能、四种模式、使用流程、力扣单题练习、费用边界、数据隐私、架构和贡献指南。
- 工作台移除重复的当前练习视图;“进行中”仅显示未结束练习,“练习档案”仅显示已结束练习,当前选择统一由题目时间轴表达。
- 会话与练习改为双向唯一绑定;新会话只有在新建、切换或重新打开练习后才显示时间轴,后切换的会话会接管完整练习进度,结束练习后自动解绑。
- 移除共享的
global会话兜底;全新数据库结构直接约束一个练习只能对应一个会话游标,不提供旧数据迁移。 - 统一界面字体层级,仅主标题使用粗体,移除标题周围无业务意义的眉题和副标题。
- 将业务事实
events与 Agent 任务agentTasks分离;只有内容生成或正式会话卡片展示才会唤醒 Agent。 - 切换练习和重新作答使用本地刷新与 Toast 反馈;力扣抽题完成后触发对话,由 Agent 在会话最新位置展示正式题目卡片。
- 刷力扣当前题、题目列表、练习档案、时间轴和 Markdown 导出统一展示固定题库元数据;UI 新建和聊天工具抽题均能打开同一题目卡。
- 结束力扣练习改为纯本地完成,只归档本次抽取的题目清单,不再触发模型生成表现分析。
- 力扣随机切题只在会话末尾追加新题卡,先前题目卡保持原有内容、样式和操作区不变。
- 力扣下一题展示事件使用“已抽取下一题”确认,不再误报为恢复当前题。
- 重新作答只更新当前题状态,不再意外打开练习工作台;状态查询也不再渲染重复的实时练习卡片。
- 力扣当前题卡移除题目列表入口,改为生成或展开独立的算法讲解;讲解包含解法推导、正确性、边界与复杂度,并且只生成练习配置语言的一份完整答案代码。
- 题目时间轴仅保留节点与连线;点击节点默认打开题目,并通过题目、作答记录、答案三个标签查看详情,其中每次作答集中展示回答、评分和点评。
- 点评讲解卡片改为上下结构,移除作答展示和“直接背”复制按钮,并统一使用“点评讲解”命名。
- UI 切换练习后立即通知 Agent 加载完整上下文,并由 Agent 返回唯一的切换确认文本。
- 一次只生成一道简单扼要的问题,练习题数由用户主动结束控制。
- 新建练习表单不预选模式、难度或布尔配置,所有值必须由用户明确选择。
- 清理可视化界面的装饰性英文标签和无业务价值提示。
0.3.0
重大变更
- 将四个多命令工具替换为具备硬 Schema 的原子工具,不再保留旧工具名和
command调用方式。 - 新增统一
InterviewCoordinator,Agent 与 UI 入口共享动作执行、事件派发和交互结果生成。 - 工具结果切换为
dsh-interview/interaction-v1,Client 不再解析旧的资源文本格式。 - 回答后的流程改为自动完成本题复盘,移除显式请求讲解工具和半成品评价卡片。
修复
interview_present_question.prompt现在是required + minLength: 1,空题目调用在执行前被拒绝。- Agent 参数和工作流错误被标记为可恢复内部错误,不再生成用户可见错误卡片。
- Assistant Text 由结构化响应契约控制,只做状态确认,不再复述 UI 内容。
- 展示协议使用应用层提供的强类型资源引用,避免把题目 ID 误作练习 ID 查询。
- “直接背”改为非空必填字段,复盘卡片始终同时包含评价、参考讲解和背诵要点。
改进
- Client 通过练习、题目和作答 ID 查询权威读模型,历史题目、评价和讲解卡片不依赖工具参数。
- 原子工具使用
additionalProperties: false和字段级说明,降低模型误用概率。 - 聊天流使用统一复盘卡片展示题目、本次作答、评价、讲解和“直接背”,并提供下一题、重答和结束操作。
- 可视化界面重构为题目卡、双栏评分复盘卡和练习历史表格,统一提供复制、切换、删除和导出操作。
- 练习配置改为五项显式必填,Agent 不得推断或采用默认值;出题严格限制为每轮一道简单扼要的问题。
0.2.0
重大变更
- 使用面试领域模型和显式状态机重写全部业务流程,不兼容 0.1.x 的工具协议与 JSON 数据。
- 将单一
interview工具拆分为interview_session、interview_question、interview_answer和interview_library。 - 将八股模式的协议标识统一为
bagu。 - 数据存储从单文件 JSON 切换为启用事务和外键约束的 SQLite。
新增
- 自然语言与可视化 UI 共享应用用例和权威读模型。
- 新增练习档案、搜索筛选、历次作答对比、能力复盘和题目时间轴。
- 新增受控 Markdown 下载令牌,避免通过 HTTP 暴露任意本地文件路径。
- 新增领域、应用、适配器、存储、Client 和端到端自动化测试。
改进
- Client 改为模块化源码并由 esbuild 生成 DSH 可加载产物。
- UI 使用明确阶段提示和十格掌握度轨道,并支持窄屏与键盘焦点。
- 错误响应提供稳定错误码,HTTP 响应默认禁止缓存。
0.1.0
- Initial open source release.