Use Gitea Releases for installation and ship VS Code highlighting

This commit is contained in:
Antigravity committed 2026-10-06 14:12:58 +00:00
1 parent a46bd6e132
commit 201bdee372
243 files changed
+3289 -12521

No files matched your search

+22 -36
View File
@@ -1,24 +1,24 @@
# 安装与更新
安装入口为 `https://git.dever.cc/shemic/dever/install`,官方二进制源为同站 `/shemic/dever/dist`。这些地址由发行工具固定,不写入业务项目配置,不通过环境变量选择。Git 源码可访问不代表安装端点或二进制已发布;服务器尚未部署时如实报告,不能把登录 HTML 当作脚本。
Dever 安装包和编辑器插件从 [Releases](https://git.dever.cc/shemic/dever/releases) 下载。
## 安装 dever
先检查 `dever --help`。机器版提供 new、install、update、target、version、skill;仅源码开发二进制不管理机器安装。不要把已有同名命令直接删掉或覆盖,先识别归属。
先检查 `dever --help`,确认已有同名命令的归属,不直接删除或覆盖。Dever 语言与 Go 框架的 `dever-go` 是不同工具。
初次安装需要 Linux、Bash、Python 3.9 或更新版本的 `/usr/bin/python3` 和支持 Ed25519 的 `/usr/bin/openssl`;管道下载还需要 curl。非 root 安装通过 `/usr/bin/sudo` 提权,帮助不提权。这些工具用于校验和安装,生成的应用不依赖系统 Python、Node、Go 或 Rust。检查安装脚本并取得机器安装授权后执行:
当前开发机支持 Linux x86_64,要求 glibc 2.39 或更新版本。首次安装还需要 Bash、`/usr/bin/python3` 3.9+、支持 Ed25519 的 `/usr/bin/openssl`;管道下载需要 curl。安装使用管理员权限,非 root 用户通过 `/usr/bin/sudo` 提权,查看帮助不提权。
还须满足所选发行包的主机 ABI 要求;当前准备的 Linux x86_64 编译器要求 glibc 2.39。ARM64 应用交叉构建可在 x86_64 主机使用,不能据此宣称 ARM64 宿主编译器包已经发布。
取得机器安装授权后执行:
```sh
curl -fsSL https://git.dever.cc/shemic/dever/install | bash
curl -fsSL https://git.dever.cc/shemic/dever/raw/branch/main/install | bash
```
无需先克隆源码或安装 skill。查看参数用 `bash -s -- --help`;固定版本用 `bash -s -- --version <准确版本>`,替换上面命令尾部的 `bash` 即可。本地已下载脚本可用 `bash install --help` 检查。
无需先克隆源码或安装 skill。安装器下载最新正式版本,安装到 `/opt/dever`,提供 `/usr/local/bin/dever`,并安装、启动机器共享服务及必要的沙箱策略。无需系统 zstd。没有匹配平台的发行包或下载校验失败时明确报错。
该命令下载当前平台最新已签名基础包。脚本包含独立固定公钥,先校验发行元数据,再验证引导程序及其私有库摘要,由引导程序解压 Zstandard 包;无需系统 zstd。安装 `/opt/dever`、`/usr/local/bin/dever`、机器共享服务和必要沙箱策略,默认启动服务。`--no-start` 可仅安装。没有对应正式资产时明确失败,不修改已安装版本。
将命令尾部的 `bash` 换为 `bash -s -- --help` 可查看参数,换为 `bash -s -- --version <准确版本>` 可指定版本。`--no-start` 只安装、不启动服务;应用编译仍需要共享服务可用。已下载脚本也可用 `bash install --help` 查看帮助。
基础包包含 Dever 编译器、本机应用编译资源、四种数据库运行库和配套 skill。Python、Node、Go、第三方原生构建工具与 ARM 应用目标按需安装,保存在机器共享资源目录;同一版本的多个用户和项目共用一份。
基础安装包含编译器、应用编译资源、数据库运行库和配套 skill。Python、Node、Go 及第三方构建工具按实际依赖准备,同一版本由多个用户和项目共享。生成的应用不依赖系统 Python、Node、Go、Rust 或 Dever 编译器。
## 将 skill 接入 AI
@@ -28,35 +28,29 @@ curl -fsSL https://git.dever.cc/shemic/dever/install | bash
dever skill install <新的AI技能目录>/dever-language
```
目录必须尚不存在,不能覆盖已有 skill。入口每次解析与核心配套的完整 skill,重载 AI 工具的技能列表后使用。这是 Dever 语言的 `dever-language`,不是 Go 框架的 `shemic-dever`。不自动修改机器上其他用户的 AI 目录。
目标目录必须尚不存在,不覆盖已有 skill,也不把入口嵌套进现有完整 skill 目录。重载 AI 工具的技能列表后使用;入口解析与核心版本配套的完整 skill。它名为 `dever-language`,不是 Go 框架的 `shemic-dever`,不会自动修改其他用户的 AI 目录。
## 按需准备资源
新项目用 `dever skill path`,已有项目用 `dever skill path <project-root>` 查看对应版本的指引。
首次添加或更新 Lib 时,`dever lib add/update <project-root> ...` 自动准备相应生态,只有进入源码构建流程时才准备构建工具。已有 `dever.lock` 的项目在新机器运行 `dever lib install <project-root>`,按锁恢复依赖,保持配置和锁文件不变;没有 Lib 的 Python/JS/Go Adapter 也可通过该命令准备环境。缺少锁时先显式 `dever lib update <project-root>` 生成锁。不要把 install 当作重新选版本的 update。
## 按需准备依赖和 ARM64 应用目标
在 x86_64 机器准备 ARM64 应用目标:
显式 `dever lib add/update <project-root> ...` 按需准备对应生态,只有依赖需要源码构建时才准备构建工具。已有 `dever.lock` 的项目在新机器运行 `dever lib install <project-root>`,按锁恢复,保持配置与锁文件不变;没有 Lib 的 Python/JS/Go Adapter 也可通过该命令准备环境。缺锁时先用 `dever lib update <project-root>` 生成锁,不把 install 当作重新选版本的 update。
Linux x86_64 开发机可准备 Linux ARM64 应用目标:
```sh
dever target add linux-aarch64
dever lib install <project-root> --target linux-aarch64
dever lib update <project-root> --target linux-aarch64
dever build <project-root> --target linux-aarch64 --output <新文件>
```
只用 Dever、没有外部依赖的项目省略 lib install。目标 Lib 必须已有匹配目标的锁;首次生成 ARM 锁使用 lib add/update 的同名 target 参数。准备会显式联网,后续 run/build 离线;缺资源时执行提示的准备命令,不改用系统解释器。target add 准备当前活动版本,锁定其它编译器版本的项目先准备并选择对应版本。
没有外部依赖时省略 lib update;已有匹配目标的锁时使用 lib install。目标依赖和原生扩展必须支持 ARM64。target add 准备当前活动版本,锁定其他编译器版本的项目先安装并选择对应版本。
已准备本地发行包时:
依赖和目标准备会显式联网,后续 run/build 离线;缺资源时按提示准备,不扫描宿主 Python、Node、Go 或 PATH 充当运行环境。省略目标时使用本机架构,run/test 始终在本机执行。ARM64 应用目标不表示提供 ARM64 宿主编译器,macOS、Windows 宿主安装暂未提供。
```sh
bash install --release /可信发行目录 --trusted-key /独立确认的公钥文件
```
Linux 外部调用要求系统支持所需 namespace 与 openat2。受限 AppArmor 环境需要安装器配置的专用策略;策略不满足要求时明确失败,不关闭沙箱继续执行。
测试或镜像制作增加 `--system-root /已有的自有镜像目录`;不会启动宿主服务。安装器生成的临时 `config/setting.json` 仅供机器 bootstrap 使用,包含本地发行路径、安装根和公钥路径;不是业务配置,不写发行仓库地址或环境变量。
公钥可公开提交;签名私钥绝不能进 skill、源码仓库或发行包。只有已独立确认的公钥才可作为 `--trusted-key`,不能从未知下载包顺手取一把钥匙作为信任依据。
skills 只提供安装指引,不携带独立安装器;首次安装统一使用上述 `install` 入口。
## 一条命令更新核心与 skill
## 更新与选择版本
```sh
sudo dever update
@@ -64,16 +58,8 @@ dever version
dever skill path
```
update 只访问内置官方发行源,先准备核心、同版本完整 skill,以及当前活动版本已安装的扩展,再切换活动版本。未使用的扩展不会一起下载;任一准备失败保留原活动版本。普通 check/test/run/build 不检查更新、不隐式联网。
update 同步准备核心、配套 skill 和当前已安装的可选扩展,全部成功后才切换活动版本;未使用的扩展不下载,失败保留原活动版本。普通 check/test/run/build 不检查更新、不隐式联网。更新不改业务项目文件或数据库。
从旧 GitHub 发行源迁移时,需要在新源正式包发布后执行一次新的 `install`。旧启动器和守护进程内置旧地址,普通 update 不负责替换这两个稳定程序;只修改仓库 remote 或重新发布旧包不能完成迁移。新 install 成功后再用 `dever update`。
项目可在 `config/setting.json` 的 `dever.version` 锁定准确 `major.minor.patch`,未锁定时使用机器活动版本。`sudo dever install <版本>` 准备指定版本,`sudo dever use <版本>` 切换活动版本;项目锁定仍优先于活动版本。已有项目用 `dever skill path <project-root>` 读取对应指引,不仅凭最新指南采用新语法。
本仓库直接安装的 skill 在开始开发时先运行 `dever skill path` 并加载该版本的完整 skill,不必每个项目 git pull。也可以用 `dever skill install <新的AI技能目录>/dever-language` 安装稳定的薄入口,之后每次自动解析当前机器版本;已有目录不会被覆盖。不要把新入口嵌套装进已经存在的完整 skill 目录。
项目可选 `config/setting.json` 的 `dever.version` 锁定准确 `major.minor.patch`,未锁定时使用机器活动版本。`dever install 版本` 准备指定版本;`dever use 版本` 显式切换活动版本。update 不改业务项目文件或数据库。锁定项目用 `dever skill path <project-root>` 读取对应指引,不能仅凭活动版指南采用新语法。
## 源码维护者
统一源码仓库为 `ssh://git@git.dever.cc:2222/shemic/dever.git`。`skills/` 是主仓库中的普通目录,与核心、模板和安装器一起提交、校验及发行;无需初始化 submodule 或另行克隆 skill 仓库。普通应用开发者无需克隆核心或编译 Rust。
根 `install` 是唯一安装源码,直接维护其中的 Bash 入口和内嵌 Python 实现,无需生成步骤。独立固定公钥不得来自下载包;修改后检查 `bash -n install`,并运行 `python3 -B -m unittest discover -s test/onboarding -p 'test_install*.py' -v` 验证参数传递、验签和失败清理。首个新源发行包发布前,默认下载会明确失败;使用真实签名本地包可验证安装,但不能代表线上安装或更新已经通过。
旧安装若仍访问已停用的下载地址,重新执行上述安装命令,再使用正常 update。该操作需要同样的机器安装权限。