Shinkai apps unlock the full capabilities/automation of first-class LLM (AI) support in the web browser. It enables creating multiple agents, each connected to either local or 3rd-party LLMs (ex. OpenAI GPT), which have permissioned (meaning secure) access to act in every webpage you visit.
There is a companion repo called Shinkai Node, that allows you to set up the node anywhere as the central unit of the Shinkai Network, handling tasks such as agent management, job processing, and secure communications.
You can find it here.
General Documentation: https://docs.shinkai.com
More In Depth Codebase Documentation (Mutable.ai): https://wiki.mutable.ai/dcSpark/shinkai-apps
To get started first clone this repo:
$ git clone https://github.com/dcSpark/shinkai-apps
ARCH="aarch64-apple-darwin" \
OLLAMA_VERSION="v0.4.7" \
SHINKAI_NODE_VERSION="v0.9.0" \
npx ts-node ./ci-scripts/download-side-binaries.ts
ARCH="x86_64-unknown-linux-gnu" \
OLLAMA_VERSION="v0.4.7"\
SHINKAI_NODE_VERSION="v0.9.0" \
npx ts-node ./ci-scripts/download-side-binaries.ts
$ENV:OLLAMA_VERSION="v0.4.7"
$ENV:SHINKAI_NODE_VERSION="v0.9.0"
$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
shinkai-visor: As this is a Chrome Extension, after build, developers needs to load it in chrome:
Open Chrome.
chrome://extensions.Select the ./dist/apps/shinkai-visor folder which contains the output of the building process using commands like npx nx serve shinkai-visor.
shinkai-desktop: For development and building purposes
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-visornpx nx lint shinkai-message-tsnpx nx e2e shinkai-visornpx nx serve shinkai-desktop
Run many tasks
Command: npx nx run-many --target=[target]
Params:
IE:
npx nx run-many --target=buildnpx nx run-many --target=lintnpx nx run-many --target=testnpx nx run-many --target=e2enpx nx run-many --target=serve
Run on affected projects
Command: npx nx affected --target=[target]
Params:
IE:
npx nx affected --target=buildWhen you build a project, NX builds a cache (to make it faster), if you want to skip it just add the parameter
--skip-nx-cacheto the previous commands.
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: