SCN Chat #
An AI assistant chat app where each conversation lives in a permissioned space on the user's own PDS, built to be forked and extended.
Extension #
Fork: A copy of this project that a programmer changes and runs as their own app. The web app is extended by changing a fork's code. Avoid: Web plugin, extension, customization
Plugin: A package installed with the server that adds to it, such as a model provider, a tool, or a turn hook. Avoid: Extension, add-on
Plugin instance: One plugin an admin has added in the admin area, with its own options. A plugin is added once, unless it allows several instances. Avoid: Plugin config, plugin entry
Tool: A capability a plugin offers that the model can call during a turn. Avoid: Function, action
Part view: The component that shows one kind of message part, chosen by the part's type. Avoid: Renderer, widget
Tool view: The component that shows one tool's call and result together, chosen by the tool's name. Avoid: Tool UI, tool renderer
Tool status: Where a tool call stands: running, done, error, or incomplete. Derived from the call, its result, and the message. Avoid: Tool state, phase
Steps: A run of consecutive reasoning parts and tool calls in one reply, shown folded together. Avoid: Tool group, chain of thought
Message action: A control under a message, like copy, edit, regenerate, or stop. Avoid: Message button, hover action
Access #
Role: A named group of users, held through explicit membership, a matching PDS host or handle domain, or a plugin's answer. Roles decide invites and admin models. Avoid: Group, permission
Viewer: A signed-in user without access to the chat app, who can only open chats shared with them. Avoid: Guest, read-only user
Turns #
Draft: What the user is writing in a composer, with its quotes, attachments, model, and effort, until it is sent. Avoid: Composer state, pending message
Fallback model: The model a turn runs with when it names none: the model last used on the branch, by the nearest reply or asked for by the nearest user message, whatever became of its reply, else the user's default model, else the admin's. Avoid: Default model (that is the user's preference), inherited model
Reply follower: What follows each pending reply in the open conversation until its final record arrives: it shows the reply's stream as it comes, and checks for the record when the stream can't tell. Avoid: Reply stream (that is the stream itself), live reply
Look #
Theme: The design tokens, for light and dark, that set the web app's look. Forkers and the designer edit it, and users only get the system's light or dark mode. Avoid: Skin, style, appearance