mvp-factory-openhands/NEXT_STEPS.md

128 lines
3.4 KiB
Markdown

# 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)
```bash
# 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
```bash
# 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
```bash
# 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:
```bash
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