Add macro style commands with dropdown window#17
Conversation
- Implement CommandCompleter class for interactive dropdown with autocomplete - Add support for arrow key navigation and Tab completion for commands - Start agent session by default instead of showing 1-3 menu - Add enhanced command handling with /exit, /help, /clear, /status, /new - Improve UI with better welcome message and session management - Add comprehensive tests for TUI functionality Fixes #16 Co-authored-by: openhands <openhands@all-hands.dev>
|
@OpenHands please add a github workflow, similar to one for lint in this repository, to run python unit tests using pytest |
|
I'm on it! malhotra5 can track my progress at all-hands.dev 🟡 Solvability: MEDIUM This is a straightforward infrastructure request to add a GitHub workflow for running Python unit tests with pytest, similar to an existing linting workflow. The request follows standard development patterns and involves well-established tooling, making it moderately solvable despite being brief. You can make the issue easier to resolve by addressing these concerns in the conversation: • Specify which Python versions should be tested in the workflow Positive feedback: • The request references existing infrastructure (linting workflow) as a template, providing clear context |
…pytest\n\nCo-authored-by: openhands <openhands@all-hands.dev>
|
@OpenHands run If you see an error running the binary executable, explain why and fix it also modify the build + github CI for build so that if fails when we are unable to run the executable; I see the following log but the CI is still passing |
|
I'm on it! malhotra5 can track my progress at all-hands.dev 🔴 Solvability: HARD This issue involves a complex build system problem where an executable fails to run despite successful compilation, requiring fixes to both the build process and CI configuration. The challenge is compounded by the need to understand interactions between multiple system components (build script, executable, and CI pipeline) in a specific environment setup. You can make the issue easier to resolve by addressing these concerns in the conversation: • Provide specific details about the build environment, including operating system, compiler version, and any relevant system dependencies |
… uv run pytest -v)\n\nCo-authored-by: openhands <openhands@all-hands.dev>
|
OpenHands encountered an unknown error. See the conversation for more information, or try again |
|
@OpenHands current if the binary executable is built but exits with an error when attempting to run, the github worklow this is the error that the workflow threw please make sure that the github workflow fails when such an event occurs |
|
I'm on it! malhotra5 can track my progress at all-hands.dev 🟡 Solvability: MEDIUM This issue involves a GitHub workflow that incorrectly reports success when a binary executable builds but fails during runtime testing. The problem is well-defined with clear error messages and follows standard CI/CD patterns, making it moderately solvable despite involving multiple system components. You can make the issue easier to resolve by addressing these concerns in the conversation: • Include step-by-step reproduction instructions showing exactly how to trigger the workflow failure scenario Positive feedback: • The issue includes specific error messages and output from the failing workflow, making the problem concrete and identifiable |
- Changed build.py to return exit code 1 when executable test fails - This ensures GitHub workflow 'Build and Test Binary' fails appropriately - Previously the workflow would pass even when executable couldn't run Co-authored-by: openhands <openhands@all-hands.dev>
SummaryI successfully fixed the GitHub workflow issue where the "Build and Test Binary" workflow was incorrectly passing even when the executable failed to run. Request Verification: Changes Made:
Result: The fix has been committed and pushed to the |
|
@OpenHands please run note that you have try to be minimal when fixing this problem, you'll probably be modifying the PyInstaller specs |
|
I'm on it! malhotra5 can track my progress at all-hands.dev 🔴 Solvability: HARD This is a challenging build system issue that requires running a build script and debugging PyInstaller configuration problems. The issue lacks critical details like error messages and specific failure descriptions, making it difficult to diagnose and resolve without extensive investigation. You can make the issue easier to resolve by addressing these concerns in the conversation: • Include the actual error messages from running |
- Remove /openhands/code from sys.path in spec so analysis freezes agent-sdk's openhands package, not monorepo - Set optimize=0 to retain docstrings required by PLY/bashlex grammar This resolves runtime errors: - No module named 'openhands.core.agent' (due to wrong package on path) - bashlex IndexError from stripped docstrings when optimize=2 Co-authored-by: openhands <openhands@all-hands.dev>
|
Summary of work completed What I ran and observed
Root causes
Minimal fix (PyInstaller spec)
Verification
CI behavior (fail on executable runtime failure)
Checklist
Commit
How to try it
|
- Add collect_data_files for openhands.core.agent.codeact_agent/prompts/*.j2 so runtime can load Jinja templates Co-authored-by: openhands <openhands@all-hands.dev>
- Set LITELLM_API_KEY and LITELLM_MODEL in Build and Test Binary workflow to exercise prompt/template and agent init paths - Prevents regressions like missing Jinja templates from slipping by Co-authored-by: openhands <openhands@all-hands.dev>
|
@OpenHands please fix the failing lint (run |
|
I'm on it! malhotra5 can track my progress at all-hands.dev 🟡 Solvability: MEDIUM This is a straightforward maintenance task requesting a lint fix with clear reproduction steps provided (running You can make the issue easier to resolve by addressing these concerns in the conversation: • Include the specific lint error messages or output from running Positive feedback: • Clear reproduction steps are provided with the specific command to run ( |
- Add missing return type annotations to test functions - Fix import ordering and formatting issues - Remove trailing whitespace and fix end-of-file issues - Update typing imports to use collections.abc.Generator - All pre-commit hooks now pass successfully Co-authored-by: openhands <openhands@all-hands.dev>
SummaryI have successfully fixed all failing lint issues in the OpenHands CLI repository. The ✅ Request Completion Checklist:
🔧 Key Changes Made:
📊 Lint Results:All pre-commit hooks now pass:
The changes have been committed and pushed to the |
Summary
This PR fixes issue #16 by implementing macro style commands with an interactive dropdown window and improving the UI/setup screen for the OpenHands CLI.
Changes Made
🎯 Core Features
CommandCompleterclass that provides autocomplete functionality for forward slash commands🛠️ Enhanced Commands
/exit- Exit the application/help- Display available commands with descriptions/clear- Clear the screen/status- Display conversation details/new- Create a new conversation🎨 UI Improvements
🧪 Testing
CommandCompleterfunctionalityTechnical Details
The implementation follows the pattern from the main OpenHands repository but is adapted for the CLI context:
Testing
Fixes
Closes #16
Screenshots/Demo
The CLI now provides:
/Note: This implementation references the OpenHands main repository CLI patterns while being specifically adapted for the standalone CLI tool using the agent-sdk.
@malhotra5 can click here to continue refining the PR