@life-os/remos
v0.1.18
Published
Run Remos — remote, read/write access to your Markdown Workspace from any device
Readme
Remos Bot CLI
版本更新见 CHANGELOG.md。npm 发布包也包含这份记录。
Remote, read/write access to your Markdown Workspace over WebSocket — from any device, on any network. Pair once with a QR code, then read, write, search, and subscribe to changes from phones, tablets, or other machines.
Install
npm i -g remosidian
# or
cd ~/Documents/MyVault
npx remosidianThe installation packages remain remosidian and @remosidian/cli. In a version containing the Remos Bot rename, remos is the primary command; remosidian remains a compatible alias. Older installed versions may only provide remosidian.
Quick start
# 1. Create ~/.remosidian/config.json interactively
remos init
# 2. Start or reuse the background daemon
remos start
# 3. Inspect the running daemon
remos status
# Or host an existing Markdown folder directly, no config file needed:
cd ~/Documents/MyVault
remosWhen the daemon starts it prints a pairing QR code. Scan it from a Remos Bot client
(the Remos Bot mobile app) within 5 minutes to authorize the device. The pair token is
stored in ~/.remosidian/pairings.json and reused on subsequent connections.
For a terminal-owned process, use remos start --foreground; Ctrl+C stops that process. Use remos stop to stop a managed background daemon.
Commands
| Command | Purpose |
| ---------------------- | --------------------------------------------------- |
| remos | Host the current Markdown workspace. |
| remos start | Start or reuse the background daemon. |
| remos pair | Open a fresh pairing window and print a QR code. |
| remos status | Print the running daemon's health snapshot. |
| remos reset-pairings | Revoke every paired device (local request only). |
| remos stop | Stop the managed background daemon. |
| remos init | Generate ~/.remosidian/config.json interactively. |
| remos --version | Print the installed version. |
Options
remos --access=local # LAN/local pairing only
remos --cloudflare --force # Also start a fresh Cloudflare Tunnel
remos --access=https://<your-tunnel-url> # Use your own relay URL
remos --access=<tailscale-or-lan-host> # Use a direct private-network host
remos --access=<host>,<fallback1> # Add fallback private-network hosts
remos --access= # Clear saved relay URLRemote Direct is enabled by default for remos and remos start. Use
--access=local when you want a LAN-only QR code for that run. Legacy aliases
still work: --local, --relay, --host, --fallback-hosts, --remote, and
--tunnel. These aliases use the default Remote Direct path.
Remote Direct requires the updated Remos Bot mobile app with its native transport. The CLI bundle includes the transport binaries for macOS, Linux, and Windows.
Cloudflare is optional: add --cloudflare to also start a managed tunnel. Saved
relay URLs are ignored unless explicitly requested. Managed tunnels default to
HTTP/2; REMOSIDIAN_CLOUDFLARED_PROTOCOL=auto enables automatic transport selection. The CLI checks its bundled,
user-owned cloudflared binary for updates at most once every 24 hours. A failed
check does not prevent startup, and system package-manager binaries are never
modified. Versions older than 2026.5.2 temporarily stay on HTTP/2 because their
automatic QUIC fallback can delay tunnel readiness for minutes. Update metadata
is stored in ~/.remosidian/cloudflared-update.json.
Data directory
By default, Remos Bot stores identity, pairings, and the QR PNG under ~/.remosidian/.
Override with --data-dir <path> or REMOS_HOME (REMOSIDIAN_HOME remains supported).
Private mobile features are advertised by the daemon. Run remos start
--personal-agent (or --pa) to expose the Personal Agent entry in paired
mobile apps, or remos start --no-personal-agent (or --no-pa) to hide
it. The CLI restarts a background
daemon it manages when the requested state differs from the running state. The
entry stays hidden by default and on older daemons that do not advertise the
capability. REMOSIDIAN_PERSONAL_AGENT=1 and
server.features.personalAgent remain available for service deployments.
Protocol
WebSocket + JSON messages defined in @lifeos/remos-protocol.
Operations: vault.list, vault.read, vault.resolveLink, vault.backlinks,
vault.search, vault.recent, vault.subscribe, vault.unsubscribe. Server pushes
vault.changed events to subscribed clients.
License
MIT — see the LICENSE file in the repository root.
Remos Bot naming compatibility
The product is now Remos Bot. The existing npm packages remosidian and @remosidian/cli continue to provide installation compatibility. After installing a version containing this rename, use either command:
npm install -g remosidian
remos start
remos pair
remos statusnpx remosidian and the remosidian command remain supported. The new binary is available after installing this version; no remos npm package is assumed or published by this change. Pairing links, ~/.remosidian, and existing environment variables remain supported. REMOS_HOME and REMOS_CONFIG override their legacy equivalents when set.
Public package names
The next release publishes @life-os/remos as the primary npm package and keeps remosidian as a compatibility package. Both provide the remos and remosidian commands. The workspace package remains @remos/cli; it is not the public installation name. Until the new package is published and verified, use the existing remosidian installation commands above.
