Commit Graph
62 Commits
Author SHA1 Message Date
Sanju SivalingamandClaude Opus 4.6 a7738936f2 feat: extend DeviceInfo with battery, manufacturer, heartbeat
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 20:55:42 +05:30
Sanju SivalingamandClaude Opus 4.6 0c0efe9b1e chore: remove docs/plans from repo and gitignore it
Contains product architecture, roadmaps, and implementation plans
that should not be public.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 20:17:06 +05:30
Sanju SivalingamandClaude Opus 4.6 c395f9d83e feat: add DB persistence, real-time WebSocket, goal preprocessor, and Android companion app
- Add device/session/step DB persistence in server agent loop
- Add goal preprocessor for compound goals (e.g., "open YouTube and search X")
- Add step-level logging to agent loop
- Fix dashboard WebSocket auth (direct DB token lookup instead of auth.api)
- Fix web layout to use locals.session.token instead of cookie
- Add dashboard-ws.svelte.ts WebSocket store with auto-reconnect
- Rewrite devices page with direct DB queries and real-time updates
- Add device detail page with live step display and session history
- Add Android companion app resources, themes, and screen capture consent

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 20:12:41 +05:30
Sanju SivalingamandClaude Opus 4.6 ea707af83e fix(android): add CHANGE_NETWORK_STATE for foreground service on SDK 36
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 18:41:59 +05:30
Sanju SivalingamandClaude Opus 4.6 61fcecd021 fix(android): add screenHash to screen responses, handle goal_failed
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 18:17:48 +05:30
Sanju SivalingamandClaude Opus 4.6 4e9f0e14ae feat(android): add HomeScreen, SettingsScreen, LogsScreen with bottom nav
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 17:55:02 +05:30
Sanju SivalingamandClaude Opus 4.6 516b83bd0f feat(android): add ReliableWebSocket, CommandRouter, ConnectionService
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 17:51:19 +05:30
Sanju SivalingamandClaude Opus 4.6 ac7fc85891 feat(android): add GestureExecutor and ScreenCaptureManager
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 17:47:10 +05:30
Sanju SivalingamandClaude Opus 4.6 0e8ff24e08 feat(android): add AccessibilityService, ScreenTreeBuilder, permissions
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 17:43:42 +05:30
Sanju SivalingamandClaude Opus 4.6 78b605bc86 feat(android): add data models, DataStore settings, Application class
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 17:40:56 +05:30
Sanju SivalingamandClaude Opus 4.6 e22326cbd3 feat(android): add Ktor, serialization, DataStore, navigation dependencies
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 17:38:56 +05:30
Sanju SivalingamandClaude Opus 4.6 2c17ba40e8 docs: add Android companion app design
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 17:21:34 +05:30
Sanju SivalingamandClaude Opus 4.6 61461199db fix: add non-null assertion for deviceId route param
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 15:06:23 +05:30
Sanju SivalingamandClaude Opus 4.6 c659dfd8cc feat: add web Dockerfile for Railway deployment
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 14:46:31 +05:30
Sanju SivalingamandClaude Opus 4.6 84af22e4a1 feat: add goal proxy API route
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 14:45:52 +05:30
Sanju SivalingamandClaude Opus 4.6 7557481e83 feat: add devices page with goal input and step log
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 14:45:47 +05:30
Sanju SivalingamandClaude Opus 4.6 edfc91468b feat: add LLM provider settings page
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 14:45:44 +05:30
Sanju SivalingamandClaude Opus 4.6 8fc5587876 fix: use schema-based deleteKey and reactive key list refresh
- Add deleteKeySchema for proper FormData validation
- Return { deleted: true } from deleteKey for change tracking
- Use $state for keysPromise to refresh list after create/delete

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 14:43:46 +05:30
Sanju SivalingamandClaude Opus 4.6 9422e94a8e feat: add API keys management page
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 14:40:42 +05:30
Sanju SivalingamandClaude Opus 4.6 ebe82c7481 feat: add dashboard layout with navigation and auth guard
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 14:32:26 +05:30
Sanju SivalingamandClaude Opus 4.6 c0cf5039cd feat: switch SvelteKit from Cloudflare to node adapter
Deploying to Railway instead of Cloudflare, so swap
@sveltejs/adapter-cloudflare for @sveltejs/adapter-node.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 14:29:47 +05:30
Sanju SivalingamandClaude Opus 4.6 4c8241c964 feat: add agent loop with LLM integration and stuck detection
Server-side agent loop that adapts the CLI kernel to work over WebSocket.
Three new modules: stuck detection, LLM provider abstraction (OpenAI/Groq/
OpenRouter), and the main perception-reasoning-action loop. Also wires up
the goals route to start agent loops with duplicate-device protection.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 14:27:26 +05:30
Sanju SivalingamandClaude Opus 4.6 577c195862 feat: add REST routes for devices, goals, and health
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 14:21:11 +05:30
Sanju SivalingamandClaude Opus 4.6 8fe3ad9926 feat: add WebSocket handlers for device and dashboard connections
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 14:17:29 +05:30
Sanju SivalingamandClaude Opus 4.6 5b2a072cee feat: add apiKey plugin and new schema tables
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 14:11:55 +05:30
Sanju SivalingamandClaude Opus 4.6 bc014fd587 feat: scaffold Hono server with auth and health check
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 14:07:19 +05:30
Sanju SivalingamandClaude Opus 4.6 1e9e1f7e29 feat: add @droidclaw/shared types package
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 14:03:27 +05:30
Sanju SivalingamandClaude Opus 4.6 920ce46375 Add Discord link to site nav and footer
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:37:29 +05:30
Sanju SivalingamandClaude Opus 4.6 9e9f398ed6 Add auto-scroll to find_and_tap skill for off-screen elements
find_and_tap now scrolls down and rescans (up to 10 times) when the
target element isn't visible on the current screen. Stops as soon as
the element is found — no wasted scrolls. This removes the need for
LLMs to manually scroll-and-check in workflow prompts.

Also simplifies the Gemini-to-WhatsApp workflow prompts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 21:56:34 +05:30
Sanju Sivalingam 2312f8bece update workflow 2026-02-16 21:14:16 +05:30
Sanju SivalingamandClaude Opus 4.6 4848587f0c Add Gemini-to-WhatsApp workflow example
Multi-app workflow: ask Gemini about droidclaw.ai, copy response,
switch to WhatsApp, find contact, paste and send.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 20:47:40 +05:30
Sanju SivalingamandClaude Opus 4.6 6a63af1a68 Add ASCII art banner to CLI and update gitignore
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 20:00:46 +05:30
Sanju SivalingamandClaude Opus 4.6 158fe68bf9 Make groq the default provider, ollama as alternative
Groq (free tier, API key) is the primary setup path.
Ollama (local, no key) shown as secondary option.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 13:48:47 +05:30
Sanju SivalingamandClaude Opus 4.6 cbd6eb6b1e Add copy button to install command on site
Hover to reveal, click to copy, shows checkmark for 2s.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 13:45:02 +05:30
Sanju SivalingamandClaude Opus 4.6 76d6258a54 Add manual install steps alongside curl, harden install script
Site and README now show both curl one-liner and manual steps.
Explicit note that bun is required (node/npm won't work).
Install script improvements: version check, node detection warning,
curl check, Windows detection, .git dir validation, shallow clone,
fallback on bun install --silent, post-install missing dep summary.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 13:43:38 +05:30
Sanju SivalingamandClaude Opus 4.6 04a60af082 Add install script and update domain to droidclaw.ai
One-liner install: curl -fsSL https://droidclaw.ai/install.sh | sh
Auto-installs bun and adb, clones repo, sets up .env.
Updated site meta tags and canonical URL to droidclaw.ai.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 13:41:48 +05:30
Sanju SivalingamandClaude Opus 4.6 75fb725744 Add Ollama provider for local LLM support
Reuses OpenAIProvider via Ollama's OpenAI-compatible API at localhost:11434.
No API key needed - just install Ollama, pull a model, and set LLM_PROVIDER=ollama.
Vision models (llava, llama3.2-vision) supported for screenshot fallback.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 13:28:37 +05:30
Sanju SivalingamandClaude Opus 4.6 fb3e7bc723 Add adb install instructions to site and readme
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 23:03:00 +05:30
Sanju SivalingamandClaude Opus 4.6 d8d24154eb Add analytics tracking to site
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 23:00:23 +05:30
Sanju SivalingamandClaude Opus 4.6 b5f504bb8d Move repo to unitedbyai org, add contributors
- Update all GitHub links from thisuxhq to unitedbyai
- Add contributors section with sanju sivalingam and somasundaram mahesh
- Update meta author and footer attribution to unitedby.ai

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 12:42:53 +05:30
Sanju SivalingamandClaude Opus 4.6 416005612e Fix mobile overflow on bento and mode cards
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 21:33:51 +05:30
Sanju SivalingamandClaude Opus 4.6 231bce36e5 Update site: icon alignment, meta tags, highlight colors, acknowledgements in readme
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 21:32:00 +05:30
Sanju Sivalingam 554b2eb394 update site 2026-02-14 21:03:58 +05:30
Sanju SivalingamandClaude Opus 4.6 71021f48dd Organise examples into folders, rewrite readme with natural flow and tailscale section
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 20:28:35 +05:30
Sanju SivalingamandClaude Opus 4.6 8b9f0a4e6e Clean up for public release: remove logs, debug artifacts, and future plans from tracking; rewrite readme minimal and lowercase
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 19:58:47 +05:30
Sanju SivalingamandClaude Opus 4.6 389ac81c98 Add Maestro-style YAML flow runner for deterministic automation
New --flow mode executes scripted YAML steps without LLM, mapping 17
commands (tap, type, swipe, scroll, etc.) to existing actions. Element
finding uses accessibility tree text/hint/id matching.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 19:34:18 +05:30
Sanju SivalingamandClaude Opus 4.6 e588881bfc Rewrite README: concise, scannable, conversational tone
709 lines → 238 lines. Updated to reflect 22 actions, 6 skills,
34 workflows, and workflow orchestration system.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 19:13:49 +05:30
Sanju SivalingamandClaude Opus 4.6 7875db1626 Add weather-to-whatsapp workflow using Google AI Mode + share intent
Google app → AI Mode → "Chennai today weather" → Share button → WhatsApp → Sanju

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 19:11:26 +05:30
Sanju SivalingamandClaude Opus 4.6 feeb52aade Add 33 practical day-to-day workflow examples
Messaging & Communication:
- whatsapp-reply, whatsapp-broadcast, whatsapp-to-email
- telegram-channel-digest, telegram-send-message
- slack-standup, slack-check-messages
- email-digest, email-reply, translate-and-reply

Social Media:
- social-media-post (cross-platform Twitter + LinkedIn)
- social-media-engage (like/comment rounds)
- instagram-post-check (engagement stats)

Productivity:
- morning-briefing (SMS + WhatsApp + Telegram + Calendar + Weather)
- calendar-create-event, notes-capture
- notification-cleanup, do-not-disturb (focus mode)
- github-check-prs, screenshot-share-slack

Research & Search:
- google-search-report, news-roundup
- multi-app-research (Google + YouTube + Reddit)
- price-comparison (Amazon + Flipkart + Google)

Lifestyle:
- food-order (Zomato), uber-ride (price check)
- maps-commute, check-flight-status
- spotify-playlist, youtube-watch-later
- fitness-log, expense-tracker, wifi-password-share

All workflows use: bun run src/kernel.ts --workflow examples/<name>.json

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 18:37:29 +05:30
Sanju SivalingamandClaude Opus 4.6 8bad65cd96 Add 7 new actions, workflow orchestration, and shell escaping fixes
- New actions: open_url, switch_app, notifications, pull_file, push_file, keyevent, open_settings
- Workflow system: runWorkflow() for multi-app sub-goal sequences with --workflow CLI flag
- Export runAgent() with {success, stepsUsed} return for workflow integration
- Fix clipboard_set shell escaping (single-quote wrapping matching skills.ts)
- Improve type action escaping for backticks, $, !, ?, brackets, braces
- Move parseJsonResponse to llm-providers.ts and export it
- Update SYSTEM_PROMPT and Zod schema for 22 total actions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 18:33:24 +05:30