summrise-agent 1.2.480 → 1.2.481

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -6,18 +6,41 @@ package; the `summrise` CLI manages setup, updates and the tunnel.
6
6
 
7
7
  ## Install (fresh device)
8
8
 
9
+ **Two ways, and the first needs neither Node nor npm.**
10
+
11
+ ### One file (a clean Windows machine)
12
+
13
+ Download and run **[SummriseAgent-Setup.exe](https://agent.saisi.online/summrise-agent/SummriseAgent-Setup.exe)**.
14
+ It is self-contained — the release's own package is embedded, so it needs no network for the agent itself — and it
15
+ elevates itself, writes the registry keys, registers both scheduled tasks and starts the agent. If the machine has no
16
+ Node >= 18 it fetches a portable one; if it has one, it reuses it and leaves it alone.
17
+
18
+ ### Through npm
19
+
9
20
  ```powershell
10
21
  npm i -g https://agent.saisi.online/summrise-agent/summrise-agent-latest.tgz
11
22
  summrise setup --reg-key <key-from-console> # --reg-key is optional (local mode works without it)
12
23
  ```
13
24
 
25
+ **Run `setup` from an elevated PowerShell.** The install directory is under `Program Files` and the registry key is
26
+ `HKLM`, so a normal shell fails with `EPERM: operation not permitted, mkdir 'C:\Program Files\Summrise\scripts'` —
27
+ a stack trace where the useful sentence is "run it as administrator".
28
+
29
+ **In PowerShell, `summrise` resolves to npm's `.ps1` shim, which the default execution policy blocks**
30
+ (*"无法加载文件 …summrise.ps1,因为在此系统上禁止运行脚本"*). **Use `summrise.cmd <command>`**, which bypasses the
31
+ policy and changes nothing on the machine — or `Set-ExecutionPolicy -Scope CurrentUser RemoteSigned`, once.
32
+
33
+ The device's name is written to `etc\summrise-agent.hostname` and defaults to **this machine's `%COMPUTERNAME%`**
34
+ (lower-cased, under `.agent.saisi.online`). `setup --hostname <name>` overrides it; the name is what the console lists
35
+ the device as and what its tunnel is called.
36
+
14
37
  `setup` installs to the registry-configured directory
15
38
  (`HKLM\SOFTWARE\Summrise\Agent\InstallDir`), registers the boot-start
16
39
  `SummriseAgent` scheduled task as SYSTEM (no execution-time limit,
17
40
  restart-on-failure ×8, 5-min repetition watchdog) and starts it. With a
18
41
  registration key the device registers itself with a Summrise Gate console.
19
42
 
20
- ## Update (one click)
43
+ ## Update (two steps, in this order)
21
44
 
22
45
  ```powershell
23
46
  npm i -g --prefix (Split-Path (Get-Command summrise).Source) https://agent.saisi.online/summrise-agent/summrise-agent-latest.tgz
@@ -47,6 +70,21 @@ tree → copy with retry → restart task. The terminal connection
47
70
  drops ~10 s; reconnect afterwards. Even a failed copy restarts the task —
48
71
  the device is never left dark.
49
72
 
73
+ ## Gateway and tunnel
74
+
75
+ A device is useful locally with no cloud at all. Pointing it at a Summrise Gate console adds remote access, and the
76
+ **Gateway** card in the panel is where that happens: the console URL, an optional registration key, and **Save &
77
+ connect**.
78
+
79
+ The tunnel is provisioned **through the Cloudflare API**, which matters because the alternative does not work on a
80
+ service: `cloudflared tunnel login` is INTERACTIVE — a browser, a human and a zone — so a device running as SYSTEM can
81
+ never produce the `cert.pem` that `cloudflared tunnel create` and `cloudflared tunnel route dns` require. Every one of
82
+ those steps now goes through the API instead, including finding a tunnel that already exists (the API answers
83
+ `1013 You already have a tunnel with this name`, which is success, not failure).
84
+
85
+ If a connect attempt fails, the panel's message carries the API's own reply, and the agent's log at
86
+ `<DataDir>\logs\agent.log` carries more — `<DataDir>` is `HKLM\SOFTWARE\Summrise\Agent\DataDir`.
87
+
50
88
  ## CLI commands
51
89
 
52
90
  ```
@@ -57,11 +95,18 @@ summrise <setup|status|start|stop|restart|update|uninstall|run|tunnel>
57
95
 
58
96
  - **OSC 633 shell integration** (VS Code approach): PowerShell prompts and
59
97
  command boundaries arrive as invisible sequences — clean display, exit codes.
60
- - **56 MCP tools**: terminal (27: PTY/SSH/serial, history with exit codes, SFTP,
61
- saved connections, secrets, background jobs), system (9), memory (6),
62
- mcp-client (4), monitor (4), playwright (2), runs (2), update (agent_update),
63
- design (page_view). Measured from `agent/spec-tools.json`, which
64
- `cargo test spec_snapshot` regenerates from the live registry.
98
+ - **MCP tools** for the terminal (PTY/SSH/serial, history with exit codes, SFTP,
99
+ saved connections, secrets, background jobs), the system, memory, the browser,
100
+ monitors, runs and updates. **Count them rather than trusting this file:**
101
+
102
+ ```bash
103
+ grep -oE '"name": *"[a-z_]+"' agent/spec-tools.json | sed 's/.*"\(.*\)"/\1/' | sort -u | wc -l
104
+ ```
105
+
106
+ (It answers **57** today. This section used to state a number and a per-plugin
107
+ breakdown, and both had gone stale — a hand-written count is a claim nothing
108
+ re-checks, and the command above is one line.) `agent/spec-tools.json` is
109
+ regenerated from the live registry by `cargo test spec_snapshot`.
65
110
  - **Electron desktop shell**: tray with live agent status, native menu,
66
111
  CDP :9333 for AI-driven UI.
67
112
  - **Memory plugin**: device-local knowledge base with multi-word search and
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "summrise-agent",
3
- "version": "1.2.480",
3
+ "version": "1.2.481",
4
4
  "description": "Summrise Agent — Windows device MCP server (terminal/SSH/serial) + panel. Self-hosted npm distribution.",
5
5
  "//build": "唯一构建路径:在本目录执行 npm run build。它是自包含的:经 npm exec 按需拉取 typescript@5,无需预装任何 node_modules(干净检出可跑;旧脚本引用 ../summrise-desktop-electron/node_modules/.bin/tsc,干净检出必 ENOENT)。必须用 npm exec --package … -- tsc 的形式:npx 会吃掉传给 tsc 的 -p/--outDir 等参数(round-435:npx 写法从未真正跑通过)。先编 electron TS(--noCheck 纯 emit,与 release.yml 一致)同步两处 src/*.js,再编 src/summrise.ts 到 bin/summrise.js 并校验 round-298 标记(弱 oracle,只证某次构建发生,新鲜性由 publish-release.sh 的 tsc 重编 + cmp 门保证)。",
6
6
  "bin": {
Binary file