Open-source project
dcSpark/shinkai-local-ai-agents avatar
dcSpark/shinkai-local-ai-agents

Shinkai Local AI Agents: a Tauri desktop shell around a separate Shinkai Node binary

Shinkai is a two click install App that allows you to create Local AI agents in 5 minutes or less using a simple UI. Supports: MCPs, Remote and Local AI, Crypto and Payments.

434 stars60 forksTypeScriptApache-2.0

At a glance

What is it?
Shinkai packages a no-code agent builder as a desktop app, but the runtime that actually executes agents is a Shinkai Node binary you download separately. Here is what the repository shows about the architecture, the build path, and where the two-click install story stops being accurate.
Who is it for?
Adopt Shinkai if you want a graphical agent builder on your own machine and you accept that the real engine is a separate Shinkai Node binary pinned by version in the build scripts. Do not adopt it if you need a single self-contained binary, a headless server deployment, or a stable plugin API, because the repository documents none of those.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 92 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The problem Shinkai targets is the gap between a model and a running agent

A local model gives you text generation. It does not give you a scheduled job, a tool call against an external API, or a payment. Shinkai's pitch is that it closes that gap without writing code: the README describes a visual interface where you create agents by dragging and dropping, and it lists multi-agent orchestration as a first-class feature, with agents that share context and coordinate multi-step workflows. The stated audience is people who want agent behaviour but not a Python project. The README claims agents can be created in minutes and that no programming experience is needed. That claim is about the authoring surface, not the runtime. The runtime is a separate component, and the repository is explicit about this in its development instructions. Anyone evaluating Shinkai should separate those two things from the start, because the install experience and the development experience lead to different conclusions about how self-contained the product is.

Two processes, not one: the desktop shell and the Shinkai Node

The repository is an NX monorepo. The application you interact with is shinkai-desktop, described as a cross-platform Tauri application with a React frontend. Tauri means a Rust host process wrapping a web view, so the UI is React 18 with TypeScript, Tailwind CSS and Radix UI, and the desktop shell is Rust. State is split: Zustand holds UI state, React Query holds server state, and a library called shinkai-node-state provides the React Query bindings for node data. That naming is the tell. The data comes from a node, and the node is not the desktop app. A second library, shinkai-message-ts, handles message protocols and network communication with the Shinkai Node. So the flow is: React components in shinkai-desktop render agent definitions and run history, shinkai-node-state queries the node over the protocol implemented in shinkai-message-ts, and the node does the actual work of running agents and talking to models. Supporting libraries fill in the rest: shinkai-ui for components, shinkai-artifacts for styled primitives on Radix and Tailwind, shinkai-i18n for translations via i18next. The README ships translated versions of itself in Simplified Chinese, Cantonese, Korean, Japanese and Spanish, which is consistent with that i18n library being a real part of the build rather than an afterthought.

The side binary is the part the two-click story hides

The Quick Start section tells end users to download a release, install it, and launch it. The Development section tells a different story. Before you can run the app from source, you must download the embedded Shinkai Node binary, described as powering the application's core functionality, using a script at ./ci-scripts/download-side-binaries.ts. The command is run through npx ts-node and is parameterised by environment variables, not by flags. On macOS Apple Silicon you set ARCH to aarch64-apple-darwin, SHINKAI_NODE_VERSION to a version tag such as v1.1.20, and OLLAMA_VERSION to a tag such as v0.12.3, then run the script. Linux uses x86_64-unknown-linux-gnu for ARCH with the same two version variables. Windows uses PowerShell syntax to set the same three variables, with ARCH as x86_64-pc-windows-msvc. Two consequences follow. First, the node and Ollama are versioned independently of the desktop app, so a release of the app does not imply a specific node version; you choose it. Second, the architectures listed are three specific triples. If your machine is not one of them, the README gives you nothing to work with, and the download script is the only documented path to the binary.

Running it from source: the actual commands and the build memory ceiling

The setup sequence in the README is a clone of https://github.com/dcSpark/shinkai-apps, an nvm use to select the pinned Node version, and npm ci for a clean dependency install. After the side binaries are in place, the recommended development command is npx nx serve:tauri shinkai-desktop, which the README marks as recommended for development. For a plain build, npx nx build shinkai-desktop. There is a second build variant that sets NODE_OPTIONS to --max_old_space_size=8192 and points at ./src-tauri/tauri.conf.development.json, which is worth noting: the README only reaches for the larger heap on the development configuration, implying the default build is the lighter one and the development bundle is the heavier one. A monorepo-wide build is npx nx run-many --target=build. The README also documents a maintenance command for updating the built-in Ollama models repository, described as containing model definitions, tags and metadata, though the excerpt cuts off mid-sentence, so the exact invocation is not confirmable from the material available. Treat that as a gap: if you plan to manage model definitions programmatically, verify the command against the full README before relying on it.

Where Shinkai is the wrong tool

Shinkai is a desktop application. The README's system requirements are framed around a personal machine: 4GB RAM minimum with 8GB recommended, 2GB of free storage, and Windows 10+, macOS 10.15+ or Ubuntu 20.04+. Nothing in the material describes a headless mode, a container image, or a server deployment. If your goal is an agent that runs on a schedule in CI or on a shared host with no display, this repository does not document a path to that, and the Tauri shell is the wrong layer to try to strip out. The second limitation is the local model story. The README advertises hybrid deployment, running everything locally for privacy or connecting to cloud models. But the only local inference component named anywhere in the material is Ollama, pulled as a side binary at a pinned version. That means local capability is bounded by what Ollama can serve on your hardware, and the README's own memory floor of 4GB is not a realistic budget for running a capable local model alongside the app and the node. The third limitation is version drift. Because the node is pinned by an environment variable in a build script rather than resolved automatically, it is possible to run a desktop build against a node version the UI was not written for. Nothing in the material describes a compatibility check.

How this differs from wiring an MCP client into an existing IDE

Shinkai supports the Model Context Protocol, and the README frames that as making agents compatible with Claude, Cursor and the wider ecosystem. The obvious alternative for many engineers is to skip Shinkai and configure MCP servers directly in an editor or chat client they already use. The difference is where the agent definition lives. In the IDE approach, the client owns the session and the tools; there is no persistent agent object, no shared context between separate agents, and no payment layer, because the host application has no concept of either. Shinkai inverts that: the agent is a stored object in the node, the UI is a builder for those objects, and multi-agent coordination is a property of the node rather than of a chat session. It also adds the crypto dimension, which the README describes as built-in support for decentralized payments and autonomous economic agents that can transact independently. That is a genuine architectural difference, not a feature checkbox. It is also the part with the least documentation in the material provided. The README asserts crypto-native design and a security-first posture with keys and sensitive data remaining under your control, but it does not describe the key storage mechanism, the payment protocol, or the threat model. If autonomous transactions are your reason for looking at Shinkai, the repository as summarised here does not give you enough to evaluate that claim.

Licence, maintenance and what the release cadence tells you

Shinkai is Apache-2.0. That is a permissive licence with an explicit patent grant, and it permits commercial use and modification provided you retain the notices and state changes. It does not impose a copyleft obligation on your own code the way the GPL family would. None of this is legal advice; if you intend to redistribute a modified desktop build, read the licence text and the NOTICE file that Apache-2.0 expects, and check how the bundled Ollama and Shinkai Node binaries are licensed separately, because those are third-party artifacts the project downloads rather than code covered by the repository's own licence. On maintenance, the release history shows 1.1.31 and 1.1.32 both dated 2026-01-09, hours apart, then 1.1.33 on 2026-02-03, with the last push to the repository on 2026-06-15. Two releases in one day followed by a quieter stretch is a normal pattern for a project that ships fixes as they land. The practical cost for an adopter is that the node version you pin and the app version you install move independently, so any upgrade means checking both. Budget for that: read the release notes for the node tag you intend to move to, confirm the side-binary script still resolves for your architecture, and keep the previous node version available so you can roll back the environment variable without rebuilding the desktop app.

Editorial conclusion

Adopt Shinkai if you want a graphical agent builder on your own machine and you accept that the real engine is a separate Shinkai Node binary pinned by version in the build scripts. Do not adopt it if you need a single self-contained binary, a headless server deployment, or a stable plugin API, because the repository documents none of those. Before committing, verify the SHINKAI_NODE_VERSION and OLLAMA_VERSION values you intend to pin against the releases page, and confirm that the side-binary download script resolves for your architecture, since the README lists only aarch64-apple-darwin, x86_64-unknown-linux-gnu and x86_64-pc-windows-msvc.

Official sources

  1. dcSpark/shinkai-local-ai-agents on GitHub
  2. License: Apache-2.0
  3. Project website
  4. README
  5. Releases
Community notes

Community notes