Skip to content

发布 Mino 应用 ​

本页说明应用发布。书籍网站见写作与更新流程。

全部十个章节发布版 chapter-01 至 chapter-10 于 2026-10-21 发布,均提供 Apple Silicon 和 Intel 的 macOS 安装包;chapter-10 于 2026-10-26 重新发布,第 11、12 章于 2026-10-26 以 chapter-11 和 chapter-12 发布,第 13 章于 2026-10-27 以 chapter-13 发布,第 14 章于 2026-10-28 以 chapter-14 发布,第 15 章于 2026-10-29 以 chapter-15 发布。最新章节发布版为 chapter-15,程序版本 0.15.0;各章使用对应的源码标签。构建当前工作区不会创建发布版,也不会改变已发布标签。

重新发布的版本 ​

2026-10-21,本教程从九章调整为十章,所有章节标签和发布版都重新发布。原来的第 03 章拆分为第 03 章(Agent 循环)和第 04 章(恢复中断的工具调用),之后各章顺延一号,因此 chapter-05 这样的标签现在对应的课程与以前不同。在此之前发布的版本使用旧编号,现已被取代。替换已发布标签是经所有者授权的一次性例外;后续修复会使用新的补丁标签。

2026-10-21 之前安装的程序仍显示旧的版本号;运行 mino update 即可换成重新发布的版本。旧版本写在 ~/.mino/sessions/ 下的会话仍可读取,但旧的 ~/.mino/history.jsonl 不会被导入,请把它作为私有备份保留。

2026-10-26,同样应所有者要求,第 10 章被原地重写,chapter-10(0.10.0)重新发布。可选的 ~/.mino/policy.json 被三种用 /mode 选择的权限模式取代,见第十章的权限模式。之前各章及其发布版保持不变。两个安装包都显示 0.10.0;来自第一个安装包的程序启动时会打印一行 Policy:,请运行 mino update chapter-10 替换它。重新发布的版本会忽略遗留的 ~/.mino/policy.json。

会话兼容性 ​

每个发布版都能读取前面各章写入的会话记录;但较新的版本写入旧版本不认识的记录后,旧版本可能拒绝打开该会话。切换版本前,请关闭 Mino,并私下备份会话文件。

第 03 章写入版本 2 的会话记录,读取版本 1–2;追加版本 2 记录后,chapter-02 无法再读取该会话。见第 03 章的准备说明。

第 04 章沿用版本 2,但第 04 章保存 recovery_ack 记录后,chapter-03 无法打开该会话;见第 04 章的准备说明。

第 05 章同样沿用版本 2,并加入多会话。一旦 /new 创建了第二个会话,第 02–04 章会在启动时停止;见第 05 章的会话存储。

第 06 章写入版本 3 的会话记录,读取版本 1–3。体验或回退前,请查看历史兼容性说明。

第 07 章写入版本 4 记录,读取版本 1–4;使用已有会话或回退前,请查看第 07 章兼容性说明。

第 08 章沿用记录版本 4,但 chapter-07 无法加载启动过文件工具调用的会话;回退前请查看第 08 章兼容性说明。

第 09 章同样沿用记录版本 4,但 chapter-08 无法加载开始过 MCP 调用的会话;回退前请查看第 09 章兼容性说明。

第 10 章沿用记录版本 4,chapter-09 仍能打开它的会话;见第 10 章兼容性说明。

第 11 章沿用记录版本 4,没有新增记录类型;chapter-10 仍能打开它的会话,但不包含 mino eval。见第 11 章兼容性说明。

第 12 章沿用记录版本 4,没有新增记录类型;chapter-11 仍能打开它的会话,但会不受限地运行 Bash,并且拒绝记录过获批 sandbox: false 选择退出的会话。见第 12 章兼容性说明。

第 13 章沿用记录版本 4,没有新增记录类型;chapter-12 仍能打开它的会话,除非会话中有 memory_view 或 memory_save 调用已经开始,或保存的技能目录中有超过 1,024 字节的简介。旧版本会忽略 ~/.mino/memory/。见第 13 章兼容性说明。

第 14 章沿用记录版本 4,没有新增记录类型;chapter-13 仍能打开它的会话,除非会话中有 spawn_agent 调用已经开始。旧版本会忽略存放子 Agent 日志的 .agents 目录,它们的 /clear 也会把这些目录留在原处。见第 14 章兼容性说明。

第 15 章写入记录版本 5,并新增 session_agents 记录。会话一旦被第 15 章打开、恢复或清空,即使还没有提出新问题,chapter-14 及更早版本也无法再打开它。旧版本会忽略 .agents/agents/,也没有内置的 create-subagent 技能。见第 15 章兼容性说明。

版本规则 ​

发布标签标识章节,可执行文件和压缩包名称保留数字版本:

发布标签程序版本
chapter-010.1.0
chapter-020.2.0
chapter-030.3.0
chapter-040.4.0
chapter-050.5.0
chapter-060.6.0
chapter-070.7.0
chapter-080.8.0
chapter-090.9.0
chapter-100.10.0
chapter-110.11.0
chapter-120.12.0
chapter-130.13.0
chapter-140.14.0
chapter-150.15.0

章节初版使用 chapter-NN,后续修复使用 chapter-NN.PATCH。例如,chapter-05.1 生成版本 0.5.1。后续修复创建新标签,不移动已发布标签或替换附件;2026-10-21 和 2026-10-26 的重新发布是经所有者授权的例外。每章尽量保留一次完整提交,包含代码、测试和双语书稿。

打包时从标签换算出 0.章节.修订号,通过 Go 链接参数写入程序。源码构建显示 dev。Changelog 标题继续使用数字版本,例如 ## [0.5.1]。

迁移已有安装 ​

章节标签迁移前安装的更新器无法解析 chapter-* 标签。 请先把当前安装命令重新运行一次,即使程序显示的数字版本没有变化。这会获取新版安装器并替换程序,保留配置、自定义 ~/.mino/SOUL.md 和已有历史。修改标签或 main 上的脚本不会改变已安装的程序。

完成这次安装后,mino update 选择最新发布版,mino update chapter-15 选择本章。安装器也接受 0.15.0 或 v0.15.0,两者都指向 chapter-15;这些是版本选择别名,不是额外的 Git 标签。

发布一个版本 ​

  1. 完成改动,在 CHANGELOG.md 添加数字版本条目,并提交。

  2. 运行 bash scripts/check.sh,审核代码和双语书稿,再把已审核的改动推送到 main。

  3. 创建并推送新的章节或补丁标签。以下以第 15 章未来的一个补丁为例:

    bash
    git tag -a chapter-15.1 -m 'Mino chapter-15.1'
    git push origin chapter-15.1

Release 工作流 由 chapter-* 标签触发,重新运行检查,并在关闭 CGO 的情况下构建 darwin/arm64 和 darwin/amd64。在 macOS 上打包时,还会运行当前主机架构对应的程序,验证数字版本。

每个压缩包包含 mino、LICENSE 和 THIRD_PARTY_NOTICES.txt。上面的补丁示例会提供:

text
mino_0.15.1_darwin_arm64.tar.gz
mino_0.15.1_darwin_amd64.tar.gz
checksums.txt

工作流先上传到草稿 Release,全部附件上传成功后才发布。对应数字版本的 changelog 条目提供发布说明;缺少条目会导致打包失败。普通分支推送运行 CI,不发布应用。发布任务使用 GitHub 内置的 GITHUB_TOKEN 和 contents: write 权限,不需要模型 API Key。

本地打包与恢复 ​

在 chapter-15 的仓库根目录检查本章安装包:

bash
bash scripts/package.sh chapter-15

打包接受规范的章节标签,使用当前工作区源码,不会检出标签。结果写入被 Git 忽略的 dist/,不创建 Git 标签或 Release。发布失败时,检查日志及可能残留的未完成草稿,再重新运行任务。

公开下载与内嵌更新器 ​

安装器使用 curl,无需 GitHub CLI 或 GitHub 登录。除非指定版本,否则只解析一次最新标签,然后从同一标签下载压缩包与 checksums.txt。校验 SHA-256 和程序数字版本后,才替换 ~/.mino/bin/mino;下载或校验失败时保留现有程序。

各章发布包都内嵌了 mino update 使用的安装器。安装会通过 .zshrc(支持 ZDOTDIR)或 .bash_profile 配置 PATH,不覆盖配置文件。遇到符号链接或不可写的配置文件时,会打印需要手动添加的行。首次启动完成设置后,才创建模型配置文件。

每章解决一个问题,让原理变成可运行的代码。