#tool #safe #shinkai #runner #ai #data-exchange

shinkai_tools_runner

Rust 库,在安全和高效的环境中执行 shinkai-tools

25 个版本

0.7.1-dev.242024 年 8 月 22 日
0.7.1-dev.232024 年 8 月 21 日
0.7.1-dev.172024 年 7 月 27 日
0.0.0 2024 年 8 月 23 日

#103配置

Download history 679/week @ 2024-06-28 251/week @ 2024-07-05 147/week @ 2024-07-12 134/week @ 2024-07-19 121/week @ 2024-07-26 129/week @ 2024-08-02 211/week @ 2024-08-09 196/week @ 2024-08-16

663 每月下载

自定义许可证

7MB
808

Shinkai 工具

Mutable.ai Auto Wiki

Shinkai 工具作为生态系统,用于在安全环境中执行 Shinkai 团队或第三方开发者提供的 Shinkai 工具。它为执行这些工具提供了一个沙箱空间,确保它们安全且高效地运行,同时允许与 Rust 代码的无缝集成。

此存储库是用于促进 JavaScript 和 Rust 代码集成的工具和实用程序的综合性集合。它提供了一个框架,用于在 Rust 环境中执行 JavaScript 脚本,允许两种语言之间的无缝通信和数据交换。

此存储库的主要组件包括

  • apps/shinkai-tool-* 这些是执行特定任务的微型 JavaScript 工具。每个工具都是一个包含自己配置和构建过程的独立项目,便于维护和更新。
  • libs/shinkai-tools-builder 是一个 TypeScript 库,提供构建新工具所需的类和类型,使创建和集成新工具到 Shinkai 生态系统变得更容易。
  • libs/shinkai-tools-runner 是一个用于在受保护且高效的 JavaScript 环境中执行工具的 Rust 库,为在 Shinkai 生态系统中运行工具提供了安全高效的方法。

文档

通用文档:https://docs.shinkai.com

更深入的代码库文档(Mutable.ai):https://wiki.mutable.ai/dcSpark/shinkai-tools

入门

初始化 TypeScript 端

# In windows admin privileges is required because rquickjs-sys uses a git patch
npm ci
npx nx run-many -t lint
npx nx run-many -t build
npx nx run-many -t test

如何从 Rust 端使用工具(使用 shinkai_tools_runner)

要从 Rust 端执行工具,您可以按照以下步骤操作

  1. 首先,请确保工具的JavaScript文件位于《Cargo.toml》文件中指定的正确目录。
  2. 在您的Rust代码中,导入必要的模块并创建一个Tool结构体的新实例。
  3. 使用load方法加载工具的JavaScript文件,将文件路径作为参数传递。
  4. 工具加载完成后,您可以使用run方法调用其函数,并将任何所需的参数作为JSON字符串传递。

以下是一个示例

use shinkai_tools_runner::built_in_tools::get_tool;
use shinkai_tools_runner::tools::tool::Tool;

#[tokio::main]
async fn main() {
    let tool_definition = get_tool("shinkai-tool-echo").unwrap();
    let mut tool = Tool::new();
    let _ = tool
        .load_from_code(&tool_definition.code.clone().unwrap(), "")
        .await;
    let run_result = tool.run("{ \"message\": \"new york\" }").await.unwrap();
    assert_eq!(run_result.data["message"], "echoing: new york");
}

添加新的Shinkai工具

要将新的Shinkai工具添加到该项目中,请按照以下简单步骤操作

  1. 运行Hygen命令:运行npx hygen shinkai-tool new来创建一个新工具。此命令将引导您完成创建新工具的过程,包括设置目录结构和生成必要的文件。

就这样!通过这个简单的命令,您将有一个新的Shinkai工具设置好,随时可以使用。

依赖项

~9-22MB
~330K SLoC