- Implemented a detail panel that displays comprehensive information for selected nodes and edges, enhancing user interaction and data visibility.
- Introduced functions to select nodes and edges, allowing users to view specific attributes such as UUID, creation date, and labels.
- Added styling for the detail panel to improve layout and readability, ensuring a better user experience during graph interactions.
- Included functionality to close the detail panel and format dates for better presentation of temporal data.
- Updated graph data display to include fallback options for node and edge counts, improving robustness.
- Introduced a manual refresh button for graph data, enhancing user control and experience.
- Adjusted polling interval for graph data fetching from 3 seconds to 10 seconds, optimizing performance.
- Improved progress tracking and logging during graph construction, providing clearer feedback to users.
- Added real-time graph data visualization with loading and waiting states to improve user feedback during graph construction.
- Implemented a polling mechanism to fetch graph data every 3 seconds, ensuring the graph updates dynamically as data becomes available.
- Improved error handling and rendering logic to manage different graph states effectively.
- Enhanced styling for loading indicators and graph elements for better user experience.
- Added D3.js as a dependency in `package.json` and `package-lock.json` for data visualization capabilities.
- Introduced a new `pendingUpload.js` store to manage files and simulation requirements before initiating the simulation process.
- Updated `Home.vue` to store pending uploads and navigate to the `Process` page immediately, deferring API calls for improved user experience.
- Enhanced `Process.vue` to handle new project initialization and display project status effectively, including progress tracking for ontology generation and graph building.
- Updated section descriptions to better reflect simulation capabilities and processes.
- Changed metric values and labels to provide clearer insights into performance and cost.
- Enhanced workflow steps with more detailed descriptions for improved user understanding.
- Renamed upload section label for better contextual relevance.
- Adjusted styling for improved layout and readability across components.
- Added a scroll-to-bottom feature for improved navigation experience.
- Refactored the start simulation button layout by wrapping it in a new console section for better organization.
- Enhanced button styles with animations and improved disabled state appearance for a more engaging user interface.
- Updated the navigation bar to include a link to the project's GitHub page, enhancing accessibility.
- Redesigned the hero section with a new title and description, emphasizing the capabilities of MiroFish.
- Improved text styling and layout for better readability and visual appeal, including adjustments to font sizes and weights.
- Added new CSS classes for enhanced styling of elements, including highlights and animations, to create a more engaging user experience.
- Updated `index.html` to include Google Fonts for improved typography.
- Refactored `App.vue` to utilize new font styles and added a white background for better contrast.
- Redesigned `Home.vue` to introduce a navigation bar, a hero section with a new logo, and a structured dashboard layout for project simulation steps.
- Added a new logo image `MiroFish_logo_left.jpeg` to enhance branding.
- Improved overall styling and responsiveness across components for a more cohesive user experience.
- Introduced `PROJECT_STATUS.md` to provide a comprehensive overview of the MiroFish project, detailing the current status, completed features, and future development plans.
- Added multiple documentation files in the frontend directory, including detailed descriptions of the homepage functionality, startup guide, and project completion summary.
- Implemented a structured approach to document the project's architecture, API integration, and user interaction processes, enhancing clarity for developers and users alike.
- Included a `.gitignore` file to manage ignored files and directories in the frontend project, improving project organization and cleanliness.
- Introduced two new logo files: `MiroFish_logo.jpeg` and `MiroFish_logo_compressed.jpeg` to enhance branding and visual identity within the project.
- These additions support the overall aesthetic and user experience of the application.
- Deleted the Python script that checked the balance of the OpenRouter API, as it is no longer needed in the project.
- This cleanup contributes to maintaining a streamlined codebase by removing obsolete files.
- Deleted the `index.html`, `reddit_profiles.json`, `run_state.json`, `simulation_config.json`, `state.json`, and various database files related to the simulation for `sim_10b494550540`, as they are no longer needed.
- This cleanup helps streamline the project by removing outdated resources and improving overall maintainability.
- Updated the "interview_agents" tool in the Report Agent to utilize the OASIS interview API for real-time agent interviews across Twitter and Reddit, providing authentic responses.
- Improved the ZepToolsService to streamline agent selection, question generation, and interview processing, ensuring a more efficient and structured interview workflow.
- Enhanced documentation to reflect the new interview capabilities, including updated usage instructions and important operational notes regarding the OASIS environment.
- Removed deprecated methods related to simulated interviews, focusing on real API interactions for improved accuracy and reliability.
- Introduced a new "interview_agents" tool in the Report Agent to facilitate in-depth interviews with simulation agents, allowing for multi-perspective insights.
- Implemented the InterviewResult and AgentInterview data classes to structure and manage interview data effectively.
- Enhanced ZepToolsService with methods for conducting interviews, including agent selection and question generation based on user requirements.
- Updated documentation to reflect the new interview capabilities and usage instructions for the Report Agent and Zep tools.
- Introduced new core search tools in the Report Agent: InsightForge for deep insights, PanoramaSearch for comprehensive views, and QuickSearch for rapid queries.
- Updated the Report Agent to prioritize tool usage for data retrieval, ensuring all report content is based on simulation results rather than internal knowledge.
- Enhanced the ZepToolsService with methods for InsightForge and PanoramaSearch, allowing for multi-dimensional queries and historical data retrieval.
- Improved documentation to reflect the new functionalities and usage guidelines for the Report Agent and Zep tools.
- Introduced the Report Agent module to facilitate the automatic generation of simulation analysis reports using LangChain and Zep, following the ReACT model.
- Added functionality for report outline planning, segmented content generation, and user interaction through a dialogue interface.
- Implemented new API endpoints for report generation, status checking, and retrieval, enhancing the overall reporting capabilities.
- Updated README.md to include detailed instructions on the new report generation features and API usage.
- Enhanced the project structure to accommodate the new report management functionalities, including report storage and retrieval mechanisms.
- Eliminated unnecessary warnings suppression related to multiprocessing resource tracking in `run.py` and `run_parallel_simulation.py`, streamlining the code and reducing potential confusion.
- This change enhances clarity in logging by allowing relevant warnings to be displayed during execution, improving traceability and debugging capabilities.
- Added signal handling to gracefully manage shutdown events across simulation scripts, ensuring proper cleanup of resources.
- Introduced a global shutdown event to allow simulations to respond to termination signals, improving robustness.
- Suppressed warnings related to multiprocessing resource tracking to avoid unnecessary log clutter during execution.
- Updated cleanup logic in `SimulationRunner` and `ZepGraphMemoryManager` to prevent redundant calls and ensure efficient resource management.
- Enhanced logging to provide clearer feedback during shutdown processes, improving traceability.
- Added context enrichment for actions in `fetch_new_actions_from_db`, providing complete information for posts, comments, and user interactions.
- Introduced a new `_enrich_action_context` function to supplement action arguments with relevant details such as post content, author names, and comment information.
- Updated the `ZepGraphMemoryUpdater` to batch send activities by platform, improving efficiency in processing and logging.
- Enhanced logging to include detailed statistics on sent activities and skipped actions, ensuring better traceability and monitoring of the activity flow.
- Introduced a prefix to optimize interview prompts, ensuring agents respond directly with text without invoking tools.
- Updated the simulation API to utilize the optimized prompts for individual and batch interviews.
- Modified the `get_interview_history` function to allow for flexible platform querying, returning results from both Reddit and Twitter when no platform is specified.
- Enhanced README.md to include new prompt optimization details and updated API usage examples for clarity.
- Added a new Interview module to facilitate interactions with agents post-simulation, allowing for single and batch interviews.
- Introduced IPC communication mechanism for command and response handling between the Flask backend and simulation scripts.
- Updated README.md to include detailed instructions on the new Interview functionality, including API endpoints and usage examples.
- Enhanced simulation scripts to support waiting for commands after completion, improving user control over the simulation environment.
- Implemented error handling and logging for interview processes, ensuring robust operation and traceability.
- Removed content truncation logic from the AgentActivity class, allowing full content to be logged for posts, comments, and quotes.
- Updated the `fetch_new_actions_from_db` function to retain complete content in action arguments, enhancing data accuracy.
- Adjusted simulation scripts to ensure that full content is sent during action creation, improving the representation of agent activities.
- Changed the activity logging format to remove simulation prefixes, ensuring clearer natural language descriptions.
- Updated the `ZepGraphMemoryUpdater` to send activities individually, enhancing the accuracy of entity and relationship extraction.
- Adjusted the README.md to reflect these changes in activity processing and Zep integration, providing clearer instructions for users.
- Added a new optional parameter `enable_graph_memory_update` to the simulation API, allowing real-time updates of agent activities to the Zep knowledge graph.
- Introduced `ZepGraphMemoryUpdater` and `ZepGraphMemoryManager` classes to handle the background processing of activity updates, ensuring efficient API calls and data management.
- Updated the README.md to include detailed instructions on the new graph memory update functionality and its configuration.
- Enhanced the simulation runner to manage the lifecycle of the graph memory updater, including starting and stopping the updater based on user configuration.
- Improved logging to track the status of graph memory updates, providing better insights into the simulation process.
- Added logging for the start and end of round 0 in both Twitter and Reddit simulations, improving traceability of initial events.
- Updated the logging mechanism to record round end even when no active agents are present, ensuring comprehensive action tracking.
- Introduced initial action count tracking to provide insights into the number of actions taken during the initial phase of simulations.
- Added support for a `max_rounds` parameter in simulation API, allowing users to limit the number of simulation rounds, improving control over simulation duration.
- Updated README.md to reflect the new `max_rounds` parameter and its usage in simulation requests.
- Enhanced error handling for `max_rounds` input validation to ensure it is a positive integer.
- Modified simulation runner and related scripts to incorporate `max_rounds` functionality, ensuring consistent application across Twitter and Reddit simulations.
- Improved logging to indicate when the number of rounds is truncated due to the `max_rounds` setting, enhancing traceability during simulation execution.
- Introduced `get_agent_names_from_config` function to map agent IDs to their entity names from the simulation configuration, enhancing clarity in action representation.
- Updated simulation scripts to utilize this new function for fetching agent names, ensuring that real entity names are displayed instead of default identifiers.
- Improved handling of agent names by falling back to default names only if not specified in the configuration, maintaining consistency across simulations.
- Added a new endpoint to retrieve real-time agent profiles during simulation, allowing users to monitor progress without going through the SimulationManager.
- Enhanced the profile generation process to support real-time saving of generated profiles to specified file formats (JSON for Reddit, CSV for Twitter).
- Updated the simulation configuration generator to assign appropriate agents to initial posts based on their types, improving the relevance of generated content.
- Improved error handling and logging for better traceability during profile generation and retrieval processes.
- Updated .env.example to include new keys for dual LLM configuration, allowing for both general and boost settings.
- Modified create_model function to support an optional use_boost parameter, enabling the selection of either general or boost LLM configurations based on availability.
- Improved logging to indicate which LLM configuration is being used during model creation, enhancing clarity for users.
- Introduced MaxTokensWarningFilter to suppress specific warnings related to max_tokens in the logging output across simulation scripts.
- Added a semaphore parameter to limit the maximum concurrent LLM requests in Twitter and Reddit simulation functions, preventing API overload.
- Ensured the filter is applied immediately upon module loading for effective logging management.
- Introduced a new Python script to check and display the balance of credits using the OpenRouter API.
- Implemented error handling for API requests and included informative print statements for total credits, total usage, and remaining balance.
- Added a placeholder for the API key to facilitate user customization.
- Translated and reorganized the README.md to provide a comprehensive overview of the MiroFish Backend, including project introduction, technical architecture, and core functionalities.
- Added a structured table of contents for easier navigation.
- Enhanced descriptions of core features such as knowledge graph construction, ontology generation, and dual-platform simulation capabilities.
- Updated project structure section to reflect the current file organization and added detailed explanations for key components.
- Included API documentation for graph management and simulation processes, improving clarity for developers and users.
- Registered a cleanup function for simulation processes to ensure proper termination on server shutdown.
- Improved logging during application startup to confirm the registration of the cleanup function.
- Updated simulation preparation checks to clarify the conditions for considering a simulation ready, enhancing error handling and user feedback.
- Added detailed logging for simulation status changes, improving traceability during the simulation lifecycle.
- Introduced new files for simulation configuration and profile data, supporting enhanced testing and visualization capabilities.
- Updated simulation preparation checks to exclude script files from the required files list, improving clarity on file management.
- Implemented a robust retry mechanism for Zep API calls in the ZepEntityReader service, enhancing reliability.
- Enhanced logging in simulation scripts to provide clearer insights into the simulation process and errors.
- Updated simulation runner to manage stdout and stderr logs more effectively, ensuring better error tracking.
- Improved profile generation to standardize gender fields and ensure all required fields are populated correctly.
- Updated README.md to include detailed descriptions of new features, including Zep mixed search functionality and detailed persona generation for individual and group entities.
- Implemented a robust mechanism for checking simulation preparation status to avoid redundant profile generation.
- Added support for parallel profile generation, improving efficiency in creating OASIS Agent Profiles.
- Enhanced the simulation configuration generator to adopt a stepwise approach, ensuring better handling of complex configurations.
- Introduced error handling and retry mechanisms for LLM calls, improving the reliability of profile generation.
- Updated simulation management to support new API parameters for controlling profile generation behavior.
- Updated README.md to include new simulation scripts and configuration details for OASIS, including API retry mechanisms and environment variable settings.
- Added simulation management and configuration generation services to streamline the simulation process across Twitter and Reddit platforms.
- Introduced new API routes for simulation-related operations, including entity retrieval and simulation status management.
- Implemented a robust retry mechanism for external API calls to improve system stability.
- Enhanced task management model to include detailed progress tracking.
- Added logging capabilities for action tracking during simulations.
- Included new scripts for running parallel simulations and testing profile formats.
- Updated README.md to reflect the removal of the project creation endpoint, adjusting the workflow steps accordingly.
- Removed the `create_project` function from graph.py, streamlining the project management API by eliminating deprecated functionality.
- Updated `run.py` to conditionally print startup information only in the reloader process to avoid duplicate logs in debug mode.
- Modified `__init__.py` to log startup and completion messages based on the reloader process condition.
- Added warnings suppression in `graph_builder.py` for Pydantic v2 regarding Field usage.
- Revised `ontology_generator.py` to enforce strict design guidelines for entity types and relationships, ensuring compliance with new requirements.
- Improved logging behavior in `logger.py` to prevent log propagation to the root logger, avoiding duplicate outputs.
- Created a new Streamlit application for visualizing knowledge graphs.
- Implemented text extraction from PDF, Markdown, and TXT files.
- Developed graph building logic using Zep Cloud API.
- Added support for custom entity types and relationships.
- Included interactive HTML visualization for generated graphs.
- Updated .gitignore to include new directories and files.
- Added example environment configuration file (.env.example) for API key setup.
- Created README.md with installation and usage instructions.
- Introduced various utility scripts and styles for enhanced functionality.