A streamlined, production-ready AI platform that connects your iPhone to local AI models via voice commands.
# Install TinyIntent (one-time setup)
./install.sh
# Start TinyIntent server
tinyintent
# Your server is now running at http://YOUR_IP:8787
# Ready for iPhone voice shortcuts!-
Open Shortcuts app on your iPhone
-
Create new shortcut with these actions:
- Dictate Text (Stop Listening: After Pause)
- Get Contents of URL:
- URL:
http://YOUR_IP:8787/shortcut/route - Method: POST
- Headers:
X-Shortcut-Token: tinyintent-shortcut-token-123 - JSON Body:
{"text": "[Dictated Text]", "return_format": "text"}
- URL:
- Get Text from Contents of URL (extract
speakfield) - Speak Text
-
Test: Say "Show me system logs" and hear the response!
tinyintent # Start server (default: port 8787)
tinyintent --port 9000 # Start on custom port
tinyintent status # Show system status
tinyintent --help # Show all optionstinyintent/
├── tinyintent/ # Main CLI package
│ ├── cli.py # Streamlined CLI entry point
│ ├── config.py # Configuration management
│ └── simple_server.py # Fallback server
├── bridge/ # FastAPI service core
│ ├── routes/ # Modular route organization
│ │ ├── shortcut.py # iPhone Shortcut API (M11.0)
│ │ ├── health.py # Health check endpoints
│ │ ├── helpers.py # Helper management
│ │ ├── agents.py # Agent lifecycle
│ │ └── system.py # System operations
│ ├── tinyrpc.py # Main FastAPI app
│ ├── security.py # Authentication & authorization
│ └── provenance.py # Agent signing & tamper detection
├── router/ # SmallIntent.mlmodel routing
│ ├── SmallIntent.mlmodel # CoreML intent classifier
│ ├── train_router.swift # Model training
│ └── data/ # Training datasets
├── helpers/ # Sandboxed task execution
│ ├── bot_guard/ # Crypto trading helper
│ ├── log_tailer/ # System log analysis
│ ├── registry.py # Helper discovery
│ └── executor.py # Sandboxed execution
├── data/episodes/ # Episode logging & storage
├── tests/ # Comprehensive test suites
├── scripts/ # Utility & automation scripts
├── docs/ # Documentation
├── install.sh # One-command installation
└── pyproject.toml # Python packaging
- 🧠 SmallIntent.mlmodel - Local CoreML intent routing
- 📱 iPhone Shortcut Integration - Voice commands via Siri
- 🔒 Security Framework - Authentication, sandboxing, audit logging
- 🤖 Helper System - Extensible action execution
- 📊 System Monitoring - Health checks and metrics
- 🌐 Tailscale Ready - Works anywhere with secure networking
- Endpoint:
/shortcut/route - Auth:
X-Shortcut-Tokenheader - Features: Voice-optimized text formatting, TTS optimization
- Integration: Seamless Siri voice command processing
- Model:
SmallIntent.mlmodel(CoreML, runs on Neural Engine) - Classification:
gen(generative) vsact(action execution) - Training: Swift + CreateML → CoreML artifacts
- Performance: Sub-10ms inference on Apple Silicon
- Runtime: Node.js sandboxed execution with capability isolation
- Security: CPU/memory limits, filesystem restrictions, network controls
- Registry: YAML-based discovery with lifecycle management
- Available Helpers:
bot_guard- Crypto trading position managementlog_tailer- System log analysis and monitoring
Try saying these to your iPhone:
- "Show me recent error logs"
- "Check system health"
- "What's my server status?"
- "Get my trading positions"
# Run comprehensive test suite
make test
# Individual test suites
./tests/health.sh # System health checks
./tests/auth.sh # Authentication testing
./tests/routes.smoke.sh # API endpoint validation
./tests/router_smoke.sh # Router model testing
./tests/helpers_smoke.sh # Helper framework testing
# Advanced commands
tinyintent --reload # Development mode with auto-reload
make doctor # System diagnostic report
make router-train # Train new intent classification modelEnvironment variables (auto-configured with defaults):
TINYINTENT_PORT=8787 # Server port
SHORTCUT_TOKEN=tinyintent-shortcut-token-123 # iPhone auth token
TINYINTENT_EXECUTION_ENABLED=1 # Enable helper execution
TINYINTENT_SECRET=your-secret-here # API authenticationGET /health- Health checkGET /shortcut/ping- iPhone Shortcut health checkPOST /shortcut/route- Voice command routingGET /docs- Interactive API documentationGET /helpers- Available helpers listPOST /helpers/{id}/preview- Helper preview mode
- 🔒 Local-First: All inference runs locally (no cloud calls)
- 🛡️ Sandboxed Execution: Helpers run in isolated environments with CPU/memory limits
- 🔑 Multi-Layer Auth: Token-based authentication for iPhone + API secret for advanced access
- 📋 Audit Logging: Full request/response/error logging with tamper detection
- 🚦 Lifecycle Gates: Agent staging, approval workflows, and emergency kill switches
- 🔐 Provenance Tracking: Cryptographic signing and tamper-evidence for all agents
iPhone (Siri) → Shortcuts → TinyIntent Bridge → SmallIntent.mlmodel → Helpers → Response
"Command not found": Run ./install.sh first
"Connection refused": Check firewall and network settings
"Invalid token": Verify X-Shortcut-Token header matches configuration
"Module not found": Ensure you're in the TinyIntent project directory
README_STREAMLINED.md- Quick start guidedocs/iOS_SHORTCUTS.md- iPhone Shortcut setupPRD.md- Complete product requirementsCLAUDE.md- AI assistant context
# System diagnostics
make doctor
# Security operations
./scripts/rotate_secret.sh # Rotate API secret
./scripts/print_urls_and_secret.sh # Show current config
# Data management
./scripts/export_episodes.sh # Export training dataTinyIntent v2.0.0 - Built with ❤️ for voice-first AI interaction
Note: This is a local-first platform. No data leaves your Mac.