Commit Graph

139 Commits

Author SHA1 Message Date
Xin Wang
841d7b8fac Update AGENTS.md 2026-08-03 10:56:30 +08:00
Xin Wang
f3439b21d1 feat: route workflow image inputs natively 2026-08-03 10:55:57 +08:00
Xin Wang
2e84de0798 feat(workflow): edit node names in drawer header 2026-08-03 10:52:25 +08:00
Xin Wang
cff591aa13 feat(frontend): embed prompt dynamic variables section 2026-08-03 10:46:56 +08:00
Xin Wang
b0f82142a5 feat(workflow): show variables in drawer 2026-08-03 09:58:01 +08:00
Xin Wang
807afb3099 feat(frontend): add top prompt anchor navigation 2026-08-03 09:56:03 +08:00
Xin Wang
02c88b36e6 feat(workflow): edit nodes on click 2026-08-03 09:52:03 +08:00
Xin Wang
f5c36a62aa feat: make workflow messages resumable 2026-08-03 07:54:51 +08:00
Xin Wang
e3035abcc2 feat(workflow): edit edges on click 2026-08-03 07:42:41 +08:00
Xin Wang
c241e815cc feat(workflow): add node duplication 2026-08-03 07:32:43 +08:00
Xin Wang
9daa46ed4d feat: add deterministic message interaction stages 2026-08-03 07:10:41 +08:00
Xin Wang
479a516546 fix: isolate startup tools and preview dialogs 2026-08-02 00:07:35 +08:00
Xin Wang
0331f8cd07 feat: add prompt startup actions and shared vision config 2026-08-01 23:31:14 +08:00
Xin Wang
b747144ff1 feat: add workflow action outcomes and tracing 2026-08-01 11:21:31 +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
510a277b5a feat(qwen-audio): enhance user transcript handling in QwenAudioRealtimeService
- Added support for managing user transcripts, including pending states and timestamps.
- Implemented methods to handle user transcript completion and deferred assistant messages.
- Updated event handling to ensure user transcripts are emitted before assistant responses.
- Enhanced tests to verify the correct order of transcript and assistant message emissions during user interactions.
2026-07-29 17:01:02 +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
774825593d feat(qwen-audio): add Alibaba Cloud Qwen-Audio Realtime service integration
- Introduced Qwen-Audio Realtime service for speech-to-speech processing in Pipecat.
- Updated interface catalog to include Qwen-Audio Realtime capabilities.
- Enhanced model resource testing to support new service.
- Added configuration options for audio sample rates and turn detection modes.
- Updated documentation to reflect integration details and usage instructions.
2026-07-21 15:57:43 +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
bdf3d3dd9c Refactor workflow agent and routing components for improved functionality
- Introduce WorkflowAgentStage to manage agent stage configurations and enhance interaction with the workflow engine.
- Implement WorkflowEdgeEvaluator for priority-aware edge evaluation, improving routing decisions based on conditions and user turns.
- Update WorkflowBrain to handle user turns and routing more effectively, ensuring agents cannot have only one default path.
- Enhance CallEndCoordinator to track speech events and manage call termination based on queued speech.
- Add new models and output handling for workflow interactions, improving clarity and maintainability.
- Update tests to validate the new routing logic and agent behavior under various scenarios.
2026-07-17 22:37:15 +08:00
Xin Wang
162a3d8bec Refactor workflow routing and greeting management in Brain classes
- Update WorkflowBrain to handle greeting playback more effectively, ensuring that the initial greeting completes before transitioning to the first node.
- Introduce new methods for managing greeting states and conditions, enhancing the interaction flow for user turns.
- Refactor WorkflowLLMRouter to improve routing logic and ensure proper handling of conditional paths.
- Enhance tests to verify the correct behavior of greeting management and routing under various scenarios, including waiting for audio playback to finish.
- Update frontend components to reflect changes in edge handling and improve user experience in workflow configurations.
2026-07-17 22:01:42 +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
e78dc4088a Implement response handling and speech tracking in CallEnd functionality
- Add begin_response and finish_after_current_speech methods to CallEndCoordinator for better management of speech events.
- Update PromptBrain to utilize new methods, ensuring proper handling of generated closing speech and tool-only calls.
- Enhance tests to verify the correct behavior of speech tracking and response handling in various scenarios, including waiting for audio to finish before ending calls.
- Introduce a new test suite for CallEndCoordinator to validate the interaction with speech frames.
2026-07-14 13:43:42 +08:00
Xin Wang
d069e5282e Enhance greeting context management in Brain classes
- Introduce greeting context handling in BaseBrain and WorkflowBrain to manage assistant greetings effectively.
- Implement prepare_greeting_context method to add greeting messages to the local context while preserving playback order.
- Update pipeline event handling to ensure greeting timestamps are maintained until the client is ready.
- Enhance tests to verify the correct behavior of greeting context management in various scenarios.
2026-07-14 13:26:47 +08:00
Xin Wang
35cbee4786 Update GenericNode component styles for improved responsiveness and localization
- Adjust border radius calculation in GenericNode for better visual consistency.
- Update displayed text in GenericNode to enhance localization by removing the English label.
2026-07-14 13:02:38 +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
2d6ff5b7aa Add on_client_ready method to BaseBrain and WorkflowBrain
- Implement on_client_ready in BaseBrain to handle client-visible state after the app message channel is ready.
- Extend WorkflowBrain with on_client_ready to replay state that may have been emitted before WebRTC data was ready.
- Update pipeline to call on_client_ready when a client connects.
- Enhance tests to verify the correct behavior of on_client_ready in WorkflowBrain.
2026-07-14 11:20:18 +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
665f727796 Merge branch 'feature/workflow' 2026-07-14 09:39:00 +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
6108b00007 Improve Element2 copilot WebRTC tooling and enlarge the audio probe panel.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-13 14:47:04 +08:00
Xin Wang
d5827343ff Improve Element2 copilot WebRTC tooling and enlarge the audio probe panel.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-13 12:12:04 +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
ede5e2334b Implement WebRTC offer handling and ICE candidate management in voice_webrtc.py
- Add new HTTP endpoints for handling WebRTC offers and ICE candidates, enhancing the signaling process for voice interactions.
- Introduce dynamic variable decoding from request headers to support flexible offer payloads.
- Refactor existing WebSocket handling to accommodate new offer processing logic.
- Update frontend dependencies to include Pipecat client libraries for improved WebRTC transport management.
- Streamline voice preview functionality by integrating SmallWebRTCTransport for better media handling.
2026-07-13 06:50:23 +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
7ee3e22152 Update AGENTS.md to include interface design reference
- Add a guideline to reference frontend/DESIGN.md for interface design considerations.
- Maintain existing emphasis on writing clear thoughts before coding for better understanding and maintainability.
2026-07-12 18:32:00 +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