Remote Servers
Run the UI on the remote server in remote mode:
cd my-project
co-auto-research ui --remote
Remote mode keeps the UI bound to 127.0.0.1, skips browser launch on the
server, runs the official cloudflared CLI to create a temporary Cloudflare
Quick Tunnel, and prints a browser URL you can open from your local machine:
Open:
https://example.trycloudflare.com
Keep the terminal running while you use the UI. Press Ctrl+C to stop both the
UI and the temporary link.
Cloudflare CLI setup
Install cloudflared once on the remote server for the best remote experience.
1. Install cloudflared
Linux without sudo:
npx --yes co-auto-research install-cloudflared
This installs the standalone cloudflared binary into ~/.local/bin. The
CoAutoResearch CLI checks that location automatically, so you do not need to
change PATH before rerunning --remote.
macOS/Homebrew:
brew install cloudflared
Windows/PowerShell:
winget install -e --id Cloudflare.cloudflared
System packages and other platforms: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/.
If the Linux server can reach the internet only through an HTTP proxy, keep
using the same --remote command. CoAutoResearch detects
COAUTO_REMOTE_PROXY, HTTPS_PROXY, or HTTP_PROXY and routes cloudflared
through graftcp when the helper is installed.
Install the proxy helper without sudo:
npx --yes co-auto-research install-graftcp
This installs graftcp into the CoAutoResearch user tool directory. The CLI
checks that location automatically, so you do not need to change PATH.
2. Run
co-auto-research ui --remote
If you use CoAutoResearch through npx, keep the prefix:
npx --yes co-auto-research ui --remote. The CLI setup prompt prints the
matching command automatically.
3. Check
co-auto-research doctor
If cloudflared is installed in a non-standard location, set
COAUTO_CLOUDFLARED=/path/to/cloudflared.
If graftcp is installed in a non-standard location, set
COAUTO_GRAFTCP=/path/to/graftcp.
Equivalent explicit command:
cd my-project
co-auto-research ui --host 127.0.0.1 --port 8765 --no-open
For a dashboard over several projects on the server:
cd /path/to/projects
co-auto-research ui --projects-dir . --host 127.0.0.1 --port 8765 --no-open
Or, with the same remote browser link:
co-auto-research ui --projects-dir . --remote
Cloudflare Quick Tunnels are intended for development and personal temporary access. The printed link is a temporary public URL while the terminal process is running. Do not share it broadly or use it as a long-running public service.
HTTP proxy servers
Some remote servers cannot reach the internet directly and must use an
HTTP(S) proxy such as http://10.21.11.21:8888. In that environment,
cloudflared may bypass proxy environment variables. On Linux, CoAutoResearch
uses graftcp to route cloudflared connections through the proxy while still
keeping the user command simple:
co-auto-research ui --remote
Proxy detection order:
COAUTO_REMOTE_PROXY
HTTPS_PROXY / https_proxy
HTTP_PROXY / http_proxy
To pass a proxy explicitly for one run:
co-auto-research ui --remote --proxy http://10.21.11.21:8888
Equivalent manual command for debugging:
graftcp --select_proxy_mode only_http_proxy \
--http_proxy 10.21.11.21:8888 \
cloudflared tunnel --url http://127.0.0.1:8765 --protocol http2
Use COAUTO_REMOTE_PROXY_MODE=off to disable automatic proxy-helper wrapping.
When proxy mode is enabled, CoAutoResearch forces cloudflared --protocol http2
because HTTP proxies do not carry QUIC/UDP reliably.
SSH Fallback
If the server cannot use Cloudflare, force the SSH-only advanced path:
COAUTO_REMOTE_MODE=ssh co-auto-research ui --remote
From your local machine, forward the printed port:
ssh -N -L 8765:127.0.0.1:8765 user@<ssh-host>
Use the same SSH host or alias you used to connect to the server. CoAutoResearch
does not guess the host from the server machine name because that is often an
internal hostname. To print a fully concrete command, start the UI with
COAUTO_REMOTE_TARGET=user@host set on the server.
If the server prints a different URL because port 8765 was already in use,
forward that printed port instead, for example
ssh -N -L 8766:127.0.0.1:8766 user@<ssh-host>.
Then open:
http://127.0.0.1:8765
File Access Semantics
The UI server runs on the remote machine.
The server-side file browser sees the remote filesystem.
In multi-project mode, uploads and file operations go to the project selected in the left sidebar.
Drag-and-drop or browser file picker uploads local browser files into the remote project over HTTP.
Folder drag-and-drop is not a stable remote path mechanism; use the server-side browser for folders already present on the server.
Large files should be transferred with
scp,rsync,rclone, Git LFS, or dataset hosting, then attached from the server filesystem.
Security
Prefer --remote for temporary remote access because it keeps the UI bound to
localhost and uses Cloudflare Quick Tunnel instead of opening a server port.
Avoid --host 0.0.0.0 unless the server is protected by network controls and
authentication. The UI can read project files and launch local agent CLI runs,
so it should not be exposed as a long-running public web service.