1. Keep active work local
The laptop stays the execution surface
Editing files, exploring repos, and running coding agents are all
better locally. The feedback loop is faster, local tools are easier
to control, and interactive work stays close to the real code.
This decision solves the speed problem. It keeps day-to-day work
responsive and avoids turning every code change into a remote systems
problem.
2. Move persistence remote
OpenClaw belongs on the VPS
Memory and orchestration need to outlive local sessions. The VPS is
the right place for that because it stays available even when the
laptop is closed, rebooted, or disconnected.
This solves the continuity problem. Without it, the system always
risks collapsing back into local-session amnesia.
3. Use both Claude and Codex
Different agents fit different work
The environment keeps both tools because they are useful in different
ways. Claude is strong for guidance, explanation, cleanup, and
structure. Codex is strong for implementation-heavy repo work.
This solves the tool-fit problem. The setup does not force every task
through one agent when the work benefits from more than one.
4. Split memory from source control
GitHub is not the memory layer
Git stores code, workflows, docs, and publishable files. OpenClaw
memory stores decisions, rationale, and cross-session context. That
distinction is structural.
This solves the overload problem. If everything goes into git, the
reasoning disappears. If everything goes into memory, the code loses
a clean version boundary.
5. Use hooks for ingestion
Important context should not depend on memory alone
Commits and session endings feed the memory layer through hooks and
helper scripts because manual logging alone is fragile.
This solves the capture problem. Useful context gets preserved even
when the user or the agent does not stop and write notes manually.
6. Keep internal services private
Tailscale and the firewall are architecture choices
The memory layer is not a public app. Tailscale, loopback binding,
SSH tunneling, and the firewall are part of the design, not cleanup
work that gets added later.
This solves the exposure problem. Internal systems stay private and
the public edge stays small.
7. Keep the public site static
Use GitHub Pages for publishing
The site is documentation. It does not need a custom runtime stack on
the VPS. Keeping it static lowers maintenance cost and keeps the
public-facing layer simple.
This solves the complexity problem. The VPS can focus on OpenClaw and
the private orchestration layer instead of also hosting the docs site.
8. Use plain Markdown as the memory substrate
Readable files beat hidden state
The workspace depends on Markdown files because they are easy to read,
version, diff, and reason about. There is no need for a fancy hidden
format when the goal is continuity and inspection.
This solves the transparency problem. The memory layer stays visible
and understandable.