Merged
Conversation
* first commit * add: token counter * add workspace manager * Implement core agent and tools for task management, including AnthropicFC agent, various tools for file manipulation, web interaction, and sequential thinking. Add utility classes for workspace management and indentation handling. Introduce tests for key functionalities. * fix: frontend * add agents * Implement CLI and WebSocket server for Agent interaction, enhancing user experience with real-time communication. Update dependencies in pyproject.toml and add comprehensive .gitignore entries for various development artifacts and logs. * copy paste browser dir from index repo * remove lmnr observe * update import: from index. --> from ii_agent. * update browser code from async to sync * add browser tools - inprogress * init browser use feature * add pdf audio support cli.py * log current state to message queue * async browser use * Feat/filebased context manager (#9) * Enhance context management by introducing FileBasedContextManager and StandardContextManager for efficient token handling and message truncation. Update message handling in tools to utilize MessageHistory instead of DialogMessages. Add new dependencies in pyproject.toml and update .gitignore for workspace and IDE files. * Implement connection-specific workspace management by generating unique subdirectories for each WebSocket connection. Update StaticDeployTool to construct public URLs using the connection UUID and a configurable base URL. * Refactor str_replace_tool to import ToolCallParameters from the correct module and add a new utility module for content truncation. The utility includes a function to truncate content to a specified maximum length, enhancing content management capabilities. * Enhance browser functionality by introducing a streamlined Playwright browser implementation and a computer vision detector module. Add tools for audio transcription and PDF text extraction, along with updates to existing tools for improved interaction and output handling. Update dependencies in pyproject.toml and refine event handling in core event management. * Enhance input truncation logic in FileBasedContextManager to check and truncate all fields if any exceed the token limit, improving message handling for ToolCall instances. * [WIP] Feat/add tool pdf (#12) * feat: add upload file event * feat: add extract pdf tool * feat: update prompt * feat(frontend): add more tools * feat(frontend): update browser use tool * feat(ws_server): integrate RealtimeEvent for WebSocket responses and refactor file upload handling * feat(frontend): support generate audio tool --------- Co-authored-by: khongtrunght <khongtrunght@gmail.com> * feat(frontend): add audio icon file * fix: update font and color * fix: file upload issues (#15) * fix(frontend): wrong file path * add veo / imagegen tools * feat: enhance toolset with new text inspector and visualizer tools, add markdown conversion capabilities, and update dependencies in pyproject.toml * feat: add GAIA evaluation tools for document and image analysis, update dependencies in pyproject.toml * chore: update .gitignore to include data and output directories; modify file path handling in run_gaia.py for dataset loading; enhance file copying logic to include PNG files; refactor initialization of inspection tools to handle optional workspace manager * feat: add start and end index arguments for dataset slicing in run_gaia.py * log trace * add trace logs dir to gitignore * feat(frontend): add image and video tool * Feat: Deep Research Tool and refactor agent (#19) * feat: integrate ii-agent, add jina, serp, and firecrawl search and visit * feat: refactor * feat: update websocket * feat: fix bug * fix: ws init agent event * fix: ws init agent event * feat(frontend): update init agent * feat(frontend): update init-agent * feat(frontend): add deep research icon --------- Co-authored-by: Quy Pham <quy@ii.inc> * feat(frontend): rename search and visit tool * fix(frontend): rerender action * Feat/event replay (#20) * feat: enhance str_replace_tool with message queue support for file edits - Added message queue integration to StrReplaceEditorTool for real-time file edit notifications. - Introduced FILE_EDIT event type in EventType enum to track file modifications. - Updated methods in str_replace_tool to send updates through the message queue after file edits. * feat: integrate database management for session and event tracking - Added DatabaseManager class for handling SQLite database operations, including session and event management. - Updated cli.py and ws_server.py to create and manage sessions, linking them to user interactions. - Enhanced event handling by saving user messages and agent responses to the database. - Introduced new API endpoints for retrieving sessions and events based on device ID and session ID. - Updated dependencies in pyproject.toml to include sqlalchemy for database interactions. - Modified .gitignore to exclude database files. * refactor: update tool implementations for improved functionality - Changed the method for retrieving the final answer in the AnthropicFC agent to use tool_manager. - Updated the StaticDeployTool to set a default base URL for static files, addressing a temporary hack. - Revised the description in WebSearchTool to clarify the use of a search engine API. * feat: enhance session retrieval with first user message - Updated the get_sessions_by_device_id endpoint to include the first user message for each session. - Implemented a subquery to fetch the first user message event, joining it with session data. - Modified the session response structure to include the first message if available, improving the API's usability. * feat(frontend): get message history * feat(frontend): handle replay * fix(logging): prevent duplicate logs by disabling logger propagation in cli.py and ws_server.py * feat(context-manager): enhance file saving for tools with specific filename formats - Integrated DeepResearchTool and VisitWebpageTool for customized filename generation based on tool input. - Updated logging to confirm saved filenames, improving traceability of saved outputs. * fix(frontend): rerender action --------- Co-authored-by: Quy Pham <quy@ii.inc> * fix(frontend): build failed * fix: workspace info issue * fix: timeout replay * fix(frontend): rerender action issue * refine tool & prompt to benchmark * fix: upload file issue * Update README.md * Update README.md * fix(frontend): ui issues * refactor(frontend): improve performance * refactor(frontend): improve performance * simple fix lack of files ref for website building * add list html files tools * fix(ws_server): update websocket handling to prevent sending errors and maintain message processing (#21) * Fix/website visit (#22) * fix: return markdownn for web visit * fix(frontend): visit_webpage tool result --------- Co-authored-by: Quy Pham <quy@ii.inc> * feat(frontend): handle tool list html links * restructure browser tools into modular components; vision-based clicking; handle pdf case * update default viewport size that compatible with Claude; remove scaling screenshot * log state to message queue * gemini advanced tools * enhance browser tools * refactor(run_gaia): integrate GAIA_SYSTEM_PROMPT and update file handling * refactor(run_gaia): update file handling and introduce StrReplaceEditorTool for enhanced string replacement functionality * add gemini audio transcribe tool to run gaia * Fix/deploy image (#23) * fix: update deploy and image prompt * feat(frontend): show gen image * chore(frontend): add readme * fix browser scroll * feat: add youtube transcript tool * feat(run_gaia): add task-uuid argument for selective task execution and enhance dataset filtering * fix browser scroll * remove redundant code * update browser rules in system prompt * fix browser_get_select_options constructor missing message_queue * fix BrowserGetSelectOptionsTool init missing message_queue * refactor: update context manager initialization and system prompts across CLI and server files * refactor(frontend): browser use * fix: presentation layout * fix: presentation layout * fix: absolute path issue * refactor(frontned): upload files * Feat/gaia bench (#28) * fix(message_history): None issue * fix: ensure absolute path for workspace root and update image encoding * fix: presentation * fix(frontend): multiple files cannot init * remove redundant message_queue from browser tools * fix: presentation * remove message queue from default tools * fix: update resource path for interactive elements script * remove unused tools * remove deprecated test function from bash_tool.py * fix: image tool description * fix: presentation change on init * fix: presentation change on init * fix: multiple turns issue * readme: update anthropic client * clean up: clean up for release * clean up: clean up model name * fix: presentation image * fix: presentation image * upload: gaia benchmark image --------- Co-authored-by: Quy Pham <quy@ii.inc> Co-authored-by: khongtrunght <khongtrunght@gmail.com> Co-authored-by: PhungVanDuy <pvduy23@gmail.com> Co-authored-by: Nguyen Duc Phu <72448688+ducphuE10@users.noreply.github.com> --------- Co-authored-by: khongtrunght <khongtrunght@gmail.com> Co-authored-by: ducphuE10 <nguyenducphu201101@gmail.com> Co-authored-by: Nguyen Duc Phu <72448688+ducphuE10@users.noreply.github.com> Co-authored-by: khongtrunght <53500679+khongtrunght@users.noreply.github.com> Co-authored-by: Quy Pham <pbquy96@gmail.com> Co-authored-by: Quy Pham <quy@ii.inc> Co-authored-by: Ngo The Anh Khoa <khoa@ii.inc>
* chore: update readme * chore: update readme
…story-run-in-loops fix: prompts in history run in loops
* feat: enhance user prompt * refactor: LLMClient
* Enhance websocket cancel functionality to clear session history and handle errors. Added methods to delete events from the database and improved message handling for active agents. Updated MessageHistory to track the last user prompt index and clear messages accordingly. * Enhance websocket functionality to support query cancellation and editing. Added acknowledgment messages for cancellation and editing events. Updated error handling for active agents to ensure proper communication with clients. Improved exception handling in the AnthropicFC agent to manage interruptions more effectively. * feat(frontend): add stop button * feat: Enhance agent cancellation and interruption handling. * feat: edit_query * chore : add rsp_interupted type * feat(frontend): add edit question btn --------- Co-authored-by: khongtrunght <khongtrunght@gmail.com>
Add Message Tool and Return Control Tool for User Interaction; Make Sequential Thinking Tool Optional
refactor global.css
…ntrol-user-tool fix(frontend): handle return control to user tool
* refactor(frontend): home component * refactor(frontend): upload file
…s-handler fix(frontend): messages state
…lide_deck_tool.py
… into feat/reviewer_agent
- Resolved merge conflicts in cli.py, browser tools, and ws_server.py - Integrated ReviewerAgent into the refactored architecture - Added ReviewerAgent support to AgentFactory - Updated ChatSession to handle reviewer agent lifecycle - Added --enable-reviewer CLI flag - Reviewer agent can now be enabled via WebSocket with enable_reviewer: true in tool_args
…Internet/ii-agent into feat/reviewer_agent
3429929 to
8f8d9df
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.