Data and updates
The ~/.ave layout, app updates, unsigned builds and the connections the app opens itself.
~/.ave
Only what several features share sits at the top. Everything else lives in a folder per feature, so one feature can be backed up or cleared as one folder.
- settings.json
- Permission settings, such as allowed folders. App settings live in ave-settings.json in Electron’s user-data folder.
- audit.log
- The HMAC-chained audit log
- secrets/
- Secret values
- plugins/
- Installed plugins and registry.json
- skills/
- Skills and their approvals
- sessions/
- Conversation sessions
Set AVE_HOME to move it.
App updates
- Ave never offers an older version as an update.
- You can skip a specific version.
- An update is not applied while a plugin is installing, and Ave asks before installing it.
An unsigned Mac build cannot replace itself. When you apply an update, Ave opens this site’s home page: download the new DMG there, replace the app, and clear the quarantine flag again.
Unsigned builds
Public builds are currently not code-signed or notarised. Windows shows “Unknown publisher” and a SmartScreen warning; macOS shows a Gatekeeper block. Download only from downloads.agent-connector.ai.
Connections the app opens by itself
Besides the providers, plugins and servers you connect, the app opens a few connections of its own: the update check, this site’s service document, and the model catalog refresh, which is on by default. These fixed sources grant plugins no additional access.
The model catalog refresh fetches context-window and output-limit metadata from models.dev. Endpoint reports and your settings also determine the effective limits. Usage pricing still uses the app’s existing price table and your overrides.
- Where
- Only https://models.dev/api.json, a public document. The interactive app checks at launch and hourly, but requests at most once a day; failed attempts count too. Headless runs send no refresh request.
- What is sent
- A GET with Accept: application/json and, when available, the previous ETag in If-None-Match. It carries no account, API key, session authentication, cookie, prompt, file or conversation. The server sees your IP address and ordinary transport headers, including the user agent and language header.
- How it is checked
- The host’s public-address guard refuses internal addresses, and redirects are refused. Certificate errors do not trigger a cleartext retry. Headers and body together must arrive within 15 seconds; the body is capped at 16 MB (16,777,216 bytes) after decompression. An invalid download leaves the usable catalog in place. At the next launch the app uses a verified cache no older than its bundled catalog, or the bundle. An explicit pin takes precedence.
- Cache
- Verified copies stay on your computer. At most five catalog files are kept, including the current and the preceding usable copy. An older hash pin may be evicted; for long-term reproducibility keep a separate catalog file and pin its absolute path. An unusable explicit pin prevents startup.
- Turning it off
- Settings → Model → Model catalog, turn off Refresh the catalog daily. An administrator can turn refresh off with { "modelCatalog": { "refresh": "off" } } in the system policy file; a malformed or unreadable policy also disables it. A launcher can pin AVE_MODEL_CATALOG to bundled, a kept copy’s sha256, or an absolute catalog-file path, which disables refresh too.
What the app reads from this site
Ave reads /.well-known/ave-service.json on this site to learn whether there are announcements and whether the service has moved. Announcements are at /announcements/v1.json.