<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=Edge"> <link rel="stylesheet" href="/dikciz-launcher/assets/css/just-the-docs-default.css"> <link rel="stylesheet" href="/dikciz-launcher/assets/css/just-the-docs-head-nav.css" id="jtd-head-nav-stylesheet"> <style id="jtd-nav-activation"> .site-nav ul li a { background-image: none; } </style> <script src="/dikciz-launcher/assets/js/vendor/lunr.min.js"></script> <script src="/dikciz-launcher/assets/js/just-the-docs.js"></script> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Begin Jekyll SEO tag v2.8.0 --> <title>Dikciz | Programmable Android home and app runtime</title> <meta name="generator" content="Jekyll v3.10.0" /> <meta property="og:title" content="Dikciz" /> <meta name="author" content="Ciprian Mandache" /> <meta property="og:locale" content="en" /> <meta name="description" content="Editable Android homes, HTML/CSS/JavaScript apps, Lua and JavaScript automation, AI chat, and phone control over MCP, HTTP and WebSocket." /> <meta property="og:description" content="Editable Android homes, HTML/CSS/JavaScript apps, Lua and JavaScript automation, AI chat, and phone control over MCP, HTTP and WebSocket." /> <link rel="canonical" href="https://psyb0t.github.io/dikciz-launcher/assets/css/just-the-docs-head-nav.css" /> <meta property="og:url" content="https://psyb0t.github.io/dikciz-launcher/assets/css/just-the-docs-head-nav.css" /> <meta property="og:site_name" content="Dikciz" /> <meta property="og:type" content="website" /> <meta name="twitter:card" content="summary" /> <meta property="twitter:title" content="Dikciz" /> <script type="application/ld+json"> {"@context":"https://schema.org","@type":"TechArticle","author":{"@type":"Person","name":"Ciprian Mandache"},"description":"Editable Android homes, HTML/CSS/JavaScript apps, Lua and JavaScript automation, AI chat, and phone control over MCP, HTTP and WebSocket.","headline":"Dikciz","url":"https://psyb0t.github.io/dikciz-launcher/assets/css/just-the-docs-head-nav.css"}</script> <!-- End Jekyll SEO tag --> <script> /* The pinned theme dereferences null on blur. Block comments survive HTML compression. */ document.addEventListener( "focusout", (event) => { const target = event.target; if ( event.relatedTarget !== null || !(target instanceof Element) || (target.id !== "search-input" && !target.closest("#search-results")) ) { return; } document.documentElement.classList.remove("search-active"); event.stopPropagation(); }, true, ); </script> </head> <body> <a class="skip-to-main" href="#main-content">Skip to main content</a> <svg xmlns="http://www.w3.org/2000/svg" class="d-none"> <symbol id="svg-link" viewBox="0 0 24 24"> <title>Link</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-link"> <path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path> </svg> </symbol> <symbol id="svg-menu" viewBox="0 0 24 24"> <title>Menu</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-menu"> <line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line> </svg> </symbol> <symbol id="svg-arrow-right" viewBox="0 0 24 24"> <title>Expand</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-right"> <polyline points="9 18 15 12 9 6"></polyline> </svg> </symbol> <!-- Feather. MIT License: https://github.com/feathericons/feather/blob/master/LICENSE --> <symbol id="svg-external-link" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-external-link"> <title id="svg-external-link-title">(external link)</title> <path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line> </symbol> <symbol id="svg-doc" viewBox="0 0 24 24"> <title>Document</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file"> <path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"></path><polyline points="13 2 13 9 20 9"></polyline> </svg> </symbol> <symbol id="svg-search" viewBox="0 0 24 24"> <title>Search</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search"> <circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line> </svg> </symbol> <!-- Bootstrap Icons. MIT License: https://github.com/twbs/icons/blob/main/LICENSE.md --> <symbol id="svg-copy" viewBox="0 0 16 16"> <title>Copy</title> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-clipboard" viewBox="0 0 16 16"> <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z"/> <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z"/> </svg> </symbol> <symbol id="svg-copied" viewBox="0 0 16 16"> <title>Copied</title> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-clipboard-check-fill" viewBox="0 0 16 16"> <path d="M6.5 0A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3Zm3 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3Z"/> <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1A2.5 2.5 0 0 1 9.5 5h-3A2.5 2.5 0 0 1 4 2.5v-1Zm6.854 7.354-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708.708Z"/> </svg> </symbol> </svg> <header class="side-bar"> <div class="site-header"> <a href="/dikciz-launcher/" class="site-title lh-tight"> Dikciz </a> <button id="menu-button" class="site-button btn-reset" aria-label="Menu" aria-expanded="false"> <svg viewBox="0 0 24 24" class="icon" aria-hidden="true"><use xlink:href="#svg-menu"></use></svg> </button> </div> <nav aria-label="Main" id="site-nav" class="site-nav"> <ul class="nav-list"><li class="nav-list-item"><a href="/dikciz-launcher/" class="nav-list-link">Documentation</a></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="Tutorial submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/dikciz-launcher/tutorial/" class="nav-list-link">Tutorial</a><ul class="nav-list"><li class="nav-list-item"><a href="/dikciz-launcher/user-guide/" class="nav-list-link">Dikciz user guide</a></li><li class="nav-list-item"><a href="/dikciz-launcher/screens/" class="nav-list-link">Screens and guided workflows</a></li><li class="nav-list-item"><a href="/dikciz-launcher/starter-home/" class="nav-list-link">Starter home</a></li><li class="nav-list-item"><a href="/dikciz-launcher/embedded-chat/" class="nav-list-link">On-device Dikciz assistant</a></li><li class="nav-list-item"><a href="/dikciz-launcher/assistant-routines/" class="nav-list-link">Assistant routines</a></li><li class="nav-list-item"><a href="/dikciz-launcher/dikciz-configuration/" class="nav-list-link">Dikciz configuration</a></li><li class="nav-list-item"><a href="/dikciz-launcher/android-access/" class="nav-list-link">Android access and execution boundaries</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="Developer manual submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/dikciz-launcher/developer-manual/" class="nav-list-link">Developer manual</a><ul class="nav-list"><li class="nav-list-item"><a href="/dikciz-launcher/javascript-api/" class="nav-list-link">JavaScript API</a></li><li class="nav-list-item"><a href="/dikciz-launcher/lua-api/" class="nav-list-link">Lua API</a></li><li class="nav-list-item"><a href="/dikciz-launcher/custom-apps/" class="nav-list-link">Custom apps</a></li><li class="nav-list-item"><a href="/dikciz-launcher/background-javascript/" class="nav-list-link">Background JavaScript</a></li><li class="nav-list-item"><a href="/dikciz-launcher/scripting-tutorial/" class="nav-list-link">Dikciz scripting tutorial</a></li><li class="nav-list-item"><a href="/dikciz-launcher/todo-app-tutorial/" class="nav-list-link">Build a todo app that reacts to GPS</a></li><li class="nav-list-item"><a href="/dikciz-launcher/typed-actions/" class="nav-list-link">Typed automation actions</a></li><li class="nav-list-item"><a href="/dikciz-launcher/android-sdk/" class="nav-list-link">Public Android SDK bridge</a></li><li class="nav-list-item"><a href="/dikciz-launcher/capability-coverage/" class="nav-list-link">Capability coverage</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="Remote control submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/dikciz-launcher/automation-control/" class="nav-list-link">Remote control</a><ul class="nav-list"><li class="nav-list-item"><a href="/dikciz-launcher/remote-access-tokens/" class="nav-list-link">Remote access tokens</a></li><li class="nav-list-item"><a href="/dikciz-launcher/token-permissions/" class="nav-list-link">Token permission reference</a></li><li class="nav-list-item"><a href="/dikciz-launcher/command-reference/" class="nav-list-link">Command reference</a></li><li class="nav-list-item"><a href="/dikciz-launcher/mcp-protocol/" class="nav-list-link">MCP protocol compatibility</a></li><li class="nav-list-item"><a href="/dikciz-launcher/mcp-resources/" class="nav-list-link">MCP documentation resources</a></li><li class="nav-list-item"><a href="/dikciz-launcher/agent-integrations/" class="nav-list-link">Agent integrations</a></li><li class="nav-list-item"><a href="/dikciz-launcher/search/" class="nav-list-link">Offline search</a></li><li class="nav-list-item"><a href="/dikciz-launcher/event-replay/" class="nav-list-link">Replay automation events</a></li><li class="nav-list-item"><a href="/dikciz-launcher/command-jobs/" class="nav-list-link">Durable command jobs</a></li><li class="nav-list-item"><a href="/dikciz-launcher/files-and-apks/" class="nav-list-link">Files, APK installation and shell commands</a></li><li class="nav-list-item"><a href="/dikciz-launcher/shell-sessions/" class="nav-list-link">Shell sessions for every binding</a></li><li class="nav-list-item"><a href="/dikciz-launcher/package-installation/" class="nav-list-link">APK installation sets</a></li><li class="nav-list-item"><a href="/dikciz-launcher/remote-device-control/" class="nav-list-link">Remote device operations</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="Phone APIs submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/dikciz-launcher/native-device-control/" class="nav-list-link">Phone APIs</a><ul class="nav-list"><li class="nav-list-item"><a href="/dikciz-launcher/hardware-controls/" class="nav-list-link">Hardware controls and discovery</a></li><li class="nav-list-item"><a href="/dikciz-launcher/camera-control/" class="nav-list-link">Camera capture controls</a></li><li class="nav-list-item"><a href="/dikciz-launcher/visual-streams/" class="nav-list-link">Live images and speech</a></li><li class="nav-list-item"><a href="/dikciz-launcher/microphone-streams/" class="nav-list-link">Microphone PCM streams</a></li><li class="nav-list-item"><a href="/dikciz-launcher/audio-playback/" class="nav-list-link">Audio playback sessions</a></li><li class="nav-list-item"><a href="/dikciz-launcher/speech-recognition/" class="nav-list-link">Speech recognition</a></li><li class="nav-list-item"><a href="/dikciz-launcher/speech-models/" class="nav-list-link">Recognition languages and models</a></li><li class="nav-list-item"><a href="/dikciz-launcher/location-services/" class="nav-list-link">Geocoding and GNSS status</a></li><li class="nav-list-item"><a href="/dikciz-launcher/bluetooth-control/" class="nav-list-link">Bluetooth discovery and transactions</a></li><li class="nav-list-item"><a href="/dikciz-launcher/nfc-control/" class="nav-list-link">NFC tags</a></li><li class="nav-list-item"><a href="/dikciz-launcher/usb-control/" class="nav-list-link">USB host control</a></li><li class="nav-list-item"><a href="/dikciz-launcher/wifi-control/" class="nav-list-link">Wi-Fi scans</a></li><li class="nav-list-item"><a href="/dikciz-launcher/wifi-networks/" class="nav-list-link">Wi-Fi selection and local hotspot</a></li><li class="nav-list-item"><a href="/dikciz-launcher/notification-management/" class="nav-list-link">Notification management</a></li><li class="nav-list-item"><a href="/dikciz-launcher/ussd-control/" class="nav-list-link">USSD requests</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="Companion submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/dikciz-launcher/companion/" class="nav-list-link">Companion</a><ul class="nav-list"><li class="nav-list-item"><a href="/dikciz-launcher/safety-and-journeys/" class="nav-list-link">Safety, places and journeys</a></li><li class="nav-list-item"><a href="/dikciz-launcher/device-connections/" class="nav-list-link">Persistent device connections</a></li><li class="nav-list-item"><a href="/dikciz-launcher/image-recognition/" class="nav-list-link">Images, barcodes and documents</a></li><li class="nav-list-item"><a href="/dikciz-launcher/health-records/" class="nav-list-link">Health Connect records</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="Operations submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/dikciz-launcher/operations/" class="nav-list-link">Operations</a><ul class="nav-list"><li class="nav-list-item"><a href="/dikciz-launcher/backups/" class="nav-list-link">Encrypted backup and restore</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="Recipes submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/dikciz-launcher/recipes/" class="nav-list-link">Recipes</a><ul class="nav-list"><li class="nav-list-item"><a href="/dikciz-launcher/recipe-contact-sms/" class="nav-list-link">Contact lookup and tracked SMS</a></li><li class="nav-list-item"><a href="/dikciz-launcher/recipe-event-lua/" class="nav-list-link">Event pipeline Lua source</a></li><li class="nav-list-item"><a href="/dikciz-launcher/recipe-event-setup/" class="nav-list-link">Two-input event pipeline</a></li><li class="nav-list-item"><a href="/dikciz-launcher/recipe-event-widget/" class="nav-list-link">Event pipeline HTML source</a></li><li class="nav-list-item"><a href="/dikciz-launcher/recipe-html-item/" class="nav-list-link">Edit part of an HTML document</a></li><li class="nav-list-item"><a href="/dikciz-launcher/recipe-inspect-ui/" class="nav-list-link">Inspect and act</a></li><li class="nav-list-item"><a href="/dikciz-launcher/recipe-install-apk/" class="nav-list-link">Upload and install an APK</a></li><li class="nav-list-item"><a href="/dikciz-launcher/recipe-install-script/" class="nav-list-link">Install a Lua script</a></li><li class="nav-list-item"><a href="/dikciz-launcher/recipe-install-widget/" class="nav-list-link">Install an HTML widget</a></li><li class="nav-list-item"><a href="/dikciz-launcher/recipe-launch-app/" class="nav-list-link">Open an app reliably</a></li><li class="nav-list-item"><a href="/dikciz-launcher/recipe-listener/" class="nav-list-link">Change listener endpoints</a></li><li class="nav-list-item"><a href="/dikciz-launcher/recipe-restart/" class="nav-list-link">Restart and reconnect</a></li><li class="nav-list-item"><a href="/dikciz-launcher/recipe-stream-logs/" class="nav-list-link">Stream logcat</a></li><li class="nav-list-item"><a href="/dikciz-launcher/recipe-travel-todo/" class="nav-list-link">GPS todo app</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="Source development submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/dikciz-launcher/source-development/" class="nav-list-link">Source development</a><ul class="nav-list"><li class="nav-list-item"><a href="/dikciz-launcher/dependency-licenses/" class="nav-list-link">Image recognition dependencies</a></li><li class="nav-list-item"><a href="/dikciz-launcher/documentation-site/" class="nav-list-link">Documentation site</a></li></ul></li><li class="nav-list-item"><a href="/dikciz-launcher/changelog/" class="nav-list-link">Changelog</a></li></ul> </nav> <div class="d-md-block d-none site-footer"> <p><a href="https://github.com/psyb0t/dikciz-launcher">Dikciz source</a> · <a href="https://github.com/psyb0t/dikciz-launcher/releases/latest">Get the APK</a></p> </div> </header> <div class="main" id="top"> <div id="main-header" class="main-header"> <div class="search" role="search"> <div class="search-input-wrap"> <input type="text" id="search-input" class="search-input" tabindex="0" placeholder="Search Dikciz" autocomplete="off"> <label for="search-input" class="search-label"> <span class="sr-only">Search Dikciz</span> <svg viewBox="0 0 24 24" class="search-icon" aria-hidden="true"><use xlink:href="#svg-search"></use></svg> </label> </div> <div id="search-results" class="search-results"></div> </div> <nav aria-label="Auxiliary" class="aux-nav"> <ul class="aux-nav-list"> <li class="aux-nav-list-item"> <a href="https://github.com/psyb0t/dikciz-launcher" class="site-button" target="_blank" rel="noopener noreferrer" > GitHub </a> </li> <li class="aux-nav-list-item"> <a href="https://github.com/psyb0t/dikciz-launcher/releases/latest" class="site-button" target="_blank" rel="noopener noreferrer" > Download APK </a> </li> </ul> </nav> </div> <div class="main-content-wrap"> <div id="main-content" class="main-content"> <main> </main> <hr> <footer> <p><a href="#top" id="back-to-top">Back to top</a></p> <div class="d-flex mt-2"> <p class="text-small mb-0"> <a href="https://github.com/psyb0t/dikciz-launcher/tree/main/docs/assets/css/just-the-docs-head-nav.css" id="edit-this-page">Edit this page on GitHub</a> </p> </div> <div class="d-md-none mt-4 fs-2"> <p><a href="https://github.com/psyb0t/dikciz-launcher">Dikciz source</a> · <a href="https://github.com/psyb0t/dikciz-launcher/releases/latest">Get the APK</a></p> </div> </footer> </div> </div> <div class="search-overlay"></div> </div> <script type="module"> import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11.12.0/dist/mermaid.esm.min.mjs'; var config = {} ; mermaid.initialize(config); mermaid.run({ querySelector: '.language-mermaid', }); </script> </body> </html>
