Skip to content

SpaceyLake/ASH

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ASH — AI-First Shell and Desktop Environment

An AI-First Shell and Desktop Environment, AIUI if you will. The idea is that a local LLM could help make a shell environment more user friendly by allowing for natural language. The local LLM is the primary interface. Instead of a traditional desktop with icon like GNOME, you interact with your computer through natural language. THe idea, keyboard-driven, privacy-focused, and fully local — nothing sent to external servers.

Built on Arch Linux with Sway as the compositor, powered by Ollama running Llama 3.1 8B locally. Because it fits my setup.

This project is primarily built with Claude


Concept

Primary

> open firefox
> close spotify
> why is my PC slow right now?
> install discord
> find my story about Loki
> firefox (shows instance, open or install depending on context)
> what did I work on yesterday?
> play Levels
> I want to start a mobile app project

Secondary

> (voice) open firefox
> generate a reference image of a frost giant warrior
> *copy URL - asks to open it in browser

General

The LLM understands your system, controls your apps, answers questions, and manages your files — all from a single natural language interface. A raw CLI is always one keystroke away.


Challanges

  • Keep LLM context as small as possible for the task but enought to make it possible to execute the tasks.
  • Ambiguety, what word is an app, what is a song.

Status

🚧 Early development — MVP in progress

Component Status
VM setup ✅ Done
Arch base ✅ Done
Sway compositor ✅ Done
Ollama + model ✅ Done
AI shell core ✅ Written, needs more work
Intent classifier ✅ Written, needs more testing
App control ✅ Written, needs more work
File index 📌 Planned

Hardware Target

  • GPU: NVIDIA RTX 3070 (8GB VRAM)
  • RAM: 16GB system RAM
  • OS base: Arch Linux

Architecture

┌─────────────────────────────────────┐
│   Natural language  |  Raw CLI      │
├─────────────────────────────────────┤
│   AI Shell Core                     │
│   Intent classifier + Ollama        │
├─────────────────────────────────────┤
│   Sway compositor + xdotool         │
├─────────────────────────────────────┤
│   Arch Linux kernel                 │
└─────────────────────────────────────┘

Two-tier LLM system: a lightweight always-on classifier handles simple commands directly. Ollama loads on demand for complex queries and unloads when idle or when a VRAM-heavy app (e.g. a game) is running.


Repository Structure

ash/
├── shell/              ← AI shell Python modules
│   ├── shell.py        ← main entry point
│   ├── classifier.py   ← intent routing
│   ├── ollama_client.py
│   ├── simple_actions.py
│   ├── executor.py
│   ├── confirmation.py
│   ├── logger.py
│   ├── context.py
│   └── requirements.txt
├── docs/               ← project design documents
│   ├── ASH_Overview.md
│   ├── ASH_Architecture.md
│   ├── ASH_Features.md
│   ├── ASH_MVP.md
│   └── ASH_SideProjects.md
└── README.md

Getting Started (VM / Testing)

Prerequisites:

  • Arch Linux (or any Linux with Python 3.11+)
  • Ollama installed — https://ollama.com
  • Model pulled: ollama pull llama3.1:8b (this pulls llama3.1:8b-q4_K_M)

Install dependencies:

cd shell
pip install -r requirements.txt

Run:

ollama serve &
python shell.py

Built-in Commands

Command Action
raw Drop to bash
restartml Restart Ollama if crashed
help Show built-in commands
exit Exit the shell

Everything else routes through the AI.


Planned Features

36 post-MVP features planned including voice input, living file index, image generation, audio generation, PDF processing, session memory, git integration, and more. See docs/ASH_Features.md for the full list.


Side Projects

  • Ollama VS Code Extension — Copilot-like, uses OS-level Ollama instance
  • Ollama Godot Plugin — GDScript assistance, scene awareness, game asset generation

License

TBD

About

LLM integration into Arch Linux minimizing OS GUI while giving opportunity for other handy features

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors