Files
makelore/.project-docs/10-decisions/ADR-2026-09-22-coding-teacher.md

3.5 KiB
Raw Blame History

ADR: 官方编程老师与项目会话导航

  • Status: Accepted / implemented
  • Date: 2026-09-22
  • Approval: 用户确认详细设计、实施及合入主分支;随后确认运营指定当前老师,并要求恢复当前会话和项目文件读取后合并修复。

Decision

  • 新项目直接创建一个内部默认编程 Agent 并保存 defaultAgentId;移除创建 Agent 的产品流程。会话直接列在项目下,项目打开不自动创建会话,首次发送或显式新建才创建。旧 Agent ID、配置和 Pi 会话绑定保留;归档、改名、未读与运行状态延续原合同。
  • Works Square 运营端下发当前使用的官方编程老师,包括提示词、顺序启用的纯文本 Skills、模型及原生思考选项、展示信息和上下文/输出预算。客户端继续消费固定 coding-teacher 通道;老师列表、新建与当前选择由运营端负责。草稿、不可变发布版本、启停和操作记录分离;版本写入使用 expected_revision。发布与启用必须显式操作。
  • MakeLore Main 使用当前登录账号的受管模型网关运行独立答疑,不启动 Pi、不执行 Skill 脚本。默认上下文包含当前来源活动分支的已完成用户/助手文本、用户显式引用及本话题已完成历史。长消息按预算保留最近问答的首尾节选和消息 ID,面板显示节选提示;可按需读取本轮捕获的原文,不能进入其他来源分支或其他老师话题。
  • 老师可使用 Main 提供的只读目录、项目文本文件和会话原文工具。文件路径限于当前项目,允许 .makelore/project.json 配置;不读取其他 .makelore 会话数据、.git 内部数据,不修改文件或执行命令。复用既有文件服务的 UTF-8 与 256 KiB 预览上限,按行读取并明确标示截断。
  • 模型原生工具调用在 Main 内完成,最多六批读取后要求最终文本。工具定义、调用、结果与原生思考均计入输入预算;较早工具轮次成组省略,用量累计覆盖每次模型请求。读取与后续请求检查账号和取消状态;原生思考仅在必要的模型续接中保留,不投影或持久化,也不读取主会话 thinking 或工具参数。
  • 本机老师话题按账号、项目和来源会话隔离并固定发布版本;每次新问题检查在线启停,云端不保存学生老师聊天。先持久化请求身份再执行;重试读取原请求,取消和重启中断可见,来源会话删除时清理相关话题。
  • “问老师”位于编程右侧面板;带回建议只追加主输入草稿,不自动提交。运营桌面试聊要求 admin 和精确已保存 draft_revision,使用示例上下文。
  • 个人云智能体、Code/Pi 执行、现有网关付款规则和项目 Plugin 生命周期保持独立。客户端使用运营指定老师,不增加客户端老师选择列表、跨设备老师历史或长期记忆框架。

Evidence And Release Boundary

  • Server source: 93ece7c6aa5c61f1f20b5fe3fe98bb86bb57b6f7
  • Client source: 9242a40d87
  • Context/file repair: 44e754a43ec6d286fee6b6492da0d1f9347770e6;56 项相关测试、1 项 Electron 流程、Renderer typecheck、scoped lint 与构建通过,Main 全量严格类型检查仍有既有 66 条诊断。
  • 合并不代表部署。云端迁移和运营发布按服务端集成记录执行;真实模型工具调用与点数计费仍需发布验收。此客户端修复不修改云端配置协议或数据库,也不要求新建老师话题。