Files
zeekay e981114824 chat: a signed-out reader asks the buying agent, and it routes them to pay
/chat signed out is the buying agent (components/sales/Guest, Agent): the
question the home composer carried in ?q= is asked of cloud's
POST /v1/ai/sales, the reply is drawn as text, and each next step the
server built is a control: a call (the lead is filed first, then the
calendar opens on it), the sign-up, a plan's card checkout, Add funds. A
quiet line says it is a limited preview and how many messages are left; at
the ceiling the sign-up takes the composer's place. A conversation's own
address still signs in, and a signed-in reader keeps the app.

/buying-specialist is the same agent; its keyword script, its typed prices
and its claims to see an account are gone. The model pages' no-key card is
the real lane, POST /v1/chat/public, not a guest key that answers 401.

Measured in the site's names: chat_started, cta_clicked {cta: kind, plan,
agent: sales}, sales_contacted. The floating privacy button is hidden as
room.css meant: the rule names its tag to outrank gui's atomic class.
2026-10-27 01:29:38 -07:00

26 lines
1002 B
TypeScript

import { Code } from '@/components/code'
import { GuestKeyBanner } from './GuestKeyBanner'
/**
* The no-key card: the one request that answers without an account, highlighted
* where the page is built (components/code). A server component: the model pages
* render it, and the card's copy control stays the client's.
*
* It is the public lane (`POST /v1/chat/public`, hanzoai/ai public_chat.go, served
* by cloud): no credential is sent and none is issued, the free pool answers
* whatever model the body names, and one address gets a few answers a day. A key
* from a free account is the way on.
*/
export function GuestKey({ title }: { title?: string }) {
const command = `curl https://api.hanzo.ai/v1/chat/public \\
-H "Content-Type: application/json" \\
-d '{"messages": [{"role": "user", "content": "hello"}]}'`
return (
<GuestKeyBanner
title={title}
command={command}
sample={<Code lang="bash" code={command} fontSize="$1" px={16} py={12} />}
/>
)
}