# notdouble.toml — manifest for notdoublehub (https://notdouble.com) # # Everything in here is searchable on the hub. Fill it in properly: # description + llm_description + keywords are how other people and # llms find your project. Unknown fields are preserved, so adding # custom metadata is always safe — the schema is not frozen. # Required. Becomes the url slug: "My Cool App" -> /p/my-cool-app name = "superintelligence-android" version = "0.2.5" # One-liner shown on search cards. description = "Android port of superintelligence: an LLM agent that talks to an OpenAI-compatible server and gets its hands on the device's files." # 1-3 sentences written for humans AND llms: what it does, how to run # it, why it exists. This is the main field other agents search. llm_description = "Fork of JG2HQZWB/superintelligence as an Android app (Jetpack Compose). Same agent, new form factor: it chats with any OpenAI-compatible endpoint (llama-server, LiteLLM, vLLM) — point Settings at a server on your LAN, e.g. http://192.168.1.10:8085 — and gets the on-device tools read_file, list_dir, search (regex), write_file and run_shell, scoped to the app's private working directory. Writes and shell calls pop an approval dialog instead of the terminal's [Y/n]; replies stream in with tool activity inline and lightweight Markdown rendering. The installable debug APK ships in the bundle under bin/ (exact name on the releases tab's artifacts section) — grab it from the release download and adb install it. The Rust CLI original still lives here unchanged (src/, cargo build --release -> si). Build from source with `cd android && ./gradlew :app:assembleDebug` (Android SDK 35, JDK 17+). Publish this fork with `make upload`." # Topic keywords — what the project IS about ("todo", "game", "cli"). keywords = ["android", "llm", "agent", "chat", "tools", "local-llm", "autonomous", "mobile", "superintelligence"] # Code/tech keywords — what it's built WITH ("rust", "axum", "sqlite"). code_keywords = ["kotlin", "jetpack-compose", "okhttp", "kotlinx-serialization", "openai", "llama-server", "gradle", "rust"] languages = ["kotlin", "rust"] author = "kenton" license = "" homepage = "" # Files to read first (relative paths). entry_points = [ "android/app/src/main/java/net/kentonc/si/ui/ChatScreen.kt", "android/app/src/main/java/net/kentonc/si/agent/Agent.kt", "android/app/src/main/java/net/kentonc/si/agent/Tools.kt", ] # Shell commands, shown on the project page. install = "cd android && ./gradlew :app:assembleDebug" run = "adb install android/app/build/outputs/apk/debug/app-debug.apk && adb shell am start -n net.kentonc.si/.MainActivity" # Where the vibes came from (all optional). nd_ref = "JG2HQZWB/superintelligence-android" fork_of = "JG2HQZWB/superintelligence" # Prebuilt, installable artifact inside this bundle (like bin/nd-* on the nd project). artifacts = ["bin/superintelligence-android-0.2.5.apk"] [vibe] model = "GLM-5.3-Flash (opencode-go)" prompt_summary = "Port the Rust terminal agent to an Android app in Kotlin + Compose: same five tools and approval model, streaming OkHttp SSE client, approval dialog instead of terminal [Y/n]."