4.0 KiB
4.0 KiB
Dever 精简发行与按需工具安装
目标与已确认范围
用户已确认五项实施方案,并于本轮确认创建任务和继续实施。默认 Linux x86_64 基础包目标约 120 MiB,功能保持完整:编译器、LLVM、四种本机运行库(base/sqlite/postgres/both)、CLI、sandbox、skill 与模板。Python/Node/Go、原生扩展构建工具和 ARM 应用交叉编译资源改为显式命令触发、自动判断的按需安装。整台机器多用户、多项目共享同版本资源。
事实与约束
- 当前完整发行压缩包 714.7 MiB;同一基础文件集 gzip 为 181.6 MiB,Zstandard 长窗口(128 MiB)为 118.0 MiB,解压约 624 MiB。这是压缩试算,实际正式构建与完整安装验证仍需执行。
- 源码备份:
target/distribution-before.10dsis/source.tar.gz;独立 skill 备份skills.tar.gz;发行记录备份release-records.tar.gz,均已 gzip 完整性校验。工作起点主仓库83b78a0、skill9fd78fc,工作区干净。 - 编译器、launcher、daemon 应改为正式优化构建,清理非必要符号;保持 runtime 链接需要的符号。
- 应用配置仅
config/setting.json;官方源属于工具链内置元数据,不能放进项目配置或新增环境变量配置。不得依赖系统 PATH 的 Python/Node/Go/Rust 来构建用户应用。 run/build保持离线,缺资源提供准确准备命令;Dever Package 保持源码发布,底层 Rust 运行库保持预编译,FFI、自举和其他宿主平台不在本任务内。- 当前 v0.1.0 源码 tag 已推送但二进制 Release 未发布;不得覆盖已有 tag。用户已授权相关仓库 commit/push。公开发布需完整验收和可用 GitHub API 授权,不能把本地包或 tag 当作已发布。
- 不改宿主 AppArmor/sysctl/全局服务,不替换机器全局命令;验收使用隔离安装镜像和自有进程。磁盘有限,复用现有工具输入并避免重复 Cargo target。
需求
- 正式基础发行包采用 Zstandard,安装器和更新器具备所需解压能力,用户无需手动安装 zstd。完整性校验、边界限制、拒绝路径逃逸与原子发布继续成立。
- 扩展按 Dever 版本、目标平台和内容身份绑定;按需签名下载、原子安装、并发安全、缓存复用,扩展失败不破坏已有可用版本。
dever lib add/update自动准备声明所需生态环境,只有确有必要才准备原生构建工具;dever lib install <project-root>按现有锁文件恢复,不更新版本、不改 setting/lock。dever target add linux-aarch64为当前选定版本准备 ARM 交叉编译资源;使用第三方 Lib 的 ARM 项目仍显式准备目标依赖。既有 ARM 能力与离线构建保持。dever update同步核心、skill 和已安装扩展;新增版本准备失败时旧 active 版本可继续使用,不能隐式安装所有可选扩展。- 同步 SDK 发行工具、安装脚本、CLI 帮助、开发 skill 和文档,命令行为只有一套实现,不新增兼容别名或重复路径。
验收
- 实际正式构建,报告压缩包大小与安装占用;约 120 MiB 为基于已有内容的目标,超出时必须报告准确实测和原因。
- 基础安装不包含 Python/Node/Go、原生扩展构建工具或 ARM 专用资源;普通与 Markdown 项目 new/check/test/run/build 通过隔离的定向验收。
- 需要什么下载什么;已有资源复用;锁文件恢复前后字节不变;无锁、锁与声明不符、资源损坏与下载失败均明确失败。
- 全新机器式隔离环境验证首次安装、扩展安装、多项目共享、已装扩展随更新和失败恢复;资源准备后断网构建,最终程序脱离工具链可执行。
- 定向恶意/损坏元数据和压缩边界回归通过;ARM 至少验证交叉构建及既有适用的隔离证据,不能把构建成功当作物理 ARM 性能测试。
- 公开上传和线上更新单独记录为完成或具体阻塞,不混同本地验收;不运行无关全量测试/长测。