reactive-resume
reactive-resume
A one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever. Try it out today!
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:Ayuilos/Miffan
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
A native Android AI client that brings models, assistants, tools, and local or remote workspaces together.
Miffan is an open-source AI workspace designed for Android. Connect the model services you already use, give different assistants their own prompts, memories, tools, and personalities, and keep conversations and files organized in one native app.
Use an API key with OpenAI-compatible, Gemini, or Claude services, or sign in with an eligible ChatGPT subscription for Codex access. Miffan does not bundle a model or replace a provider account; availability and charges depend on the services you configure.
Connect your own server over SSH and let an assistant work in a chosen project directory. Keep local projects and remote machines in the same app, with clear identities and connection states.
Open Workspaces → New → Remote to choose a host and project directory, then bind the workspace in the assistant settings. The one-time introduction also links directly to workspace management.
![]() |
![]() |
![]() |
| Local and remote projects | SSH host management | Discover the new workspace |
Screenshots use demo hosts and projects; the displayed UI language is Simplified Chinese.
Remote workspaces currently support Linux/Unix SSH/SFTP hosts. Miffan uses an existing network connection and does not set up Tailscale or keep tasks running autonomously while the phone is offline. See the remote workspace guide for setup and current limits.
Miffan and the blue whale girl · character illustration
蓝色大肥鱼 is a cheerful, rice-loving companion alongside the original Miffan bowl characters. Open Settings → Appearance to preview the collection and try it with a dedicated assistant.
![]() |
![]() |
![]() |
| Living mascot | Character styles | Tool-aware chat |
Select text in any Android app and choose Miffan-Translate from the text action menu (the label follows the app language). Miffan shows the translation in a compact floating window without taking you away from the current page.
![]() |
![]() |
| 1. Select text and choose Miffan-Translate | 2. Review or copy the translation |
See the feature compatibility matrix for the complete provider, search, speech, tool, and portability coverage.
Miffan currently distributes signed APKs through GitHub Releases. Official releases target arm64-v8a devices running Android 8.0 or newer.
Miffan uses the application ID me.ayuilos.miffan.app and the miffan:// deep-link scheme. Existing RikkaHub data is not shared automatically; export a backup from the old app and import it into Miffan if you want to migrate.
Beginning with 3.0.0-rc.1, Miffan uses an independent SemVer release line that does not encode a RikkaHub version. Official APKs retain the existing package and production signing identity, so 2.4.11-miffan.1 can be upgraded in place without changing the app's data or database compatibility policy. Nightly workflow artifacts use me.ayuilos.miffan.app.nightly and an ephemeral CI debug signer; they install separately and cannot replace an official build. Nightlies are disposable test artifacts, and the signer may change between runs, so in-place upgrades between Nightlies are not guaranteed.
Miffan is a client: prompts, attachments, and tool data are sent to the model, search, speech, MCP, sync, or other endpoints you choose. Review the privacy policy and pricing of every service you configure. The repository's data-flow disclosures are in PRIVACY.md.
Skills, MCP servers, local tools, and workspaces can access external services or device data within their granted scope. Install trusted Skills, inspect tool requests, and enable only the capabilities an assistant needs.
Read SECURITY.md before enabling LAN access, running workspace commands, or handling sensitive credentials.
The project uses Kotlin, Jetpack Compose, Material 3, Gradle, and Java 17.
git clone https://github.com/Ayuilos/Miffan.git
cd Miffan
./gradlew assembleDebug
Useful verification commands:
./gradlew test
./gradlew lint
app/google-services.json is optional. Builds without an authorized configuration keep Firebase analytics and crash reporting disabled. Production signing and release steps are documented in docs/releasing.md.
Open Settings → About, long-press the version entry, and select 蓝色大肥鱼 in the debug page. Preview all eight expressions, pause or replay them, switch light/dark colors and reduced motion, test 28–280 dp sizes, or scrub through the action timeline. These controls affect only the preview.
The whale uses native Compose paths and a foreground animation clock. Unused legacy WebP animation atlases have been removed from the APK. See the character architecture and visual validation notes for implementation and test evidence.
| Module | Responsibility |
|---|---|
app |
Compose UI, data, assistants, conversations, tools, and application services |
ai |
Provider abstraction and OpenAI, Gemini, and Claude protocol implementations |
search |
Web search and page-content service integrations |
speech |
Speech recognition, synthesis, and playback |
document |
PDF, DOCX, PPTX, and EPUB text extraction |
workspace |
Local filesystem/Linux environment and native SSH/SFTP remote workspaces |
web / web-ui |
Embedded server and browser client |
highlight, material3, common |
Rendering and shared infrastructure |
Miffan began as a community fork of RikkaHub and continues to incorporate selected upstream improvements. It is now maintained as an independent application with its own product identity, character system, package name, signing certificate, release line, and feature development. RikkaHub is treated as a selective code input rather than a product-version source; the review and provenance rules are documented in the upstream synchronization policy.
Upstream copyright and attribution are retained as required by the license. Miffan is not an official RikkaHub release.
Issues and pull requests are welcome. For substantial changes, open an issue first so the product direction and implementation scope can be discussed. When reporting a bug, include the Miffan version, Android version, provider type, and reproducible steps, but remove API keys and private conversation content.
Before opening an issue, please read the Issue guidelines. Before submitting a pull request, please read the contribution guidelines.
Miffan is released under the GNU Affero General Public License v3.0.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: chatbot、ai-chat、mcp。