Commit Graph

56 Commits

Author SHA1 Message Date
Sanju Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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 Sivalingam
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
Sanju Sivalingam
5c471ec19a time to rethink architecture of this... 2026-02-07 18:04:46 +05:30
Sanju Sivalingam
76b7bce405 Rename project to DroidClaw
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 17:51:08 +05:30
Sanju Sivalingam
caa7c9a371 Update architecture doc: add simple ELI5 explanation + kernel bridge details
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 17:38:26 +05:30
Sanju Sivalingam
434c5bb826 add arch diagram 2026-02-06 17:29:46 +05:30
Sanju Sivalingam
cd348b7c34 Update README: fix paths for flat structure, add docs links
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 16:11:51 +05:30
Sanju Sivalingam
73f967a467 Add detailed use cases documentation with 50+ examples
Covers 15 categories: messaging, social media, navigation, settings,
app management, productivity, media, shopping, research, file ops,
system monitoring, automation, accessibility, testing, and multi-step workflows.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 16:06:26 +05:30