{"id":16273583,"url":"https://github.com/agallardol/kaivm","last_synced_at":"2025-10-13T03:07:50.591Z","repository":{"id":228290189,"uuid":"773585613","full_name":"agallardol/kaivm","owner":"agallardol","description":"KAIVM is a multiplatform Command Line Interface (CLI) designed to simplify the process of downloading, managing, configuring, and running different versions of Shinkai Node","archived":false,"fork":false,"pushed_at":"2024-03-24T21:11:44.000Z","size":4776,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-26T04:03:58.868Z","etag":null,"topics":["ai","cli","rust","version-manager"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/kaivm","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agallardol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"buy_me_a_coffee":"agallardol"}},"created_at":"2024-03-18T02:43:03.000Z","updated_at":"2024-03-24T23:10:13.000Z","dependencies_parsed_at":"2024-03-18T03:49:33.940Z","dependency_job_id":"03bd820f-c716-4115-8fe1-4445558a5289","html_url":"https://github.com/agallardol/kaivm","commit_stats":null,"previous_names":["agallardol/svm","agallardol/kaivm"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agallardol%2Fkaivm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agallardol%2Fkaivm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agallardol%2Fkaivm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agallardol%2Fkaivm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agallardol","download_url":"https://codeload.github.com/agallardol/kaivm/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232133707,"owners_count":18477293,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","cli","rust","version-manager"],"created_at":"2024-10-10T18:24:46.679Z","updated_at":"2025-10-13T03:07:45.559Z","avatar_url":"https://github.com/agallardol.png","language":"Rust","funding_links":["https://buymeacoffee.com/agallardol"],"categories":[],"sub_categories":[],"readme":"# KAIVM - Shinkai Version Manager\n\n![GitHub Social](https://raw.githubusercontent.com/agallardol/kaivm/main/readme-assets/github-social.png)\n\nKAIVM is a multiplatform Command Line Interface (CLI) designed to simplify the process of downloading, managing, configuring, and running different versions of Shinkai Node. It provides a seamless way to switch between Shinkai Node versions, ensuring developers can test their applications against multiple versions with ease. For more information on getting started with Shinkai Node, visit [Shinkai Documentation](https://docs.shinkai.com/getting-started).\n\n## Getting Started\n\nGetting started with KAIVM is very straightforward.\n\n![demo gif](https://raw.githubusercontent.com/agallardol/kaivm/main/readme-assets/demo.gif)\n\nFollow these steps to install, run, and customize a specific version of Shinkai Node:\n\n### 1. Install KAIVM\n\nThere are two primary methods to install KAIVM:\n\n#### Option 1: Install using Cargo\n\nIf you have Rust's package manager, Cargo, already installed, you can easily add KAIVM by running:\n\n  ```sh\n  cargo install kaivm\n  ```\n\n#### Option 2: Install using binary\n\nFor macOS Apple Silicon users, the installation process involves a few simple steps. Please follow the instructions below:\n\n  ```sh\n  curl -L https://raw.githubusercontent.com/agallardol/kaivm/main/temp-release/kaivm-aarch64-apple-darwin -o kaivm\n  chmod +x kaivm\n  mv kaivm /usr/local/bin/\n  ```\n\nFor users on other platforms, installation instructions are coming soon.\n\n### 2. Install and run Shinkai Node\n\n1. **Install a Shinkai Node Version**\n\n   To install a specific version of Shinkai Node, use the `install` command followed by the version number. For example, to install version 0.5.3, you would run:\n\n   ```\n   kaivm install v0.5.3\n   ```\n\n2. **Run Shinkai Node**\n\n   After installing the desired version, you can run it using the `kaivm node run` command. This will start the Shinkai Node with the currently set version:\n\n   ```\n   kaivm node run\n   ```\n\n3. **Customize Shinkai Node**\n\n   You can customize your Shinkai Node instance by passing environment variables using the `--var=value` syntax. For example, to set the API port and the storage path, you can use:\n\n   ```\n   kaivm node env --node_api_port=9550 --node_storage_path=~/.kaivm/data\n   ```\n\nBy following these steps, you can easily manage, switch between different versions, and customize Shinkai Node for your development needs.\n\n\n## Configuration and Assets\n\nKAIVM stores its configuration files and downloaded Shinkai Node versions in the `~/.kaivm` directory. This centralized storage makes it easy to manage and access all KAIVM-related assets.\n\n## Available Commands\n\nKAIVM offers a variety of commands to manage Shinkai Node versions:\n\n- **list**: Lists all installed Shinkai Node versions.\n  ```\n  kaivm list\n  ```\n\n- **install \u003cVERSION\u003e**: Downloads and installs a specific version of Shinkai Node.\n  ```\n  kaivm install 1.2.3\n  ```\n\n- **use \u003cVERSION\u003e**: Sets a specific version of Shinkai Node as the current version.\n  ```\n  kaivm use 1.2.3\n  ```\n\n- **version**: Displays the current Shinkai Node version.\n  ```\n  kaivm version\n  ```\n\n- **node run**: Runs the currently set version of Shinkai Node.\n  ```\n  kaivm node run\n  ```\n- **node reset**: Reset your Shinkai Node.\n  ```\n  kaivm node reset\n  ```\n\n- **node env**: Sets environment variables for the current Shinkai Node session. Available options include:\n  - `--node_api_port`: Specifies the port on which the Shinkai Node API will run.\n  - `--node_storage_path`: Defines the file system path where Shinkai Node will store its data.\n  - `--unstructured_server_url`: The URL of the unstructured server that Shinkai Node will communicate with.\n  - `--embeddings_server_url`: The URL of the embeddings server used by Shinkai Node for processing data.\n  - `--first_device_needs_registration_code`: Determines whether the first device connecting to the Shinkai Node requires a registration code for authentication. Accepts 'true' or 'false'.\n  - `--initial_agent_names`: A comma-separated list of initial agent names to be registered with the Shinkai Node.\n  - `--initial_agent_urls`: A comma-separated list of URLs for the initial agents, corresponding to the names provided.\n  - `--initial_agent_models`: A comma-separated list of models for the initial agents, corresponding to the names provided.\n  - `--initial_agent_api_keys`: A comma-separated list of API keys for the initial agents, corresponding to the names provided.\n  - `--starting_num_qr_devices`: The initial number of QR devices that should be supported by the Shinkai Node.\n  - `--node_port`: Specifies the port on which the Shinkai Node will run.\n  - `--node_ws_port`: Specifies the WebSocket port for the Shinkai Node.\n  - `--unstructured_server_api_key`: The API key for the unstructured server that the Shinkai Node will communicate with.\n  - `--embeddings_server_api_key`: The API key for the embeddings server used by the Shinkai Node for processing data.\n  - `--job_manager_threads`: The number of threads to be used by the job manager within the Shinkai Node.\n  - `--global_identity_name`: The global identity name for the Shinkai Node.\n  ```\n  kaivm node env --node_api_port 9550 --node_storage_path ~/.kaivm/data\n  ```\n\nWith KAIVM, managing Shinkai Node versions becomes a breeze, allowing developers to focus on building and testing their applications.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagallardol%2Fkaivm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagallardol%2Fkaivm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagallardol%2Fkaivm/lists"}