OopisOS v4.5
The Pocket Kernel
A single, self-contained OS you can carry on a thumb drive. OopisOS is a private, persistent, and powerful operating system that runs entirely on your local machine. Take your work, your tools, and your AI copilot anywhere, no installation or cloud required.
A Universe on a Thumb Drive
Radical Self-Reliance
OopisOS is not a website; it's a complete operating system packaged as a single, standalone Electron application. There is no backend server. Every file you create, every user you add, every command you run is processed and stored in a `data` folder right next to the application. Your world is yours alone.
This project began as a question: Can a complex, stateful, multi-user system be built with nothing but the native tools of the web? The answer is a resounding yes. OopisOS is a living demonstration of what's possible when modern browser capabilities are wielded with disciplined, framework-free architecture.
The Foundational Pillars
- True Portability: Runs from its own folder, leaving no trace on the host machine. Perfect for USB drives.
- Architected Persistence: Your entire OS state, from the root directory to the last line of your command history, is saved locally. Your world persists.
- Security by Design: From the `FileSystemManager`'s permission gatekeeping to the `SudoManager`'s controlled privilege escalation, security is a foundational layer, not a feature.
Your AI Copilot
An OS That Understands You
OopisOS v4.5 integrates a powerful and flexible AI toolkit directly into the shell. Don't just give commands—have a conversation. Ask questions, get summaries, and let your AI copilot use the system's own tools to find the answers you need, powered by your choice of local or cloud-based models.
The AI Toolkit
-
gemini
A tool-using AI assistant. Connect to local providers like Ollama or use the cloud. Ask it to "find all scripts modified in the last day" and watch it formulate and execute a plan using
find
andls
. -
chidi
The AI Librarian, now with pipe support. Generate a file list with
find . -name "*.md"
and pipe it directly tochidi
to analyze a custom set of documents on the fly.
The Expanded Creative Suite
basic
A complete, line-numbered BASIC Integrated Development Environment for retro-programming. Features system calls to interact directly with the OopisOS file system and command executor.
log
A secure, timestamped personal journaling application. Write quick entries from the command line or launch the full GUI to review and search your thoughts.
edit
A context-aware creative suite that adapts its interface for plain text, Markdown, or HTML, offering a live split-screen preview and formatting toolbars.
paint
A surprisingly robust character-based art studio with a full canvas, shape tools, and a custom `.oopic` format for creating assets for your scripts and games.
adventure
A powerful, data-driven text adventure engine. Play the built-in tutorial or use the --create
flag to launch an interactive editor and build your own worlds.
Security Deep Dive
Security is not a feature; it's the foundation. The OopisOS model is built on explicit user permissions, architected containment, and a profound respect for your data privacy.
The Permission Model
Every single file system operation is gated by `FileSystemManager.hasPermission()`. This function rigorously checks file ownership (user/group) against the file's octal mode (read, write, execute) and the current user's identity. There are no back doors.
The Chain of Custody
OopisOS provides the tools to verify, secure, and transport your data with confidence. Use cksum
to verify integrity, base64
to safely encode for transport, and the new ocrypt
command for strong AES-GCM encryption.
For Architects & Developers
The Command Contract
Adding a new command is a declarative and secure process. The `CommandExecutor` validates arguments, paths, and permissions against your contract *before* your logic ever runs. As of v3.3, command scripts are loaded dynamically on first use—no need to edit `index.html`.
// A new command follows a clear, secure contract.
const myCommandDefinition = {
commandName: "mycommand",
flagDefinitions: [ /* ...flags */ ],
argValidation: { /* ...arg rules */ },
pathValidation: { /* ...path rules */ },
coreLogic: async (context) => {
// Your validated logic here.
const { args, flags, currentUser, node } = context;
return ErrorHandler.createSuccess("Execution complete.");
}
};
// Register it with the system's CommandRegistry.
CommandRegistry.register(myCommandDefinition);
Explore OopisOS
Ready to dive in? Launch the live demo to experience OopisOS directly in your browser. To understand how it all works, or to contribute, head over to the GitHub repository. For a quick start, run run /extras/inflate.sh
in the demo to populate your world, then run run /extras/diag.sh
to see the system test itself.