|
|
228fae252d
|
fix(docs): 回退 PLUGIN_DEV 的 SDK import 示例,并修正 upload_assets/gui homepage 的仓名
上一批 37b8c26 把文档里 4 处 Go import 示例改成了
`github.com/JianFeeeee/HologramAgent-sdk/sdk`,但该 module 路径并不存在:
主仓 go.mod:16 仍是 `github.com/JianFeeeee/homeagentsdk v0.9.2`,:46 replace
目标未变,third_party/homeagent-sdk/go.mod 首行仍是
`module github.com/JianFeeeee/homeagentsdk`,GitHub 上 HologramAgent-sdk
与 hologramagentsdk 均 404。照着文档抄这行 import 会直接 module not found,
比不改更坏。本次回退成真实可编译的 homeagentsdk。
改动:
- assets/docs/{zh,en}/PLUGIN_DEV.md 各 2 处(zh:253、448;en:255、455)
import 路径回退为 github.com/JianFeeeee/homeagentsdk/sdk。该行附近未加任何
「已改名」说明——等 SDK 仓真改名、主仓 go.mod 与第三方 module 一起改时
再统一处理,属另一批。全仓已无 HologramAgent-sdk/sdk 形态。
- deploy/scripts/upload_assets.py:8、:23 默认目标仓
JianFeeeee/HomeAgent → JianFeeeee/HologramAgent(主仓确已改名,HomeAgent
在 GitHub 上 301)。:8 括号里「SDK 仓传 JianFeeeee/homeagent-sdk」按要求保留。
- cmd/gui/package.json:5 homepage 元数据同步为 HologramAgent;该文件仅此
1 行变更,name/author/description 等其它字段未动。
保留不动(已获确认属正确形态):
- go.mod 两行与 deploy/packaging/package-linux.sh 六处 homeagentsdk
(必须与 go.mod 逐字一致)
- internal/**/*.go 的 74 处真实依赖 import
- deploy/packaging/packaging_test.go:99,101 对 gitcode.com/JianFeeeee/HomeAgent
的反向断言(它断言 build.sh 不得使用历史路径)
- internal/plugins/webui 三处注释里的 homeagent.jianfgit.xyz(历史实测记录)
- cd HologramAgent-sdk / clone ...HologramAgent-sdk.git(操作指令目录名与 URL,
非 import 路径)
判据:7 条正向(含「文档 import 路径必须与 go.mod 的 SDK module 同源」);
变异 4 次均按预期报红——分别还原 zh:253 import、upload_assets.py:23 默认值、
gui homepage、以及把 packaging_test.go 反向断言那两行也改名。
go build ./... 通过,go test ./deploy/packaging/ 通过。
|
2026-10-21 19:25:05 +08:00 |
|
|
|
e188296dab
|
fix(release): .hmap 纳入发布产物白名单 + 路径解析
## 白名单(真问题)
`upload_assets.py` 的 ARTIFACT_SUFFIXES 只有 .tar.gz/.zip/.deb/.rpm/.pkg/_win64.exe,
**没有 .hmap** —— 即使插件包已经构建好放在 dist/ 下,上传时也会被静默跳过。
这正是「release 里一个插件包都没有」的直接原因之一。
补 `.hmap` 与 `SHA256SUMS.plugins`(插件包的汇总校验和,与内核包的 SHA256SUMS 分开,
避免混用)。实测 is_artifact() 现能正确识别两者、仍跳过 README.md。
## 测试路径解析
`HMAP_BUNDLE_DIR=dist/plugins` 这种相对仓根的写法原先会失败:测试的 cwd 是包目录
(internal/plugins/pluginmgr),相对路径解析到包内,报 "no such file or directory",
看起来像产物不存在。改为相对路径按仓根解析(向上找含 go.mod 的目录)。
实测三种调用都正确:相对路径、绝对路径、不设时 skip。
|
2026-09-20 09:07:33 +08:00 |
|
|
|
8e2b27f072
|
fix(release): upload_assets.py 按 go.mod 定位仓库根,不再数 dirname
脚本从 scripts/ 移到 deploy/scripts/ 后目录深度 1→2,而两层 dirname
是写死的,于是资产目录解析成 deploy/dist/release,上传直接
FileNotFoundError(v1.0.1 首次上传即因此失败)。
这与 v0.7.2 的 7f08f3c 把 package/ 移到 deploy/packaging/ 打断
build.sh 的 PROJECT_ROOT 是同一个坑:目录搬家没更新相对路径。改成
向上找 go.mod,以后脚本放哪都不会错。
顺带把两个静默失败改为显式报错:目录不存在、目录下无可识别产物
(原先前者抛裸 FileNotFoundError,后者会打出 ALL OK 却一个都没传)。
|
2026-09-04 10:34:51 +08:00 |
|
|
|
d043fed5ce
|
docs: 文档与发布脚本同步到 v1.0.0 子进程架构
README/架构文档仍在描述 C ABI 动态库加载,与 v1.0.0 实际实现不符。
新用户按文档走会去做 -buildmode=c-shared,产物新内核根本不加载。
README.md / README_EN.md:
- 设计要点补子进程架构段(三面通信、崩溃自愈、真热重载)
- 代码结构 plugin/ 描述:.so 动态加载器 → 子进程加载器
- 项目状态补 v1.0.0 条目(6 类缺陷 + 实测数字),v0.9.0 标注 ABI 已退场
- 新增「下载」章节:三变体对照 + 各平台包格式 + macOS 限制
assets/docs/{zh,en}/ARCHITECTURE.md:
- 四种加载方式表:外部 .so/C ABI → 外部子进程/握手+stdio JSON-RPC
- 加载流程改写为 exec.Command → 继承 fd → 握手 → init → start
- 内置 vs 外部对照表 7 行更新
- 新增「子进程插件的三个通信面」小节,含每个面的选择理由
assets/docs/{zh,en}/OVERVIEW.md:插件系统段落改写
deploy/ 发布脚本三处回归(v0.7.2 的 7f08f3c 把 package/ 移到
deploy/packaging/ 使目录深度 1→2,但没改相对路径,此后两个版本
的发布都没有二进制资产):
- build.sh:.syso 按目标平台 hide/restore(trap 兜底),恢复
windows 目标的 CXX,arm64 刻意不带 CXX
- installer.nsi:5 处 ..\build → ..\..\build,PRODUCT_VERSION 可注入
(原先硬编码 0.8.0)
- homeagent.spec:server 变体补装 waiter(control-server 声明了 CLI 却没装)
deploy/scripts/upload_assets.py:release 资产上传(两步签名 URL → OBS
PUT)。放 deploy/scripts/ 而非 scripts/,因为后者在 .gitignore 里。
支持 GITCODE_REPO/ASSET_DIR 环境变量以复用于 SDK 仓。
|
2026-09-03 19:26:17 +08:00 |
|