Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat: Microagents Support for Resolver #6191

Open
oconnorjoseph opened this issue Jan 10, 2025 · 2 comments · May be fixed by h55nick/OpenHands#4, h55nick/OpenHands#5 or #6867
Open

Feat: Microagents Support for Resolver #6191

oconnorjoseph opened this issue Jan 10, 2025 · 2 comments · May be fixed by h55nick/OpenHands#4, h55nick/OpenHands#5 or #6867
Assignees
Labels
enhancement New feature or request microagents Related to microagents resolver Related to OpenHands Resolver

Comments

@oconnorjoseph
Copy link
Contributor

oconnorjoseph commented Jan 10, 2025

What problem or use case are you trying to solve?
Perhaps I am mistaken, but it appears that neither .openhands/microagents/repo.md nor microagent markdowns in .openhands/microagents/knowledge/ nor .openhands/microagents/tasks/ are recognized and used by the Resolver.

Describe the UX of the solution you'd like
The Resolver should:

  1. Automatically detect and load microagents from .openhands/microagents/ and its subdirectories (repo.md, knowledge/, and tasks/) without manual configuration, which may be several steps into the Resolver's thinking process.
  2. Trigger knowledge agents contextually based on keywords detected in conversations or file content.
  3. Emit directly or indirectly in the action output logs microagents.
  4. Display errors or warnings if microagents have invalid syntax or fail to load, ensuring users can troubleshoot issues.

Do you have thoughts on the technical implementation?

  1. Loading Microagents:

    • Implement a directory scanning feature in the Resolver to locate and parse files in .openhands/microagents/.
    • Use YAML parsers to validate and load metadata from the frontmatter of each microagent file.
    • Prioritize loading order:
      1. repo.md for repository-specific settings.
      2. knowledge/ for context-based knowledge triggers.
      3. tasks/ for interactive workflows.
  2. Integration with OpenHands:

    • Enhance the Resolver logic to allow dynamic activation of microagents based on triggers (e.g., keywords).
    • Treat the thinking Resolver agent as the user for task agents
    • Maintain a cache of loaded microagents for quick access and reduce redundant parsing.
  3. Testing:

    • Write unit tests for the Resolver to cover edge cases like missing directories or invalid microagent structures.
    • Create integration tests to ensure microagents interact correctly within OpenHands workflows.

Describe alternatives you've considered

  1. Manual Configuration: Duplicate the frontmatter from all microagents into .openhands_instructions. This approach is less user-friendly and increases the risk of misconfiguration.
@oconnorjoseph oconnorjoseph added the enhancement New feature or request label Jan 10, 2025
@mamoodi mamoodi added the resolver Related to OpenHands Resolver label Jan 10, 2025
@oconnorjoseph
Copy link
Contributor Author

This may have to do with Issue #6201

Copy link
Contributor

This issue is stale because it has been open for 30 days with no activity. Remove stale label or comment or this will be closed in 7 days.

@github-actions github-actions bot added the Stale Inactive for 30 days label Feb 22, 2025
@enyst enyst removed the Stale Inactive for 30 days label Feb 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request microagents Related to microagents resolver Related to OpenHands Resolver
Projects
None yet
5 participants