OASIS 1.0 · Stable · Open source · Apache-2.0

The coding agent that keeps safety in the runtime. Bring your own model.

Code. Automate. Flourish. Explore repositories, plan and edit code, run approved tools, coordinate bounded agent tasks, and inspect verification results through one model-independent runtime, with any model from a 4B model on your laptop to the frontier.

curl -fsSL https://raw.githubusercontent.com/FAHTHIZ/oasis/v1.1.0/scripts/install.sh | sh

Android / Termux installation

For Android phones. Install Termux from its official source, then use the guided one-command setup. No native Android APK is published yet.

Install OASIS on Android

Terminal (for developers)

For a terminal-first workflow, scripts, and automation. Requires Node.js 22 or newer. Then run oasis setup, and oasis web --open for the browser workspace. With Homebrew: brew install fahthiz/oasis/oasis-cli after tapping the repository.

Follow the CLI install guide
OASIS 1.0 is stable: every release gate passed on one commit across Windows, macOS and Linux, including browser tests with accessibility checks. Installers are not code-signed; each release publishes SHA-256 checksums.
CLI + browser workspaceMulti-provider modelsMCP integrationsSkills + subagentsApache License 2.0

Same agent, terminal or browser.

Steer it while it works, approve exactly what it runs, and review every change before you keep it.

TerminalLive status, one-line tool outcomes, approvals and a verified finish.
Browser workspaceA message sent mid-turn, approval cards and the Changes panel.

Real OASIS runtime, UI and tools; model replies are scripted so the demos are reproducible (scripts/demo).

Measured, not claimed.

The model-free harness benchmark feeds the runtime outputs that real models actually produce and scores what happens. These are first scores on held-out cases the runtime was never tuned on.

What the model sends

No harness layerOASIS

Malformed or text-only tool callsFences, comments, Python literals, Hermes/Qwen tags

1 of 20 run
18 of 20 run0 false runs

Edits whose old text driftedIndentation, spacing, quotes, CRLF, BOM

2 of 12 apply
11 of 12 apply0 wrong writes

Destructive shell commands, approvals offEveryday commands still run

0 of 31 stopped
22 of 31 stopped

Placeholder rewrites, weakened tests, leaked secrets0 false alarms

0 of 23 caught
16 of 23 caught
Every miss was then fixed and turned into a regression test. Reproduce it in seconds, no model or key: npm run bench:harnessFull methodology

Built for the things people hate about coding agents.

Most agent failures are harness failures. OASIS fixes each one in the runtime, so the fix holds whichever model you connect.

It said it was done, but never ran the tests.

A verification gate: the agent must review its diff and run a relevant check before it can finish. Any later edit resets it.

It ran rm -rf while I wasn't watching.

Catastrophic commands are refused even with approvals off, including when hidden in bash -c, eval or $(…). High-risk ones always ask.

It changed the test to match the broken code.

Weakened-test detection catches skips, .only, deleted tests, removed assertions and exact checks swapped for toBeDefined().

It replaced my function with “rest unchanged”.

A change guard blocks placeholder edits and flags large, unexplained deletions.

Ten patches, and the same error every time.

Fix-thrash detection tells the agent to step back on the third identical failure, and to change approach or ask you on the fifth.

I have to wait for it to finish before I can correct it.

Type while it works. The agent reads your message at its next step and keeps going. Nothing you send is dropped.

See all 19 fixes in the README

A workspace for more than a single prompt.

OASIS combines a terminal-first coding agent with tools and a browser workspace that help you understand, change, and verify software.

Agentic coding loop

Inspect files, make a plan, apply focused edits, run approved commands, and summarize what changed across multi-step tasks.

Choose your model

Connect supported providers and compatible endpoints instead of being locked to one model vendor. Tool calling must be supported by your chosen model.

Extend with tools

Use Model Context Protocol (MCP), portable Agent Skills, hooks, custom commands, layered memory, bounded subagents, and a shared dependency-aware task board.

Terminal + browser

Work from the CLI or open the local browser dashboard for projects, tasks, notes, agent chat, visible tool activity, and approval prompts.

Review and recover

Use command approvals, file snapshots, checkpoints, rewind, saved sessions, and cost limits to keep multi-step work easier to review.

Build it into workflows

Use headless and JSON workflows, CI scripts, the GitHub Action, and the Node.js SDK for repeatable developer automation.

Flexible model connections.

OASIS does not bundle a model or provider subscription. During setup, choose a supported provider that matches your tools, budget, and preferred workflow. Small local models get a compact prompt, a 13-tool profile and tool-call repair.

OpenAI ResponsesAnthropic MessagesOpenRouterGeminiDeepSeekOllamaLM Studiollama.cppvLLMBedrockVertexAzure FoundryCompatible APIs
your-project — oasis
# Start in any project
$ oasis "fix the failing date tests"
# Read-only plan, nothing is changed
$ oasis plan "add rate limiting"
# Runtime policy, not a prompt
$ git push --force
✗ refused force push rewrites shared history
# Verify the provider connection
$ oasis doctor --test-provider

Privacy note: The keyless search fallback may fetch results from DuckDuckGo. Search requests go to the search provider you use; your prompts and any code/context you include are sent to the model provider you configure. You can configure a supported search provider with your own key. Do not send secrets you do not want those providers to receive.

Designed to be inspectable.

OASIS includes safeguards, but agent-driven code still needs human review. Understand what is enabled before using it on unfamiliar or important projects.

Latest changes.

This page rebuilds itself on every commit to main. These are the latest changes, straight from the repository.

  1. 8d9c960Tests for the native skill installer: source parsing, discovery, selection, symlink skipping and clean failure
  2. ec6590fIndependence: remove the OmniRoute and OpenHands integrations; native skill installer replaces the Vercel Skills CLI
  3. c9eac5aIgnore Python bytecode caches
  4. a0bcfbaRun whole command lines sent to run_command; add benchmark-runner adapter with end-to-end smoke test
  5. 88581edGuards: bracketed placeholders, line numbers copied from read output, neutered test commands and swallowed assertions; held-out v3 now 133/133
  6. e691840Command safety: catch TRUNCATE, dropDatabase(), kill -1, startup-file overwrites and global Git hook redirects
  7. 1cc702bRecover text-written tool calls from Qwen3-Coder, GLM-4.5, Mistral, Llama 3, DeepSeek, Kimi K2, gpt-oss and Gemma
  8. 653387dHarness held-out set v3: 110 untuned cases from real model formats, cloud/registry/PowerShell commands and test-weakening tricks; first score recorded
All commits

Make the next change count.

Download the app and point it at a project, or read the code first. It is free and open source, and it runs with the model you choose.