name: quicker-rpc-publish description: >- Full quicker-rpc release: GitHub Release CLI, build.ps1 -Publish -NoVersion Quicker plugin upload, qkrpc action update for shared action f5c76108-3ce9-433f-8cd0-8f0d9c562052. Official getquicker upload MUST bump third semver field (see quicker-qkbuild-version-publish). Use when the user asks to publish, release, ship, GitHub release, or /publish. disable-model-invocation: false metadata: internal: true
quicker-rpc 公开发布
版本号必守:getquicker 上传 必须第三段 +1、revision→0;
version.json只能递增、禁止减小。细则:.cursor/skills/quicker-qkbuild-version-publish/SKILL.md。禁止仅用-trevision 就当「已发布」。
完整流程(Agent 顺序)
- 若本次或近期改过
agent-gui/llm-publish.config.json:先 发布 publish config —pwsh -NoProfile -File ./publish/Sync-LlmPublishConfig.ps1(quicker-agent-llm-apikey-config//publish-llm-config),确保BUNDLED_LLM_CONFIG+ Bitiful OSS 与本地一致 git status;读取 baseline(最新 tag + 已提交version.json);第三段 +1 bumpversion.json(第四段 →0),且 必须大于 baseline;commit — 见quicker-qkbuild-version-publishgit log自上一 tag → 撰写 changelog → 写入publish/changelogs/vX.Y.Z.md并 commitpwsh ./publish/Publish-GitHubRelease.ps1 -WaitForCi→ 默认并行:后台启动本地 Electron 预检 + 立即 push tag 触发 CI。本地日志通常先报错,优先按%TEMP%\qkrpc-preflight-vX.Y.Z.log修复;CI 失败可暂忽略。修复后-ForceRetag重发。- 仅本地阻塞预检:
Test-QuickerAgentReleaseBuild.ps1或-PreflightBeforeTag - 跳过预检:
-SkipPreflight;结束后等待本地结果:-WaitForPreflight
- 仅本地阻塞预检:
.github/workflows/release-cli.yml在 GitHub Actions 编译 qkrpc zip/setup 与 QuickerAgent Electron 安装包并发布 Release(-WaitForCi等待完成;CI 失败时仍会打印本地预检日志路径)。仅 Release 上传失败:Actions Run workflow →pipeline=release-only+artifact_run_id(见publish/release-cli-ci.md);NSIS/编译失败用-ForceRetag全量重编pwsh ./build.ps1 -Publish -NoVersion→ Quicker 依赖 quicker.rpc 上传(版本与version.json一致,不再 bump)qkrpc action list --limit 1 --json确认插件在线(或已qkrpc serve且/health为 ok)qkrpc action update --id f5c76108-3ce9-433f-8cd0-8f0d9c562052 --changelog-file publish/changelogs/vX.Y.Z.md --json- QuickerAgent 动作页(getquicker):
page.html用占位符{{QUICKER_AGENT_SEMVER}}(勿手写版本号)。本地 Bitiful 上传后执行:- 推荐:
pwsh ./publish/Publish-GitHubRelease.ps1 -WaitForCi(CI 结束后自动本地上传 Bitiful →Sync-QuickerAgentActionDoc.ps1 -Push) - 或手动:
pwsh ./publish/Upload-QuickerAgentToBitiful.ps1 -Tag vX.Y.Z,再Sync-QuickerAgentActionDoc.ps1 -Push - 需在 quicker-agent 兄弟仓库(或
QUICKER_AGENT_REPO);Bitiful 凭证见publish/.env.example(复制为publish/.env)
- 推荐:
- 汇报 Release URL、Quicker 包版本、action update / 动作页 sync 结果、用户安装命令
仓库与产物
| 项目 | 值 |
|---|---|
| Git | QuickerHub/quicker-rpc |
| 版本 | version.json → QuickerRpc(四段);Release tag 前三段 vX.Y.Z |
| Changelog | publish/changelogs/vX.Y.Z.md(必须 commit 后再打 tag) |
| Quicker 包 | quicker.rpc(build.ps1 -Publish -NoVersion) |
| 分享动作 ID | f5c76108-3ce9-433f-8cd0-8f0d9c562052 |
| CLI Release | qkrpc-{semver}-win-x64-setup.exe、qkrpc-win-x64-setup.exe(latest)、zip 便携包 |
| Agent Release | quicker-agent-{semver}-x64-setup.exe(GitHub Release + 本地/CI Bitiful);Bitiful 同步 version.txt + latest.yml(electron-updater;须与 Release 版本一致;勿依赖仓库内陈旧的 publish/latest.yml);勿上传 quicker-agent-win-x64-setup.exe 固定别名 |
| QuickerAgent 动作页 | aa5917ad-1256-4c73-7022-08debe3efcbe;源文件 quicker-agent/actions/.../page.html({{QUICKER_AGENT_SEMVER}} 由 Sync-QuickerAgentActionDoc.ps1 填充;手动 sync 默认 Bitiful version.txt,-WaitForCi 传 Release 版本) |
用户安装 CLI
下载 qkrpc-win-x64-setup.exe 并运行。安装包由 GitHub Actions(release-cli.yml + Inno Setup)编译;本地发布无需 Inno Setup。离线兜底:Publish-GitHubRelease.ps1 -LocalBuild(需本机 ISCC)。
脚本说明
| 命令 | 用途 |
|---|---|
publish/Sync-LlmPublishConfig.ps1 |
llm-publish.config.json → GitHub Secret BUNDLED_LLM_CONFIG(Agent 改 publish config 后自动跑) |
publish/Test-QuickerAgentReleaseBuild.ps1 |
仅本地 Electron NSIS 预检(阻塞,单独调试) |
publish/Publish-QuickerAgent.ps1 -PreflightOnly |
同上(-SkipQkrpcBuild 跳过 CLI 重编) |
publish/Publish-GitHubRelease.ps1 |
并行后台 Electron 预检 + 校验 changelog + push tag;CI 构建并发布 Release |
publish/Publish-GitHubRelease.ps1 -PreflightBeforeTag |
先本地 Electron 通过再打 tag(旧顺序) |
publish/Publish-GitHubRelease.ps1 -WaitForCi |
同上,并等待 release-cli.yml 完成;随后本地上传 Bitiful + sync QuickerAgent 动作页(-SkipBitifulUpload / -SkipSyncQuickerAgentActionDoc 可跳过) |
publish/Upload-VoiceAsrToBitiful.ps1 -Version X.Y.Z |
voice-asr Bitiful mirror (local fallback; CI uploads on tag push) |
publish/Publish-VoiceAsrRelease.ps1 -SkipBuild -UploadBitiful -UpdateChannelJson |
voice-asr local pipeline (Bitiful optional; CI handles mirror on tag) |
publish/Sync-QuickerAgentActionDoc.ps1 -Push |
将 Bitiful version.txt(或 -Version / -WaitForCi 传入的 Release 版本)写入 quicker-agent 构建产物并 qkagent push |
publish/Publish-GitHubRelease.ps1 -LocalBuild |
本地构建 + gh release(需 Inno Setup,CI 不可用时) |
publish/Build-QkrpcSetup.ps1 |
Inno Setup 编译(CI 与 -LocalBuild 共用) |
publish/release-cli-ci.md |
CI 重试:workflow_dispatch、release-only、artifact_run_id、Re-run failed jobs |
publish/Preflight-QuickerAgentFast.ps1 |
打 tag 前 <10s 预检(含 NSIS 资源路径) |
build.ps1 -Publish -NoVersion |
qkbuild 上传 Quicker 依赖,不改 version.json(自动 SkipCliPackaging) |
publish/publish-rpc.ps1 |
本地 CLI/插件构建(-SkipSetup 跳过安装包) |
Publish-GitHubRelease.ps1 参数:-LocalBuild、-WaitForCi、-SkipPreflight、-PreflightBeforeTag、-WaitForPreflight、-ForceRetag、-SkipBuild(仅 -LocalBuild)、-SkipTag、-DryRun、-Draft、-TagVersion、-Changelog、-ChangelogFile、-AllowEmptyChangelog
Changelog(Agent 撰写,Release / CI / action update 共用)
- 路径:
publish/changelogs/vX.Y.Z.md(与 tag 同名) - commit 后再运行 Publish-GitHubRelease(tag push 触发 CI,从 tag 指向的 commit 读此文件)
- 阅读
git log vX.Y.Z..HEAD或近期 commit - 用中文,按 CLI / 安装 / 插件 分组
- 首行写版本号(如
v0.3.11) - 不要空 changelog;不要只写「发布」
前置条件
- .NET 10 SDK、
gh auth login qkbuild与 build-tools.env(-p -n上传)- Bitiful:
publish/.env(见publish/.env.example)或BITIFUL_*环境变量 - Quicker 运行中 + QuickerRpc 插件已 Register(
qkrpc action list --limit 1 --json成功即可) - 发布时:本机 NSIS + pnpm(并行 Electron 预检会隔离
USERPROFILE到%TEMP%);日志%TEMP%\qkrpc-preflight-vX.Y.Z.log
禁止
- 将
publish/cli、publish/plugin、publish/*.zip提交 Git - 修改
git config - 用
-p(无-n)在 Release 后再 bump 版本 - 减小或回退
version.json的QuickerRpc(Assert-QuickerRpcVersionMonotonic会拒绝) - 仅用
build.ps1 -t(revision +1)代替-Publish -NoVersion或第三段正式发布(子程序/launch_code 会拉到旧 DLL) - 在 getquicker 第三段包未更新前,改
QuickerRpc_Run.launch_code调用新插件 API 或action update - 跳过
action update或让用户提供 changelog 文本 - 未 commit changelog 就 push tag(CI 会用模板覆盖 Release 说明)
- 未看本地预检日志就反复
-ForceRetag(应先修%TEMP%\qkrpc-preflight-*.log里的错误)
相关
- 版本号(第三段 +1 必守):
.cursor/skills/quicker-qkbuild-version-publish/SKILL.md - Cursor 命令:
.cursor/commands/publish.md - 日常改代码验证:
.cursor/skills/quicker-rpc-build-test/SKILL.md