9 Commits
Author SHA1 Message Date
HenryandClaude Opus 5.5 e035e424f4 docs, CI: README for the no-computer version, legacy notes, app + firmware CI
server/ stays as the legacy v0.1.0 setup (tag v0.1.0, branch legacy).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 09:55:35 +08:00
HenryandClaude Opus 5.5 94396fdab2 ui: red tap marker with ripple, motion switch, inline calibration hints
- taps get a large red ring and an animated ripple; a Motion switch turns animation off
- calibration progress and instructions show right under the phone
- manual controls no longer get cut off when expanded
- Clear history also empties the task box; precise taps are labelled in the log
- first example: set a 7:00 AM alarm that repeats every day

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 21:09:53 +08:00
HenryandClaude Opus 5.5 099fd8dcd8 server: board heartbeat, safer keep-awake, no-cache UI, OpenAI token parameter
- ping the board every 2 s so an unplugged or silent board shows as gone within seconds
- never nudge the pointer right after the board connects or while the phone is not mirroring
- read and log the board's hello (last reset reason, uptime)
- serve the web UI with Cache-Control: no-cache so updates show on refresh
- LLM_TOKEN_PARAM (auto by default) for models that want max_completion_tokens

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 21:09:53 +08:00
HenryandClaude Opus 5.5 b27a47ebae pointer: two-point auto calibration, learned correction, sensitive change detection
- calibration finds the pointer at two distances and fits scale and offset; it is saved with the
  landings seen while aiming, so every later move is corrected
- search the whole screen when the pointer is far from the target; ignore implausible readings
- rest before lifting a swipe (no momentum) and after a click (no accidental drag)
- detect small changes such as a checkmark, masking the pointer and the status bar
- mirroring counts as live only while the phone is connected to UxPlay (Linux)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 21:09:53 +08:00
HenryandClaude Opus 5.5 b0ca43f4d1 agent: batch independent taps, precise taps, and stronger self-checks
- give several DO lines when actions do not depend on each other (e.g. ticking days)
- 'tap X Y precise' locates the pointer and corrects it before tapping small targets
- reject an action that just changed nothing; repeating a scroll that still moves is not 'stuck'
- history shows actions and their effect only, so the model looks again instead of echoing itself
- prompt rules for momentum-free swipes, time wheels (tap then type) and searching lists

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 21:09:53 +08:00
HenryandClaude Opus 5.5 23f9e65788 ui: keep model names on one line
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 04:36:05 +08:00
HenryandClaude Opus 5.5 1fecb9b63e Add tests and CI for the server and firmware build
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 03:10:13 +08:00
HenryandClaude Opus 5.5 6d8dc8c793 Add experimental server for self-hosted Hugging Face vision models
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 03:10:13 +08:00
HenryandClaude Opus 5.5 926f5e22b9 Add agent server, web UI and AirPlay screen capture
- UxPlay receiver supervised in the background, frames kept as JPEG
- planner/actor loop with screen-change feedback and loop/stuck recovery
- closed-loop pointer aiming that refines the calibration
- web UI: live phone, live log, step screenshot wall, emergency stop
- debug mode that records every model call and screenshot

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 03:10:13 +08:00