Profile
Back to NewsBack
GitHub Trending 6 min
Reader Mode
Hash-7777/HashCortX: A local-first AI workspace — multi-provider chat, an autonomous coding agent, 3D models, ERPs, and multi-agent swarms in one native desktop app. No backend. No telemetry. No account. MIT-licensed.

Hash-7777/HashCortX: A local-first AI workspace — multi-provider chat, an autonomous coding agent, 3D models, ERPs, and multi-agent swarms in one native desktop app. No backend. No telemetry. No account. MIT-licensed.

12 hours ago

HashCortx

HashCortx

The local-first AI workspace.

Chat, a coding agent, agent teams and five more workspaces in one desktop app.
Your keys, your models, your machine. No backend, no telemetry, no account.

Download Website Demo video Wiki Discuss on Hacker News Discussions

CI MIT macOS Apple Silicon Windows 10 Built with Tauri v2 Version 2.6.0


Hash-7777%2FHashCortX | Trendshift


HashCortx chat: a question about caching answered with a table, a highlighted code block and a note


Why HashCortx

  • Nothing phones home. No analytics, no crash reports, no update checks. Every connection is for work you asked for, and SECURITY.md lists each address.
  • Any model, all at once. Eleven cloud providers and Ollama, side by side, with your own keys. Run fully local when you want to.
  • An agent that asks first. Commands, deletions, web pages it picks and anything outside your project need your approval. Every file change is a diff you can keep or undo.
  • Readable to the last line. MIT licensed. Vanilla JavaScript and Rust, no bundler, no minified app code.
This page describes main. Changes made since v2.6.0 reach the download with the next release; the changelog lists them.

Eight workspaces

| Workspace | What it does | |---|---| | Chats | Multi-provider chat with projects, attachments, memory and a local knowledge base | | Coder | A coding agent on your real project: file tree, edits as diffs, terminal, Undo | | 3D Forge | Describe a part, get a dimensioned solid. Exports STL, OBJ, 3MF and STEP in millimetres | | Finance | Statements, CSV, PDF and XLSX turned into KPIs and charts from the document's own figures | | Sandbox | Agents that inspect untrusted code for malware, prompt injection and suspicious logic | | ERP | Describe a business, get a working app with linked records and books, exported as one HTML file | | Agent Swarm | Teams of agents in chain or vote, on any mix of models, with past runs to reopen | | Virtual OS | A simulated project desktop an agent builds inside |

Plus Agents, nine built-in specialists and a builder for your own, and Split, one prompt answered by two models side by side.

Coder

The agent works on your real files. Inside the project it moves freely; every edit appears as a diff with Keep and Undo, and tests run in the built-in terminal.

Coder: an agent run that read a route, added validation shown as a diff with Keep and Undo, and ran the tests

Agent Swarm

Build a team on a canvas, or start from a template. Watch each agent work in the live trace, then open the result: every agent's part, the files it made and every version of them.

Agent Swarm: a four-agent team mid-run on a canvas, with the live trace below

3D Forge and ERP

3D Forge: a desk lamp generated as four parts, 69 by 100 by 69 millimetres ERP: a generated bicycle workshop app with revenue, a status board and the latest jobs
3D Forge. A described object becomes real parts with real dimensions, ready to print or open in CAD. ERP. A described business becomes an app with records, stages and books. Change it by asking.

Security

Coder asking permission to run npm test in the project, with Deny, Allow for session and Allow once
  • You approve what matters. Commands, deletions, web pages the model picks and anything outside the open project raise this bar. Every decision is written to ~/.hashcortx/audit.log.
  • A blocklist compiled into Rust refuses keys, credentials and system folders, whether they are asked for as a file or named in a command.
  • On macOS, agent commands run in the system sandbox, which keeps them out of your keys, keychains, shell start-up files and the app's own data however a command is written. On every system they start without environment settings named like secrets.
  • A task on a local model stays local, and cloud AI requests are capped at 30 a minute and 6 at once.
  • Stated plainly: API keys are stored on disk unencrypted, protected by your user account; the build is not code-signed.
Everything the app does, and what it does not, is in SECURITY.md.

Install

macOS (Apple Silicon). Download the DMG from the latest release and drag HashCortx to Applications. The build is not notarised: on first launch, right-click the app, choose Open, then Open again. If macOS still refuses:

xattr -dr com.apple.quarantine /Applications/HashCortx.app

Windows. Run the installer from the latest release. It is built without the embedding model, so it starts on any 64-bit PC and searches the knowledge base by keyword.

Linux and Intel Macs. Build from source (below).

Then open Settings → API keys, add a key and press Test. Or skip keys and run a model on your own machine: Settings → Local model walks you through it.

Build from source


cd ~
git clone https://github.com/Hash-7777/HashCortX.git
cd HashCortX
npm install
npm run tauri dev      # develop
npm run tauri build    # package

Needs Node 18+ and Rust via rustup, plus macOS: Xcode Command Line Tools · Linux: Ubuntu 24.04+ with the Tauri v2 system libraries · Windows: MSVC build tools and WebView2.

On Windows, run cd ~ first. An administrator PowerShell starts in C:\Windows\System32, and a checkout there fails to bundle with a misleading "file not found".

Older x86-64 processors (without AVX2). The default build links an ONNX Runtime that needs AVX2 and BMI2 (Intel Haswell, AMD Excavator and newer); on an older processor the app exits before a window appears. Build without the embedding model instead, and search falls back to keywords:

npx tauri build -- --no-default-features

Before a pull request, run what CI runs on Linux, macOS and Windows:

npm run check                                     # 5,085 source checks
cargo test --manifest-path src-tauri/Cargo.toml   # 170 Rust tests

Tauri v2 · Rust · vanilla JavaScript with no bundler, about 3 MB of interface source that ships as written. Architecture · Security · Contributing · Changelog

FAQ

Is it free? Yes. MIT, no paid tier. You pay your AI providers directly, or nothing with a local model.

Does it work offline? Yes, with Ollama. Web search, cloud models and the Python sandbox's first start need the internet.

Which systems? macOS on Apple Silicon, built and used daily. Windows 10, tested. Linux builds and passes CI, but has not been run by anyone yet.

Does my code leave my machine? Only inside a request to the model you chose. There is no HashCortx server.

Are my API keys encrypted? No. They sit in the app's own folder, protected by your user account. Why.

Was it built with AI? Yes, with AI coding models under human architecture, review and correction. Every product and security decision is the author's.

More in the Wiki.

Keyboard shortcuts

| Shortcut | Action | |---|---| | Cmd/Ctrl + Shift + C | Open or leave Coder | | Cmd/Ctrl + Shift + N | New chat | | Cmd/Ctrl + K | Model picker |

The Hash ecosystem

| App | What it is | Licence | |---|---|---| | HashCortx (you are here) | The local-first AI workspace | MIT | | HashCerebrum | Medical research workbench with a 3D brain interface | AGPL-3.0 | | HashMeterAi | An honest local meter for your AI usage | Apache-2.0 | | HashNotch | Turns the MacBook notch into a live activity island | GPL-3.0 |

They connect through files on your disk, not a service. HashCortx records token counts in ~/.hashcortx/usage.jsonl for HashMeterAi, and posts a short "finished" notice for HashNotch: a title, never a prompt or an answer.


HashCortx · by Seif Hashish · MIT

Download · Website · Wiki · Discussions

Chat with me