Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,6 @@ build/
.DS_Store
# Raw generated mascot art (34 MB); only the processed sprites in Resources/Mascots are needed. Regenerate with scripts/gen-mascots.sh.
Sources/AgentNotch/Resources/mascots-raw/

# Local Wrangler state (account id, caches); never commit it.
.wrangler/
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ make run # run the binary
- UI strings go through `L("English text")`. Add the Spanish and German translations in `packaging/locales/<lang>.lproj/`
and run `python3 scripts/check-strings.py` (CI runs it too).
- Keep the layers as they are: `Domain` knows nothing about UI or networking, `Infrastructure` talks to the system.
- The server must stay loopback-only and the app must not make network requests.
- The server must stay loopback-only. The app makes no network requests except the optional Vercel connection, which must stay off by default, hidden until configured, started only by an explicit user action, and documented in the README of every language.
- Use [conventional commits](https://www.conventionalcommits.org/) (`feat:`, `fix:`, `docs:`, `chore:`).
- Do not commit secrets, certificates, or personal paths. Never include a notarization password or profile.

Expand Down
10 changes: 9 additions & 1 deletion README.de.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

Agent Notch macht den Notch des MacBooks zu einem Live-Dashboard für Ihre KI-Coding-Agenten. Sie sehen, was jeder Agent gerade tut, verfolgen seine Aufgabenliste Schritt für Schritt und **erlauben oder verweigern** Berechtigungsanfragen, ohne Ihre aktuelle Arbeit zu verlassen. Wenn ein Agent fertig ist, sehen Sie seine Antwort; wenn er Sie braucht, sagt der Notch es Ihnen.

Alles läuft lokal, der Server lauscht nur auf `127.0.0.1`, und es werden keine Daten irgendwohin gesendet.
Alles läuft lokal und der Server lauscht nur auf `127.0.0.1`. Deine Agent-Aktivität wird nirgendwohin gesendet: Die einzige ausgehende Anfrage der App ist die optionale Vercel-Verbindung weiter unten, und nur nachdem du sie selbst gestartet hast.

> Die App erscheint je nach Systemsprache auf Englisch, Spanisch oder Deutsch, oder in der Sprache, die im Menüleistenelement gewählt wird (Sprache). Die Screenshots in dieser README zeigen die englische Oberfläche (Allow, Deny, Copy reply, Your turn …); auf Deutsch heißen sie Erlauben, Verweigern, Antwort kopieren und Sie sind dran.

Expand Down Expand Up @@ -126,6 +126,14 @@ Während der Arbeit zeigt Gentle Shell auch die Phase, die es mit `gentle_odd_ph

</details>

### Vercel-Deployments (optional)

Agent Notch kann Produktions-Deployments der Vercel-Projekte anzeigen, die deine Integration sieht. Es ist ausgeschaltet, bis du **Connect Vercel…** wählst: davor ist der Menüeintrag verborgen und die App stellt keine Netzwerkanfragen.

Beim Verbinden legt die App eine Geräte-Anmeldeinformation im Schlüsselbund ab und spricht nur mit dem Agent-Notch-Worker. Der Worker verwahrt das Client Secret der Integration und tauscht es gegen ein Vercel-Token mit Lesezugriff auf Deployments; dieses Token erreicht deinen Mac nie. Die App fragt ausschließlich Lesezugriff auf Deployments an und sendet keine Prompts, keinen Code, keine Sitzungsdaten und keine Dateipfade.

**Disconnect** entfernt die lokale Anmeldeinformation. Um auch den Zugriff der Integration zu widerrufen, entferne sie in Vercel; der Dialog sagt es. Deployment-Benachrichtigungen sind standardmäßig aus und kommen, wenn aktiviert, lautlos.

## Kompatibel mit

| | Claude Code | Codex CLI | Pi / Gentle Shell |
Expand Down
10 changes: 9 additions & 1 deletion README.es.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

Agent Notch convierte el notch del MacBook en un panel en vivo para tus agentes de programación con IA. Ve qué está haciendo cada agente, sigue su lista de tareas paso a paso y **permite o deniega** las solicitudes de permiso sin salir de lo que estás haciendo. Cuando un agente termina, ves su respuesta; cuando te necesita, el notch te lo indica.

Funciona en local, solo escucha en `127.0.0.1` y no envía nada a ningún sitio.
Funciona en local y solo escucha en `127.0.0.1`. Nunca envía tu actividad de agentes a ningún sitio: la única petición saliente que puede hacer la app es la conexión opcional a Vercel de abajo, y solo después de que la inicies tú.

> La app se muestra en español, inglés o alemán según el idioma del sistema, o el que elijas en el ítem de la barra de menús (Idioma). Las capturas de este README muestran la interfaz en inglés (Allow, Deny, Copy reply, Your turn…); en español son Permitir, Denegar, Copiar respuesta y Tu turno.

Expand Down Expand Up @@ -126,6 +126,14 @@ Mientras trabaja, Gentle Shell también muestra la fase que reporta con `gentle_

</details>

### Deployments de Vercel (opcional)

Agent Notch puede mostrar los despliegues de producción de los proyectos de Vercel que vea tu integración. Está apagado hasta que elijas **Connect Vercel…**: antes de eso el ítem del menú está oculto y la app no hace ninguna petición de red.

Al conectar, la app guarda una credencial de dispositivo en el Llavero y habla solo con el Worker de Agent Notch. El Worker custodia el client secret de la integración y lo canjea por un token de Vercel con permiso solo de lectura de deployments; ese token nunca llega a tu Mac. La app pide únicamente acceso de lectura a deployments y no envía prompts, código, datos de sesión ni rutas de archivos.

**Disconnect** borra la credencial local. Para revocar también el acceso de la integración, elimínala en Vercel; el diálogo lo indica. Las notificaciones de deployments están apagadas por defecto y, cuando se activan, llegan en silencio.

## Compatible con

| | Claude Code | Codex CLI | Pi / Gentle Shell |
Expand Down
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

Agent Notch turns the MacBook notch into a live dashboard for your AI coding agents. See what each agent is doing, follow its task list step by step, and **Allow / Deny** permission requests without leaving what you are working on. When an agent finishes, you see its answer; when it needs you, the notch says so.

It runs locally, listens only on `127.0.0.1`, and never sends anything anywhere.
It runs locally and listens only on `127.0.0.1`. It never sends your agent activity anywhere: the only outbound request the app can make is the optional Vercel connection below, and only after you start it yourself.

## What you get

Expand Down Expand Up @@ -124,6 +124,14 @@ While it works, Gentle Shell also shows the phase it reports with `gentle_odd_ph

</details>

### Vercel deployments (optional)

Agent Notch can show production deployments from the Vercel projects your integration can see. It is off until you choose **Connect Vercel…**: before that the menu item is hidden and the app makes no network requests.

When you connect, the app keeps a device credential in the Keychain and talks only to the Agent Notch Worker. The Worker holds the integration's client secret and exchanges it for a Vercel token scoped to reading deployments; that token never reaches your Mac. The app asks for deployment read access only and sends no prompts, code, session data or file paths.

**Disconnect** removes the local credential. To revoke the integration's access as well, remove it in Vercel; the dialog says so. Deployment notifications are off by default and, when enabled, arrive silently.

## Works with

| | Claude Code | Codex CLI | Pi / Gentle Shell |
Expand Down
73 changes: 73 additions & 0 deletions docs/release-0.3.4.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
## Agent Notch 0.3.4

Production deployments from Vercel can now appear in the notch, quietly and only if you connect
them.

### What's new

- **Vercel deployments (optional).** Choose **Connect Vercel…** in the menu bar, authorize the
integration, and the notch starts showing your production deployments. While a build runs you get
a small Vercel badge with a state dot when the notch is otherwise idle; project, repository,
commit and author are in the expanded list, one hover away. It stays completely off, and hidden,
until you connect.
- **Silent by default.** Deployment notifications are off unless you enable them, and when enabled
they are passive: no sound, no interrupting banner.
- **A quiet notch.** A deployment never resizes or shifts the notch. The collapsed width comes from
agent activity only.

### What changed

- The collapsed `n/m` step strip is gone. Step progress is still in the expanded list, so the
collapsed notch no longer grows to show it. If you relied on it, this is the one visible
regression in this release.
- Notifications about a deployment that finished while the app was closed are no longer announced;
only transitions observed while it runs notify.
- The app no longer sends anything anywhere without your action: the single outbound request it can
make is the Vercel connection you start yourself. The privacy section of the README says exactly
what leaves the Mac and what does not.

### What's fixed

- Connecting a personal Vercel account works: the token exchange returns no team, and the Worker no
longer rejects it.
- A redirect from the authorization endpoint is refused instead of leaving an opaque Cloudflare
error page.
- An expired or revoked Vercel token now asks you to reconnect instead of showing a generic network
failure.

### Upgrading from 0.3.3

Quit Agent Notch, replace the app in Applications, and reopen it. The hook bridge, the installer and
the Pi extension are unchanged. Vercel stays disconnected until you connect it.

### Install

1. Download `AgentNotch-0.3.4.dmg`, drag **Agent Notch** to Applications.
2. This build is **not notarized**: the first time, try to open it, then go to
**System Settings → Privacy & Security**, scroll down to *Security*, click **Open Anyway** and
confirm.
3. Click **Connect** when the app offers it (or choose **Connect agents…** from the menu bar item).
4. Restart any running Claude Code / Codex / Pi session.
5. Optional: choose **Connect Vercel…** and authorize. Only production deployments of the projects
your integration can see are read.

On macOS 14 the installer needs `jq` (`brew install jq`); macOS 15 and later include it.

### Known limitations

- Not notarized yet (see above).
- The Vercel integration is not listed publicly. Connecting uses the Agent Notch integration; if you
fork the project, deploy your own Worker and register your own integration
(`integrations/vercel-worker/README.md`).
- Disconnecting removes the local credential but does not revoke the token in Vercel; remove the
integration in Vercel for that.
- Gentle Shell phase poses require explicit `gentle_odd_phase` reports.
- Codex task-list rendering remains untested on real runs.

### Checksum

SHA-256 for `AgentNotch-0.3.4.dmg`:

```text
7f385526d10f80269676023e711c2a5830eb9fae79884d5a1528934146337876 AgentNotch-0.3.4.dmg
```
4 changes: 2 additions & 2 deletions packaging/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
<key>CFBundleExecutable</key><string>AgentNotch</string>
<key>CFBundleIconFile</key><string>AppIcon</string>
<key>CFBundlePackageType</key><string>APPL</string>
<key>CFBundleShortVersionString</key><string>0.3.2</string>
<key>CFBundleVersion</key><string>6</string>
<key>CFBundleShortVersionString</key><string>0.3.4</string>
<key>CFBundleVersion</key><string>8</string>
<key>LSMinimumSystemVersion</key><string>14.0</string>
<key>LSUIElement</key><true/>
<key>NSHighResolutionCapable</key><true/>
Expand Down
Loading