Skip to content

Latest commit

 

History

History
63 lines (38 loc) · 7.6 KB

DECISIONS.md

File metadata and controls

63 lines (38 loc) · 7.6 KB

OpenLab 技术决策索引

整理日期:2026-10-25。本文件索引已经确认的决定及原因,不把当前代码中偶然的实现或路线图候选升级为架构决定。原有 ADR 0001、ADR 0002 保留完整上下文;本轮没有另建相同用途的 ADR。

已有 ADR 与有效范围

来源 当前有效决定 原因与取代关系
ADR 0001 本地优先、原生 Windows 优先;TypeScript/Node.js 24、React、SQLite/普通文件;OpenLab 持有档案;先做文献研究;Apache-2.0 和独立第三方许可;现有 PR/CI/发布规范 降低初期运行与维护成本,保留用户数据所有权。其第 5 项 OpenCode-first 及对应门槛已被 ADR 0002 取代;其余决定继续有效
ADR 0002 单 Agent OpenLab Harness 为首个运行时;RuntimeAdapter 可替换;assistant-ui 与 AG-UI gateway;平台保有规范事件/状态/成果;监督 worker 控制最小执行闭环并隔离 UI/运行时变化;OpenCode 留作未来可选适配器。ADR 正文的“尚未实现”是当时状态,当前实现看 STATUS 和验证记录

版本约定仍是 v0.0.1 基础设施版、通过产品门槛后准备 v0.1.0-alpha.1。现有源码超过历史发布范围,不构成自动升版、发包或新能力成熟度声明。

跨模块约束与理由

决定 为什么保留 权威来源与当前边界
模块化本地服务与独立受监督执行,不引入分布式调度 单用户研究闭环不需要额外服务,进程健康与持久化责任清楚 architecture、harness;worker 进程不等于沙箱
规范档案和状态归 Platform,AG-UI 只做投影 更换模型、UI 或运行时后仍可读取项目;断流不能代表研究成功 ADR 0002、app/platform.ts、app/ag-ui.ts
新运行重新确认;问题/权限响应绑定持久化身份;重放不执行 避免历史批准、重连或重复请求触发新工具/模型调用 product、architecture、app/tests/platform.test.ts、service.test.ts(位于 app/tests/)
不可变修订、哈希和导入时重映射引用 保留精确报告字节、来源与编辑沿革,检查损坏和跨项目引用 architecture、plugins、app/store.ts;当前导出档案 v2,导入支持 v1/v2,数据库版本另算
元数据、已访问内容与论点核实分开 找到论文或生成漂亮报告不能证明科学结论 product、logging、acceptance;现有 live 证据为元数据任务
模型配置/凭据由平台控制,研究 Skill 为固定版本惰性内容 防止安装、检索内容或浏览器状态扩大权限和泄露密钥 architecture、development;Windows 保护凭据,无跨平台明文后备

用户已确认的后续修订

D-UI-01 中性研究工作区

确认时间:2026-10-24,记录于设计入口及其链接规范。

采用已选参考、黑白中性灰、浅灰导航、聊天主入口和辅助成果面板。输入框外圆角 24px,删除其下常驻说明及占位。理由是让研究内容与操作层级成为视觉中心,避免重复标签和无关装饰。成本、权限、证据、可访问名称必须保留。滚动条等后续修订以 workspace 规范为准;未选稿不构成设计依据。

D-DOC-01 默认能力也通过静态插件提供

确认时间:2026-10-24,记录于 PLAN.md 第二轮、设计修订和 plugins。

编辑器、预览、比较、编译等默认能力使用同一注册/宿主接口,可停用或替换;平台保管草稿和不可变人工修订,Agent 历史不被编辑覆盖。理由是允许逐项替换能力,同时保留研究记录与原文件。当前仅静态受信模块;没有批准外部包安装器、任意执行或不受信代码沙箱。

D-TEX-01 浏览器内编译与独立 PDF 预览

确认时间:2026-10-24,依据第二轮已完成台账及 plugins。

当前采用固定版本 BusyTeX Worker 与独立 PDF.js 预览,冻结已保存修订/资源并记录输入输出哈希,失败时保留上次成功 PDF。理由是让文档编辑、编译、预览可分开替换,并保存来源版本。依赖限固定包集合;约 203 MB 首次准备、120 秒终止及浏览器并发边界均需明示。编译回执由客户端提交,不是服务端证明。精确版本、字体与第三方许可继续在现有插件/许可文档维护,不在此复制清单。

D-ENG-01 四个协作入口与一个当前状态

确认时间:2026-10-25,本轮用户请求及完善后的 AGENTS。

AGENTS 管规则、ROADMAP 管目标/依赖/验收、STATUS 管实际工作、DECISIONS 索引决定;保留原规格、两轮执行台账和 ADR。每次任务结束更新 STATUS,只有合同变化才改路线图,只有确认的重要决定才改本索引。理由是新对话能读取足够上下文,同时避免多套进度表、每轮新建计划和无实际收益的工程工具。

当前会话按用户所选模型执行,只有该轮明确请求才可使用子 Agent。当前规划不修改业务代码,不自动提交、推送、发布或调用真实付费模型。任务粒度以一个可验证行为和明确依赖为界,不按文件数或聊天轮数机械切分。

2026-10-25 后续授权:用户要求按已有规则提交、推送本地改动。交付范围包括项目源码、测试、已确认设计、许可和协作文档;按贡献规范保留本地安装的 .agents/、.codex/ hooks 与 output/design/ 未选稿,不将其作为产品发布内容。该授权不包含合并 main、打 tag、创建 Release 或真实付费模型调用。

后续决策如何记录

2026-10-25 计划入口修订:用户明确指定根文件名为大写 PLAN.md。将原小写文件按 Git 大小写更名并保留历史台账,顶部展示当前阶段与路线图清单。PLAN 提供直接可见的执行入口,ROADMAP 保管详细任务合同和依赖,STATUS 记录实际结果;不另建新的进度服务。

2026-10-25 后续执行授权:用户要求按现有路线图连续完成后续阶段,各阶段按既有规则提交、建立或更新 PR,并在精确修订的 required-checks 通过、讨论解决后合并,不再逐阶段请求确认。该授权允许继续 ENG-03 至 ENG-06 的验收、候选准备和通过发布门槛后的源码预发布;不绕过依赖、CI、许可或数据安全门槛,不包含真实付费模型调用或路线图以外的远期候选功能。

  • 一般局部实现沿用现有代码,不为每个函数建立 ADR。跨模块职责、公共 API、档案兼容、权限/隔离、运行时、重要依赖和分发方式变化,需要记清日期、状态、理由、兼容影响、证据及取代关系;需要长篇论证时新增下一编号 ADR 并在本页链接。
  • 用户批准之前的想法留在路线图或任务问题中,明确为候选,不写成“已决定”。当前第二检索源、全文提取、动态插件、多 Agent、安装包和远程部署均没有新增技术选型结论。
  • 变更已有决定时追加新记录并指向被取代部分,保留旧决定的历史语境。实现完成或测试通过更新 STATUS/verification,不重复当成一项新决策。