diff --git a/README.md b/README.md index 99bbac2..3a4cd4b 100644 --- a/README.md +++ b/README.md @@ -67,10 +67,12 @@ The install script verifies the release archive's sha256 and installs `sctl` int per extension. - **ScriptCat:** enable **External Access** in its options and enter the code. - - **sctl Browser:** download `sctl-browser-extension-.zip` from - [GitHub Releases](https://github.com/scriptscat/sctl/releases), unzip it, load the folder as an unpacked - extension, and enter a code in its popup. It needs **Chrome 125 or newer** (or a Chromium browser of that - version). + - **sctl Browser:** install it from the + [Chrome Web Store](https://chromewebstore.google.com/detail/sctl-browser/biafbcaobbmcodfinffakgpdgaiodbgk) or + [Microsoft Edge Add-ons](https://microsoftedge.microsoft.com/addons/detail/sctl-browser/nbmnkdfbjdhbdjjffgkocfdkemockepa) and + enter a code in its popup. It needs **Chrome 125 or newer** (or a Chromium browser of that version). You can + also load `sctl-browser-extension-.zip` from + [GitHub Releases](https://github.com/scriptscat/sctl/releases) as an unpacked extension. 3. **Check the connection:** diff --git a/docs/README_zh-CN.md b/docs/README_zh-CN.md index 182b80d..74d2f30 100644 --- a/docs/README_zh-CN.md +++ b/docs/README_zh-CN.md @@ -60,9 +60,11 @@ irm https://raw.githubusercontent.com/scriptscat/sctl/main/scripts/install.ps1 | 2. **配对扩展。** `sctl connect` 打印一次性配对码;一个码只能配对一个扩展,每个扩展各运行一次。 - **ScriptCat:** 在选项页启用 **External Access** 并输入配对码。 - - **sctl Browser:** 从 [GitHub Releases](https://github.com/scriptscat/sctl/releases) 下载 - `sctl-browser-extension-.zip` 并解压,把解压后的目录作为“已解压的扩展程序”加载,在其弹窗里输入配对码。 - 要求 **Chrome 125 或更高版本**(或同版本的 Chromium 内核浏览器)。 + - **sctl Browser:** 从 [Chrome 应用商店](https://chromewebstore.google.com/detail/sctl-browser/biafbcaobbmcodfinffakgpdgaiodbgk) + 或 [Microsoft Edge 加载项](https://microsoftedge.microsoft.com/addons/detail/sctl-browser/nbmnkdfbjdhbdjjffgkocfdkemockepa) + 安装,在其弹窗里输入配对码。要求 **Chrome 125 或更高版本**(或同版本的 Chromium 内核浏览器)。也可以从 + [GitHub Releases](https://github.com/scriptscat/sctl/releases) 下载 `sctl-browser-extension-.zip` + 并解压,作为“已解压的扩展程序”加载。 3. **检查连接:** diff --git a/docs/development.md b/docs/development.md index fac8d22..0388812 100644 --- a/docs/development.md +++ b/docs/development.md @@ -146,6 +146,8 @@ It produces 7 artifacts — 6 sctl archives (darwin/linux/windows × amd64/arm64 `sctl-browser-extension-.zip` — plus `checksums.txt`, generates build provenance for the checksum file, and publishes the GitHub Release automatically after the full test gate passes. The extension zip holds one `sctl-browser-extension-/` directory for "Load unpacked"; its manifest version is the release version. +The workflow does not publish to the Chrome Web Store or Microsoft Edge Add-ons: submit each release to both +stores separately, repacking the zip first, because the stores require `manifest.json` at the archive root. Artifacts are built with `-trimpath` and use the commit time as the archive member timestamp, so rebuilding the same tag is byte-for-byte reproducible. Version, commit, and build time are injected into `internal/cli` diff --git a/docs/mcp.md b/docs/mcp.md index 165eca5..99ffb28 100644 --- a/docs/mcp.md +++ b/docs/mcp.md @@ -124,16 +124,20 @@ independently, but both use the same one-time-code flow against the same running 3. Enter the displayed one-time code: - For ScriptCat: open its options page, enable **External Access**, and enter the code in the enrollment dialog. - - For sctl Browser: download `sctl-browser-extension-.zip` from - [GitHub Releases](https://github.com/scriptscat/sctl/releases) (its version matches the sctl release), - unzip it, open your browser's extensions page, enable developer mode, choose "Load unpacked", and select - the unzipped folder. Open the extension's popup and enter the same code. - - sctl Browser requires Chrome 125 or newer and the `debugger` permission. When you update an unpacked copy, - reload it from the extensions page; Chrome will not load a build whose minimum version is above the running - browser's. While the extension has the debugger attached to a page, Chrome shows a "sctl Browser started - debugging this browser" infobar at the top of the window; the extension cannot hide it, and dismissing it - detaches the debugger. Launch Chrome with `--silent-debugger-extension-api` to suppress the infobar. + - For sctl Browser: install it from the + [Chrome Web Store](https://chromewebstore.google.com/detail/sctl-browser/biafbcaobbmcodfinffakgpdgaiodbgk) or + [Microsoft Edge Add-ons](https://microsoftedge.microsoft.com/addons/detail/sctl-browser/nbmnkdfbjdhbdjjffgkocfdkemockepa), + then open the extension's popup and enter the same code. To run a specific release instead, download + `sctl-browser-extension-.zip` from [GitHub Releases](https://github.com/scriptscat/sctl/releases) + (its version matches the sctl release), unzip it, open your browser's extensions page, enable developer mode, + choose "Load unpacked", and select the unzipped folder. + + sctl Browser requires Chrome 125 or newer and the `debugger` permission. Store installs update + automatically; when you update an unpacked copy, reload it from the extensions page. Chrome will not load a + build whose minimum version is above the running browser's. While the extension has the debugger attached to a + page, Chrome shows a "sctl Browser started debugging this browser" infobar at the top of the window; the + extension cannot hide it, and dismissing it detaches the debugger. Launch Chrome with + `--silent-debugger-extension-api` to suppress the infobar. 4. Run `sctl connect` again for the second extension if you want to pair both — the code is valid only for a short enrollment window, and either extension can consume it first. 5. Verify the connection: diff --git a/skills/sctl/SKILL.md b/skills/sctl/SKILL.md index 3505878..28d6526 100644 --- a/skills/sctl/SKILL.md +++ b/skills/sctl/SKILL.md @@ -51,8 +51,9 @@ sctl browsers -o json # paired sctl Browser instances: name, online, product - **Cannot reach the daemon:** it is not running. Ask the user to start it (`sctl serve` in a terminal, or restart the launchd/systemd service that runs it). Do not start one yourself in the background: it dies with your session and can fight the user's service for the port. -- **`NO_BROWSER_CONNECTED`:** no browser is paired or it is closed. Pairing needs the user: they run `sctl connect` - and type the one-time code into the sctl Browser popup. +- **`NO_BROWSER_CONNECTED`:** no browser is paired or it is closed. Pairing needs the user: they install sctl Browser + from the Chrome Web Store or Microsoft Edge Add-ons if needed, run `sctl connect`, and type the one-time code into + the sctl Browser popup. - **ScriptCat commands fail as not connected:** the user enables external access in ScriptCat's settings and pairs it with a code from `sctl connect`.