Commit Graph
76 Commits
Author SHA1 Message Date
Xin Wang 1902ffc240 Merge branch 'main' of https://gitea.xiaowang.eu.org/wx44wx/ai-video-fullstack 2026-08-04 20:19:01 +08:00
Eric Wang 6957cf9b6c feat: enhance mobile call page with animated ripple effect
Added a new animation for the "开始通话" button on the mobile call page, providing a visual ripple effect to improve user experience. Adjusted layout for better clarity and responsiveness.
2026-08-04 17:31:58 +08:00
Xin Wang 74a8be2357 refactor: unify system tools as resources 2026-08-04 17:05:26 +08:00
Eric WangandCursor d1b05f16c7 fix: compact list pagination and refine mobile call UX
Show ellipsis page controls when lists grow large, and make mobile call start manual with clearer hangup layout and assistant name.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-04 16:53:25 +08:00
Xin Wang 731a372df9 feat: add system tools and state updates 2026-08-04 15:27:39 +08:00
Xin Wang 5bf5987fe4 feat: add prompt opening behavior modes 2026-08-04 13:29:21 +08:00
Xin Wang 78bba090a2 feat: separate prompt opening and entry behavior 2026-08-04 12:21:07 +08:00
Xin Wang cff591aa13 feat(frontend): embed prompt dynamic variables section 2026-08-03 10:46:56 +08:00
Xin Wang 9daa46ed4d feat: add deterministic message interaction stages 2026-08-03 07:10:41 +08:00
Xin Wang 0331f8cd07 feat: add prompt startup actions and shared vision config 2026-08-01 23:31:14 +08:00
Xin Wang ad5ff061bb feat: add session-scoped client tool waits 2026-07-31 23:53:47 +08:00
Xin Wang f155f98e6e feat: add workflow action runtime policies 2026-07-31 23:30:04 +08:00
Xin Wang c2f0f5eb04 feat: add session updates and message dialogs 2026-07-31 00:01:01 +08:00
Xin Wang 913435785e feat: add configurable client tools and photo input 2026-07-30 19:06:03 +08:00
Xin Wang 5ef376b657 refactor(workflow): streamline workflow settings management
- Introduced new utility functions `settingsFromWorkflowGraph` and `workflowGraphWithSettings` to encapsulate settings extraction and graph updates.
- Updated `useWorkflowEditorState` to utilize the new utility functions for improved clarity and maintainability.
- Refactored `AssistantPage` and `WorkflowCanvas` components to leverage the new settings management functions, ensuring consistent handling of workflow settings across the application.
- Removed redundant settings handling code, enhancing overall code cleanliness.
2026-07-29 15:09:00 +08:00
Xin Wang f027ed99b7 feat(mcp): enhance MCP transport support and add server management UI
- Extend McpTransport to support "sse" in schemas.
- Refactor McpToolClient to handle both "streamable_http" and "sse" transports.
- Introduce McpServerDialog for managing MCP server configurations, including transport settings and tool synchronization.
- Replace McpServersSection with the new dialog component for improved server management.
- Add tests for MCP transport handling and server dialog functionality.
2026-07-19 12:04:11 +08:00
Xin Wang c54dac403b Refactor AssistantPage to streamline agent platform handling
- Remove the draftAgentPlatform state and related logic, simplifying the creation process for assistant types.
- Default the agent platform to "dify" when creating an assistant of type "智能体平台".
- Replace the platform selection buttons with a ResourceSelectField for improved user experience and maintainability.
- Update the confirmType function to reflect the changes in platform handling.
2026-07-19 10:28:35 +08:00
Xin Wang cd319d27b9 merge: add workflow vision configuration 2026-07-18 00:10:28 +08:00
Xin Wang 28c6380d8a feat(workflow): add per-agent vision configuration 2026-07-18 00:00:28 +08:00
Xin Wang e39bb48ba8 feat: add MCP tool integration 2026-07-18 00:00:06 +08:00
Xin Wang 34c0d12d2a Refactor AssistantPage component to support agent platform integration
- Remove unused FastGpt and Dify form types, consolidating them into a single AgentPlatformForm.
- Update type definitions and state management to accommodate the new agent platform structure.
- Modify functions to handle agent platform forms and ensure proper integration with existing workflows.
- Enhance assistant type options and update related logic for improved clarity and maintainability.
2026-07-17 20:03:01 +08:00
Xin Wang 6e8fc70c5a Refactor pipeline and assistant page components for improved structure and performance
- Remove unused imports and classes from pipeline.py to streamline the codebase.
- Consolidate dynamic variable handling and workflow management in AssistantPage, enhancing clarity and maintainability.
- Update WorkflowEditor to utilize a more modular approach, improving the overall architecture and reducing complexity.
- Enhance the import structure across components for better organization and readability.
2026-07-14 12:59:41 +08:00
Xin Wang f74040adf3 Enhance conversation history and runtime variable management
- Update ConversationRecorder to include source and nodeId metadata in transcripts for better context tracking.
- Introduce optional variable handling in DynamicVariableStore, allowing for unset variables to be rendered as empty without raising errors.
- Refactor WorkflowBrain to apply turn configurations and manage interaction policies dynamically, improving agent responsiveness.
- Implement tests to ensure proper handling of updated session variables and workflow metadata in various scenarios.
2026-07-14 11:08:11 +08:00
Xin Wang 72856bf3a7 Enhance workflow routing and agent configuration management
- Introduce WorkflowLLMRouter for pre-response LLM routing, allowing agents to determine the appropriate function to call based on user input.
- Implement UserTurnRoutingProcessor to manage user turns before reaching the LLM, ensuring proper routing and handling of user messages.
- Refactor WorkflowBrain to integrate new routing logic and enhance agent stage configuration, including entry modes and resource management.
- Update service factory to support dynamic LLM resource configuration based on workflow settings.
- Add tests for new routing functionality and ensure proper handling of user messages in various scenarios.
2026-07-14 09:36:28 +08:00
Xin Wang 32aef14ddb Add workflow support and enhance runtime configuration in models and services
- Introduce RuntimeModelResource and RuntimeKnowledgeBase classes to manage workflow resources.
- Update AssistantConfig to include workflow_model_resources and workflow_knowledge_bases for better integration.
- Refactor validation and processing logic in routes and services to accommodate workflow types.
- Implement dynamic variable support for workflow assistants and enhance graph normalization.
- Add ToolExecutor for reusable tool execution across different assistant types.
- Update various services to ensure compatibility with new workflow features and improve error handling.
2026-07-13 16:13:27 +08:00
Xin Wang 8c7e0f0ee7 Update LoginPage placeholder text and refine MobileCallPage styling
- Change the placeholder text in LoginPage from "admin" to "请输入用户名" for better localization.
- Adjust the styling of the floating video panel in MobileCallPage to improve responsiveness and maintain aspect ratio across different screen sizes.
2026-07-13 08:14:00 +08:00
Xin Wang bd2f156cca Refactor login functionality and enhance MobileCallPage positioning
- Update LoginPage to initialize username state as an empty string for improved user experience.
- Introduce floatingVideoRef in MobileCallVisualWorkspace to dynamically manage video panel positioning.
- Adjust position calculations for the floating video panel to account for its dimensions, enhancing drag-and-drop functionality and ensuring proper placement within the viewport.
2026-07-13 08:08:00 +08:00
Xin Wang 313387778a Enhance MobileCallPage with video functionality and improved view management
- Update CallView type from "camera" to "video" for clarity.
- Introduce MobileVideoSurface component to handle video stream rendering.
- Implement MobileCallVisualWorkspace for managing chat and video views with drag-and-drop functionality for the video panel.
- Refactor state management to streamline view transitions between chat and video modes.
- Enhance network metrics handling in useVoicePreview for better performance monitoring during calls.
2026-07-13 08:01:39 +08:00
Xin Wang a25b149f65 Refactor AssistantPage and DebugVoicePanel for improved view management
- Remove the SegmentedIconGroup for view selection and streamline view handling in DebugDrawer.
- Introduce DebugVisionWorkspace component to manage video and chat views more effectively.
- Update DebugVoicePanel to accept onViewChange prop for better view state management.
- Enhance video handling with dynamic positioning and drag functionality for the floating video panel.
2026-07-13 07:18:22 +08:00
Xin Wang fd57f34a55 Refactor camera handling and video stream management in Assistant and MobileCall pages
- Remove direct camera start/stop calls and replace them with streamlined video stream handling.
- Update DebugVideoPanel to accept a streamOverride for better flexibility in video source management.
- Adjust MobileCallPage to utilize the new videoStream state, enhancing the call experience.
- Introduce videoStream state management in useVoicePreview for improved media handling during voice interactions.
2026-07-13 07:05:06 +08:00
Xin Wang deaf3d7730 Add dynamic variable support to Assistant model and related components
- Introduce dynamic variable definitions in AssistantConfig and Assistant models, allowing for flexible prompt customization.
- Implement validation for dynamic variable names and types in the schema.
- Update backend services and routes to handle dynamic variables in assistant configurations and runtime processing.
- Enhance frontend components to support dynamic variable definitions, including a new editor for managing variables.
- Add tests to ensure proper functionality and validation of dynamic variables in various scenarios.
2026-07-12 23:42:56 +08:00
Xin Wang 7c9a18c806 Add knowledge retrieval configuration to Assistant model and related components
- Introduce new fields for knowledge retrieval configuration in AssistantConfig and Assistant models, including mode, top_n, and score_threshold.
- Implement KnowledgeRetrievalConfig schema with validation for top_n.
- Update backend services and routes to handle knowledge retrieval settings.
- Enhance frontend components to support knowledge retrieval configuration, including a new dialog for advanced settings.
- Add tests for knowledge retrieval configuration validation and description generation.
2026-07-12 18:57:56 +08:00
Xin Wang 0536930fde Enhance ComponentsKnowledgePage with improved dialog content and layout
- Add DialogDescription components to provide context in the settings and search dialogs.
- Refactor layout for better spacing and organization of form elements in the settings dialog.
- Update search results display to improve user experience with clearer messaging and styling.
- Introduce footer buttons for closing dialogs, enhancing user interaction.
2026-07-12 18:26:34 +08:00
Xin Wang 5d52ce8380 Implement knowledge base page routing and enhance ComponentsKnowledgePage
- Update the main knowledge page to support a list mode.
- Add new pages for creating and editing knowledge bases, utilizing the ComponentsKnowledgePage component with appropriate modes.
- Introduce a new API method for retrieving knowledge base details by ID.
- Enhance the ComponentsKnowledgePage to handle different modes (list, create, edit) and improve user interaction with knowledge bases.
2026-07-12 18:02:24 +08:00
Xin Wang de58f30014 Enhance knowledge base functionality and integrate S3 storage support
- Add new models for `KnowledgeDocument` and `KnowledgeChunk` to manage document ingestion and chunking.
- Implement S3-compatible storage integration for knowledge documents, allowing for file uploads and retrieval.
- Introduce API endpoints for managing knowledge bases and documents, including creation, deletion, and searching.
- Update frontend components to support knowledge base configuration and document management, improving user interaction.
- Enhance backend services for knowledge processing and retrieval, ensuring robust handling of document statuses and errors.
2026-07-12 13:58:47 +08:00
Xin Wang 01c563a3e7 Add turn configuration support for assistants
- Introduce a new `turnConfig` field in `AssistantConfig` and `Assistant` models to manage user interaction settings.
- Implement `TurnConfig`, `BargeInConfig`, `VadConfig`, and `TurnDetectionConfig` schemas to define turn management strategies.
- Update the backend to handle turn configuration in the database and during assistant operations.
- Enhance frontend components with a `TurnConfigEditor` for configuring turn settings, including VAD and barge-in strategies.
- Modify existing pages to integrate turn configuration, improving user experience and interaction capabilities.
2026-07-12 11:08:19 +08:00
Xin Wang 80d59fddc6 Update MobileCallPage and useVoicePreview to handle call end state
- Introduce a new state variable `callEnded` in `useVoicePreview` to manage call termination more effectively.
- Modify `MobileCallPage` to adjust the `inCall` condition based on `callEnded`, ensuring accurate UI updates during and after calls.
- Update rendering logic to display appropriate messages based on call status, enhancing user feedback during call transitions.
- Refactor button visibility to only show when in an active call, improving user interface clarity.
2026-07-10 22:48:40 +08:00
Xin Wang bb71d28721 Enhance MobileCallPage functionality with camera view reset and chat transcript condition
- Update the effect to reset the view to "camera" when the call status is "idle" or "failed", improving user experience during call interruptions.
- Modify the rendering condition for the MobileCallTranscript to only display when inCall is true, ensuring chat messages are shown appropriately during active calls.
2026-07-10 17:06:57 +08:00
Xin Wang 8c0358ad91 Add tool duplication functionality and enhance ComponentsToolsPage
- Implement a new API endpoint for duplicating tools in the backend.
- Add a duplicate_tool function in ComponentsToolsPage to handle tool duplication requests.
- Update the UI to include a dropdown menu option for duplicating tools, improving user experience.
- Refactor the remove function to accept a resource object instead of an ID for better clarity and maintainability.
2026-07-10 16:45:51 +08:00
Xin Wang ba59ea447c Add conversation deletion functionality and update HistoryPage
- Implement a new API endpoint for deleting conversations in the backend.
- Enhance the HistoryPage component to include a dropdown menu for conversation actions, allowing users to delete conversations.
- Update the pagination logic to handle conversation removal and improve user experience during deletion.
- Adjust the loading state and error handling for the delete operation, ensuring smooth interaction.
2026-07-10 16:38:59 +08:00
Xin Wang 059ad8162e Add conversation history management and API endpoints
- Introduce new database models for conversation sessions, messages, and artifacts to support conversation history tracking.
- Implement API routes for listing conversations and retrieving detailed conversation data, enhancing user interaction with historical records.
- Add a conversation recorder service to persist conversation messages in real-time without disrupting ongoing calls.
- Update the frontend to display conversation history, including filtering and sorting options, improving user experience.
- Enhance the pipeline to integrate conversation history recording seamlessly during interactions.
2026-07-10 16:25:06 +08:00
Xin Wang 5705726cfb Add Network Quality Indicator component and integrate into Assistant and Mobile Call pages
- Introduce a new `NetworkQualityIndicator` component to visually represent network quality status during calls.
- Integrate the `NetworkQualityIndicator` into `AssistantPage` and `MobileCallPage`, enhancing user awareness of connection quality.
- Update `use-voice-preview` hook to manage network quality metrics, improving overall call experience and performance monitoring.
2026-07-10 15:25:26 +08:00
Xin Wang 2a002697aa Enhance MobileCallPage with chat transcript feature
- Introduce a new `MobileCallTranscript` component to display chat messages during calls, improving user interaction.
- Implement message timestamp formatting and automatic scrolling for better usability.
- Add a toggle button to switch between camera view and chat view, enhancing the user experience during calls.
- Refactor the layout of the `MobileCallPage` to accommodate the new chat functionality while maintaining existing video call features.
2026-07-10 14:56:34 +08:00
Xin Wang dc2a7484bb Enhance audio and video device selection in MobileCallPage
- Refactor `CallDeviceSelect` to `CallAudioDeviceSelect`, allowing simultaneous selection of microphone and output devices.
- Introduce dropdown menus for selecting audio input and output devices, improving user experience.
- Update `useVoicePreview` hook to manage audio output devices, including support for selecting and applying output devices.
- Modify `MobileCallPage` to integrate new device selection components, ensuring seamless audio and video call functionality.
2026-07-10 11:09:44 +08:00
Xin Wang 3ed9e1b388 Add reusable tools and assistant bindings
- Introduce a new `Tool` model and `AssistantToolBinding` for managing reusable tools within the application.
- Implement CRUD operations for tools in the new `tools` route, allowing for the creation, retrieval, updating, and deletion of tools.
- Update the `Assistant` model to include a list of tool IDs, enabling assistants to utilize these tools.
- Enhance the backend routes to synchronize tool bindings with assistants, ensuring proper management of tool associations.
- Add frontend components for tool management, including a tool picker in the assistant configuration, improving user experience in tool selection.
- Create a mobile call page to facilitate video calls, integrating camera and microphone selection for enhanced communication capabilities.
- Update API definitions to include tool-related types and operations, ensuring consistency across the application.
- Add a migration script to create the necessary database tables for tools and bindings, supporting the new functionality.
2026-07-10 10:05:41 +08:00
Xin Wang 195579c5b7 Refactor DynamicField component to simplify password input handling
- Remove the showPassword state and associated logic for toggling password visibility.
- Streamline the password input to always use type "password" and directly handle value changes.
- Update placeholder text for clarity while maintaining existing functionality for stored values.
2026-07-09 17:32:41 +08:00
Xin Wang 54329aa516 Add Agent capabilities and configurations across the application
- Extend the AssistantConfig model to include agent_interface_type, agent_values, and agent_secrets for enhanced agent management.
- Update ModelType to include "Agent" for broader capability support.
- Seed new agent models and configurations in the database for Dify, FastGPT, and OpenCode applications.
- Modify the Assistant routes to validate and handle agent capabilities.
- Implement agent resource resolution in the config resolver for runtime configuration.
- Enhance the interface catalog with agent-specific fields and definitions.
- Update frontend components to manage agent configurations, including form handling and state management for agent-related inputs.
2026-07-09 15:29:25 +08:00
Xin Wang 5f71bf1681 Add vision model support and related configurations in Assistant
- Introduce new fields in AssistantConfig, schemas, and database models to support vision capabilities, including `vision_enabled` and `vision_model_resource_id`.
- Enhance validation logic in routes to ensure proper handling of vision models and their requirements.
- Update the AssistantPage and related frontend components to include options for enabling vision understanding and selecting appropriate vision models.
- Modify database seed scripts to include vision-related data for assistants, ensuring consistent setup.
- Refactor related functions to integrate vision model handling in the audio-visual processing pipeline.
2026-07-07 21:50:15 +08:00
Xin Wang c51a70e134 Enhance DebugDrawer and DebugVoicePanel with unsaved changes handling
- Add `hasUnsavedChanges` prop to `DebugDrawer` to indicate unsaved changes in the AssistantPage.
- Update `DebugVoicePanel` to display appropriate messages and disable actions when there are unsaved changes.
- Refactor related components to ensure consistent handling of unsaved changes across the AssistantPage, improving user experience during interactions.
2026-07-07 20:16:30 +08:00
Xin Wang c5db918830 Add support for image input in model resources and enhance related configurations
- Introduce a new `support_image_input` field in model resources, allowing models to indicate support for image input.
- Update the backend models, schemas, and database seed scripts to accommodate the new field.
- Enhance the AssistantConfig and related routes to handle image input capabilities, ensuring proper validation and error handling.
- Modify the frontend components to include toggles for enabling visual understanding and filtering models based on image input support.
- Implement necessary adjustments in the voice preview and pipeline to integrate video stream handling alongside audio functionalities.
2026-07-07 19:41:45 +08:00