by wuyhong715
RikkaHub Agent · Pure — an Android AI agent that survives long runs. Independent hardening pass on the rikkahub on-device agent: usage ledger & budgets, on-demand tools, expert sub-agents, cold memory, chained workflows. Kotlin/Compose, Shizuku/Termux/MCP. QQ group 1030362371.
# Add to your Claude Code skills
git clone https://github.com/wuyhong715/rikkahub-agent-pureGuides for using ai agents skills like rikkahub-agent-pure.
See how rikkahub-agent-pure compares with popular alternatives.
rikkahub-agent-pure is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by wuyhong715. RikkaHub Agent · Pure — an Android AI agent that survives long runs. Independent hardening pass on the rikkahub on-device agent: usage ledger & budgets, on-demand tools, expert sub-agents, cold memory, chained workflows. Kotlin/Compose, Shizuku/Termux/MCP. QQ group 1030362371. It has 50 GitHub stars.
rikkahub-agent-pure's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/wuyhong715/rikkahub-agent-pure" and add it to your Claude Code skills directory (see the Installation section above).
rikkahub-agent-pure is primarily written in Kotlin. It is open-source under wuyhong715 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh rikkahub-agent-pure against similar tools.
No comments yet. Be the first to share your thoughts!
Available after the catalog security scan passes.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
RikkaHub Agent · Pure is an independent, hardened continuation of the on-device Android agent from ExTV/rikkahub-agent (itself built on RikkaHub). It keeps the entire upstream surface and adds one layer that answers a single question:
Can this run for hours without blowing up the context — or the bill?
Why this project · What's added · What it can do · Screens · Get started · Docs · 简体中文
rikkahub/rikkahub the original native Android LLM chat client
└─ ExTV/rikkahub-agent adds the agent layer: device tools, workflows,
│ shells (Shizuku/Termux), sub-agents, Telegram bot…
└─ wuyhong715/rikkahub-agent-pure ★ this repo — the "Pure" hardening pass
Upstream's agent layer was built feature-first: the goal was to add capabilities, not to make a long unattended run survive its own output. Six things got in the way — every tool schema injected every turn; compaction that only fires on a token threshold; one logcat dump able to flood the context; sub-agents receiving only a bare task string; tokens counted but never attributed; and headless paths (cron, workflows) that auto-approved everything.
Pure removes nothing. It keeps the whole upstream surface and makes a long run survivable, observable and capped.
Note — since 2026-10-07 this repository is standalone: it is no longer a GitHub fork and no longer auto-syncs from upstream.
Every one of these is off by default — with the switch off, the default path is unchanged (several are byte-for-byte identical to upstream).
| Addition | What it gives you | |
|---|---|---|
| 💰 | Usage ledger & budgets | Every model call metered by purpose and cost; an orchestration can be capped. |
| 🧰 | On-demand tools | Search a tool directory; load only the schemas the model actually opens. |
| 🛡 | Long-run survival | Tool-result budgets, model-initiated compaction, execution retry, keep-alive. |
| 👥 | Expert library | Reusable sub-agents, each with its own model, tools, namespace and memory. |
| 📚 | Cold memory | A Markdown knowledge base read on demand, instead of pinned in context. |
| 🔗 | Workflows that chain | Data flow between actions, plus an encrypted secret store. |
| 🔒 | Headless safety fixes | Closed the paths where background runs auto-approved everything. |
Full detail — what each one does, the exact tool names, and where every switch lives — is in docs/PURE-FEATURES.md.
See where the money goes. "How much did sub-agents cost me this week?" — the Statistics page groups the ledger by day / purpose / model / assistant and shows tok/s, and the orchestration tree lays out every parent → child dispatch. Cost is frozen at write time, so history doesn't shift when a provider changes its rates.
Cap a run. Set an orchestration token budget on an assistant — it covers the parent turn and everything it fans out. A dispatch that would exceed it is refused before it starts, with a readable reason the model can act on. Each expert can carry its own ceiling.
Run a long job unattended. "Refactor this module, run the tests, and keep going until they pass." A tool result that would flood the context is capped and spilled to disk with head + tail kept; the model can compress the conversation on its own; and the run holds a foreground service so switching apps doesn't kill it.
Build a team. "Create an expert called researcher that only uses web tools on the cheap model, and a coder that can edit files." Then: "dispatch the researcher to find X and the coder to implement Y, in parallel." Experts persist with their own namespace and memory, so you name them instead of re-describing them each time.
Keep a library. Point cold memory at a folder of Markdown; the agent indexes it and reads only what it needs. A large knowledge base costs nothing until it's actually read.
Wire up the boring stuff. "When I connect to the office WiFi, POST my status to this API." Workflow actions can pass data to each other and pull credentials from an encrypted store, so tokens never sit in the workflow definition.
Travel light. Turn on the tool palette and the agent searches for the tool it needs, instead of carrying every schema on every turn.
| Chat | Providers | Assistants |
|---|---|---|
Download the latest APK from Releases — or build from source (below).
It is a signed, R8-optimized build (excp.rikkahub.debug): it installs side by side with a release build of the upstream app.
Settings → Providers → pick one → paste your API key.
Settings → Assistant → tap your assistant → Local Tools — flip the groups you want. If you turn nothing on, the app behaves exactly like vanilla RikkaHub.
Inside an enabled group you can now switch individual tools off, not just the whole group. And Settings → Sub-agent profiles → Tool palette lets you search the whole tool directory (57 groups, ~180 tools) to find where a tool lives before enabling it.
That's the upstream experience. Everything below is the Pure layer — all optional.
A. Budgets and the ledger — Assistant → Basic Settings: Tool result budget, Orchestration token budget, Concurrent sub-agents. Then: chat drawer → Statistics for the ledger and orchestration tree. Price table: Settings → Providers → model → Price tab.
B. The advanced switches — Assistant → Basic Settings → Advanced / experimental card (off by default, read the risk note):
compact_context)tool_search / tool_open)C. Experts — Settings → Sub-agent profiles: create an expert with its own prompt, model, tool surface, MCP servers, skills and namespace. Then just dispatch to it by name.
D. Cold memory — bind a workspace (Assistant → Basic Settings), then Assistant → Memory → Cold memory (Markdown) and pick a folder.
E. Workflow secrets — Settings → Workflows → open one → API secrets; reference them from a web_fetch header as {{secret:NAME}}.
| I want to… | Go to |
|---|---|
| Enable/disable tools (per group or per tool) | Settings → Assistant → assistant → Local Tools |
| Search the tool directory | Settings → Sub-agent profiles → Tool palette |
| Set budgets / tool-result cap | Settings → Assistant → assistant → Basic Settings |
| Experimental switches | Assistant → Basic Settings → Advanced / experimental |
| Manage reusable experts | Settings → Sub-agent profiles |
| Cold memory folder | Assistant → Memory → Cold memory (Markdown) |
| See spend, tok/s, orchestration tree | Chat drawer → Statistics |
| Edit model prices | Settings → Providers → model → Price |
| Workflow API secrets | Settings → Workflows → workflow → API secrets |
| Device | Android 8.0+ (API 26), arm64 or x86_64, ~51 MB |
| Provider | OpenAI, Google, Anthropic, OpenRouter, Codex, Grok, Ollama, any OpenAI-compatible endpoint — or an on-device LiteRT / AICore model |
Requires JDK 17, the Android SDK (platform-tools), and bun + pnpm on your PATH (bun installs the web-ui dependencies, pnpm builds