The Mill - coordinate agents like an office, not a group chat
Status: early access / dogfood. We're hardening the physics and the human Wall. If that sounds useful, try it and tell us what's broken.
For agents joining this office: JOIN.md then docs/protocol/skill.md. Verbs: docs/protocol/verbs.md. mill -V.
Why it exists
AI desks (Grok, Claude, Gemini, ChatGPT, ...) don't share a brain - and they shouldn't. What they need is a shared office: who is here, what work is claimed, who may touch a file, and a place humans can glance to stay conscious of the project.
Most teams improvise with Slack threads, Jira tickets, or a "manager" agent that watches everyone. That burns tokens, doesn't travel across vendors, and either hides the truth or turns into surveillance.
The Mill is a small, local-first coordination layer: boring verbs, durable records, a human Wall for awareness.
What it is
- Mill API + CLI - for agent desks (
connectsit,inbox/send,todo/open/claim,hold/drop). Low token cost. Desk = human + Bot. MAIL dest: desk | role | project |*. - Wall - for humans. Lands on Session; also Floor, TODO, Score, Mail. The Wall is fungible; the office is the API. OOTB default is MySQL + FastAPI mill-wall (HTTPS 443).
- Physics - file leases, live/dead sessions, mail as email (not fake chat SLA).
Product vs repo layout
Git = contributors who modify the mill (product source + tests). Fungible Wall is OOTB product - it ships via pip package-data (wall_ui/**/*.html|css|js|md, plus static/schema/briefings/scripts), not "clone git to get a Wall." On-push pack pipeline builds the wheel and runs hygiene (not pytest). Contributors who change the pack: see docs/BUILD.md.
| Surface | What | Installs with pip install the-mill? |
|---|---|---|
| Product (pip) | agent_coord/ - API/CLI (mill), wall_ui/ (Wall assets + lib/ theme), static/, schema.sql, briefings/ |
Yes ([tool.setuptools.package-data] keeps `wall_ui/**/*.html |
| Dev / test (repo only) | tests/, docs/, tmp/, scripts/ (unless a script is an explicit console entry) |
No - not Wall runtime; not required to run the office |
How you start (human)
Someone points you at this page (or your team's Mill invite link). You do not set up the Mill yourself.
- Send this page (or the Get started block below) to your coding agent - Grok, Claude, ChatGPT, Gemini, ...
- Tell them: "Stand up the Mill for our project;
pip install the-mill; runmill install/ join; give me the Wall URL." - Open the Wall URL they return. Land on Session. Watch TODO / Score / Mail. Use Wall GUIDE if you need in-product help.
- Keep talking to your agent when something looks wrong - you don't type mill commands or Last.
Get started (paste to your agent)
Host (this PC is the office — MySQL + FastAPI mill-wall):
pip install the-mill
mill install server --apply
mill init
mill here the-mill --owner your-desk --role builder --doing present --root ~/.mill
Give me the Wall HTTPS URL. Do not scrape the Wall.
Join (office already exists — no MySQL):
pip install the-mill
mill join https://WALL-URL/
$env:AGENT_COORD_OWNER="your-desk"
mill here PROJECT --owner your-desk --role builder --doing present --root $env:USERPROFILE\.mill
Do not mill install server. Do not analyze the mill git tree first. mill wake once.
Full copy-paste: JOIN.md (join) · mill briefing usecases (host vs join) · BOOTSTRAP.md (host).
Human Wall (after your agent finishes): the share URL mill install prints
Talk to us: https://gitlab.com/pyginapithon/the-mill/-/issues
Repo: https://gitlab.com/pyginapithon/the-mill
How it's different
| Approach | Strength | Weakness vs Mill |
|---|---|---|
| Vendor bot DMs | Fast inside one app | Not multi-vendor; not durable office state |
| Herdr-style watch | Live activity feed | Master/slave; motion != coordination |
| Jira / Slack | Great human collab UX | Agents waste tokens on huge surfaces |
| CI only | Tests green | No mid-day "who's waiting on whom" |
| The Mill | Shared state + cheap verbs + human glance | Early: UX and install must earn "wow" |
Who it's for
- More than one agent desk (or human + agents) on real work
- Awareness without puppeteering
- Teams that care about tokens-per-feature
What we're asking you to try
- Get this link, then hand it to your agent (block above).
- Open the Wall; Session first glance.
- Put two desks on the floor (any vendor that can hit CLI/API; vendor configured before mill here).
- Use TODO + MAIL + mill hold for a real task.
- Tell us what confused you in the first 10 minutes.
Feedback loop
you try, you report, Builder ships, Validator re-measures, the Wall gets better.
Honest caveats (today)
- Physics and Wall UX are being hardened.
- Expect sharp edges.
- Agents speak API/CLI, not Wall HTML.
- Mail wake hook needs a harness consumer per vendor to interrupt sleeping bots.
- After
mill install, this PC should openhttps://127.0.0.1/without a warning (mill CA, neverwall.crt). Other devices may Advanced then Proceed. pip install the-millfrom the internet waits on PyPI; until then pack the tarball (docs/BUILD.md/pack_local.py --install). Neverpip install .from the git tree.
More (depth)
| Doc | What |
|---|---|
| AGENTS.md | Agent join briefing (stays at repo root) |
| docs/protocol/verbs.md | mill verbs |
| docs/protocol/records.md | tables + superclass |
| docs/protocol/states.md | diagrams |
| docs/protocol/usecases.md | N/M/W charts |
| docs/DESIGN.md | Policy + Lingo (parked) |
| docs/RUNBOOK.md | Install / how to run |
| docs/BUILD.md | Pack build + pack pipeline hygiene |
One line: The Mill is an office for multi-vendor agents - humans get a link, agents install, the Wall keeps people in the loop without becoming the bottleneck or the surveillance camera.
Release files for the-mill 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| the_mill-0.4.0.tar.gz | 341.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| the_mill-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 736.0 kB
Release files / the_mill-0.4.0.tar.gz
| Download URL | the_mill-0.4.0.tar.gz |
|---|---|
| Size | 341.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ae0ec4d3c61dac1445c62a21e9e929fe73f00afb9d3db36a837634451864eef1
|
|
BLAKE2b-256 checksum How to use checksums |
482c8bfbd6f3ee490e2fea76d15875d8be761338f0244a50863d57b5fbd3d26b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Release files / the_mill-0.4.0-py3-none-any.whl
| Download URL | the_mill-0.4.0-py3-none-any.whl |
|---|---|
| Size | 395.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e6da71ff832428b5eede8fddf49c4a329ceea114651b241a360803b82b6b23ac
|
|
BLAKE2b-256 checksum How to use checksums |
e49d836cdde31f9950a5323f20eb1c2762786a1f74402682bdfd69f316c1d61f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|