They watch your sources. They brief you. While you work, sleep, travel.
There is no prompt. There is no wait. The office watches your world and acts — while you work, sleep, or travel.
An office of specialist agents. This is what you get — live, on your laptop.
No code. Two plain English documents.
You are a news analyst who receives posts and articles from social media and news sources. Your job is to assess whether each item is relevant to current world events. If relevant, send to editor. Otherwise send to discard.
You are an editor who receives classified articles from the analyst. Your job is to rewrite each article as a concise briefing note with a priority rating. Send to situation_room.
Prose for the job. Four lines at the top declaring the outboxes it may send to and the fields it adds — so the office can be checked before it is run.
You describe the agents. DisSysLab handles everything else.
You are a news analyst who receives posts and articles from social media and news sources.
Your job is to assess whether each item is relevant to current world events — politics, economics, science, technology, or humanitarian issues that a senior analyst would want to know about.
For each item, rate its importance: CRITICAL for breaking news requiring immediate attention, HIGH for significant developments, MEDIUM for notable but not urgent, LOW for background information.
If the item is relevant, send to editor with your importance rating and a one-sentence summary. If not relevant, send to discard.
Most agents are small enough to specify in English. For deterministic work
— dedupe by URL, sliding-window RMS, wrap an ML model — use Python.
The framework runs both the same way, and both declare their
ports: prose in front matter, Python in AgentRoleEntry.
The declarations are why dsl check can find a message addressed
to an inbox that does not exist — it reads them without importing anything.
Cheap models for routine work. Premium models for the writing. Free local models when privacy matters. One office can use all three.
Sources and sinks — where data comes from, where results go — you pick from a library. No writing needed.
Many frameworks force a one-way pipeline. DisSysLab does not. An agent can feed its upstream, feed itself, or wait for a downstream verdict before continuing.
Reviewer can send work back to Drafter. A DAG can't.
Take a checkpoint while the office is running. After a crash, a reboot, or a code fix, restart from the last snapshot. No work is lost.
--upgrade, not install — on a machine that already has an older one,
pip install prints "Requirement already satisfied" and changes nothing.
Works on Mac, Linux, and Windows.
dsl list live in a fresh venv
This folder is yours. Edit any file. Run it when you want.
dsl draw shows every connection, naming the outbox it leaves
by and the inbox it arrives at. dsl check reads the office and
reports its structural faults without running it — an inbox
nothing writes to, an agent nothing can reach, work that reaches no sink, a
message addressed to an inbox that does not exist.
dsl checks explains any code it prints.
It is structural, and it stops where structure stops. An office whose diagram is correct can still deadlock. That boundary — what is knowable before you run and what is only knowable after — is the interesting part, and you meet it the first time an office hangs.
dsl run . streaming for 30 sec in a fresh venv
Edit a role file in plain English. Run the office again. Watch the output change.
Build something that actually works for you — an office that watches for exactly what you care about.