3.4 KiB
3.4 KiB
OpenHands Integration - Next Steps
Status Summary
✅ Completed:
- Tested both API and CLI approaches
- Identified technical blockers (network namespace + TTY issues)
- Created 3 n8n workflow configurations
- Built Python wrapper scripts
- Comprehensive documentation
⏳ Ready for Testing:
/home/bam/openhands-pty.py- Pseudo-TTY wrapper (needs verification)/home/bam/claude/mvp-factory/openhands-n8n-workflow.json- Complete workflow
Immediate Actions Required
1. Test the pty-based wrapper (CRITICAL)
# Run this manually to verify it works:
python3 /home/bam/openhands-pty.py "Create a file named final-test.txt with content: Success!"
# Check if file was created:
ls -la /home/bam/final-test.txt
cat /home/bam/final-test.txt
2. If wrapper works, proceed with n8n integration
# The workflow file to use:
/home/bam/claude/mvp-factory/openhands-n8n-workflow.json
# Import via n8n UI:
# 1. Open https://n8n.oky.sh
# 2. Credentials → Add SSH credentials (ai-dev-localhost)
# 3. Import from file → Select openhands-n8n-workflow.json
# 4. Activate workflow
3. Test webhook endpoint
# Test manually:
curl -X POST https://n8n.oky.sh/webhook/openhands-task \
-H "Content-Type: application/json" \
-d '{
"repository": {"full_name": "test/repo"},
"commits": [{"message": "Test build task"}]
}'
Files Reference
Python Wrappers:
/home/bam/run-openhands.py- Original wrapper (may have TTY issues)/home/bam/openhands-pty.py- BEST CANDIDATE (uses pseudo-TTY)
n8n Workflows:
/home/bam/claude/mvp-factory/openhands-n8n-workflow.json- USE THIS (complete workflow)/home/bam/claude/mvp-factory/openhands-cli-tmux-workflow.json- Alternative with tmux
Documentation:
/home/bam/claude/mvp-factory/OPENHANDS_INTEGRATION_STATUS.md- Full status report/home/bam/claude/mvp-factory/NEXT_STEPS.md- This file
If pty wrapper doesn't work:
Option A: Debug and improve
- Check logs from pty wrapper run
- Adjust timing in openhands-pty.py
- Try pexpect library if available
Option B: Use tmux approach
- Update n8n workflow to use tmux commands
- More reliable for long-running tasks
Option C: API approach with fixed runtime
- Debug network namespace issue
- Requires Docker networking expertise
- May take significant time
Decision Matrix
| Approach | Reliability | Complexity | Time to Implement |
|---|---|---|---|
| pty wrapper | Medium | Low | Immediate |
| tmux in n8n | High | Medium | 1-2 hours |
| Fixed API | High | High | Unknown |
| Manual CLI | N/A | High | Not viable |
Gitea Webhook Configuration
Once n8n workflow works:
URL: https://n8n.oky.sh/webhook/openhands-task
Method: POST
Content-Type: application/json
Secret: [generate random string]
Events: Push events
Test by pushing to any repository:
echo "Test" > test.txt
git add . && git commit -m "Test webhook" && git push
Success Criteria
- Python wrapper creates file successfully
- n8n workflow imports without errors
- Webhook triggers workflow
- OpenHands executes task
- File is created and verified
- End-to-end test passes
Contact/Support
See /home/bam/claude/mvp-factory/OPENHANDS_INTEGRATION_STATUS.md for:
- Detailed error analysis
- Technical root causes
- Alternative solutions
- Complete testing procedures
Last Updated: 2025-11-30 22:07 Ready for: User testing and validation