Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
description: Existing release tag to publish or retry
required: true
type: choice
options: [terminal-v0.4.2, ext-v0.4.1, terminal-v0.4.1, dsh-v0.4.0, terminal-v0.4.0, ext-v0.4.0, dsh-v0.3.0, terminal-v0.3.0, ext-v0.3.0, dsh-v0.2.0, terminal-v0.2.0, terminal-v0.2.1, ext-v0.2.0, ext-v0.2.1]
options: [terminal-v0.4.3, terminal-v0.4.2, ext-v0.4.1, terminal-v0.4.1, dsh-v0.4.0, terminal-v0.4.0, ext-v0.4.0, dsh-v0.3.0, terminal-v0.3.0, ext-v0.3.0, dsh-v0.2.0, terminal-v0.2.0, terminal-v0.2.1, ext-v0.2.0, ext-v0.2.1]
push:
tags: ["ext-v*", "dsh-v*", "terminal-v*"]

Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# Changelog

## Terminal host 0.4.3 — 2026-10-22

- Recognize an older running terminal host after the CLI package has been upgraded. Report its missing maintenance interface and allow explicit `aow update --force` or `aow service restart --force` only after confirming the host PID belongs to the macOS service. Preserve the running service if npm installation fails.
- Make `aow update --force` reinstall and restart even when the CLI already matches the stable npm version, while still refusing downgrades.
- Give manual npm update checks a 15-second request timeout and one retry for transient failures. Keep automatic checks at three seconds with existing backoff, and report HTTP failures separately from timeouts.

### Upgrade

CLI 0.4.1/0.4.2 cannot recover an older running host through the new force path until the updated CLI is installed. Finish terminal work, run `aow service uninstall`, then rerun the installer to install 0.4.3 and start its host. CLI 0.4.3 can use `aow update --force` to reinstall the stable version and restart a verified older macOS service. Saved history, browser grants and integration settings remain. Extension 0.4.1, DSH 0.4.0 and connector protocol 1 are unchanged.

## Terminal host 0.4.2 / Extension 0.4.1 — 2026-10-20

- Select terminal text with an ordinary mouse or trackpad drag, including inside TUIs with mouse reporting. Right-click to copy, or use the existing copy shortcut. Preserve app clicks, scrolling, native word/line selection and scrollbar interaction.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ For Pi 1.1+, run `pi` in the same terminal. Setup adds `extensions/agentonweb.ts

Use **+** in the terminal tab bar to open another project, click a tab to switch, double-click its name to rename it, or click **×** to close it. Hiding the workspace or refreshing the page keeps your sessions running.

Terminal host 0.4.1 checks for stable npm updates daily and shows reminders in its private management page. Use `aow check-update` to check now or `aow check-update --disable` to turn automatic checks off. After closing live terminals, run `aow update` in a separate macOS Terminal; `aow service restart` reloads already-installed code. For the first upgrade from 0.4.0 or earlier, finish terminal work, run `aow service uninstall`, then rerun the installer.
Terminal host 0.4.3 checks for stable npm updates daily and shows reminders in its private management page. Use `aow check-update` to check now or `aow check-update --disable` to turn automatic checks off. After closing live terminals, run `aow update` in a separate macOS Terminal; `aow service restart` reloads already-installed code. CLI 0.4.3 also supports `aow update --force` to reinstall and restart a verified older service, ending its live tasks. If an older CLI cannot prepare an update, finish terminal work, run `aow service uninstall`, then rerun the installer once.

[Setup and troubleshooting](docs/one-command-setup.md) · [Terminal guide](packages/terminal-host/README.md)

Expand Down
2 changes: 1 addition & 1 deletion README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ codex

点击终端标签栏的 **+** 打开另一个项目,点击标签切换,双击名称重命名,点击 **×** 关闭。隐藏工作区或刷新网页不会中断正在运行的会话。

终端主机 0.4.1 每天检查 npm 正式版,并在本地管理页显示更新提醒。运行 `aow check-update` 可立即检查,`aow check-update --disable` 可关闭自动检查。退出或关闭所有终端后,在 Mac 的独立“终端”窗口运行 `aow update` 升级;`aow service restart` 用于加载已安装的新代码。从 0.4.0 或更早版本首次升级时,请先完成终端任务,运行 `aow service uninstall`,再重新运行安装命令。
终端主机 0.4.3 每天检查 npm 正式版,并在本地管理页显示更新提醒。运行 `aow check-update` 可立即检查,`aow check-update --disable` 可关闭自动检查。退出或关闭所有终端后,在 Mac 的独立“终端”窗口运行 `aow update` 升级;`aow service restart` 用于加载已安装的新代码。CLI 0.4.3 还支持通过 `aow update --force` 重新安装并重启已核实归属的旧服务,这会结束其活动任务。如果旧 CLI 提示无法准备更新,请先完成终端任务,运行 `aow service uninstall`,再重新运行安装命令一次。

[安装与常见问题](docs/one-command-setup.md) · [终端指南](packages/terminal-host/README.md)

Expand Down
6 changes: 3 additions & 3 deletions docs/one-command-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,11 +87,11 @@ aow update
aow service restart
```

`aow update` retains the existing global npm prefix, installs the checked stable version, and restarts a running macOS service. Exit or close every terminal first; an idle live shell also blocks maintenance. `aow service restart` reloads already-installed code without reinstalling the package. Both commands reject execution inside an AgentOnWeb terminal; use your Mac's Terminal app. `--force` explicitly permits ending all live shells and their tasks. Restart confirms the new process and version before reporting success. Saved CLI history, browser grants, selected integrations and enrolled extension IDs remain.
`aow update` retains the existing global npm prefix, installs the checked stable version, and restarts a running macOS service. Exit or close every terminal first; an idle live shell also blocks maintenance. `aow service restart` reloads already-installed code without reinstalling the package. Both commands reject execution inside an AgentOnWeb terminal; use your Mac's Terminal app. `--force` explicitly permits ending all live shells and their tasks; `aow update --force` also reinstalls and restarts when the installed CLI is already the current stable version, without downgrading. Restart confirms the new process and version before reporting success. Saved CLI history, browser grants, selected integrations and enrolled extension IDs remain.

Use `aow check-update --disable` to persistently turn automatic checks off, and `--enable` to restore them. Setting `AOW_UPDATE_CHECK=0` in the host environment also disables them; CI skips automatic checks. Explicit checks and upgrades still work. A network failure leaves terminals running, uses cached results and retries with increasing delays. Automatic requests query only npm package metadata, with a three-second timeout. See the [privacy policy](store-site/privacy.md).
Use `aow check-update --disable` to persistently turn automatic checks off, and `--enable` to restore them. Setting `AOW_UPDATE_CHECK=0` in the host environment also disables them; CI skips automatic checks. Explicit checks and upgrades still work. A network failure leaves terminals running; automatic checks retain cached results and retry with increasing delays. Explicit checks never install from stale metadata after a failed query: they allow 15 seconds per request and retry transient failures once. Automatic requests query only npm package metadata, with a three-second timeout. See the [privacy policy](store-site/privacy.md).

These commands require a host version that includes update support. For an older installed host, finish terminal work, run `aow service uninstall`, then rerun the installation command once. The installer remains version-pinned and repairs configuration. Development/npx/other package-manager installations require their original upgrade workflow. If you move or remove Node, rerun the installer under the Node version you intend to keep. npm failure does not trigger a service restart; if the package installed but the service is not ready, inspect `~/.agentonweb/terminal/service.log` and run `aow setup`.
The installed CLI and running host can have different versions. If a newer CLI finds a running host from 0.4.0 or earlier without a maintenance interface, finish terminal work, then use `aow service restart --force` to load installed code or `aow update --force` to upgrade. This recovery requires an updated CLI and verifies that the old host PID belongs to the macOS service; it ends all service terminal tasks because the old host cannot pause or count them. A foreground `aow terminal` must be stopped manually. If the installed CLI lacks recovery support, run `aow service uninstall`, then rerun the installation command once. The installer remains version-pinned and repairs configuration. Development/npx/other package-manager installations require their original upgrade workflow. If you move or remove Node, rerun the installer under the Node version you intend to keep. npm failure does not trigger a service restart; if the package installed but the service is not ready, inspect `~/.agentonweb/terminal/service.log` and run `aow setup`.

## Uninstall

Expand Down
18 changes: 9 additions & 9 deletions docs/releasing.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# Release AgentOnWeb

## Terminal copy patch release
## Terminal host update patch release

Terminal host **0.4.2** enables direct mouse/trackpad text selection while TUIs capture the mouse, preserves app clicks and scrolling, and includes the checkbox setup and CLI output improvements merged since 0.4.1. Extension **0.4.1** includes acknowledged mode-click updates and the matching Safari package. Safari uses marketing version **0.4.1**, build **10**. DSH remains **0.4.0** and connector protocol remains **1**.
Terminal host **0.4.3** repairs forced updates when an older host is still running, reinstalls the current stable version on explicit force, and retries transient manual npm checks with longer deadlines. It retains the direct terminal selection improvements from 0.4.2. Extension **0.4.1**, Safari marketing version **0.4.1** / build **10**, DSH **0.4.0** and connector protocol **1** remain unchanged; this release publishes only the terminal host.

The copy fix is bundled in the terminal host. Updating the browser extension alone does not install it. After finishing live shells, update the host with `aow update` from a separate macOS Terminal. The DSH compatibility baseline remains **0.1.7-rc.2**; `dsh-latest` checks the currently published upstream version.
After finishing live shells, update the host with `aow update` from a separate macOS Terminal. If CLI 0.4.1/0.4.2 cannot prepare an update against an older running host, run `aow service uninstall`, then rerun the installer to install and start 0.4.3. The recovery path requires CLI 0.4.3; it cannot change code already running in an older updater. The DSH compatibility baseline remains **0.1.7-rc.2**; `dsh-latest` checks the currently published upstream version.

| Artifact | Version field | Delivery |
| --- | --- | --- |
| Chrome/Firefox extension ZIPs and source | `extensionVersion` | `ext-v0.4.1`, then store submission |
| Chrome/Firefox extension ZIPs and source | `extensionVersion` | Remains 0.4.1; no publication |
| DSH plugin TGZ | `pluginVersion` | Remains 0.4.0; no publication |
| Terminal host TGZ + installer | `terminalHostVersion` | `terminal-v0.4.2`, npm + GitHub release |
| Terminal host TGZ + installer | `terminalHostVersion` | `terminal-v0.4.3`, npm + GitHub release |

A merged branch or GitHub release does not mean a browser store has approved the update. Live terminal acceptance currently covers macOS/Chrome. Firefox/Safari builds and Linux CI do not establish live terminal support on those platforms. Automatic setup targets macOS + Chrome only.

Expand Down Expand Up @@ -52,25 +52,25 @@ The `dsh-latest` CI job installs `@deepseek-ai/dsh@latest`, builds the actual pl
After the relevant release is public, users can run:

```sh
npm install -g @agentonweb/terminal-host@0.4.2
npm install -g @agentonweb/terminal-host@0.4.3
# Repair setup or run it explicitly when lifecycle scripts were blocked:
aow setup
```

The release installer at `https://github.com/HeftyKoo/AgentOnWeb/releases/download/terminal-v0.4.2/install.sh` pins the package to 0.4.2 and explicitly calls setup. The user-facing command downloads `https://raw.githubusercontent.com/HeftyKoo/AgentOnWeb/main/scripts/install.sh`. Both that script and its pinned npm package must be live before announcing the installation flow. The installer uses the user-owned `~/.local` npm prefix, configures zsh/bash/fish startup paths, and links `aow` beside Node when that directory is writable and already on PATH. Existing AgentOnWeb npm links are updated; unrelated commands are preserved. The versioned release URL is a publication target, not proof that the asset exists. Download and inspect it before running it; do not advertise it until the release and clean-install test succeed.
The release installer at `https://github.com/HeftyKoo/AgentOnWeb/releases/download/terminal-v0.4.3/install.sh` pins the package to 0.4.3 and explicitly calls setup. The user-facing command downloads `https://raw.githubusercontent.com/HeftyKoo/AgentOnWeb/main/scripts/install.sh`. Both that script and its pinned npm package must be live before announcing the installation flow. The installer uses the user-owned `~/.local` npm prefix, configures zsh/bash/fish startup paths, and links `aow` beside Node when that directory is writable and already on PATH. Existing AgentOnWeb npm links are updated; unrelated commands are preserved. The versioned release URL is a publication target, not proof that the asset exists. Download and inspect it before running it; do not advertise it until the release and clean-install test succeed.

## Local installation and upgrades

Before publishing, use the audited archive with the source-built extension:

```sh
AOW_SKIP_SETUP=1 npm install -g ./release/agentonweb-terminal-host-0.4.2.tgz
AOW_SKIP_SETUP=1 npm install -g ./release/agentonweb-terminal-host-0.4.3.tgz
aow setup --extension-id YOUR_UNPACKED_CHROME_EXTENSION_ID
```

For manual pairing without Chrome/CLI integration, use `aow service install` and the private setup page instead. Setup registers absolute Node/package paths; rerun it when paths change. The official native host allowlist includes the official Chrome extension ID; unpacked IDs must be enrolled explicitly.

Installing over a running service does not reload its code. With update-capable hosts, close all live shells and run `aow update` from a separate macOS Terminal; it retains the original npm prefix, skips setup to preserve integrations/enrolled extension IDs, installs the checked stable version and verifies the restarted service. `aow service restart` activates code already installed. Both refuse live shells unless `--force` is explicit. Hosts without the maintenance interface need `aow service uninstall`, then the installer or `aow setup` (include the unpacked ID when needed) once. Saved CLI history, browser grants and pairing receipts remain. Restart `dsh web` separately after updating its plugin.
Installing over a running service does not reload its code. With update-capable hosts, close all live shells and run `aow update` from a separate macOS Terminal; it retains the original npm prefix, skips setup to preserve integrations/enrolled extension IDs, installs the checked stable version and verifies the restarted service. `aow service restart` activates code already installed. Both refuse live shells unless `--force` is explicit. An updated CLI can also recover a host without the maintenance interface using `aow update --force` or `aow service restart --force`, after verifying the host PID belongs to the macOS service; this ends all its terminal tasks. Older CLIs need `aow service uninstall`, then the installer or `aow setup` (include the unpacked ID when needed) once. Saved CLI history, browser grants and pairing receipts remain. Restart `dsh web` separately after updating its plugin.

Automatic host checks query the public npm metadata endpoint, cache successful results for 24 hours and back off on failures. They never install code. Publish and verify npm before advancing the public installer pin; versioned release installers remain immutable/pinned. Validate active-shell refusal, original-prefix installation, npm failure, disabled/offline checks, installed-versus-running status and restart readiness with every updater change. Terminal-host checks/commands and its bundled private management page can ship without an extension protocol change. Reminders in extension settings require a separate extension release.

Expand Down
Loading
Loading