webssh-terminal/SKILL.md
Web-based terminal tools for Wee Canvas: remote SSH terminal (WebSSH) and local bash terminal (ttyd). Embeds interactive terminal panels in Wee Canvas iframes. Use when the user asks for a 'web terminal', 'local terminal', 'browser SSH', 'webssh', or wants to interact with a host through the WebUI canvas. For browser windows, see the browser-window skill.
npx skillsauth add leprachuan/pot-o-skills webssh-terminalInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Two web-based terminal tools embedded in Wee Canvas iframes:
| Tool | Script | Port | Purpose |
|------|--------|------|---------|
| WebSSH (Remote SSH) | start_webssh.sh | 8022 | SSH into remote hosts via browser |
| Local Terminal | start_local_terminal.sh | 8023 | Local bash shell on the host |
Both use HTTPS with self-signed certs (auto-generated at runtime, never committed).
Note: The browser window feature (noVNC) has been moved to the standalone browser-window skill.
Starts a webssh server (Python, MIT license) for interactive SSH sessions in the browser.
webssh package: pip3 install webssh (binary: wssh)--port)# Start webssh and push to canvas
bash /opt/pot-o-skills/webssh-terminal/scripts/start_webssh.sh \
--canvas --canvas-session SESSION_ID
# Custom port
bash /opt/pot-o-skills/webssh-terminal/scripts/start_webssh.sh \
--port 8033 --canvas --canvas-session SESSION_ID
| Variable | Default | Description |
|----------|---------|-------------|
| WEBSSH_PORT | 8022 | Port to bind webssh on |
| WEBSSH_BIND | 0.0.0.0 | Bind address |
| CANVAS_HOST | localhost | Public/Tailscale IP for browser-accessible URLs |
| CANVAS_PORT | 8000 | Wee Orchestrator API port |
In the webssh browser UI:
lsof -ti :8022 # check if running
tail -f /tmp/webssh.log # view logs
kill $(lsof -ti :8022) # stop
Opens a local bash shell directly on the host, starting in the specified working directory. Unlike WebSSH, this does not SSH anywhere — it runs a shell directly.
ttyd package: sudo apt-get install -y ttyd--port)# Start in default directory and push to canvas
bash /opt/pot-o-skills/webssh-terminal/scripts/start_local_terminal.sh \
--canvas-session SESSION_ID
# Start in a specific directory
bash /opt/pot-o-skills/webssh-terminal/scripts/start_local_terminal.sh \
--canvas-session SESSION_ID --cwd /opt/n8n-copilot-shim
# Custom port
bash /opt/pot-o-skills/webssh-terminal/scripts/start_local_terminal.sh \
--canvas-session SESSION_ID --port 9090
If --cwd is not specified, the script attempts to read the active agent session
from sessions.json and use that session's working directory. Falls back to /opt.
| Variable | Default | Description |
|----------|---------|-------------|
| LOCAL_TERM_PORT | 8023 | Port for ttyd |
| CANVAS_HOST | localhost | Public IP for browser URLs |
| CANVAS_PORT | 8000 | Wee Orchestrator API port |
| SESSIONS_FILE | /opt/n8n-copilot-shim/.task-scheduler/sessions.json | Sessions file for auto-detecting cwd |
lsof -ti :8023 # check if running
tail -f /tmp/ttyd-local.log # view logs
kill $(lsof -ti :8023) # stop
# or:
bash start_local_terminal.sh --stop
--canvas-session SESSION_IDhttps://CANVAS_HOST:CANVAS_PORT/ui/?canvas=SESSION_ID| Port | Service | Script |
|------|---------|--------|
| 8022 | WebSSH (remote SSH) | start_webssh.sh |
| 8023 | ttyd (local terminal) | start_local_terminal.sh |
/tmp/webssh-certs/)--xsrf=false and --origin='*' are set for iframe embedding — only expose on trusted/VPN networksdata-ai
Interactive GitHub issues kanban board with agent assignments, due dates, and glassmorphism theming. Fully configurable for any GitHub repository.
data-ai
Interactive TODO board for Wee Canvas. Displays TODOs from both GitHub Issues (leprachuan/fosterbot-home) and flat files in two views: list and kanban. Features filtering, drag-and-drop status changes, quick-add, and auto-refresh every 30 seconds. Use when Foster asks to "show TODOs", "open TODO board", "view my tasks", or "TODO kanban".
development
Use when you need to send WebEx notifications to flipkey-home-bot - supports markdown formatting, auto-retry with backoff, rate limiting, and message history tracking
tools
Production-ready TODO management with dual-source support (GitHub Issues + flat files), due dates, labels, and automatic reminders. Fully portable with environment variable configuration.