Client Assistant
The Client Assistant is an AI chat popup available inside HSYCO projects. It is opened by project UI objects configured with the ai-assistant action.
See the Assistant overview for common chat, session, upload, download, and file cache behavior.
Opening the Client Assistant from a project
Add a button, navigation item, image, or another supported clickable object to the project and set its action to ai-assistant.
For example, with a button object:
| Attribute | Value |
|---|---|
action | ai-assistant |
profile | configured AI profile id, for example support-assistant |
model | advanced (default), base, or both |
The profile attribute selects the configured AI profile used by the popup. The profile must be enabled for users and authorize the current user.
The optional model attribute controls which stable model tiers the chat can use and defaults to advanced. Select only base or advanced to lock the chat to that tier. Select both to show an Advanced switch in the chat composer; when the switch is off, the chat uses Base. HSYCO resolves the selected tier to the profile's current exact provider model.
See also:
Client context
The Client Assistant receives limited context from the active project page. It can inspect readable objects on the current page, such as:
- objects connected to datapoints;
- tables;
- objects backed by datasources;
- datalogger objects and timelines.
The Assistant can also use the currently focused object when available.
For tables, the ambient context contains compact status rather than row samples. When a question depends on table data, the Assistant can inspect the current filtered and sorted view with the same displayed values and visible columns shown to the user. Row value arrays align with the returned column metadata. The Assistant can page through that view or explicitly request the literal scroll viewport, selected rows, unfiltered rows, source order, hidden columns, or raw values. Table status also includes selection counts, footer summaries, and an active inline-edit value.
Raw client datasource data and server datasource queries are separate sources. They are useful for canonical source-level analysis, larger ranges, and aggregation, but they can differ from a table because the table may apply client-side data, filtering, sorting, formatting, selection, or a loaded subset.
Selecting object context
The Client Assistant composer includes an object context button. Use it to select a specific object from the current page and attach it to the next message.
Selected object tags tell the assistant which object should be treated as the primary context for that turn. This is useful when a page contains several similar datapoints, tables, or charts.
Tool access
The Client Assistant has a server-enforced read-only tool set. It can inspect the current client page context, selected object details, table or datasource rows, datalogger context, general documentation, the HSYCO catalog, selected runtime state and history, uploaded files, and create downloadable files.
It cannot load or invoke Manager Project Editor, Code Editor, source, event-editing, code-execution, configuration/session-inspection, or runtime-control tools. The shared Assistant endpoint validates the requested surface and enforces profile, tool, and session permissions on the server. Existing sessions cannot change surface.
See Assistant Tools for the complete list of Client Assistant tool bundles and tools.
Live voice in a chat
The Live Mode attribute defaults to true for Assistant objects and buttons that open the Assistant. Set it to false to hide voice controls. The attribute appears only for profiles that support Live (currently direct OpenAI).
With a supported direct OpenAI profile and Live Mode enabled, select the Start voice icon button in the composer to talk in the current normal chat. Allow microphone access when prompted. You can keep typing while Live is connected; the same Assistant history and profile permissions apply to spoken and typed requests.
The normal model selector chooses the backend thinking model (Base/Advanced in the Client). Changes apply to subsequent requests without restarting voice. Live uses the preferred compatible voice model from the catalog, independently of the thinking model.
Captions are hidden by default. Use Show captions or Hide captions to toggle their display above the composer. The voice controls use icon buttons with tooltips. Mute pauses your microphone while allowing playback; End Live ends voice and keeps the chat and any backend work. Live also ends automatically after one minute of silence while the thinking model is idle; the chat remains open. Closing the panel, changing chats, or changing the profile also stops voice capture. If the browser blocks playback, select Play audio. Microphone access requires HTTPS or localhost.
Live uses the profile's existing tools and restrictions. Full backend results remain in the chat. Voice duration is billed separately from backend model usage and included in the session cost; final usage can be incomplete after an unexpected disconnect. Reconnecting restores bounded recent context, not a live audio connection across page reloads.
Uploads and downloads
Client Assistant uploads are scoped to the active Client Assistant session. Uploaded file tags stay in the composer until they are sent or removed.
When the assistant creates a file, the response shows an inline download link for the generated filename.
See File cache for upload and generated download retention.
Differences from the Manager Assistant
The Client Assistant is intended for project users and page-specific help. It sees the current project page and selected object context.
The Manager Assistant is intended for administrators and developers. It has broader access to Manager tools, Project Editor context, Code Editor context, runtime state, and editing actions.