HostLink
/install hostlink
HostLink Skill
Execute commands on the host machine from inside this container.
Quick Reference
# Execute a command on the host
hostlink exec "ls /home/jebadiah"
# Ping the daemon (connection test)
hostlink ping
# With explicit socket/token (if env vars not set)
hostlink -s /run/hostlink/hostlink.sock -k $HOSTLINK_TOKEN exec "echo hello"
# Set working directory
hostlink -w /home/jebadiah exec "pwd"
# Set environment variables
hostlink -e MY_VAR=value exec "echo $MY_VAR"
# With timeout (ms)
hostlink -T 60000 exec "long-running-command"
# JSON output (machine-readable)
hostlink -j exec "ls -la" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d['stdout'])"
# List configured targets
hostlink targets
Environment Variables
Set these so you don't need to pass flags every time:
| Variable | Purpose | Default |
|---|---|---|
HOSTLINK_SOCKET |
Unix socket path | /run/hostlink/hostlink.sock |
HOSTLINK_TOKEN |
Auth token | (required) |
HOSTLINK_TARGET |
Target node name | (optional) |
Best place to set these: workspace/.env or openclaw.json env.vars section.
Connection Status
Check if hostlinkd is reachable:
hostlink ping
# Expected: [hostname] pong - uptime Xs
# If error: daemon not running or socket not mounted
Common Use Cases
Access host filesystem
hostlink exec "ls /home/jebadiah/projects"
hostlink exec "cat /etc/hostname"
Run host-side GPU/ML tools
hostlink exec "nvidia-smi"
hostlink exec "ollama list"
hostlink exec "ls ~/.cache/huggingface/hub"
Access the Qwen3 merge project
hostlink exec "ls /path/to/qwen3-merge"
hostlink exec "cat /path/to/qwen3-merge/README.md"
Docker management on host
hostlink exec "docker ps"
hostlink exec "docker stats --no-stream"
Exit Codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Remote command failed (check exit_code in JSON output) |
| 2 | Connection failed (daemon unreachable) |
| 3 | Authentication failed (wrong token) |
| 5 | Timeout |
| 7 | Client error (bad args, missing targets file) |
Troubleshooting
"Connection failed" / exit 2:
- hostlinkd not running on host:
sudo systemctl start hostlinkd - Socket not mounted: check docker-compose volume mount
- Wrong socket path: check
HOSTLINK_SOCKETenv var
"Authentication failed" / exit 3:
- Wrong
HOSTLINK_TOKEN— must match auth_token in/etc/hostlink/hostlink.conf
"server busy" error:
- Host is at max_concurrent limit — retry shortly
Architecture
Container (you are here) Host machine
┌─────────────────────┐ ┌──────────────────────────┐
│ hostlink (client) │◄────────►│ hostlinkd (daemon) │
│ workspace/bin/ │ Unix │ /etc/hostlink/ │
│ │ socket │ auth_token = \x3Csecret> │
└─────────────────────┘ │ shell = /bin/bash │
└──────────────────────────┘
See references/setup.md for installation and docker-compose configuration.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install hostlink - 安装完成后,直接呼叫该 Skill 的名称或使用
/hostlink触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
HostLink 是什么?
Execute commands on the host machine from inside the OpenClaw container via the HostLink daemon. Provides secure, authenticated remote shell execution over a... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 82 次。
如何安装 HostLink?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install hostlink」即可一键安装,无需额外配置。
HostLink 是免费的吗?
是的,HostLink 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
HostLink 支持哪些平台?
HostLink 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 HostLink?
由 jebadiahgreenwood(@jebadiahgreenwood)开发并维护,当前版本 v0.1.0。