Conversation
- Adjusted console width handling to ensure consistent output formatting. - Introduced a short sleep after flushing stdout to allow for proper rendering of tool/status lines before displaying responses. - Enhanced the response display by modifying the rendering logic to improve visual clarity and prevent interleaving of output.
- Wrapped the input area in a styled border frame to enhance visual structure and user experience. - Updated layout to accommodate the framed input, ensuring consistent appearance with inline completions below the input area. - Introduced new style definitions for the input frame to improve overall aesthetics of the CLI.
- Updated the input area layout by replacing the styled border frame with horizontal rules above and below the input, enhancing visual clarity. - Adjusted the layout to ensure the input area grows dynamically with content while maintaining a consistent appearance with inline completions. - Modified style definitions to reflect the new horizontal rule design, improving the overall aesthetics of the CLI.
- Updated the input area height calculation to ensure it matches the exact line count of content, eliminating extra blank space. - Adjusted the return values to improve the responsiveness of the input area, enhancing user experience when adding newlines.
- Updated the logic for stopping the thinking spinner to improve clarity in tool execution messages. - Removed unnecessary checks for tool calls, simplifying the spinner's stop behavior while maintaining informative output for users.
- Added detailed sections for updating the Hermes agent, including quick and manual update methods. - Introduced a messaging gateway section with setup instructions for Telegram, Discord, and Slack, along with commands for managing the gateway. - Included security recommendations and context file usage to enhance user guidance.
… implementing a background thread to continuously drain output, ensuring smooth command execution without blocking.
- Enhanced the `handle_send_message_function_call` to support sending messages to multiple platforms (Telegram, Discord, Slack, WhatsApp) using their respective APIs. - Added error handling for missing parameters and platform configuration issues. - Introduced asynchronous message sending with helper functions for each platform, improving responsiveness and reliability. - Updated documentation within the function to clarify usage and requirements.
- Introduced a new function to check for configured messaging platform tokens and prompt the user to start the gateway. - Updated the installation scripts to automatically start the gateway if messaging tokens are detected, enhancing user experience. - Expanded the README to include instructions for starting the gateway, ensuring users are informed about the necessary steps for message handling.
- Implemented prompts for configuring Slack bot and WhatsApp bridge during the setup process. - Added instructions for creating a Slack app and saving necessary tokens, enhancing user guidance. - Included security recommendations for restricting bot access and a reminder to start the messaging gateway after setup.
- Introduced the `/new` command to start a new conversation, resetting the history. - Updated command handling in the CLI and various platform adapters (Discord, Slack, Telegram) to support the new command. - Added help command functionality to list available commands, improving user guidance. - Enhanced command mapping for better integration across platforms, ensuring consistent command behavior.
- Modified the `_exec` method in `ShellFileOperations` to accept `stdin_data`, allowing large content to be piped directly to commands, bypassing ARG_MAX limitations. - Updated the `execute` method in various environment classes (`_LocalEnvironment`, `_SingularityEnvironment`, `_SSHEnvironment`, `_DockerEnvironment`) to support `stdin_data`, improving command execution flexibility. - Removed the unique marker generation for heredoc in favor of direct stdin piping, simplifying file writing operations and enhancing performance for large files.
- Updated the `_search_with_rg` and `_search_with_grep` methods to include filename in the output and improve result handling. - Adjusted result fetching to account for context lines, ensuring accurate total counts and pagination. - Enhanced parsing logic for matches and context lines, improving the accuracy of search results. - Refactored result slicing to maintain consistency across output modes, ensuring users receive the correct number of results.
- Updated the file glob and include filters in the ShellFileOperations class to escape shell arguments, preventing unintended shell expansion. - Added comments to clarify the necessity of quoting for file glob patterns.
…ills migration to ~/.hermes - Added a new `skill_manager_tool` to enable agents to create, update, and delete their own skills, enhancing procedural memory capabilities. - Updated the skills directory structure to support user-created skills in `~/.hermes/skills/`, allowing for better organization and management. - Enhanced the CLI and documentation to reflect the new skill management functionalities, including detailed instructions on creating and modifying skills. - Implemented a manifest-based syncing mechanism for bundled skills to ensure user modifications are preserved during updates.
- Increased the tool count to 44+ and clarified the management of bundled and agent-managed skills. - Introduced a persistent memory system with MEMORY.md and USER.md for agent notes and user profiles. - Updated the storage evolution section to reflect the use of SQLite for sessions and clarified the organization of skills and memories. - Added current status of memory types implemented, highlighting progress in agent intelligence capabilities.
…ment - Added a new `clarify_tool` to enable the agent to ask structured multiple-choice or open-ended questions to users. - Implemented callback functionality for user interaction, allowing the platform to handle UI presentation. - Updated the CLI and agent to support clarify questions, including timeout handling and response management. - Enhanced toolset definitions and requirements to include the clarify tool, ensuring availability across platforms.
…splay - Added a new configuration option for the clarify tool to set a custom timeout for user responses. - Updated the clarify callback to implement a countdown display during user interaction, improving user experience. - Refactored timeout handling to ensure the UI remains responsive and provides feedback on remaining time. - Enhanced hint text to include countdown information when clarify questions are active.
- Introduced a new `execute_code` tool that allows the agent to run Python scripts that call Hermes tools via RPC, reducing the number of round trips required for tool interactions. - Added configuration options for timeout and maximum tool calls in the sandbox environment. - Updated the toolset definitions to include the new code execution capabilities, ensuring integration across platforms. - Implemented comprehensive tests for the code execution sandbox, covering various scenarios including tool call limits and error handling. - Enhanced the CLI and documentation to reflect the new functionality, providing users with clear guidance on using the code execution tool.
- Revised docstrings for `web_search` and `web_extract` functions to clarify return types and structure. - Updated the execution code schema documentation to reflect changes in the output format for both tools, ensuring consistency and improved understanding for users.
- Updated the default timeout for sandbox script execution from 120 seconds to 300 seconds (5 minutes) to allow longer-running scripts. - Enhanced comments in the code execution tool to clarify the timeout duration. - Suppressed stdout and stderr output from internal tool handlers during execution to prevent clutter in the CLI interface.
- Replaced file locking with atomic file operations using temporary files to prevent race conditions during read/write. - Added deduplication of memory and user entries to avoid exact duplicates in the memory store. - Enhanced error handling for duplicate entries and improved logic for managing multiple matches in memory operations. - Updated docstrings to clarify the behavior of file reading and writing methods, ensuring better understanding of the implementation.
- Updated the tool name from "search" to "search_files" across multiple files to better reflect its functionality. - Adjusted related documentation and descriptions to ensure clarity in usage and expected behavior. - Enhanced the toolset definitions and mappings to incorporate the new naming convention, improving overall consistency in the codebase.
- Changed the target parameter from "content" and "files" to "grep" and "find" to better represent their functionality. - Revised descriptions in the tool definitions and execution code schema to enhance understanding of search modes and output formats. - Ensured consistency in the handling of search operations across the codebase.
- Introduced the `delegate_task` tool, allowing the main agent to spawn child AIAgent instances with isolated context for complex tasks. - Supported both single-task and batch processing (up to 3 concurrent tasks) to enhance task management capabilities. - Updated configuration options for delegation, including maximum iterations and default toolsets for subagents. - Enhanced documentation to provide clear guidance on using the delegation feature and its configuration. - Added comprehensive tests to ensure the functionality and reliability of the delegation logic.
- Added a spinner to visually indicate task delegation progress in quiet mode, improving user experience during batch processing. - Implemented a method to update spinner text dynamically based on remaining tasks, providing real-time feedback. - Enhanced the `delegate_task` function to include per-task completion messages, ensuring clarity on task status during execution. - Updated the KawaiiSpinner class to allow message updates while running, facilitating better interaction during long-running tasks.
- Removed outdated sections detailing existing tools and knowledge systems to enhance readability. - Consolidated information on subagent architecture and interactive clarifying questions, emphasizing their current status and implementation details. - Updated formatting and structure to improve navigation and understanding of the document's content.
- Changed the banner message in both PowerShell and shell scripts to reflect the new branding of the Hermes Agent as an open source AI agent by Nous Research, enhancing clarity and consistency across installation scripts.
- Implemented a multi-provider authentication system for the Hermes Agent, supporting OAuth for Nous Portal and traditional API key methods for OpenRouter and custom endpoints. - Enhanced CLI with commands for logging in and out of providers, allowing users to authenticate and manage their credentials easily. - Updated configuration options to select inference providers, with detailed documentation on usage and setup. - Improved status reporting to include authentication status and provider details, enhancing user awareness of their current configuration. - Added new files for authentication handling and updated existing components to integrate the new provider system.
…-shell-injection fix(security): prevent shell injection in sudo password piping
- Add "Security Hardening" section with table of protections from recent PRs - Add "Reasoning Effort" config section under Features - Add Slack and WhatsApp env vars to Environment Variables Reference - Remove non-functional ANTHROPIC_API_KEY from env vars table - Add `hermes whatsapp` to Commands section Documentation (docs/messaging.md): - Rewrite WhatsApp section to reflect Baileys bridge and `hermes whatsapp` flow - Add Slack env vars, adapter to architecture diagram, and platform toolsets table
Code fixes (run_agent.py): - Fix off-by-one in _flush_messages_to_session_db skipping one message per flush - Add clear_interrupt() to 3 early-return paths preventing stale interrupt state - Wrap handle_function_call in try/except so tool crashes don't kill the conversation - Replace fragile `is` identity check with _flush_sentinel marker for memory flush cleanup - Fix retry loop off-by-one (6 attempts not 7) - Remove redundant inline `import re`
…ser-sessions fix(whatsapp): multi-user session isolation and bridge message handling
…ption for sandboxing feature
…ring-model fix(cli): prevent crash in save_config_value when model is a string
…n-false-positive fix(cli): prevent paste detection from destroying multi-line input
…inel fix(cli): respect explicit --max-turns value even when it equals default
…withdrawn paper handling. Update search script to display version information alongside arXiv IDs.
…ong-path fix(cli): show correct config file path in /config command
…ring fix(cli): reduce spinner flickering under patch_stdout
…g-guide docs: add CONTRIBUTING.md with contributor guidelines
…larify priorities
…del from environment and config file
gizdusum
force-pushed
the
fix/test-default-context-lengths-opus
branch
from
July 5, 2026 23:12
1eb4211 to
2c4546f
Compare
gizdusum
force-pushed
the
fix/test-default-context-lengths-opus
branch
from
July 5, 2026 23:18
2c4546f to
3908cd9
Compare
Contributor
Author
|
Closing: this targeted code from a diverged fork state that doesn't exist on current main. Apologies for the noise. |
7 tasks
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.
Summary
test__models_200kguarded its assertion withif "" in key:, which is always true. The test therefore asserted that every model inDEFAULT_CONTEXT_LENGTHShas a 200000 context length, and failed on non-200k models (e.g.openai/gpt-4o).Fix
Changed the predicate to
if "anthropic" in key:, consistent with the sibling tests ("gpt-4"→ 128k,"gemini"→ 1M). Every Anthropic model in the dict is 200000, and no non-Anthropic model is, so the predicate matches the intended set exactly.Verification
openai/gpt-4o).pytest tests/agent/test_model_metadata.py -v→ 18/18 pass.Developed with Hermes agent assistance; I reviewed and verified the change manually.