39 lines
3.4 KiB
Markdown
39 lines
3.4 KiB
Markdown
# Dever 单命令安装入口与官方源迁移
|
||
|
||
## Goal
|
||
|
||
实现自包含 Bash install,复用签名安装器并统一 git.dever.cc 下载源,完成隔离定向验证
|
||
|
||
## 背景与授权
|
||
|
||
用户要求先实现 install,再处理新 Git 的迁移发布;已收到方案后明确要求实施,并于 2026-10-05 同意任务登记。已有签名 Python 安装器、Rust 解压/bootstrap 和配套 skill 打包可以复用。新 Git SSH 已可访问,远端尚无 refs;HTTPS /install 与公开发行资产尚未部署。
|
||
|
||
## Requirements
|
||
|
||
- R1:根 install 可直接通过 Bash 文件或管道执行,无需克隆源码或先安装 skill;支持现有版本选择、本地发行目录、自有镜像和不启动服务选项。
|
||
- R2:复用唯一签名安装器和 Rust 解压/bootstrap。独立公钥、签名、摘要、长度、路径验证和失败恢复不得削弱;非 root 使用 sudo,帮助不需要管理员权限。
|
||
- R3:首次安装、机器 install/update、按需扩展统一使用 https://git.dever.cc/shemic/dever/dist;latest 只选择签名版本,负载取准确版本目录;不从业务配置或环境变量选择官方源。
|
||
- R4:普通 run/build 仍离线,机器共享布局、按需扩展、版本与 skill 同步保持原有合同。安装前检查必要 OS/ABI/工具,清晰报告不支持或未发布。
|
||
- R5:安装说明准确区分代码完成与服务器发布;源码下载源迁移不代表已有 0.1.1 二进制已更改。
|
||
|
||
## Acceptance Criteria
|
||
|
||
- [x] Bash 语法、直接/管道 help、参数转发、退出状态、非 root 提权与截断脚本行为有最小定向验证。
|
||
- [x] 根 install 是唯一安装源码;删除skill安装器与生成器、迁移相关测试及验收调用,保留独立固定公钥和既有安装行为。(2026-10-05 合仓后用户修订)
|
||
- [x] Python/Rust 新源 latest/精确版本/扩展地址一致,拒绝非法重定向。
|
||
- [x] 真实 Ed25519 校验、损坏拒绝、临时文件清理保持通过;实际签名包可通过新入口安装到自有镜像,不启动宿主服务。
|
||
- [x] 必要定向测试和 diff 检查通过,文档说明命令、发布目录、旧版迁移和线上未验证边界。
|
||
|
||
## 本次边界
|
||
|
||
先完成 install 及必需下载链路,不执行 Git 迁移/提交/push、skills 子仓库并入、全局安装、Web 服务配置、全量 CI 或正式新版本构建发布。后续必须重建包含新源的二进制,不能将旧包重新标号。源仓库访问限制不变,安装端点与资产需要匿名 HTTPS。
|
||
|
||
## 2026-10-05 后续交付授权
|
||
|
||
用户在合仓、Git 迁移、精简发行和线上安装更新验收方案后回复「可以」,本阶段继续实施以下交付。上一阶段的 Git/发布排除仅描述当时范围,不再阻止本阶段工作;仍不运行全量测试、不替换作者机全局服务或安装。
|
||
|
||
- [x] 备份当前源码与 skills Git 历史,将 skills 作为普通目录并入主仓库,保留当前约束和模板。
|
||
- [x] 主仓库迁移至 ssh://git@git.dever.cc:2222/shemic/dever.git,提交并推送;不覆盖远端已有历史。
|
||
- [x] 用新版本重建 core/launcher/daemon,复用未改变的已验证 runtime 输入,制作精简基础包、匹配 skill 与可选扩展,记录体积与摘要。
|
||
- [ ] 发布安装脚本和签名资产,验证真实 HTTPS 首装与 update 的版本/skill 一致性;若部署接入缺失,保留可发布资产并明确缺失信息,不把本地验收当作上线成功。
|