Flutter多功能工具插件ok_ziggy_tools的使用

Flutter多功能工具插件ok_ziggy_tools的使用

使用说明

本工具用于创建一个目录,供大型语言模型聊天机器人使用。


安装此工具

确保已安装Dart。请按照以下链接中的说明进行安装:

Dart官网

安装完成后,可以使用以下命令安装工具:

dart pub global activate ok_ziggy_tools

创建目录

运行以下命令以生成目录:

zigt create [arguments]

参数说明:

  • -h, --help:打印帮助信息。
  • -i, --input:包含OpenAPI服务域名的输入文件(默认为domains.json)。

构建过程中会生成多个文件,包括错误日志。这些文件将在构建聊天机器人服务器时使用。


复制文件

将生成的目录复制到目标目录中:

zigt copy [arguments]

参数说明:

  • -h, --help:打印帮助信息。
  • -t, --targetDir:目标目录(默认为data)。

一旦文件被复制到目标目录,它们将以结构化方式组织,方便聊天机器人服务器使用。


输入文件

输入文件是一个包含托管清单的服务域名列表。工具会在每个域名中查找ai-plugin.json清单,并为其构建目录条目。

示例输入文件domains.json

[
  "ai.abcmouse.com",
  "api.speak.com",
  "chatwithpdf.sdan.io"
]

更多服务参考:GitHub仓库


生成的文件

聊天机器人需要了解两种类型的服务信息:

  1. 服务列表:描述可用的服务,允许聊天机器人根据客户端交互决定使用哪个服务。
  2. 规范文件:描述每个端点及其如何使用和存储远程数据。

服务列表

这是主要的服务目录,用于向聊天机器人广告服务。

示例服务列表:

[
  {
    "serviceId": "ff57602e9b",
    "name": "ABCmouse",
    "description": "提供2-8岁儿童的趣味教育活动。"
  },
  {
    "serviceId": "495bc6a9bb",
    "name": "Penrose Analyst",
    "description": "搜索全球新闻和研究论文。总结Arxiv.org链接。问我最新的新闻!"
  },
  {
    "serviceId": "40dca1ffbe",
    "name": "Crypto Market News",
    "description": "实时加密货币价格更新、市场洞察和最新新闻的最佳解决方案。"
  }
]

规范文件

每个服务都会生成一个规范文件,分为两部分:

  1. OpenAPI规范:定义端点路径和请求结构。
  2. 辅助信息:来自AI清单的description_for_model字段。

示例规范文件:

openapi: "3.0.0"
info:
  version: "1.0.0"
  title: "OK Ziggy"
  description: "作为动态代理,支持新闻、天气、旅行和游戏等服务。"
servers:
  - url: "httos://ziggy.zapvine.com/api/v1"
paths:
  /services:
    get:
      summary: 获取可用服务列表
      operationId: "getServices"
      responses:
        "200":
          description: 操作成功
  # 其他规范...

EXTRA_INFORMATION_TO_ASSISTANT
  AI助手的名字叫Ziggy。Ziggy的主要工作是...[其他提示指令]

聊天机器人服务器配置文件

以下文件是聊天机器人服务器使用的配置文件。

API映射文件

此文件将serviceId映射到API服务器的URL。

示例API映射文件:

{
  "ff57602e9b": "ai.abcmouse.com/ws/ai/0.1/gpt",
  "a3be2a6602": "api.speak.com",
  "2d59d0bd16": "chatwithpdf.sdan.io",
  "5742d3c9b4": "openai.jettel.de",
  "7da6597eed": "plugin.askyourpdf.com"
}

域名映射文件

此文件将serviceId映射到托管清单的域名。该域名被视为服务的唯一ID。

示例域名映射文件:

{
  "ff57602e9b": "ai.abcmouse.com",
  "a3be2a6602": "api.speak.com",
  "2d59d0bd16": "chatwithpdf.sdan.io"
}

内容类型映射文件

此文件将服务路径映射到内容类型。

示例内容类型映射文件:

{
  "ff57602e9b/ChatPluginRecommendActivities": "application/json",
  "a3be2a6602/translate": "application/json",
  "a3be2a6602/explainPhrase": "application/json",
  "a3be2a6602/explainTask": "application/json",
  "2d59d0bd16/loadPdf": "application/json"
}

初始化服务器项目

此命令初始化运行服务器所需的数据目录:

zigt init

更多关于Flutter多功能工具插件ok_ziggy_tools的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter多功能工具插件ok_ziggy_tools的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


ok_ziggy_tools 是一个为 Flutter 开发者提供的多功能工具插件,旨在简化开发过程中的常见任务。它提供了一系列实用功能,包括但不限于网络请求、本地存储、设备信息获取、日志记录等。以下是如何使用 ok_ziggy_tools 插件的基本指南。

1. 安装插件

首先,你需要在 pubspec.yaml 文件中添加 ok_ziggy_tools 依赖:

dependencies:
  flutter:
    sdk: flutter
  ok_ziggy_tools: ^1.0.0  # 请使用最新版本

然后运行 flutter pub get 来安装依赖。

2. 导入插件

在你的 Dart 文件中导入 ok_ziggy_tools

import 'package:ok_ziggy_tools/ok_ziggy_tools.dart';

3. 使用功能

ok_ziggy_tools 提供了多个模块,你可以根据需要选择使用。

3.1 网络请求

ok_ziggy_tools 提供了简化的网络请求功能。你可以使用 NetworkUtils 类来进行 GET、POST 等请求。

import 'package:ok_ziggy_tools/ok_ziggy_tools.dart';

void fetchData() async {
  var response = await NetworkUtils.get('https://jsonplaceholder.typicode.com/posts');
  if (response.statusCode == 200) {
    print('Data: ${response.body}');
  } else {
    print('Failed to load data');
  }
}

3.2 本地存储

ok_ziggy_tools 提供了本地存储功能,你可以使用 StorageUtils 类来存储和获取数据。

import 'package:ok_ziggy_tools/ok_ziggy_tools.dart';

void saveData() async {
  await StorageUtils.saveString('key', 'value');
  var value = await StorageUtils.getString('key');
  print('Stored value: $value');
}

3.3 设备信息

ok_ziggy_tools 提供了获取设备信息的功能,你可以使用 DeviceUtils 类来获取设备的相关信息。

import 'package:ok_ziggy_tools/ok_ziggy_tools.dart';

void getDeviceInfo() {
  var deviceInfo = DeviceUtils.getDeviceInfo();
  print('Device ID: ${deviceInfo.deviceId}');
  print('Device Model: ${deviceInfo.deviceModel}');
  print('OS Version: ${deviceInfo.osVersion}');
}

3.4 日志记录

ok_ziggy_tools 提供了日志记录功能,你可以使用 LogUtils 类来记录日志。

import 'package:ok_ziggy_tools/ok_ziggy_tools.dart';

void logMessage() {
  LogUtils.d('This is a debug message');
  LogUtils.i('This is an info message');
  LogUtils.w('This is a warning message');
  LogUtils.e('This is an error message');
}

4. 配置插件

ok_ziggy_tools 允许你进行一些全局配置,例如设置日志级别、网络请求的超时时间等。

import 'package:ok_ziggy_tools/ok_ziggy_tools.dart';

void configureTools() {
  LogUtils.setLogLevel(LogLevel.verbose);
  NetworkUtils.setTimeout(Duration(seconds: 30));
}
回到顶部