wingthing

module
v0.12.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 11, 2026 License: MIT

README

wingthing

cinch

Run AI agents sandboxed on your machine. Access them from anywhere.

wt egg claude              # sandboxed Claude Code session
wt wing -d                 # make your machine reachable remotely
open app.wingthing.ai      # start terminals from your browser

Sandboxed agents

wt egg runs any supported agent inside an isolated sandbox with full terminal support. The sandbox IS the permission boundary — agents get --dangerously-skip-permissions because the sandbox constrains what they can do.

Each session is its own process with its own sandbox. Detach and reattach without losing state.

wt egg claude              # Claude Code, sandboxed
wt egg codex               # Codex, sandboxed
wt egg ollama              # Ollama, sandboxed (free, local)
wt egg list                # see active sessions
wt egg stop <id>           # kill a session
Sandbox
Platform Method
macOS Seatbelt (sandbox-exec)
Linux User namespaces + seccomp

Configure via egg.yaml in your project or ~/.wingthing/egg.yaml:

isolation: network          # strict, standard, network, privileged
mounts:
  - ~/repos:rw
  - ~/docs:ro
deny:
  - ~/.ssh
  - ~/.gnupg

The sandbox auto-discovers where your agent binary and config live — you don't need to mount them explicitly.

Levels: strict (no network, minimal fs), standard (no network, mounted dirs), network (network + mounted dirs), privileged (no sandbox).

Remote access

wt wing connects your machine outbound to the relay via WebSocket. No port forwarding, no static IP, works behind any NAT. Open app.wingthing.ai to start sandboxed terminals on your machine from any device.

wt login                   # authenticate with GitHub
wt wing -d                 # start as background daemon
wt wing status             # check daemon status
wt wing stop               # stop daemon
Browser (xterm.js) <-> Relay (dumb pipe) <-> Your machine

Sessions are end-to-end encrypted (ECDH + AES-GCM). The relay forwards opaque bytes — it never reads your data.

Agents

wt doctor detects what's installed. Swap agents with a flag.

Agent CLI Notes
Claude Code claude Anthropic
Codex codex OpenAI
Cursor Agent agent Cursor
Ollama ollama Free, local, offline

Skills

Markdown prompt templates with YAML frontmatter. Curated, version-controlled, agent-agnostic.

wt run --skill compress --agent ollama
wt skill list
wt skill add skills/compress.md

Install

curl -fsSL https://wingthing.ai/install.sh | sh

Or with Go:

go install github.com/ehrlich-b/wingthing/cmd/wt@latest

Or from source (requires Go 1.25+ and Node.js):

git clone https://github.com/ehrlich-b/wingthing.git
cd wingthing && make check    # test + build → ./wt

Update: wt update

Self-hosting

Single binary, SQLite, no external dependencies.

wt serve --addr :8080                       # start relay
wt wing --relay http://localhost:8080        # connect to it

License

MIT

Directories

Path Synopsis
cmd
wt command
internal
egg
ws

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL