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

推荐订阅源

F
Full Disclosure
WordPress大学
WordPress大学
小众软件
小众软件
Cloudbric
Cloudbric
AWS News Blog
AWS News Blog
腾讯CDC
量子位
人人都是产品经理
人人都是产品经理
大猫的无限游戏
大猫的无限游戏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Vulnerabilities – Threatpost
Scott Helme
Scott Helme
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
C
CXSECURITY Database RSS Feed - CXSecurity.com
The Hacker News
The Hacker News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
IT之家
IT之家
Jina AI
Jina AI
Attack and Defense Labs
Attack and Defense Labs
S
SegmentFault 最新的问题
Simon Willison's Weblog
Simon Willison's Weblog
The Cloudflare Blog
阮一峰的网络日志
阮一峰的网络日志
T
Tailwind CSS Blog
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
Google Online Security Blog
Google Online Security Blog
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
罗磊的独立博客
L
LINUX DO - 最新话题
博客园 - Franky
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
The Last Watchdog
The Last Watchdog
J
Java Code Geeks
AI
AI
C
Cisco Blogs
酷 壳 – CoolShell
酷 壳 – CoolShell
C
Cyber Attacks, Cyber Crime and Cyber Security
Cisco Talos Blog
Cisco Talos Blog
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
Help Net Security
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
云风的 BLOG
云风的 BLOG
I
Intezer
S
Securelist

Little Things

Madeira — May 2025 | Little Things From Failed Simulation to Daily Copilot - My OpenClaw Setup | Little Things Building Agentic Workflows for my HomeLab | Little Things Starting a photography series | Little Things Exploring the browser rendering process | Little Things Managing Interactive Demos in MDX | Little Things Interactive post on OKLCH color space | Little Things A Guide to animations that feels right | Little Things No Authentication Like Button | Little Things Interactive Story - A Journey of Choices | Little Things A Time Before Algorithms Took Over the 90's Web | Little Things Animations - Liquid background hover effect | Little Things Why does this site exist? | Little Things
OpenClaw Agent Deploys OpenClaw to a Phone via SSH | Little Things
2026-02-17 · via Little Things

I’ve been running OpenClaw in my homelab for a while now, and it’s made me annoyingly confident about one idea:

If an AI agent can operate my infra so well, it should be able to create and handle an infra on my phone.

Idea

So I wanted to try something simple yet very concrete.

I took an old OnePlus 6, installed Linux (postmarketOS) on it. The OS is an extremely slim version of Linux called SXMO - Simple X Mobile. Its size is less than 200 MB.

OnePlus 6 running Linux (postmarketOS) on it

OnePlus 6 running Linux (postmarketOS) on it

I configured SSH and Tailscale in it. Since the phone is on a separate network, adding it through Tailscale will let my homelab reach it over SSH. I want my agent (Neo) running in the homelab to deploy OpenClaw to my phone, beginning with installing all prerequisite dependencies (Node, npm, Git, and more)

Prompt to Neo

I have already trained Neo to work in a very sophisticated way. So when I assign it tasks, I dont have to write a very big prompt. It knows what to do when it fails, when it has a confusion, it understands tokens and pricing.

Prompt to Neo about the task and for validating access and system check

Prompt to Neo about the task and for validating access and system check

I gave Neo root access on my phone. It will probably attempt system updates before starting the installation, and it will also need root privileges to install dependencies globally.

This task has got few edge-cases and thats why its an excellent test.

Connection successful and got back with system info

Connection successful and got back with system info

There are two key differences in this slim version of Linux:

  1. doas requires a TTY and behaves a bit differently than sudo
  2. The system uses OpenRC for service management, so tools that rely on systemd services won’t work.

Openclaw uses systemd for starting, stopping and restarting processes. So this is surely going to fail. I want to see how Neo handles this.

Ok, so I allow Neo to begin the process. It knows this is lengthy, so it spawn a sub-agent to handle the heavy lifting allowing me to still interact with it while the installation is in progress. All these instructions are already feeded when a session starts.

Execution begins. Notice the spawn sub-agent (session clear-canyon, pid 2779214).

Execution begins. Notice the spawn sub-agent (session clear-canyon, pid 2779214).

At this point, I can even ping from Telegram with the process-id to know where we are at. This is pretty cool.

After a while, Neo gave me an update stating node and npm is installed. Now I am certain that it should be able to install OpenClaw as its just a global npm module.

It gave me an update after node and npm got installed

It gave me an update after node and npm got installed

Since Neo has root access, it shouldn’t run into permission issues. After a couple of minutes I asked about the progress, and it performed a polling check to see the current status.

I asked for a status update. Since the process id is in the context, I dont have to pass it.

I asked for a status update. Since the process id is in the context, I dont have to pass it.

In matter of some more minutes, the installation finished. But now comes the next blocker - how will it start OpenClaw? I mentioned before that systemd is not available.

Installation Finished 🎉.

Failed to start the gateway

Neo handled this so gracefully. It did not go ahead with a random fix, instead prompted me. At this point, I was quite happy with the initial personality development. It did cost me but was so worth it.

Failed to start OpenClaw as systemd is not available

Failed to start OpenClaw as systemd is not available

Opttion A matters because:

  • I don’t want to keep a terminal session open to keep the gateway alive
  • I want restarts to be deterministic

My homelab running OpenClaw

Used OpenRC instead of systemd. SXMO uses OpenRC as process manager.

Gateway works but unable to access externally

We had a moment where everything looked correct:

  • gateway running
  • port 8080 listening

However, I still couldn’t access it from my laptop, even though the laptop is connected to the same Tailscale network. Neo verified locally on the phone that the service served HTTP fine which I also confirmed. So it was quite obvious that this could be a firewall issue, blocking the port. But I dont have much idea about the internals of the OS.

My homelab running OpenClaw

Unable to open gateway on external devices.

Neo was able to figure out the culprit - nftables.

On postmarketOS, the default firewall had:

chain input { policy drop; }

So inbound TCP/8080 was silently dropped (timeouts instead of “connection refused”). Neo added an allow rule for 8080 (Wi-Fi + Tailscale) and persisted it. Once that was in place, the Control UI became reachable.

Fixes the blocked port.

And boom 🎉, I was able to open the gateway from my laptop.

Successfully opened the gateway.

Successfully opened the gateway.

The below screenshot shows the status of OpenClaw from my phone’s terminal.

status of OpenClaw from my phone's terminal

Status of OpenClaw from my phone's terminal

Conclusion

Now that my phone has become a fully autonomous, pocket-sized AI node, I can make it to work like:

  • 📷 Connecting an SSD to act as backup storage for my homelab
  • 📱 Private voice assistant (offline, like Alexa)
  • 📡 Portable AI & home server (IoT hub, local inference)
  • 📞 Makes calls & sends texts via the built-in modem
  • 🔵 Controls nearby devices over Bluetooth
  • 🌐 Serve as a personal VPN, firewall, or network monitor
  • ⚡ Run edge AI models for real-time image recognition

Having an LLM write code or building AI wrappers is no longer impressive. What is impressive is when an agent can run commands, can interpret failures, can change the system safely, can verify the end state

Thats it for this post folks. I hope you enjoyed reading.