ATProto-based AI Assistant Chat interface.

A model resolved for a conversation gets a session ID, the first 32 hex characters of the SHA-256 of the conversation's URI, so a provider can keep a conversation's calls together without learning the user's DID. ModelAccess carries it as session, and GenerateTextRequest takes the conversation to derive it from, which the titles plugin passes. The OpenAI-compatible plugin takes an optional sessionHeader that carries it, such as x-opencode-session, which OpenCode Go refuses requests without, and an optional userAgent in place of the SDK's. Both apply to the endpoint's model list too.


Author pouriade.com
Date Commit Parent d1db3422
+140 -29
15 changed files
+140 -29
15 changed files