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

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