@remcp/remcp 0.2.30 → 0.2.31

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.
Files changed (3) hide show
  1. package/README.md +29 -1
  2. package/package.json +1 -1
  3. package/src/cli.mjs +1 -1
package/README.md CHANGED
@@ -27,6 +27,7 @@ remcp install Install or repair the user service
27
27
  remcp uninstall Remove the user service
28
28
  remcp uninstall --purge Remove the service and the global packages
29
29
  remcp telemetry [status|on|off]
30
+ remcp godmode [status|on|off]
30
31
  remcp --version
31
32
  ```
32
33
 
@@ -47,7 +48,8 @@ Two things it deliberately does not do:
47
48
  or `unrestricted: true` in `~/.config/remcp/runtime.json`) can turn it on. That is what keeps a
48
49
  prompt injection from becoming root.
49
50
  - **It does not make the agent root.** Commands run as the user the agent runs as. `sudo` is no longer
50
- blocked, but it still needs your sudoers rules; to run everything as root, run the agent as root.
51
+ blocked, but the operating system still asks for a password unless your sudoers rules say otherwise;
52
+ a non-interactive command cannot type one. Nothing in this mode grants root by itself.
51
53
 
52
54
  While it is on, `get_runtime_info` reports `policy.unrestricted: true`, so the model can see it and
53
55
  say so instead of assuming the guardrails are still there.
@@ -62,6 +64,32 @@ background service: open **System Settings → Privacy & Security → Full Disk
62
64
  binary that `remcp doctor` prints, and run `remcp start`. Folders outside those four need no new
63
65
  permission, and `remcp doctor` reports the state of each one.
64
66
 
67
+ ## Updates
68
+
69
+ The agent asks the server which versions it should run when it connects and every six hours, installs
70
+ a newer client and runtime in the background, and restarts the service so they take effect. A failed
71
+ install is retried no more often than every thirty minutes, so a broken release cannot turn into an
72
+ install loop. `remcp update` does the same immediately; `remcp auto-update off` turns the automatic
73
+ check off for a machine that must not change on its own.
74
+
75
+ ## Screenshots
76
+
77
+ `take_screenshot` returns the screen of this computer as an image, and each desktop keeps its own
78
+ gate — ReMCP names the one that refused instead of printing a generic error:
79
+
80
+ - **macOS** wants Screen Recording for the binary that runs the tools (`remcp doctor` prints its
81
+ path), then `remcp start`.
82
+ - **Windows** needs an unlocked interactive session; a locked or signed-out machine cannot be
83
+ captured.
84
+ - **Linux on Wayland** needs a capture backend: `grim` on wlroots desktops (sway, hyprland), and
85
+ `gnome-screenshot` on GNOME — GNOME refuses the shell's own screenshot API to background processes
86
+ and `grim` cannot read a GNOME session. On X11, `scrot`, ImageMagick `import` or `gnome-screenshot`
87
+ all work.
88
+ - A machine with no graphical session (a server, a container) says so: there is nothing to capture.
89
+
90
+ A screenshot larger than the inline limit is saved on the computer, and the result says where it is
91
+ and how to fetch it in chunks.
92
+
65
93
  ## What runs on your computer
66
94
 
67
95
  - the agent (`remcp start`), which holds the device credential and dials
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remcp/remcp",
3
- "version": "0.2.30",
3
+ "version": "0.2.31",
4
4
  "description": "ReMCP device client: pair a computer with ReMCP and run the outbound-only agent that hosts the local MCP runtime.",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/src/cli.mjs CHANGED
@@ -615,7 +615,7 @@ export async function main(argv = process.argv.slice(2)) {
615
615
  unrestricted: state,
616
616
  source: runtimeFile.unrestricted === true ? runtimeConfigFile : process.env.REMCP_RUNTIME_UNRESTRICTED === '1' ? 'REMCP_RUNTIME_UNRESTRICTED' : 'default',
617
617
  meaning: state
618
- ? 'Every path and every command is allowed. Commands run as the user the agent runs as; run the agent as root (sudo remcp install --system) if you want root.'
618
+ ? 'Every path and every command is allowed. Commands run as the user the agent runs as, so sudo still needs your own sudoers rules; nothing here grants root by itself.'
619
619
  : 'The runtime confines file access to its allowed roots and applies its command guardrails.',
620
620
  }, null, 2));
621
621
  return;