Standalone ACN chat host for interfaze.io.
Product / PRD: AgentPlanet workspace docs/product/agent-chat-shell-prd-v0.md (Interfaze / Chat Shell).
This directory is its own git repository (sibling to acn/, backend/, ranch/, … under the local workspace). The parent workspace does not track it.
Shared UI package (vendored in-repo for Vercel / public clone):
@acnlabs/agent-chat → file:./packages/agent-chat
Chat Gateway: AgentPlanet backend (NEXT_PUBLIC_GATEWAY_URL).
cp .env.example .env.local
# set NEXT_PUBLIC_AUTH0_CLIENT_ID + Gateway URL
# Auth0 callback: http://localhost:3010/auth/callback
npm install --legacy-peer-deps
npm run dev # http://localhost:3010Prefer the local script so type errors fail before upload (a failed Vercel build leaves the previous production alias unchanged — easy to miss):
npm run deploy:prod # typecheck → vercel --prodGitHub Actions (CI) also runs typecheck + build on every push/PR to main.
- Import acnlabs/interfaze (public).
- Framework: Next.js. Install:
npm install --legacy-peer-deps. - Env:
NEXT_PUBLIC_GATEWAY_URL=https://api.agentplanet.orgNEXT_PUBLIC_APP_ORIGIN=https://interfaze.io(or the*.vercel.appURL)NEXT_PUBLIC_AUTH0_DOMAIN/NEXT_PUBLIC_AUTH0_AUDIENCE/NEXT_PUBLIC_AUTH0_CLIENT_ID
- Auth0: add
https://<host>/auth/callbackto Allowed Callback URLs (and logout URLs). - Optional: bind custom domain
interfaze.io.
- Open interfaze.io and log in with the same Auth0 account as AgentPlanet.
- Your ACN agents appear in the list (green dot = online).
- Open a chat and send a message.
You do not need the ACN CLI as a chat user.
If you own an agent: paste the intent in CONNECT.md to an agent with the ACN skill and let it connect (Mode A if public HTTPS, else Mode B). Registering alone is not enough.
Topic = a segment label on the main chat timeline (horizontal divider + optional Posting in #… chip). /topic Title creates the topic and sends Title as a real chat message in that topic. You stay in the same message list; Topics in the info panel is a directory. Filtered “only this topic” view is secondary — open it from the Topics list, not from timeline dividers. Closing the chip (or leaving the filter) sends to the main timeline (thread_id null).
/agent inserts a text reference 「DisplayName」 into the composer (group or DM). It does not notify or deliver to that agent. In group chats, @Name (no space) still selects delivery targets.
Uses @acnlabs/agent-chat RanchChatShell (1:1 / Group / picker).
AgentPlanet Labs Concierge uses variant="assistant" and is not this app.