Commit graph

51 commits

Author SHA1 Message Date
Max
fd5d701a23 Refactor assistant loading and initialization in Neo API
- Simplified the assistant loading process by removing the asynchronous query for the assistant list and replacing it with a direct call to retrieve the default assistant.
- Introduced a new method, defaultAssistant, to streamline the retrieval of the default assistant based on the current configuration.
- Enhanced the LoadStore function to support loading assistants from a specified path, improving flexibility in assistant management.
- Updated the overall structure for better readability and maintainability, ensuring a more efficient assistant initialization process.
2025-01-01 17:34:17 +08:00
Max
d0d110b0ec Refactor assistant management and enhance storage retrieval in Neo API
- Removed Weaviate store implementation, streamlining the codebase and focusing on Mongo and Redis backends.
- Introduced GetAssistant method in both Mongo and Redis stores to retrieve a single assistant by ID, improving data access capabilities.
- Updated LoadStore function to utilize the new storage retrieval logic, enhancing the assistant loading process.
- Enhanced the Assistant struct to include a Script field for better management of assistant scripts.
- Improved tests to cover the new GetAssistant functionality, ensuring robust error handling and data retrieval across different scenarios.
2025-01-01 12:31:47 +08:00
Max
e530ccc1cd Refactor conversation management and migrate to store-based architecture in Neo API
- Replaced the conversation handling logic with a new store-based approach, enhancing data management and retrieval capabilities.
- Updated all relevant methods to utilize the new store interface, including GetChats, GetChat, GetHistory, and SaveAssistant, ensuring consistent functionality across the API.
- Removed deprecated conversation-related files and structures, streamlining the codebase and improving maintainability.
- Enhanced the AssistantFilter and AssistantResponse types to support the new store architecture, improving filtering and pagination capabilities.
- Updated tests to cover the new store-based methods and ensure robust functionality across different storage backends.
2025-01-01 10:43:05 +08:00
Max
238347c834 Refactor message handling and enhance file reading capabilities in Neo API
- Updated the message handling logic to improve error reporting and content management, ensuring more robust communication with clients.
- Introduced a new ReadBase64 method in both Local and OpenAI assistant implementations to read files and return their base64 encoded content, enhancing file handling capabilities.
- Removed the deprecated JSON message handling code, streamlining the message processing structure.
- Refactored message struct to include new fields and methods for better data management and response handling.
- Improved the chat functionality to handle attachments and user messages more effectively, ensuring a smoother user experience.
2024-12-31 16:01:48 +08:00
Max
76e7156dac Refactor assistant structure and replace base assistant with local implementation
- Replaced the base assistant package with a local assistant implementation, enhancing modularity and maintainability.
- Updated the newAssistantByConnector function to utilize the local assistant, ensuring consistent error handling and improved functionality.
- Removed obsolete base assistant files, streamlining the codebase and reducing complexity.
- Added a new 'mentionable' field to the assistant table in the Xun implementation, allowing for better management of assistant visibility in mentions.
2024-12-20 15:48:28 +08:00
Max
af52dd35a1 Refactor conversation history handling and enhance Assistant structure
- Updated SaveHistory method across Mongo, Redis, and Weaviate to include a context parameter, improving flexibility in message storage.
- Modified the Assistant struct in types.go to add new fields: Type, Avatar, and Flows, enhancing the representation of assistant attributes.
- Adjusted the Xun implementation to support the new context handling in SaveHistory, ensuring messages can now include contextual information.
- Updated tests to reflect changes in message structure and ensure proper functionality with the new context parameter.
2024-12-20 12:30:31 +08:00
Max
a90d1d5a0a Enhance Neo API with new generation endpoints and improved SSE handling
- Added new GET and POST endpoints for generating custom content, chat titles, and prompts, expanding the API's capabilities.
- Implemented support for Server-Sent Events (SSE) in response handling, allowing for real-time updates and improved user experience.
- Refactored validation and error handling to differentiate between regular and SSE requests, ensuring appropriate responses based on the request type.
- Updated the GenerateWithAI method to support silent mode for regular HTTP requests, enhancing flexibility in content generation.
- Improved overall structure and maintainability of the API by consolidating request handling logic.
2024-12-19 16:27:51 +08:00
Max
375ad96e9d Add generate endpoints and improve response handling in Neo API
- Introduced new API endpoints for generating custom content, chat titles, and prompts, enhancing the functionality of the Neo API.
- Implemented handleGenerateCustom, handleGenerateTitle, and handleGeneratePrompts methods to process generation requests with appropriate validation and error handling.
- Refactored the GenerateWithAI method to support different content types and system prompts, improving the flexibility of AI-generated responses.
- Updated the API router to include the new generation routes, ensuring seamless integration with existing middleware.
2024-12-19 15:13:38 +08:00
Max
13e17ae386 Enhance chat handling and API response in Neo
- Added time-based generation of chat IDs when not provided, improving chat session management.
- Updated context handling in handleChat to ensure valid chat IDs are used.
- Expanded allowed HTTP methods in CORS headers to include DELETE, enhancing API flexibility.
- Removed redundant chat history saving logic from GenerateChatTitle method, streamlining chat processing.
2024-12-17 17:04:22 +08:00
Max
b3bc843235 Enhance chat update functionality and introduce chat title generation in Neo API
- Updated handleChatUpdate method to include content field in the request body, allowing for dynamic chat title generation based on user input.
- Implemented GenerateChatTitle method to create a concise title for chats, improving user experience and interaction.
- Modified JSON response structure in handleChatDetail and handleChatUpdate methods for better clarity and consistency.
- Enhanced error handling for chat updates, ensuring robust validation and feedback for users.
2024-12-16 19:59:23 +08:00
Max
eadc550980 Add chat detail and mentions handling in Neo API
- Introduced new endpoints for retrieving chat details and mentions, enhancing the API's functionality.
- Implemented handleChatDetail method to fetch details of a specific chat by ID, including error handling for missing parameters.
- Added handleMentions method to retrieve mentions based on keywords, improving user interaction with chat content.
- Updated existing GetChats method to support keyword filtering, allowing for more refined chat list retrieval.
- Enhanced the DSL structure to include new methods for managing mentions and chat details, improving overall code organization and maintainability.
2024-12-16 17:36:02 +08:00
Max
b34f97ac2a Add file download functionality to Neo API
- Introduced a new endpoint for downloading files, enhancing the API's capabilities.
- Implemented the handleDownload method to manage download requests, including validation for required parameters (sid and file_id).
- Updated the Download method in the assistant interface to retrieve files based on file_id, ensuring proper error handling and response structure.
- Enhanced file upload logic to include file extensions in generated IDs for better file management.
- Added necessary response headers for file downloads, improving user experience during file retrieval.
2024-12-16 11:07:22 +08:00
Max
773e050925 Implement file upload functionality in Neo API, adding new endpoint for file uploads and enhancing assistant management. Introduce handleUpload method to process file uploads, including size and type validation. Update context to include upload information and refactor assistant selection logic for improved clarity. Enhance error handling and response structure for file upload operations, ensuring robust communication of success and failure states. 2024-12-14 19:39:14 +08:00
Max
c98a402e54 Refactor Neo API chat handling to improve AI interaction and error management. Introduce background processing for chat with AI, enhancing responsiveness and client handling. Update assistant initialization logic to streamline the creation of OpenAI assistants and ensure proper error handling. Modify message struct to support structured error responses, improving clarity in communication. Additionally, clean up unused code and enhance overall maintainability of the assistant management system. 2024-12-14 17:45:40 +08:00
Max
c8643bbe45 Refactor HookCreate and assistant management in Neo API to improve response handling and streamline assistant creation. Update HookCreate to return structured CreateResponse with AssistantID and ChatID, enhancing error handling. Modify Load function to create the default assistant after querying the assistant list, ensuring proper initialization. Refactor newAssistant methods for better clarity and maintainability, and update types to include CreateResponse struct for improved response management. 2024-12-14 14:53:01 +08:00
Max
6c244d8788 Refactor Neo API to enhance CORS handling and streamline endpoint registration. Introduce OPTIONS handlers for all endpoints, improve CORS middleware logic, and reorganize assistant creation flow in load.go. Additionally, add a delay in the Answer method to ensure proper retrieval of assistant and chat IDs. 2024-12-14 13:03:05 +08:00
Max
79ee5b75f9 Refactor error handling in Neo API to streamline message creation. Replace map-based error responses with a more concise error method in the message struct, enhancing readability and maintainability. Update related functions to ensure consistent error messaging across chat handling and response writing. 2024-12-13 19:49:54 +08:00
Max
2ebc29d6f7 Enhance Neo API and conversation management by adding support for server-sent events (SSE) in chat handling, improving error messaging with structured responses, and refactoring assistant creation logic. Update conversation settings to utilize a new assistant model and implement context management improvements for better performance. Additionally, streamline the DSL structure and enhance test coverage for chat functionalities. 2024-12-13 17:51:13 +08:00
Max
1c078a5d2e Refactor Neo DSL tests and API structure by removing unused handlers, enhancing conversation management, and implementing new test cases for prompts, chat messages, and history saving. Introduce custom response recorder for improved testing and mock AI for simulating responses. 2024-12-13 11:17:00 +08:00
Max
153efc1a49 Refactor command handling and conversation management by removing the command package, updating conversation methods to support chat IDs, and enhancing API functionality for chat history and titles. This includes adjustments to the DSL context and conversation settings for improved data handling. 2024-12-12 16:37:59 +08:00
Max
91091b8dc2 Enhance JSON message handling with improved error reporting and response writing 2024-11-07 14:37:40 +08:00
Max
6450fd49e8 Refactor Neo message handling to use gin.ResponseWriter and improve error management 2024-11-07 08:40:15 +08:00
Max
15fb961ad0 Refactor Neo execution methods to improve error handling and streamline message preparation 2024-11-06 20:27:16 +08:00
Max
953d592669 feat: Integrate AIGC & OpenAI with Moapi service 2024-07-30 16:59:13 +08:00
Max
1f4e9e5a16 feat: Add SelectModel command to DSL
Add the SelectModel command to the DSL, allowing the selection of a specific model. This command takes a model name as input and sets the AI to use that model. It returns a success message with a status code of 200 if the selection is successful.
2024-05-25 20:17:25 +08:00
Max
59dfe49302 [add] neo local model support 2023-12-01 00:05:57 +08:00
Max
c19d4b0534 [add] moapi process and api 2023-11-10 01:37:09 +08:00
Max
ff74842053 [add] neo content 2023-10-25 00:50:43 +08:00
Max
ef941450ac [_] 2023-10-20 14:24:28 +08:00
Max
bd518610b9 [add] neo custom write process 2023-10-20 13:59:44 +08:00
Max
1b8afda828 [change] Neo history api 2023-10-20 11:07:36 +08:00
Max
5a3d42a965 fix CROS bug 2023-09-21 11:32:03 +08:00
Max
deefe6db70 [add] Neo prepare match sid support 2023-08-04 17:14:09 +08:00
Max
b477a29403 Optimize Neo the prepare prompts 2023-05-24 13:45:43 +08:00
Max
e722144329 [add] __neo.ExecCommand service 2023-05-16 20:45:25 +08:00
Max
4530aeab2f Improve neo error messages 2023-05-15 19:59:35 +08:00
Max
5fbf84bf8e [fix] Neo api guard 2023-05-13 11:23:16 +08:00
Max
5e46dc74f5 [add] Neo prepare hook 2023-05-12 17:28:33 +08:00
Max
9a37b1c72b [add] Neo Get all commands api 2023-05-12 13:42:01 +08:00
Max
4bb5fca430 [add] Neo enter command mode by typing the /name 2023-05-12 13:20:09 +08:00
Max
331a7defd8 [add] Neo (100%) 2023-05-06 00:13:23 +08:00
Max
0f70639292 [add] Neo Command ( 50% ) 2023-05-05 22:07:12 +08:00
Max
2a04074a82 [add] Neo Exit Command Mode & History API 2023-05-04 05:31:01 +08:00
Max
0b3ebceffa [add] Neo optimizing response data 2023-05-04 04:59:17 +08:00
Max
0e6d48efcc [change] optimize code structure 2023-05-04 02:30:29 +08:00
Max
7b8459b688 [add] Neo matching command 2023-05-04 02:14:34 +08:00
Max
1f51bdaf8f [add] neo commands ( 50% ) 2023-05-02 19:36:02 +08:00
Max
5f67f64f40 [add] Neo save chat history (80%) 2023-04-30 19:22:23 +08:00
Max
7ee7de96c9 [add] Neo (70%) 2023-04-30 14:21:45 +08:00
Max
1bafeabdba [add] Neo tests ( 60% ) 2023-04-29 19:16:13 +08:00