From 5f460eeb7f4e3f731036feead4c541913ea8fcae Mon Sep 17 00:00:00 2001 From: Alfredo Gallardo Date: Tue, 10 Dec 2024 19:12:23 -0300 Subject: [PATCH] - fix: bump to shinkai-node v0.9.2 to implement uv --- .github/workflows/pr-ci-healchecks.yml | 4 ++-- .github/workflows/release-dev.yml | 4 ++-- .github/workflows/release-prod.yml | 4 ++-- README.md | 12 +++++------ .../shinkai_node_options.rs | 20 +++++++++++++++++++ .../shinkai-desktop/src-tauri/tauri.conf.json | 1 + ci-scripts/download-side-binaries.ts | 13 +++++++++++- 7 files changed, 45 insertions(+), 13 deletions(-) diff --git a/.github/workflows/pr-ci-healchecks.yml b/.github/workflows/pr-ci-healchecks.yml index d7aa96052..46f81447c 100644 --- a/.github/workflows/pr-ci-healchecks.yml +++ b/.github/workflows/pr-ci-healchecks.yml @@ -37,8 +37,8 @@ jobs: - name: Download side binaries env: ARCH: x86_64-unknown-linux-gnu - SHINKAI_NODE_VERSION: v0.9.0 - OLLAMA_VERSION: v0.4.7 + SHINKAI_NODE_VERSION: v0.9.2 + OLLAMA_VERSION: v0.5.1 run: | npx ts-node ./ci-scripts/download-side-binaries.ts diff --git a/.github/workflows/release-dev.yml b/.github/workflows/release-dev.yml index 1285e7850..a8c9de0d9 100644 --- a/.github/workflows/release-dev.yml +++ b/.github/workflows/release-dev.yml @@ -208,8 +208,8 @@ jobs: - name: Download side binaries env: ARCH: ${{ matrix.arch }} - SHINKAI_NODE_VERSION: v0.9.0 - OLLAMA_VERSION: v0.4.7 + SHINKAI_NODE_VERSION: v0.9.2 + OLLAMA_VERSION: v0.5.1 run: | npx ts-node ./ci-scripts/download-side-binaries.ts diff --git a/.github/workflows/release-prod.yml b/.github/workflows/release-prod.yml index e6985aa57..87e7c622d 100644 --- a/.github/workflows/release-prod.yml +++ b/.github/workflows/release-prod.yml @@ -206,8 +206,8 @@ jobs: - name: Download side binaries env: ARCH: ${{ matrix.arch }} - SHINKAI_NODE_VERSION: v0.9.0 - OLLAMA_VERSION: v0.4.7 + SHINKAI_NODE_VERSION: v0.9.2 + OLLAMA_VERSION: v0.5.1 run: | npx ts-node ./ci-scripts/download-side-binaries.ts diff --git a/README.md b/README.md index 1768e420f..50d472a0d 100644 --- a/README.md +++ b/README.md @@ -45,23 +45,23 @@ $ git clone https://github.com/dcSpark/shinkai-apps #### Macos ``` ARCH="aarch64-apple-darwin" \ -OLLAMA_VERSION="v0.4.7" \ -SHINKAI_NODE_VERSION="v0.9.0" \ +OLLAMA_VERSION="v0.5.1" \ +SHINKAI_NODE_VERSION="v0.9.2" \ npx ts-node ./ci-scripts/download-side-binaries.ts ``` #### Linux ``` ARCH="x86_64-unknown-linux-gnu" \ -OLLAMA_VERSION="v0.4.7"\ -SHINKAI_NODE_VERSION="v0.9.0" \ +OLLAMA_VERSION="v0.5.1"\ +SHINKAI_NODE_VERSION="v0.9.2" \ npx ts-node ./ci-scripts/download-side-binaries.ts ``` #### Windows ``` -$ENV:OLLAMA_VERSION="v0.4.7" -$ENV:SHINKAI_NODE_VERSION="v0.9.0" +$ENV:OLLAMA_VERSION="v0.5.1" +$ENV:SHINKAI_NODE_VERSION="v0.9.2" $ENV:ARCH="x86_64-pc-windows-msvc" npx ts-node ./ci-scripts/download-side-binaries.ts ``` diff --git a/apps/shinkai-desktop/src-tauri/src/local_shinkai_node/shinkai_node_options.rs b/apps/shinkai-desktop/src-tauri/src/local_shinkai_node/shinkai_node_options.rs index c45b2a4d6..3eef5db1c 100644 --- a/apps/shinkai-desktop/src-tauri/src/local_shinkai_node/shinkai_node_options.rs +++ b/apps/shinkai-desktop/src-tauri/src/local_shinkai_node/shinkai_node_options.rs @@ -28,6 +28,7 @@ pub struct ShinkaiNodeOptions { pub default_embedding_model: Option, pub supported_embedding_models: Option, pub shinkai_tools_runner_deno_binary_path: Option, + pub shinkai_tools_runner_uv_binary_path: Option, pub pdfium_dynamic_lib_path: Option, } @@ -195,6 +196,12 @@ impl ShinkaiNodeOptions { .or(base_options.shinkai_tools_runner_deno_binary_path) .unwrap_or_default(), ), + shinkai_tools_runner_uv_binary_path: Some( + options + .shinkai_tools_runner_uv_binary_path + .or(base_options.shinkai_tools_runner_uv_binary_path) + .unwrap_or_default(), + ), pdfium_dynamic_lib_path: Some(match options.pdfium_dynamic_lib_path { Some(ref path) if !path.is_empty() => path.clone(), _ => base_options.pdfium_dynamic_lib_path.unwrap_or_default(), @@ -223,6 +230,18 @@ impl Default for ShinkaiNodeOptions { .to_string_lossy() .to_string(); + let shinkai_tools_runner_uv_binary_path = std::env::current_exe() + .unwrap() + .parent() + .unwrap() + .join(if cfg!(target_os = "windows") { + "uv.exe" + } else { + "uv" + }) + .to_string_lossy() + .to_string(); + ShinkaiNodeOptions { node_api_ip: Some("127.0.0.1".to_string()), node_api_port: Some("9550".to_string()), @@ -246,6 +265,7 @@ impl Default for ShinkaiNodeOptions { default_embedding_model: Some("snowflake-arctic-embed:xs".to_string()), supported_embedding_models: Some("snowflake-arctic-embed:xs".to_string()), shinkai_tools_runner_deno_binary_path: Some(shinkai_tools_runner_deno_binary_path), + shinkai_tools_runner_uv_binary_path: Some(shinkai_tools_runner_uv_binary_path), pdfium_dynamic_lib_path: None, } } diff --git a/apps/shinkai-desktop/src-tauri/tauri.conf.json b/apps/shinkai-desktop/src-tauri/tauri.conf.json index dc2ce0f91..25edb7bd9 100644 --- a/apps/shinkai-desktop/src-tauri/tauri.conf.json +++ b/apps/shinkai-desktop/src-tauri/tauri.conf.json @@ -11,6 +11,7 @@ "externalBin": [ "external-binaries/shinkai-node/shinkai-node", "external-binaries/shinkai-node/shinkai-tools-runner-resources/deno", + "external-binaries/shinkai-node/shinkai-tools-runner-resources/uv", "external-binaries/ollama/ollama" ], "icon": [ diff --git a/ci-scripts/download-side-binaries.ts b/ci-scripts/download-side-binaries.ts index 657c9e6e1..1df8b293f 100644 --- a/ci-scripts/download-side-binaries.ts +++ b/ci-scripts/download-side-binaries.ts @@ -105,6 +105,10 @@ const downloadShinkaiNodeBinary = async (arch: Arch, version: string) => { arch, `./apps/shinkai-desktop/src-tauri/external-binaries/shinkai-node/shinkai-tools-runner-resources/deno`, ); + const shinkaiToolsRunnerUvBinaryPath = asBinaryName( + arch, + `./apps/shinkai-desktop/src-tauri/external-binaries/shinkai-node/shinkai-tools-runner-resources/uv`, + ); await rename( shinkaiNodeBinaryPath, asSidecarName(arch, shinkaiNodeBinaryPath), @@ -113,9 +117,16 @@ const downloadShinkaiNodeBinary = async (arch: Arch, version: string) => { shinkaiToolsRunnerDenoBinaryPath, asSidecarName(arch, shinkaiToolsRunnerDenoBinaryPath), ); + await rename( + shinkaiToolsRunnerUvBinaryPath, + asSidecarName(arch, shinkaiToolsRunnerUvBinaryPath), + ); await addExecPermissions(asSidecarName(arch, shinkaiNodeBinaryPath)); - await addExecPermissions(asSidecarName(arch, shinkaiToolsRunnerDenoBinaryPath)); + await addExecPermissions( + asSidecarName(arch, shinkaiToolsRunnerDenoBinaryPath), + ); + await addExecPermissions(asSidecarName(arch, shinkaiToolsRunnerUvBinaryPath)); }; const downloadOllamaAarch64AppleDarwin = async (version: string) => {