zeekay
1a7ec1bad0
fix: Windows + WSL compatibility across python-sdk
...
Make uvloop fully opt-in (performance extra only, not a hard dep).
Add Windows native support: shell resolution (pwsh/cmd), signal
handling (SIGKILL guard), platform-appropriate paths, chmod guards.
Changes:
- hanzo-mcp: move uvloop from hard dep to [performance] extra
- hanzo-tools-shell: resolve pwsh/powershell/cmd on Windows,
use correct invocation flags (cmd /c, pwsh -Command)
- hanzo-tools-shell: guard signal.SIGKILL (doesn't exist on Windows)
- hanzo-tools-computer: replace HOME=/tmp fallback with Path.home()
- hanzo-mcp cli: platform-appropriate socket path default
- hanzoai auth: skip os.chmod on Windows
- hanzo install: skip os.chmod on Windows
- Add .github/workflows/test-windows.yml (native + WSL2 matrix)
Versions bumped: hanzo-mcp 0.12.7, hanzo-async 0.1.2,
hanzo-tools-shell 0.6.2, hanzo-tools-computer 0.5.4
2026-03-09 20:50:55 -07:00
zeekay
30fb202cf0
fix(screen): write captures to file instead of returning inline base64
...
Screenshots and session frames are now saved to ~/.hanzo/screen/ and
the tool returns the file path. Prevents blowing up context with ~52K
chars of base64 per capture.
2026-03-06 04:18:32 -08:00
zooqueen and Hanzo Dev
b144973bfc
fix(lint): resolve all ruff + black errors across all packages
...
Fix 35 ruff errors (E722, F841, B904, B905, B007, E741, S202, S310,
S306, S110, TID251, UP042, F401) and run black on 526 files.
Co-authored-by: Hanzo Dev <[email protected] >
2026-02-21 23:32:32 -08:00
zooqueen and Hanzo Dev
920f767417
style: auto-fix ruff lint and format for Python 3.12
...
Run ruff check --fix and ruff format across the repo to fix ~495
auto-fixable lint errors (mostly I001 import sorting) and reformat
225 files to match the py312 target.
Co-authored-by: Hanzo Dev <[email protected] >
2026-02-20 21:29:31 -08:00
zeekay
55703b869c
fix(computer): use Claude's actual 2000px limit for multi-image
2026-01-11 20:13:05 -08:00
zeekay
9144211873
feat(computer): add ScreenTool for unified screen recording and Claude interpretation
...
New 'screen' tool provides one-shot recording → analysis → compression:
screen(action="session", duration=30) # Record 30s, return compressed frames
ACTIONS:
- session: ONE-SHOT record → analyze → compress → return for Claude
- capture: Single screenshot (optimized)
- record: Start background recording
- stop: Stop and process recording
- analyze: Process existing video file
HARD LIMITS (Claude API constraints):
- Max 1568px per dimension (Claude 2000px limit for multi-image)
- Max 100 images per request
- Max 32MB payload
DEFAULT SETTINGS:
- 768px max dimension (good quality, safe margin)
- 60% JPEG quality (aggressive compression)
- 30 target frames per session
- Activity detection @ 0.02 threshold
USAGE:
screen(action="session") # 30s → ~30 frames → ~500KB
screen(action="capture") # Single screenshot
screen(action="analyze", path="recording.mp4") # Process existing
ENV VARS:
HANZO_SCREEN_DURATION=30
HANZO_SCREEN_TARGET_FRAMES=30
HANZO_SCREEN_MAX_SIZE=768
HANZO_SCREEN_QUALITY=60
Bump hanzo-tools-computer to v0.5.0
2026-01-11 20:07:08 -08:00