惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cisco Talos Blog
Cisco Talos Blog
Cyberwarzone
Cyberwarzone
T
Tenable Blog
Security Latest
Security Latest
NISL@THU
NISL@THU
V
Vulnerabilities – Threatpost
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
W
WeLiveSecurity
罗磊的独立博客
Stack Overflow Blog
Stack Overflow Blog
云风的 BLOG
云风的 BLOG
Martin Fowler
Martin Fowler
Engineering at Meta
Engineering at Meta
T
Tor Project blog
H
Heimdal Security Blog
Microsoft Security Blog
Microsoft Security Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
雷峰网
雷峰网
L
LINUX DO - 热门话题
The GitHub Blog
The GitHub Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Recorded Future
Recorded Future
Hugging Face - Blog
Hugging Face - Blog
P
Privacy & Cybersecurity Law Blog
F
Full Disclosure
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
PCI Perspectives
PCI Perspectives
MyScale Blog
MyScale Blog
B
Blog RSS Feed
www.infosecurity-magazine.com
www.infosecurity-magazine.com
K
Kaspersky official blog
Attack and Defense Labs
Attack and Defense Labs
H
Hackread – Cybersecurity News, Data Breaches, AI and More
有赞技术团队
有赞技术团队
Know Your Adversary
Know Your Adversary
Hacker News - Newest:
Hacker News - Newest: "LLM"
Scott Helme
Scott Helme
The Last Watchdog
The Last Watchdog
博客园 - 【当耐特】
S
Security Affairs
The Cloudflare Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
人人都是产品经理
人人都是产品经理
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
N
News and Events Feed by Topic
AI
AI
H
Help Net Security
美团技术团队
T
Threatpost
Project Zero
Project Zero

Tianhe Gao

荐《给阿嬷的情书》 夏雨 我思 园区的猫 去深圳国际美术馆——艺术源于生活,是对生活的总结和升华 Evening Run 傍晚跑步 五一回忆——永远记得抬头看天上的星星 May Day memories--Always remember to look up at the stars How to Deploy LobeHub on Railway Watch spoken drama 'Rhinoceros in Love' 看话剧《恋爱的犀牛》 What am I really leaving behind when I put pen to paper? 当我写日记时,我在记录什么 My relationship with computers 我与计算机之缘 The taste of sea 海的味道 How to self-host Forgejo with docker on Ubuntu 24.04 Hong Kong Marathon in 2026 参加26年香港马拉松 Run 7 kilometers, Jupiter at opposition 跑步七公里,木星冲日 2025 年终总结 | Tianhe Gao Teeth Cleaning | Tianhe Gao 洗牙 | Tianhe Gao Romeo and Juliet (musical) | Tianhe Gao
How to deploy Hermes Agent on Ubuntu
Tianhe Gao · 2026-05-20 · via Tianhe Gao

Hermes Desktop is an Electron GUI for Hermes Agent. Shares the same ~/.hermes/ config, sessions, skills, and memory as the CLI. Runs on macOS, Windows, Linux.

Desktop defaults to local mode (starts a local hermes dashboard backend). Remote mode turns Desktop into a thin client — agent runs on VPS, Desktop renders UI via WebSocket.

Server-side Setup

The dashboard must bind to 0.0.0.0 (not 127.0.0.1) so Tailscale IPs can reach the WebSocket endpoint. --insecure disables Host header validation which rejects non-loopback connections.

  1. Restart dashboard on 0.0.0.0:
hermes dashboard --host 0.0.0.0 --port 9120 --no-open --insecure
  1. Get session token (used by Desktop for auth):
# from terminal (run on VPS):
curl -s http://127.0.0.1:9120/ | grep -oP '__HERMES_SESSION_TOKEN__="\\K[^"]+'

# or open http://127.0.0.1:9120/ in browser, open console, type:
__HERMES_SESSION_TOKEN__
  1. Pin the token (optional — avoids token change after restart):
# Add to ~/.hermes/.env:
HERMES_DASHBOARD_SESSION_TOKEN=<token-from-step-2>

Fixed token lets Desktop use a stable HERMES_DESKTOP_REMOTE_TOKEN that survives dashboard restarts.

Network: Tailscale

SSH tunnel (ssh -L 9120:localhost:9120) works but breaks on disconnect. Tailscale is more stable — zero port exposure, auto-reconnection.

Install native Tailscale on VPS:

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

Desktop connects via http://<tailscale-ip>:9120. No basic auth needed — port is only reachable inside tailnet.

tailscale serve trap: If you previously ran tailscale serve on this port, the rule persists in state and intercepts traffic silently, returning 404. Fix:

sudo tailscale serve --http=9120 off

Clash Verge conflict: If you use Clash Verge TUN mode on the same machine, it may hijack Tailscale traffic (100.64.0.0/10) and route it through the proxy, making the Tailscale IP unreachable. Fix: add bypass rules at the top of Clash config:

IP-CIDR,100.64.0.0/10,DIRECT,no-resolve
DOMAIN-SUFFIX,ts.net,DIRECT

If using Fake-IP DNS mode, also add *.ts.net to fake-ip-filter.

Desktop Client Setup

On Arch (CLI already installed):

On Windows: download .exe from https://hermes-agent.nousresearch.com/desktop.

In Desktop settings → Gateway → Remote Gateway:

  • Remote URL: http://<tailscale-ip>:9120
  • No auth (open inside tailnet), or use token from step 2

Experience Notes

  • First connection: session list loads slowly (initial sync of all history)
  • After warm-up: chat is smooth, no perceptible latency
  • Both Arch and Windows work
  • Thin client — all tools (terminal, file ops) execute on VPS