GSO-1
Division HQ Β· Ops Room Β· Your machine

GSO-1

The staff officer for your machine.

Every project you own, running, healthy, and one click from started. Your computer is your garrison. You are its commander. This does the staff work.

macOS Β· Windows Β· Linux: Apache 2.0, nothing leaves your machine

01 / The nameWhy it is called GSO-1

In a division headquarters there is an officer called the GSO-1, General Staff Officer Grade 1, a Lieutenant Colonel who heads the General Staff branch. He is the right hand of the GOC, the General Officer Commanding the division. He plans the operations, keeps the picture current, and drafts the orders the GOC signs. In peace and in war, the division runs through him.

He works from the Ops Room, the nerve centre where the maps, the traces, the unit locations, the strengths and the intelligence are displayed and kept up to date. It is where the commander is briefed, and where decisions get made, because it is the one place the whole situation can actually be seen.

Commands

You

You decide what gets built and what ships. You should not also be remembering which of thirty services is currently up.

β†’ GOC Β· your garrison
Serves

GSO-1

Finds every project, works out how each one starts, watches its health, and keeps the git picture current. Quietly.

β†’ the staff officer
Displays

Ops Room

One screen holding the whole situation: what is live, what is dirty, what crashed, what is holding a port.

β†’ where you decide
Read the long version Your Computer Is a Garrison. It Needs a Staff Officer. The naming, the staff doctrine behind the design, and what it took to ship a tool that ran on exactly one machine  /  12 min read on Medium

02 / The doctrineWhat makes a good staff officer

The old British staff manuals are unusually clear about this, and it turns out to be a decent product specification.

Serve the commander wisely and well. Point it at your machine and it works out how everything runs, so you never type npm run dev from memory again.
Stay invisible; the commander gets the credit. GSO-1 has no opinions about how you build software. It starts what you already built, and stays out of the way.
Shield the commander from unnecessary detail. Thirty repos, and the dashboard leads with the four that need you: the dirty ones, the stale ones, the one that crashed.
Never be a "yes man". A staff officer who only reports good news is worse than none. So the crashed process, the failed run and the port conflict show up plainly, in red, on the first screen.
The GSO-1 Ops Room: two applications running, three repositories with uncommitted work, the day's events, and the ports currently in use
The Ops Room. Everything that needs you, on one screen.
The GSO-1 Library listing six projects with their detected kind: node, script, static, python, go and rust
Six projects, six stacks. It worked out the kind on its own.
The GSO-1 first-run screen asking which folder holds your projects
One question on first run, then it gets out of the way.
The GSO-1 phone companion showing running applications, repositories needing a commit, and live RAM and CPU
The companion at /m, behind a token you set on purpose.

03 / The workWhat it actually does

β–Ά

Starts anything

Detects the run command for Node, Django, FastAPI, Flask, Streamlit, Rust, Go, static sites and plain Python: and always defers to a project's own run.sh or Makefile.

β—‰

Real health

Healthy, starting, crashed or stopped, from process tracking plus a port probe, not from hope.

⚠

Port conflicts

Finds what is already holding the port before you launch, instead of after the stack trace.

βŽ‡

Git at a glance

Branch, dirty count, ahead/behind and last commit across every repo, with fast-forward updates from the dashboard.

⛨

Agents with a seatbelt

Read-only tools run themselves; anything that writes a file or runs a command stops for an explicit approval.

βš™

No terminal required

Project folders, Telegram, your local model and phone access are all set from a Settings screen inside the app. Environment variables still win, and show as read-only when they do.

β–€

Your own hardware

A built-in Anthropic→llama proxy points an agent session at your local llama-server. How the Ops Room works →

04 / DeploymentInstall

PlatformFile
macOS (Apple Silicon)GSO-1-*-arm64.dmg
macOS (Intel)GSO-1-*.dmg
WindowsGSO-1-Setup-*.exe
LinuxGSO-1-*.AppImage Β· .deb

On first run GSO-1 asks which folder holds your projects. That is the whole setup, no Python, no terminal, no config file.

macOS 15 and later: approve it once in Settings

GSO-1 is signed ad-hoc rather than with a paid Apple Developer ID, so macOS blocks the first launch with "Apple could not verify GSO-1 is free of malware". Right-click and Open no longer works on these versions, and that dialog only offers Done and Move to Bin. Instead:

  1. Drag GSO-1 into Applications, try to open it once, click Done.
  2. Open System Settings → Privacy & Security.
  3. Scroll to Security near the bottom. You will see "GSO-1" was blocked to protect your Mac with an Open Anyway button.
  4. Click it, authenticate, then confirm Open.

It only happens once. On Windows, SmartScreen needs "More info" then "Run anyway".

05 / From sourceOr build it yourself

# requires Python 3.11+
git clone https://github.com/rafsunsheikh/gso-1.git
cd gso-1
cp .env.example .env
./run.sh

06 / Standing ordersA note on what it can do

GSO-1 starts processes and runs commands as you. That is the feature, and it is also the threat model.

Loopback only by default, unreachable from your network. Remote access is refused outright unless you set a token, and agent writes and commands require explicit approval. Full detail in the security policy.