Skip to content

wsp 0.3.2

Choose a tag to compare

@github-actions github-actions released this 10 Oct 03:02
· 304 commits to main since this release

What changed since v0.3.1

Renamed in 0.3.0

The front page of wsp --help is sixteen words on five nouns: image, place, workspace, thread, project. Every command is wsp <verb> <workspace> ..., the workspace first. Nothing answers to the old words, so here they are, once.

was is
wsp thread new --in <workspace> "<task>" wsp run <workspace> "<task>"
the MCP tool thread_new the MCP tool run
wsp import <folder> --to <workspace> wsp import <workspace> <folder>
wsp threads --in <workspace> wsp threads <workspace>
wsp new --local [name] wsp new <name> --on <place>, naming the computer you are at
wsp new --ssh <user@host> wsp add user@host (or an alias from your ssh config), then wsp new <name> --on <that place>
wsp init --provider <id> wsp add <id>
wsp pair, wsp devices wsp host pair, wsp host devices
wsp connect <url> wsp login: a host on your account needs no code
wsp hosts default, wsp disconnect nothing: a line goes to your account's one host, --host names another, and wsp logout drops them
wsp relay link, wsp relay unlink wsp host link, wsp host unlink
wsp relay hosts, wsp host linked, wsp host list wsp hosts, the hosts on your account
wsp relay clients, wsp host clients wsp login, and wsp logout <id> to sign one out
wsp up to get going nothing: the first command that needs a host starts one, and wsp down stops it
plain wsp serving plain wsp prints the help

This computer and every computer or provider you add are places, and wsp places lists them; --on <place> on wsp new is the one flag you meet, and only once you have more than one. wsp add is the one way a place joins: wsp add user@host for a computer over ssh (an alias from your ~/.ssh/config works as well), wsp add <provider> for a provider, wsp add alone for the line another computer types. wsp up is still there for a host you want to watch in a terminal or one that serves beyond this computer.

Agents on this computer get the new skill the first time the new host starts; a project folder whose AGENTS.md carries the old section gets the new one at the next wsp mcp install there.

  • fix(web): link chips draw a glyph, never ask Google for a favicon
  • fix(web): no Image on a computer with the cloud off, no held Install
  • feat(slate): images from any path and from allowed domains
  • refactor: verbs, tools and the skill take a thread, not a workspace
  • docs: pin the Scalar subdomain the usewsp.com Worker reads from
  • docs: serve the docs at usewsp.com/docs, the new tree replacing the old
  • docs: the pictures and recordings the pages show
  • fix(web): sidebar inks off glass, a done card's line, folds counting 0
  • fix: app and command line words say what the code does
  • ci: run the Mac gate on GitHub's macOS runner beside the Linux jobs
  • feat(www): /compare as an index of cards and one page per tool
  • fix(box): GH_TOKEN reaches box turns, joined boxes keep the host
  • fix(web): a thread switch and a scroll draw only what moved
  • fix(desktop): the wsp on PATH and a later older host match the app
  • fix(web): measure the right pane's row past the lead panels wrapper
  • docs: write the reference pages from their sources, held by a test
  • docs: agents, how it works and guides pages for the new docs
  • site: the Agents tile and the relay answers say what ships
  • docs: write the feature pages from Threads to Recipes
  • docs: write the feature pages from Slate to Other devices
  • docs(docs-next): write the six Get started pages
  • fix(runtime): say Starting at launch, keep agent lists across hosts
  • www: JetBrains is not an SSH editor, and OpenCode takes a key
  • fix(desktop): replace a host of an earlier release before attaching
  • www: usewsp.com/compare, one table with a source on every cell
  • fix: a message with images steers into the running turn
  • fix(threads): a moved row goes out alone, not the workspace's list
  • fix(web): no branch, push or merge in a thread row
  • fix(runtime): a thread's terminal opens in the thread's folder
  • docs: lay out the new docs tree, its redirects and a prose check
  • feat(web): a subagent's own page, its bar and the way back to its lead
  • fix(web): a tile's Settle has its tooltip, a sub-thread's arrow shows
  • www: privacy, terms and security pages
  • feat(web): the Threads section shuts to its counts and its top row
  • fix(web): an event re-derives what it touched, not every thread
  • feat(www): prerender every page with its own head and og image
  • feat(host): usage events carry surface app
  • fix(adapter-claude): end a subagent's fold on its report on 2.1.295
  • www: count visits with PostHog, with no cookies
  • fix: a child's finished line stays owed until its lead takes it
  • www: the setup list says what each item offers; Slate turns itself
  • perf(web): draw crabs and the empty-thread field only when seen
  • www: the pitch is said once
  • www: usewsp.com serves from one Cloudflare Worker
  • fix(runtime): a socket gets a workspace's spend only when it moves

Downloads

  • wsp-0.3.2-mac.dmg: macOS on Apple silicon and on Intel, one disk image for both.
  • wsp-0.3.2.AppImage: Linux on x64.
  • The command line: npm i -g @wsp-labs/wsp@0.3.2.

macOS may ask again for permissions you gave wsp, since each update is signed on its own.

Opening a downloaded bundle

Open the macOS disk image and drag wsp onto the Applications folder it shows. One image holds both Apple silicon and Intel.

The bundles are not signed yet, so macOS refuses the first open of wsp.app. Open it once, dismiss the refusal, then in System Settings under Privacy & Security find the line saying wsp was blocked and pick Open Anyway. Or from a terminal: xattr -dr com.apple.quarantine /Applications/wsp.app. Every open after that is a double click.

Start the Linux AppImage from a terminal in the folder it downloaded to: chmod +x wsp-*.AppImage && ./wsp-*.AppImage. A double-click on its icon on Ubuntu's desktop does not start it: the desktop hands an AppImage to Disk Image Mounter, which mounts it and runs nothing. There, set the run bit, then right-click the icon and pick Run as a program. It needs no FUSE 2. It mounts itself with fusermount3 from the fuse3 package, which Ubuntu, Fedora and Arch desktops already have. If it says it cannot mount the AppImage, install fuse3, or start it with --appimage-extract-and-run.