Private models. One private chat app.
Choose from the compatible models in Samosa's catalog.
No cloud account · No telemetry · Hardware-aware context · Durable compaction
Samosa is a local model application and HTTP gateway. Models can be downloaded, verified, and loaded directly through the app interface or terminal commands.
| Model | Download | Description | Runtime | License |
|---|---|---|---|---|
| Qwen3.6 35B A3B | 24.0 GB | Expert-streamed local chat with image support | Samosa C engine | Apache-2.0 |
| Maple | 5.4 GB | 2-bit MoE with routed experts streamed from SSD | Samosa Metal engine | MIT |
| Bonsai 27B 1-bit | 3.8 GB | 1-bit GGUF reasoning model | Prism llama.cpp | Apache-2.0 |
| Ornith 1.0 9B | 5.6 GB | Q4_K_M GGUF coding and reasoning model | Prism llama.cpp | MIT |
Only one model is loaded in memory at a time. Selecting a new model unloads the active backend before launching the next.
Credits. The Qwen runtime is based on colibrì by JustVugg and runs the model released by Qwen. Bonsai is released by PrismML, and Ornith by DeepReinforce. GGUF execution uses PrismML's llama.cpp fork. Samosa is an independent project.
Building from source does not include pre-packaged model weights.
Install OpenMP:
brew install libomp
git clone --recurse-submodules https://github.com/deepanwadhwa/samosa-chat
cd samosa-chat
make install
~/.samosa/bin/samosa app
Launch the app, open Settings → Model, and click Download for the desired model. First downloads are activated automatically upon verification.
Install build dependencies and OpenMP:
sudo apt-get install build-essential libomp-dev
git clone --recurse-submodules https://github.com/deepanwadhwa/samosa-chat
cd samosa-chat
make install
~/.samosa/bin/samosa app
Files and binaries are placed in ~/.samosa. Add ~/.samosa/bin to PATH for direct command access.
For legacy Docker instructions, see docs/INSTALL.md.
samosa models # Display installation status for all models
samosa pull bonsai
samosa pull ornith
samosa pull qwen
samosa pull all
Model downloads:
.partial files.| Installation | Disk Space |
|---|---|
| Bonsai | 3.8 GB (+17 MB runtime) |
| Ornith | 5.6 GB (+17 MB runtime) |
| Qwen | 24.0 GB |
| All Models | 33.4 GB (+17 MB runtime) |
samosa app
Access the interface at http://127.0.0.1:8642. Available settings include:
auto or explicit limits).State and conversation ledgers are persisted under ~/.samosa/chats.
Samosa bundles the independent Chutni protocol service; there is no separate Chutni installation.
Folder.chutni path and scan policy.Samosa creates or reuses that portable store. For a chat bound to the folder, the gateway searches before each local-model turn and injects only bounded, source-labelled excerpts as untrusted file data. Another Chutni-capable application can use the same store without conversion. The current scanner extracts text-like files and records metadata for other files; PDF page extraction, OCR, images, spreadsheets, and audio are not on the protocol path yet. See docs/CHUTNI_PROTOCOL.md.
Terminal interaction currently supports the Qwen backend:
samosa pull qwen
samosa "explain how DNS works"
samosa --continue "and where does DNSSEC fit?"
samosa --think "solve this logic puzzle"
samosa --think-code "review this algorithm"
samosa --context-tokens 65536 "remember this"
samosa doctor
See docs/USAGE.md for full CLI documentation.
Models support up to 262,144 context tokens. Context size allocation:
n_ctx) directly from the backend.On a 16 GB Apple M3 system, dynamic fitting selects 66,816 tokens for Bonsai and 94,464 tokens for Ornith.
Automatic compaction triggers when estimated context usage reaches a configurable threshold (50–90%, default 80%).
Execution steps:
If summary generation fails or does not reduce context size, the existing ledger remains unchanged.
Start the background server:
samosa serve
Endpoints:
| Endpoint | Function |
|---|---|
GET /healthz | System readiness, active model, context limits, and compaction status |
GET /v1/backends | Model catalog and installation status |
POST /v1/backends/install | Trigger model download |
POST /v1/backends/select | Switch active model backend |
POST /v1/settings | Update context and compaction settings |
POST /v1/compact | Trigger conversation compaction |
POST /v1/chat/completions | OpenAI-compatible chat completions |
For complete documentation, see docs/SERVE_API.md.
make # Build Qwen C engine
make omp # Build multithreaded OpenMP engine
make chutni-gateway-test # Build and test the bundled Chutni handoff
make test # Run unit and integration test suite
Test logs and regression benchmarks are located in docs/regressions.
127.0.0.1.make install) is currently required for multi-model functionality.| Topic | Link |
|---|---|
| Installation & Model Storage | docs/INSTALL.md |
| App & Terminal Usage | docs/USAGE.md |
| Model Specifications & Network | docs/MODELS_AND_INTERNET.md |
| Gateway API | docs/SERVE_API.md |
| Chutni folder memory | docs/CHUTNI_PROTOCOL.md |
| Architecture | docs/DESIGN.md |
| Performance Benchmarks | docs/PERFORMANCE.md |
| Regression Logs | docs/regressions |
307 commits
C
63.1%
JavaScript
26.5%
C++
3.0%
HTML
2.8%
Shell
2.4%
Python
2.0%
Private models. One private chat app.
Choose from the compatible models in Samosa's catalog.
No cloud account · No telemetry · Hardware-aware context · Durable compaction
Samosa is a local model application and HTTP gateway. Models can be downloaded, verified, and loaded directly through the app interface or terminal commands.
| Model | Download | Description | Runtime | License |
|---|---|---|---|---|
| Qwen3.6 35B A3B | 24.0 GB | Expert-streamed local chat with image support | Samosa C engine | Apache-2.0 |
| Maple | 5.4 GB | 2-bit MoE with routed experts streamed from SSD | Samosa Metal engine | MIT |
| Bonsai 27B 1-bit | 3.8 GB | 1-bit GGUF reasoning model | Prism llama.cpp | Apache-2.0 |
| Ornith 1.0 9B | 5.6 GB | Q4_K_M GGUF coding and reasoning model | Prism llama.cpp | MIT |
Only one model is loaded in memory at a time. Selecting a new model unloads the active backend before launching the next.
Credits. The Qwen runtime is based on colibrì by JustVugg and runs the model released by Qwen. Bonsai is released by PrismML, and Ornith by DeepReinforce. GGUF execution uses PrismML's llama.cpp fork. Samosa is an independent project.
Building from source does not include pre-packaged model weights.
Install OpenMP:
brew install libomp
git clone --recurse-submodules https://github.com/deepanwadhwa/samosa-chat
cd samosa-chat
make install
~/.samosa/bin/samosa app
Launch the app, open Settings → Model, and click Download for the desired model. First downloads are activated automatically upon verification.
Install build dependencies and OpenMP:
sudo apt-get install build-essential libomp-dev
git clone --recurse-submodules https://github.com/deepanwadhwa/samosa-chat
cd samosa-chat
make install
~/.samosa/bin/samosa app
Files and binaries are placed in ~/.samosa. Add ~/.samosa/bin to PATH for direct command access.
For legacy Docker instructions, see docs/INSTALL.md.
samosa models # Display installation status for all models
samosa pull bonsai
samosa pull ornith
samosa pull qwen
samosa pull all
Model downloads:
.partial files.| Installation | Disk Space |
|---|---|
| Bonsai | 3.8 GB (+17 MB runtime) |
| Ornith | 5.6 GB (+17 MB runtime) |
| Qwen | 24.0 GB |
| All Models | 33.4 GB (+17 MB runtime) |
samosa app
Access the interface at http://127.0.0.1:8642. Available settings include:
auto or explicit limits).State and conversation ledgers are persisted under ~/.samosa/chats.
Samosa bundles the independent Chutni protocol service; there is no separate Chutni installation.
Folder.chutni path and scan policy.Samosa creates or reuses that portable store. For a chat bound to the folder, the gateway searches before each local-model turn and injects only bounded, source-labelled excerpts as untrusted file data. Another Chutni-capable application can use the same store without conversion. The current scanner extracts text-like files and records metadata for other files; PDF page extraction, OCR, images, spreadsheets, and audio are not on the protocol path yet. See docs/CHUTNI_PROTOCOL.md.
Terminal interaction currently supports the Qwen backend:
samosa pull qwen
samosa "explain how DNS works"
samosa --continue "and where does DNSSEC fit?"
samosa --think "solve this logic puzzle"
samosa --think-code "review this algorithm"
samosa --context-tokens 65536 "remember this"
samosa doctor
See docs/USAGE.md for full CLI documentation.
Models support up to 262,144 context tokens. Context size allocation:
n_ctx) directly from the backend.On a 16 GB Apple M3 system, dynamic fitting selects 66,816 tokens for Bonsai and 94,464 tokens for Ornith.
Automatic compaction triggers when estimated context usage reaches a configurable threshold (50–90%, default 80%).
Execution steps:
If summary generation fails or does not reduce context size, the existing ledger remains unchanged.
Start the background server:
samosa serve
Endpoints:
| Endpoint | Function |
|---|---|
GET /healthz | System readiness, active model, context limits, and compaction status |
GET /v1/backends | Model catalog and installation status |
POST /v1/backends/install | Trigger model download |
POST /v1/backends/select | Switch active model backend |
POST /v1/settings | Update context and compaction settings |
POST /v1/compact | Trigger conversation compaction |
POST /v1/chat/completions | OpenAI-compatible chat completions |
For complete documentation, see docs/SERVE_API.md.
make # Build Qwen C engine
make omp # Build multithreaded OpenMP engine
make chutni-gateway-test # Build and test the bundled Chutni handoff
make test # Run unit and integration test suite
Test logs and regression benchmarks are located in docs/regressions.
127.0.0.1.make install) is currently required for multi-model functionality.| Topic | Link |
|---|---|
| Installation & Model Storage | docs/INSTALL.md |
| App & Terminal Usage | docs/USAGE.md |
| Model Specifications & Network | docs/MODELS_AND_INTERNET.md |
| Gateway API | docs/SERVE_API.md |
| Chutni folder memory | docs/CHUTNI_PROTOCOL.md |
| Architecture | docs/DESIGN.md |
| Performance Benchmarks | docs/PERFORMANCE.md |
| Regression Logs | docs/regressions |
307 commits
C
63.1%
JavaScript
26.5%
C++
3.0%
HTML
2.8%
Shell
2.4%
Python
2.0%