← Documentation

Comic strips of your plans

When a plan reaches a milestone, Zeus draws a short comic strip of it, puts it on the plan’s page, and lets you share it. The Codex command line draws it, signed in with your account; on a Mac without Codex, nothing is drawn.

A project plan is a piece of work that spans several agents, written down as steps in order (Planning with metis explains plans). A milestone is a named point in a plan with no work of its own; it is reached when every step before it has ended.

Each comic strip has three panels that tell the story of the plan so far, with Zeus as a character and you and your agents as the cast. The story comes from the plan’s own record: what you and your agents say in the strip, and every number in it, is checked against that record. Zeus’s own lines and the captions are Codex’s words.

What draws the strips

Zeus does not draw the strips itself. Its background program on your Mac asks the Codex command line — OpenAI’s codex program — signed in with your own account, to draw them. Codex writes the three panels first, then draws the picture.

So strips are drawn only on a Mac where Codex is installed and signed in. You do not have to start or press anything.

What Zeus sends to Codex for each strip:

  • the plan’s record — the same text zeus plan show P-n prints for that plan (P-n is the plan’s id, such as P-3);
  • a fixed description of the look and the voice, and a picture sheet of the Zeus character, both shipped inside Zeus.

It never sends your code or any other plan.

Before a picture is drawn, Zeus checks the three panels against the plan’s record: every line a person or an agent says in the strip must be words found in the record (a small spelling fix is allowed), and every number must be one the record holds. If the panels do not match, no picture is drawn.

What it costs

Each strip is two Codex calls: one to write the panels, one to draw the picture. They count against the account Codex is signed in with — your ChatGPT plan, if you signed in to Codex with ChatGPT. Zeus adds no charge of its own.

Two limits are yours to set, and two are fixed:

  • A switch. Strips are on unless you turn them off.
  • A cap per plan. At most 6 strips for each plan. You can set any number from 1 to 50.
  • A daily cap (fixed). At most 10 draws in 24 hours on this Mac. Draws that failed count too.
  • A pause after failures (fixed). After 3 failed draws in a row, Zeus pauses drawing: 30 seconds at first, longer after each further failure, up to 10 minutes. A milestone reached during the pause gets no strip.

Turning strips off, and changing the cap

These settings are kept on this Mac and apply to all your plans on it.

Open Settings (⌘,) in Zeus. The Comic strips section has:

  • the switch Draw a strip when a plan reaches a milestone;
  • Cap per plan, with − and + buttons, and the range beside it (“strips · 1 to 50”).

The same settings are in the terminal. To see them:

zeus strips

It prints, for example:

comic strips: on — a strip of a plan when it reaches a milestone, drawn by Codex under your login
cap per plan: 6 strips
daily cap: 10 draws in 24 hours on this Mac, failed draws counted
strips kept: none, in /Users/you/Library/Application Support/Zeus/strips
last draw: none yet

To turn strips off, or on again:

zeus strips off
zeus strips on

To change the cap per plan, for example to 3:

zeus strips --cap 3

A number outside 1 to 50 is refused, and nothing is changed.

Turning the switch off stops the next draw. Strips already drawn stay.

The Codex line in Settings

At the top of the Comic strips section, a line says what Zeus found about Codex on this Mac. It is one of these:

What the line saysWhat it meansWhat to do
Codex: found, signed inCodex is here and ready. Strips are drawn.Nothing.
Codex not found on this Mac — install the Codex command line and sign in to get stripsZeus found no codex program. The switch and the cap are greyed out.Install OpenAI’s Codex command line (its own documentation says how) and sign in, if you want strips. Or leave it: nothing is drawn and nothing is asked of you.
Codex: found, not signed in — codex login status says: …Codex is here, but no account is signed in.Sign in to Codex (run codex login in a terminal), if you want strips. Or leave it: nothing is drawn. If Zeus once failed to ask Codex, a line starting “last failure to ask Codex:” may also show, at the bottom of the section.
Codex: found, sign-in not knownZeus asked Codex whether it is signed in and got no answer. A line at the bottom of the section starts “last failure to ask Codex:” and says what went wrong.Read that line. Zeus asks again on its own.

Under the Codex line, a smaller line says what happened at the last milestone, for example “last draw: P-3/design-done drawn as P-3/m1.jpg in 61 s” (design-done is the milestone’s key in the plan). A milestone that was not drawn reads, for example, “last draw: P-3/design-done not drawn — the switch is off”. When a draw failed, the line starts “last draw failed:” and gives the reason.

Zeus checks Codex again on its own, and again just before each draw, so when you sign in or install Codex, the line changes without a restart.

Where the strips are on the plan page

Open the plan’s page in the app (Project plans, then the plan; Planning with metis shows the rest of the page).

  • Latest strip. The newest strip sits at the top right, beside the plan’s title. Under it: the milestone’s name and “· reached” with the date, and a line that says how the strip was drawn and how long the draw took. If Codex was signed in with ChatGPT, the line reads, for example, “drawn under your ChatGPT plan · 61 s”. If Codex was signed in with an API key, or Zeus could not tell how Codex was signed in, the line reads, for example, “drawn by Codex · 61 s”.
  • Older strips. When a newer strip arrives, the one it replaces moves down, to a section below the progress bar and the lanes. The section’s title row counts every strip, for example “2 of 6 drawn”. When the cap is reached it reads, for example, “6 of 6 drawn · later milestones draw no strip”.
  • Bigger. Click any strip to see it full size.

When a milestone was reached but no strip was drawn, its place among the older strips says why, starting with “no strip —”. For example:

  • “no strip — Codex not found on this Mac”
  • “no strip — Codex is not signed in on this Mac”
  • “no strip — comic strips were turned off”
  • “no strip — the cap of 6 strips was reached”
  • “no strip — the daily cap of 10 draws was spent”
  • “no strip — held after 3 failed draws in a row”
  • “no strip — Codex could not be asked whether it is signed in”
  • “no strip — the plan could not be read when it reached this milestone”
  • “no strip — the draw failed: …”, with the reason

A milestone whose last step before it failed gets no strip and no line. The page of a stopped plan shows no strips at all; their files stay on your Mac (see Where the files are, below).

Before a plan reaches its first milestone, the page says “No strip yet. Zeus draws one when this plan reaches its first milestone.” On a Mac without Codex, it says “No strip yet. This Mac has no Codex, so Zeus draws none when this plan reaches a milestone.”

Sharing a strip

Every strip carries a small zeusmode.ai mark, in a band Zeus adds under the picture, so the mark never covers the panels.

To share a strip, move the pointer over it. A Share button appears at its top right corner (on an older strip, only the share icon). Click it, then choose:

  • AirDrop — send the strip to a nearby device;
  • Save as… — save the strip as a file, named after the plan and the milestone (for example P-3-design-done.jpg).

What you share or save is the strip exactly as Zeus keeps it, mark included. From there you can post it wherever you like.

Where the files are

Zeus keeps each strip as a JPEG file on your Mac, one folder per plan: ~/Library/Application Support/Zeus/strips/P-n/, with the strips named m1.jpg, m2.jpg and so on, in the order they were drawn. zeus strips lists each one with the time the draw took and its file.