Shinkai is a two-click install AI manager (local and remote) that lets you spin up
AI agents in minutes through a friendly UI. Agents and tools are all exposed via an
MCP server.
A companion repository, Shinkai Node,
provides the core services for agent management, job processing and secure communications.
https://github.com/user-attachments/assets/bc5bb7da-7ca5-477d-838a-8239951b6c01
General Documentation: https://docs.shinkai.com
To get started first clone this repo:
$ git clone https://github.com/dcSpark/shinkai-apps
ARCH="aarch64-apple-darwin" \
SHINKAI_NODE_VERSION="v1.0.11" \
OLLAMA_VERSION="v0.7.1" \
npx ts-node ./ci-scripts/download-side-binaries.ts
ARCH="x86_64-unknown-linux-gnu" \
OLLAMA_VERSION="v0.7.1" \
SHINKAI_NODE_VERSION="v1.0.11" \
npx ts-node ./ci-scripts/download-side-binaries.ts
$ENV:OLLAMA_VERSION="v0.7.1";
$ENV:SHINKAI_NODE_VERSION="v1.0.11";
$ENV:ARCH="x86_64-pc-windows-msvc";
npx ts-node ./ci-scripts/download-side-binaries.ts
Once you have done that simply use npm
to compile/serve it yourself:
cd shinkai-apps
nvm use
npm ci
npx nx serve {project-name} # IE: npx nx serve shinkai-desktop
npx nx serve:tauri shinkai-desktop
and it will automatically launch the Shinkai Desktop application.npx nx serve shinkai-desktop
and open a browser and navigate to http://localhost:1420
.Every command, if it's needed, build projects and it's dependencies according to the project dependency tree inferred from imports between them.
Command: npx nx [target] [project-name]
Params:
IE:
npx nx build shinkai-desktop
npx nx lint shinkai-message-ts
npx nx test shinkai-ui
npx nx serve shinkai-desktop
Run many tasks
Command: npx nx run-many --target=[target]
Params:
IE:
npx nx run-many --target=build
npx nx run-many --target=lint
npx nx run-many --target=test
npx nx run-many --target=e2e
npx nx run-many --target=serve
Run on affected projects
Command: npx nx affected --target=[target]
Params:
IE:
npx nx affected --target=build
When you build a project, NX builds a cache (to make it faster), if you want to skip it just add the parameter
--skip-nx-cache
to the previous commands.
Create a dev build
NODE_OPTIONS="--max_old_space_size=8192" npx nx build shinkai-desktop --config="./src-tauri/tauri.conf.development.json"
Update ollama models repository
npx ts-node ./ci-scripts/generate-ollama-models-repository.ts
Update composio apps repository
deno run -A ./ci-scripts/composio-repository/main.ts
To orchestrate all the tasks, dependencies and hierarchy between different projects, this repository uses NX as a monorepo tooling.
All projects share the same base of dependencies defined ./package.json
file found in the root of the repository. Nested package json files are used just to override or extends base attributes.
To build the UI there are 3 core libraries:
To implement state management there are two different libraries: