Neel Desktop

A workspace that works your way.

Your personal AI workspace: choose the model, shape the workflow and see what you share.

Bring your preferred models, instructions and tools into one workspace. We’re building Neel Desktop so you can shape how your agent works—and inspect what it shares, what it does and what comes back.

Early accessIn development · private workspace
Neel · workspaceIllustrative

Models for this task

  • PlanHosted providerYour choice
  • ExecuteGemma 4 E4BOn this Mac

Paired devices

  • MacBookRunning
  • Phone · read launch-brief.md?
3,507 in · 82 out · 2 model calls · 2.1 sneel inspect
Product concept: plan with one model, execute with another, approve from your phone.

The transparent agent

Agent activity

Illustrative example
Your request

Summarise the launch brief and flag anything still unresolved.

Complete · local model
Tokens sent
3,507Across 2 model calls
Tokens returned
82Across 2 model calls
Tokens / second
39.8Final response generation
Elapsed time
2.1 sModel calls + tool execution
01—03

Follow the work, step by step.

  1. 01

    Model call 1 0.4 s

    Request the selected context

    The model asks to read the launch brief. It has not read the document yet.

    1,704 in · 18 out
    44.0 tokens/s

    Inspect request and tool-call response
    {
      "model": "selected-local-model",
      "stream": true,
      "messages": [
        {
          "role": "system",
          "content": "Summarise only the document the user selects. Ask permission before reading it. Report unresolved risks; do not change any files."
        },
        {
          "role": "user",
          "content": "Summarise the launch brief and flag anything still unresolved."
        }
      ],
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "read_document",
            "description": "Read a user-selected document after permission is granted.",
            "parameters": {
              "type": "object",
              "properties": {
                "path": {
                  "type": "string"
                }
              },
              "required": [
                "path"
              ]
            }
          }
        }
      ]
    }
    {
      "role": "assistant",
      "content": null,
      "tool_calls": [
        {
          "id": "read_01",
          "type": "function",
          "function": {
            "name": "read_document",
            "arguments": "{\"path\":\"launch-brief.md\"}"
          }
        }
      ],
      "finish_reason": "tool_calls"
    }
  2. Tool execution 12 ms

    Read the document you approved

    read_document · launch-brief.md

    Allowed once · read only · succeeded

    Inspect the tool result
    Launch brief: The product is ready for a small pilot. The support owner is unassigned. The rollback plan is not documented.
  3. 03

    Model call 2 1.7 s

    Respond with the evidence

    The next request includes the tool result. The model returns its answer; no files are changed.

    1,803 in · 64 out
    39.8 tokens/s

Context used on the final call 22%

1,803 / 8,192 tokens. Separate from total tokens across the task.

THE EXCHANGE

Exactly what goes to the model.

The instructions, your message, available tools and retrieved context—not just the last sentence in the chat.

System instructions
Summarise only the document the user selects. Ask permission before reading it. Report unresolved risks; do not change any files.
Your message
Summarise the launch brief and flag anything still unresolved.
Tool definition
read_document(path) · read a selected document after approval
Context returned by the tool
Launch brief: The product is ready for a small pilot. The support owner is unassigned. The rollback plan is not documented.
Inspect the complete second request
{
  "model": "selected-local-model",
  "stream": true,
  "messages": [
    {
      "role": "system",
      "content": "Summarise only the document the user selects. Ask permission before reading it. Report unresolved risks; do not change any files."
    },
    {
      "role": "user",
      "content": "Summarise the launch brief and flag anything still unresolved."
    },
    {
      "role": "assistant",
      "content": null,
      "tool_calls": [
        {
          "id": "read_01",
          "type": "function",
          "function": {
            "name": "read_document",
            "arguments": "{\"path\":\"launch-brief.md\"}"
          }
        }
      ]
    },
    {
      "role": "tool",
      "tool_call_id": "read_01",
      "content": "Launch brief: The product is ready for a small pilot. The support owner is unassigned. The rollback plan is not documented."
    }
  ],
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "read_document",
        "description": "Read a user-selected document after permission is granted.",
        "parameters": {
          "type": "object",
          "properties": {
            "path": {
              "type": "string"
            }
          },
          "required": [
            "path"
          ]
        }
      }
    }
  ]
}

Know the destination, too. This example runs locally. A hosted provider is an explicit choice; its data-handling terms still apply.

What came back. What you see.

Same answer. Nothing silently rewritten.

Before presentation

The raw model response

{
  "role": "assistant",
  "content": "The product is ready for a small pilot.\n\nBefore launch:\n- Assign a support owner.\n- Document the rollback plan.\n\nSource: launch-brief.md. No files were changed.",
  "finish_reason": "stop",
  "usage": {
    "prompt_tokens": 1803,
    "completion_tokens": 64
  }
}

After presentation

The readable answer

The product is ready for a small pilot.

Before launch:

  • Assign a support owner.
  • Document the rollback plan.

Source: launch-brief.md. No files were changed.

Formatting only. No extra model call.

Illustrative data, not a benchmark or live product capture. An activity record shows requests, responses and tool actions—not a model’s private internal reasoning.

Inside the workspace

Power you can see and control.

The features below exist in the current development build. Early access is how they reach you first.

  • AI request details

    Open any turn to see the prompt, the raw request and response, timing and tokens. Nothing about the exchange is hidden behind the chat.

  • Model settings

    Choose the model, thinking effort, standard or fast speed, and context size, with memory needs shown before anything loads.

  • Mode and permissions

    Plan or build, and per-tool permissions, sit right by the editor. Plan mode withholds every change; build mode works within the permissions you set.

  • MCP servers

    Add and manage MCP servers from a sidebar, through a form or as JSON.

  • Terminal panel

    An interactive terminal in a side panel, so commands and the agent share one window.

  • Attachments and goals

    Attach files and screen captures, and set a goal the agent works toward.

  • Connections

    Connect providers you opt into and pair a phone through Neel Mobile, which is in development.

  • Same engine as the CLI

    Desktop and the CLI share one engine, one permission authority and one session store.

Models and hardware

Local models, sized to your hardware.

Explore Gemma, Qwen, Llama and DeepSeek, with curated defaults and bring-your-own options clearly separated. Choose a compatible local runtime or a supported provider you opt into.

  • Curated defaults

    Gemma

    A guided starting point

    Neel’s curated Gemma 4 options come with documented memory guidance for the initial local runtime.

    Gemma 4 E2B · E4B · 12B
  • Bring your own model

    Qwen

    Coding and multilingual work

    A broad family for code, language and reasoning tasks, with smaller and larger variants to explore through a compatible local runtime.

    Qwen3 · 4B · 8B · 14BAbout Qwen (opens in a new tab)
  • Bring your own model

    Llama

    Compact everyday assistants

    Smaller text models for conversation, summarising and rewriting. A useful family to explore when you want a lighter local setup.

    Llama 3.2 · 1B · 3BAbout Llama (opens in a new tab)
  • Bring your own model

    DeepSeek

    Reasoning-focused experiments

    The R1 distilled models offer smaller options for reasoning tasks. Pick the exact variant and context size for the memory you have available.

    DeepSeek-R1 Distill · Qwen and Llama variantsAbout DeepSeek (opens in a new tab)

These are model families to explore, not a list of Neel-tested builds. Beyond the curated defaults, bring a compatible GGUF model or connect a supported local server. Compatibility, tool use and memory needs depend on the exact model file, runtime and context length; not every variant is supported.

Curated Gemma memory guide

These documented defaults cover the Gemma 4 MLX 4-bit configuration on macOS with Apple silicon. This picker covers these three models only; it is not a cross-platform hardware guarantee.

Example device memory

Start with Gemma 4 E4B. A comfortable starting point with 16 GB in this configuration.

Curated Gemma 4 MLX models and the free memory each needs
ModelRoleFree memory neededDevice memory
Gemma 4 E2B3.5 GiB on diskDefault6.5 GiB8 GB (tight)
Gemma 4 E4BComfortable8.5 GiB16 GB
Gemma 4 12BLargest local22.5 GiB32 GB

These figures apply to the curated Gemma 4 MLX 4-bit variants on macOS, not every model family or runtime. Neel checks available memory before loading. Apple's on-device model offers another starting point where it is available, without a separate model download.

Privacy defaults

Nothing leaves without your say.

  • No account for local use

    Local models run without signing in and without an inference bill.

  • Models download only when you choose

    Neel ships without model weights. Nothing large downloads without your say.

  • Every download SHA-256 verified

    Runtimes fetched on first use are pinned and checked against a SHA-256.

  • Uninstall keeps your data

    Uninstalling removes only what we installed. Models, settings and conversations stay yours.

Status

Early access, honestly labelled.

Neel Desktop launches with the CLI, the editor extensions and Neel Mobile, planned for January 2027, on Windows, macOS and Linux. Every installer is signed, notarized on macOS and tested on a clean machine before a download link appears on this site.

Join early access and tell us which devices you use.

Status
Early access · In development · private workspace
Launch platforms
Windows, macOS, Linux
Launch
January 2027, with the whole ecosystem
Account
Not needed for local models
Package
Signed installers (in preparation)

Early access

Get Neel Desktop first.

Join the waitlist for early access, or email us about what you want to build with Neel. We will get in touch when it is ready for your machine.