Skip to content

feat: 通过 GitHub Release 分发 CLI 与 MCP 完整包 - #104

Merged
kairowan merged 1 commit into
mainfrom
feat/mcp-release-bundle
Nov 12, 2026
Merged

kairowan merged 1 commit into
mainfrom
feat/mcp-release-bundle

Conversation

@kairowan

Copy link
Copy Markdown
Owner

目标

让用户从 GitHub Release 直接下载完整可用的 shield + shellsmith-mcp 包,不需要自己编译;仍然保持本地运行、不上传 APK/证书/密码。

改动

  • 新增 .github/workflows/cli-release.yml
    • Release 工作流成功后自动构建 Linux x86_64、macOS universal、Windows x86_64 三平台包
    • 每个包包含 bin/shield、bin/shellsmith-mcp、lib/apktool.jar、lib/apksigner.jar、lib/xop-pvm2-packer.jar、resources/*、许可证和 README
    • 复用 Release 已上传的 android-runtime 资源,不重复构建 Android 壳
    • 生成并上传 SHA-256 校验和
  • shellsmith-mcp 默认先查找同目录的 shield,找不到再查 PATH;解压后无需传 --cli
  • docs/mcp.md 增加 GitHub Release 安装、客户端配置和 macOS Gatekeeper 说明
  • 使用 workflow_run 触发,避免 GITHUB_TOKEN 发布 Release 时不触发 release: published 的 GitHub 限制

使用方式

下载 Shellsmith-cli-<version>-<platform>.tar.gz / .zip,解压后:

./bin/shellsmith-mcp --allow-root /path/to/projects

MCP 客户端:

{
  "mcpServers": {
    "shellsmith": {
      "command": "/absolute/path/to/bin/shellsmith-mcp",
      "args": ["--allow-root", "/absolute/path/to/projects"]
    }
  }
}

验证

  • cargo fmt --all --check
  • cargo clippy -p shellsmith-mcp --all-targets -- -D warnings
  • cargo test -p shellsmith-mcp(10 passed)
  • 本地烟测:仅复制 shellsmith-mcp 与同目录假 shield,不传 --cli 可正常发现并调用
  • 工作流 YAML 解析通过,所有 run 脚本通过 bash -n

- Release 完成后自动构建 Linux/macOS/Windows 的 shield + shellsmith-mcp 包
- 复用发布中的 android-runtime 资源,附带 apktool、apksigner 与校验和
- shellsmith-mcp 默认查找同目录 shield,解压即可接入 MCP 客户端
- 文档补充 GitHub Release 安装与客户端配置
@kairowan
kairowan merged commit 23feebe into main Nov 12, 2026
13 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.

1 participant