Skip to content

docs: curl install from a self-hosted test file server - #173

Merged
zuohaisu merged 2 commits into
mainfrom
agent/docs-self-hosted-test-install
Oct 17, 2026
Merged

zuohaisu merged 2 commits into
mainfrom
agent/docs-self-hosted-test-install

Conversation

@airscofield

@airscofield airscofield commented Oct 17, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

README 增加「Self-hosted test install」:Linux 只做静态文件站,Mac 用 curl 把测试包装到 ~/.local/viva-test,用单独的 VIVA_HOME 启动。Tailscale 内网 IP 用 HTTP,网站只绑这个地址。viva update 仍只跟踪 GitHub Releases 和 npm 的稳定版。

第二轮按 QA 改了安装脚本和发布命令的衔接:校验只比 64 位 SHA-256,不再调用 shasum -c;服务器地址只出现在 curl 命令的 VIVA_TEST_BASE 里,install.sh 里不写死。

Refs #172

验收标准

  • README 写明文件布局:install.sh,以及 channel/ 下 macOS arm64 / Intel 的 tar.gz 和 sha256。
  • README 给出可复制的 install.sh:安装到 ~/.local/viva-test,不修改 ~/.viva,不覆盖 PATH 上已有的 viva。
  • README 写明 Tailscale 内网 IP 用 HTTP,网站只绑定该地址;裸 IP 不走 HTTPS。
  • README 写明用单独的 VIVA_HOME 启动,以及怎样替换 channel/ 里的包来更新测试安装。
  • README 写明 PR 构建的 viva --version 仍可能是 Cargo.toml 里的版本,报 bug 时要记录 git rev-parse HEAD。
  • 发布命令写出「摘要、两个空格、文件名」。安装脚本只取校验文件第一个 64 位十六进制字段,和下载包的 shasum -a 256 比较。
  • install.sh 不含服务器地址。换地址只改 curl 那一行的 VIVA_TEST_BASE。

证据(Validation)

文档 diff。按 AGENTS.md 的 Docs-only fast path,本地不跑 cargo test。安装脚本从 README 抽出后,在这台 Mac 上对 http://127.0.0.1:8765 的夹具包跑过。夹具不是 viva 二进制。

$ git diff --name-only origin/main...HEAD
README.md

$ git diff --check
(无输出,退出码 0)

$ shasum -c 对三种校验行(同一台 Darwin arm64)
two-space  exit 0
gnu-star   exit 0   # digest *name,本机 shasum 接受
one-space  exit 1   # no properly formatted SHA checksum lines found

$ 抽出 README 里的 install.sh,对 127.0.0.1:8765 跑
missing VIVA_TEST_BASE  exit 1
two-space               exit 0  装到临时 HOME 的 ~/.local/viva-test/viva
gnu-star                exit 0
one-space               exit 0
bad hash                exit 1  SHA-256 mismatch
脚本正文不含 100.x.x.x

对应 commit 95f36c0。CI 由 GitHub Actions 跑。

风险与安全边界(Risk/Safety Boundaries)

只改 README.md。没有改版本号、发布流程、权限或 viva update 的下载地址。文档里的安装脚本会删除并重写 ~/.local/viva-test。install.sh 本身没有校验和,压缩包校验的是 SHA-256 摘要。

未验证项(Known Limitations)

没有在 Tailscale 上发布文件,也没有用真实的 viva 二进制走完这条 curl。本机 shasum -c 接受 digest *name;QA 在另一台 Mac 上看到星号行失败。现在的脚本不再调用 shasum -c。

A PR build can be click-tested from a Linux static host without publishing over the stable GitHub Release or npm channel.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: multica-agent <github@multica.ai>
The curl script no longer calls shasum -c or embeds a server address, so a Linux checksum line and a new Tailscale origin both work without editing install.sh.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: multica-agent <github@multica.ai>
@zuohaisu
zuohaisu merged commit ea3386e into main Oct 17, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants