# Fifteen modules in one HTML file, and every API key in the browser

> InternalBeyond-Mobile is a single-file personal web app: you unzip it, keep index.html next to the apps/ folder, open it in a browser and add your own AI API keys, and nothing you do leaves your machine unless you turn a network feature on. It is a companion app rather than infrastructure, and it is explicit that its own lock screen is not a device lock.

**Sui-IB/InternalBeyond-Mobile** — Internal Beyond 的移动端同源版本：一个离线运行的单文件个人网站式应用项目，旨于维系情感的连续性。

- Repository: https://github.com/Sui-IB/InternalBeyond-Mobile
- Stars: 378 · Forks: 1,250
- Language: HTML
- License: NOASSERTION
- Published: 2026-09-17 · Updated: 2026-09-17 · Language: en
- Canonical page: https://hysenlabs.com/projects/sui-ib-internalbeyond-mobile

## Unzip, keep index.html next to apps/, open it locally

Installation is four steps and no build: download the repository as a ZIP, unzip it, keep index.html and the apps/ folder in the same directory, and open index.html in a browser, with Chrome recommended. Then go to the API page and add your AI API key.

Opening the local file gives you everything that does not need a network. Installing it as a real app adds a home screen icon, fullscreen, offline caching and system notifications, and the pieces for that are visible at the repository root: manifest.webmanifest and ib-sw.js, the service worker. Chat, web search and the GitHub features are the parts that call out to a provider.

The reason the folder matters is structural rather than cosmetic. This is a personal web app with fifteen modules, two themes and a built-in assistant, packaged as a single HTML file plus an apps/ directory, so a file move that separates them breaks it in a way a missing folder icon will not explain.

It is the mobile-side counterpart of a separate desktop project, and the two exchange data through the same backup file rather than over a network.

## Every API endpoint you configure becomes a contact

The chat module turns configuration into a social graph. Each configured API automatically becomes a friend, which is why the settings page is a config centre rather than a settings dialog: multi-port configuration, Presence timed push, and access for external tools, Bluetooth and MCP.

Around that sit the conversation features that make it feel like a messenger: friends and group chats, topic channels that are isolated from each other and can have memory injection enabled separately, streaming replies, attachments of up to four images with automatic compression, voice messages transcribed when a transcription interface is configured, favourites stored per friend, conversation summaries that compress older messages to keep long threads coherent, and a batch mode for archiving or generating a memory from selected messages.

The detail worth knowing is how actions are shown. Every step the AI takes, whether it reads a file, calls an external tool, searches the web, writes to memory, touches the calendar or posts in the social circle, renders as a collapsible action card in the thread. That is the difference between a companion app you can audit and one you cannot.

## A voice call is transcription, synthesis and an acoustic summary

Calls are the most engineered part of the app. Your speech goes through speech recognition and the transcript is what the model receives. Replies are read back sentence by sentence using a system voice or a cloud one, with SiliconFlow, OpenAI, Bailian, ElevenLabs, MiniMax, Azure and a self-hosted gateway all listed as sources, and interruption, muting and typing during a call are supported.

What is unusual is the third channel. Before a line is sent, the device computes an acoustic summary of your actual audio, covering emotion, speech rate, volume and intonation, and sends that as a natural sentence alongside the transcript. The model is therefore reacting to how you sounded, not only to what you typed.

Two supporting systems matter if you use this daily. A call heartbeat fires when you fall silent, after 45 seconds by default and configurable between 30 seconds and 2 minutes, picking one of five prompt directions at random and stopping after ten unanswered lines. Tone annotation labels each reply with one of eight moods, mapped automatically by the engine. Video is one to one only, with capture frequency on four settings and quality on three, and gifts across five tiers with full-screen effects for the upper tiers.

## A sticker reaches the model as a line of text

Here is a design choice that says a lot about how the app is built. Sticker sets hold up to ten items each, and every item carries a name, a description and how to use it. When you send one, the person or model on the other end does not receive an image. It receives a single line of text naming the sticker, its description and its usage.

With the switch enabled, the AI sends stickers from the current set too, and the same asymmetry holds: you see the picture, the model's own history keeps the one-line tag.

The same pattern runs through Letters, an asynchronous post office where the AI reads your material and writes you a letter that arrives as a sealed envelope, broken by clicking the wax. And through Memory, where a write to a core entry does not happen silently: a confirmation card appears in the chat offering write as core, change to normal, or do not write, and only your click commits it. Normal and low priority entries are written directly.

## The password diary is invisible to every API

Blog holds journals, scripts, search and reading progress, plus a password diary that is fully isolated from the public journal and invisible to all APIs, with passwords and security answers shared with the desktop version. Entering it renames the top bar and sidebar to Password Diary and changes the editor placeholder, so you cannot mistake which document you are in.

The co-reading room lives here too: pick a journal entry, treat it as a book, and discuss it as you read. Circle is the social layer, where you and authorised AIs post, comment, reply and repost with per-item visibility, and authorisation is granted per item rather than once for everything.

Calendar keeps anniversaries, birthdays, plans, memos and a menstrual cycle type, with repeat rules from daily through yearly. The cycle entry takes a last start date and a length and computes the rest, showing which day it is and roughly when the next one is due. With read permission, the AI sees upcoming items when you message and mentions them naturally, and with write permission it can create, change and delete entries for you.

## The lock screen is not a device lock, and the project says so

Lock imitates an iOS lock screen: a liquid glass clock that takes its colours from the wallpaper, a 3x3 pattern lock with a security question fallback, a custom wallpaper, and a greeting that shows before anything else. It is on by default.

The documentation is unusually direct about its limits. Configuration is stored only on the phone, the desktop version neither reads nor writes it, and it is there to stop casual looking through the phone, which means it cannot replace the device lock. That is worth knowing before you treat it as protection for anything.

The visual system sits alongside: a light theme called Internal and a dark one called Infernal, switched from the water drop in the top bar, with some interface wording and extras changing between them. Per-section glass and text colours, theme schemes, beautification codes and a bubble lab are in the Visual module, and Home provides the pseudo-iOS desktop with pages, widgets you can drag into order, and a personal card whose bio is sent to every AI as context while its portfolio images stay on the device.

## All state lives in the browser, and the backup file is the only way out

The promise is that no server of the author's is involved: your selection, memory, journal and settings live in your own browser, and the Data module handles one-click backup plus two-way transfer with the desktop version through the same backup file. It can also import official ChatGPT and Claude chat records, which is a shortcut people will want.

The same property is the risk. Clearing site data or losing the browser profile takes the memory bank with it, and the API keys you typed into the settings page are in that same store. One export before you care about the content is the mitigation, and it costs a click.

The remaining modules fill in the rest of a companion surface: Music with a vinyl view and listen-together modes for NetEase and QQ Music, Cinema for watching a local video alongside one AI, ICode as a shared workspace with a document generator and a GitHub section, and the built-in assistant, a helper that answers where a feature lives, changes settings for you, echoes each change line by line and can be undone.

## Fifteen modules, an approved prompt set, and no releases

Maintenance detail worth reading before you depend on it. The project has no GitHub releases, so there is nothing to pin, and the last push was on 2026-09-27. A LICENSE file and a COPYRIGHT.md sit at the repository root.

The prompts are treated as a versioned asset rather than loose strings. Call records and memory are written by a separate writing API, the call transcript is compressed into a third-person summary while the original wording is tagged and kept out of the context window, and deleting the end card lifts that tag so the original lines return. The prompts themselves are described as shared with the desktop version and as an approved draft from version v169-p onward, and image quality settings are normalised in both directions so a cross-device transfer keeps its configuration.

One caveat on scope: the README copy available for this review stops partway through the Memory module, so sections after that point, and the documentation folder, are worth reading yourself before you rely on a detail.

## Conclusion

Adopt InternalBeyond-Mobile if you want a private AI companion surface that keeps chat, memory, journal and calendar in one local file and are willing to supply your own model keys and a folder you back up yourself. Do not adopt it as shared infrastructure, as a team tool, or anywhere the browser profile is not yours alone, since the password diary's isolation from APIs is a local guarantee, not an access control. Verify first that index.html and apps/ stay in the same directory after any move, and make one backup export before you rely on the memory bank.

## FAQ

### How do I start using InternalBeyond-Mobile?

Download the repository as a ZIP, unzip it, keep index.html and the apps/ folder in the same directory, open index.html in a browser with Chrome recommended, then open the API page and add your AI API key. Opening the local file gives you the offline features; installing it as an app adds a home screen icon, fullscreen, offline caching and notifications.

### Does InternalBeyond-Mobile send my data anywhere?

Everything you write stays in your own browser, with no server of the project's involved, and it exports and imports the same backup file as the desktop version. Chat, web search and the GitHub features do call a provider, and your API keys are stored in that same browser profile.

### Is the InternalBeyond-Mobile lock screen a real security feature?

No, and the project says so. The pattern lock and security question stop someone glancing at the phone, are stored only on the phone, and are never read by the desktop version, so they cannot replace the device lock.

### Can InternalBeyond-Mobile use more than one AI at once?

Yes. Each API you configure automatically becomes a contact, so several models can be used at the same time, and each can have its own voice, tone annotation and memory profile. Topic channels stay isolated and can have memory injection enabled separately.

### What does InternalBeyond-Mobile import from ChatGPT and Claude?

Official ChatGPT and Claude chat records, through the Data module alongside its one-click backup and the two-way transfer with the desktop version. The password diary stays isolated from those imports and invisible to every API.

## Sources

- [Issues](https://github.com/Sui-IB/InternalBeyond-Mobile/issues)
- [README](https://github.com/Sui-IB/InternalBeyond-Mobile/blob/main/README.md)
- [Sui-IB/InternalBeyond-Mobile on GitHub](https://github.com/Sui-IB/InternalBeyond-Mobile)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/sui-ib-internalbeyond-mobile
