-
Notifications
You must be signed in to change notification settings - Fork 0
UserInterface
The Harpyx WebApp is organised around tenants, workspaces, projects, documents, and project chat. This page explains the main user-facing workflows and where each screen fits in the application.
For platform administration, see Admin Interface. For identity, roles, and tenant permissions, see Authentication and Authorization.
Authenticated users see the main navigation bar:
| Section | Purpose |
|---|---|
| Workspaces | Group projects inside the current tenant scope |
| Projects | Browse, filter, open, edit, and delete projects |
| Members | Manage tenant members when the current role allows it |
| API | Create and revoke personal API keys |
| Profile | Configure personal LLM providers and preferences |
| Admin | Platform administration, visible to platform admins |
Anonymous users see the public Help/introductory pages instead of the authenticated application menu.
The footer exposes layout preferences such as theme and page width. These preferences affect the browser experience and do not change project data.
Harpyx is tenant-aware. A user can belong to one or more tenants, and the current tenant scope determines which workspaces, projects, members, and documents are visible.
The account menu shows the signed-in user and current tenant context. Depending on permissions, users may switch tenant context or operate across all accessible tenants.
Practical effect:
- Workspaces and projects are filtered by tenant scope.
- Member management applies to the current tenant.
- Tenant roles decide whether the user can manage workspaces, projects, members, or read-only content.
- Platform admins bypass tenant checks for administration tasks.
Workspaces group projects inside a tenant. Use them to separate teams, customers, departments, use cases, or document domains.
From the Workspaces page, users with sufficient permissions can:
- create a workspace;
- edit workspace metadata;
- set workspace-level default Chat, RAG Embedding, and OCR model behavior;
- open or create projects inside a workspace;
- delete a workspace when allowed.
Workspace LLM settings act as defaults. Individual projects can inherit them or override them.
Projects are the main working unit in Harpyx. A project contains documents, prompt settings, chat history, and model overrides.
From the Projects page, users can:
- filter projects by tenant and workspace;
- sort by name, activity, document count, chat activity, or status;
- open a project dashboard;
- create or edit a project;
- delete a project when permissions allow it.
Project settings include:
- workspace assignment;
- name and description;
- lifetime and optional sliding expiration;
- Chat model override;
- RAG Embedding model override;
- OCR model override.
Changing the effective RAG Embedding model resets the project index and reindexes documents asynchronously so future queries use compatible vectors.
The Project Details page contains the document area. Users can upload files or add supported documents by URL when URL ingestion is enabled.
Harpyx validates uploads, optionally scans them with ClamAV, stores the original blob, extracts text, splits it into chunks, and prepares those chunks for retrieval.
Document states indicate where each file is in the pipeline:
| State | Meaning |
|---|---|
| Uploaded / Pending / Queued | The document was accepted and is waiting for processing |
| Processing | The Worker is extracting, chunking, embedding, or indexing it |
| Ready / Completed | The document is available for retrieval |
| Failed | Processing failed and may be retried when allowed |
| Quarantined | Malware scanning or policy checks blocked processing |
| Rejected | The upload was rejected by policy or security controls |
The document table lets users inspect file details, rename files, retry failed processing, delete files, and select which documents should be used as chat context.
Archives and container formats can be expanded recursively depending on platform settings and supported file types.
Project Chat is where users ask questions over selected project documents.
The chat workflow is:
- Select the documents that should provide context.
- Optionally adjust the System Prompt.
- Write the User Prompt.
- Select a model/provider when available.
- Send the request.
Harpyx retrieves relevant chunks from the selected documents and sends that context to the configured chat model. The answer is therefore grounded in project content instead of only relying on the model's general knowledge.
If no LLM provider is configured, the chat panel prompts the user to configure a provider in the Profile section or rely on platform-hosted models made available by admins.
Project Chat includes prompt libraries for System Prompts and User Prompts.
Use System Prompts for stable instructions such as:
- answer style;
- citation expectations;
- constraints;
- role or tone;
- allowed behavior.
Use User Prompts for reusable tasks such as:
- summarise selected documents;
- extract obligations;
- compare versions;
- identify risks;
- produce a checklist.
Saved prompts can be reused and marked as favourites.
The Profile section lets users manage personal LLM provider connections. Personal providers are bring-your-own credentials and are encrypted at rest.
Users can configure provider capabilities for:
- Chat;
- RAG Embedding;
- OCR.
Provider settings can include:
- provider family;
- display name;
- description and notes;
- API key;
- endpoint/base URL where required;
- model names;
- default capability preferences.
Personal providers are useful when users bring their own OpenAI, Anthropic Claude, Google Gemini, Azure OpenAI, Amazon Bedrock, or similar credentials. Platform-hosted models are managed separately by admins.
The API section lets users create and revoke personal API keys.
Each key has permissions. Users should grant only the permissions required for the integration, such as querying projects, uploading documents, deleting documents, creating projects, or creating workspaces.
API keys are shown once at creation time. Store them securely. If a key is lost, revoke it and create a new one.
API calls use:
Authorization: ApiKey <your-api-key>
See the in-app API documentation and Authentication and Authorization for the API access model.
The Members page is tenant-scoped. Users with the required tenant role can review tenant members and update tenant roles.
Tenant roles affect what a user can do inside that tenant. Personal tenants have additional protections to avoid accidentally transferring control of private user-owned spaces.
A typical user workflow is:
- Sign in.
- Confirm the current tenant.
- Create or open a workspace.
- Create a project.
- Upload documents.
- Wait for documents to become ready.
- Select relevant documents.
- Ask questions in Project Chat.
- Save reusable prompts where useful.
- Use API keys for integrations when needed.
For new users, the public Help pages provide a simplified overview of the same concepts from inside the application.