Преглед изворни кода

change chatgpt_tool_hub version to 0.5.0

master
goldfishh пре 10 месеци
родитељ
комит
3dea8311b1
3 измењених фајлова са 31 додато и 12 уклоњено
  1. +23
    -5
      plugins/tool/README.md
  2. +7
    -6
      plugins/tool/tool.py
  3. +1
    -1
      requirements-optional.txt

+ 23
- 5
plugins/tool/README.md Прегледај датотеку

@@ -3,8 +3,8 @@
使用说明(默认trigger_prefix为$):
```text
#help tool: 查看tool帮助信息,可查看已加载工具列表
$tool 工具名 命令: [pure模式]:根据给出的{命令}使用指定 一个 可用工具尽力为你得到结果。
$tool 命令: [多工具模式]:根据给出的{命令}使用 一些 可用工具尽力为你得到结果。
$tool 工具名 命令: (pure模式)根据给出的{命令}使用指定 一个 可用工具尽力为你得到结果。
$tool 命令: (多工具模式)根据给出的{命令}使用 一些 可用工具尽力为你得到结果。
$tool reset: 重置工具。
```
### 本插件所有工具同步存放至专用仓库:[chatgpt-tool-hub](https://github.com/goldfishh/chatgpt-tool-hub)
@@ -15,7 +15,7 @@ $tool reset: 重置工具。
3. 替换visual-dl(更名为visual)实现,目前识别图片链接效果较好。
4. 修复了0.4版本大部分工具返回结果不可靠问题

新版本工具名共19个,不一一列举,相应工具需要环境参数见`tool.py`里的`_build_tool_kwargs`函数
新版本工具名共19个,不一一列举,相应工具需要环境参数见`tool.py`里的`_build_tool_kwargs`函数

## 使用说明
使用该插件后将默认使用4个工具, 无需额外配置长期生效:
@@ -30,10 +30,13 @@ $tool reset: 重置工具。
#### 2.2 browser
###### 浏览器,功能与2.1类似,但能更好模拟,不会被识别为爬虫影响获取网站内容

> 注1:url-get默认配置、browser已能自动下载好依赖
> 注1:url-get默认配置、browser需额外配置,browser依赖google-chrome,你需要提前安装好

> 注2:(可通过`browser_use_summary`或 `url_get_use_summary`开关)当检测到长文本时会进入summary tool总结长文本,tokens可能会大量消耗!

这是debian端安装google-chrome教程,其他系统请自行查找
> https://www.linuxjournal.com/content/how-can-you-install-google-browser-debian

### 3. terminal
###### 在你运行的电脑里执行shell命令,可以配合你想要chatgpt生成的代码使用,给予自然语言控制手段

@@ -111,6 +114,21 @@ $tool reset: 重置工具。

> 安装教程:https://docs.searxng.org/admin/installation.html

### 14. email *
###### 发送邮件

### 15. sms *
###### 发送短信

### 16. stt *
###### speak to text 语音识别

### 17. tts *
###### text to speak 文生语音

### 18. wechat *
###### 向好友、群组发送微信

---

###### 注1:带*工具需要获取api-key才能使用(在config.json内的kwargs添加项),部分工具需要外网支持
@@ -120,7 +138,7 @@ $tool reset: 重置工具。
###### 默认工具无需配置,其它工具需手动配置,以增加morning-news和bing-search两个工具为例:
```json
{
"tools": ["bing-search", "news", "你想要添加的其他工具"], // 填入你想用到的额外工具名,这里加入了工具"bing-search"和工具"news"(news工具会自动加载morning-news、finance-news等子工具)
"tools": ["bing-search", "morning-news", "你想要添加的其他工具"], // 填入你想用到的额外工具名,这里加入了工具"bing-search"和工具"morning-news"
"kwargs": {
"debug": true, // 当你遇到问题求助时,需要配置
"request_timeout": 120, // openai接口超时时间


+ 7
- 6
plugins/tool/tool.py Прегледај датотеку

@@ -23,8 +23,6 @@ class Tool(Plugin):
super().__init__()
self.handlers[Event.ON_HANDLE_CONTEXT] = self.on_handle_context

self.tool_config = self._read_json()
self.app_kwargs = self._build_tool_kwargs(self.tool_config.get("kwargs", {}))
self.app = self._reset_app()

logger.info("[tool] inited")
@@ -35,10 +33,12 @@ class Tool(Plugin):
if not verbose:
return help_text
help_text += "\n使用说明:\n"
help_text += f"{trigger_prefix}tool " + "命令: 根据给出的{命令}使用一些可用工具尽力为你得到结果。\n"
help_text += f"{trigger_prefix}tool " + "命令: 根据给出的{命令}模型来选择使用哪些工具尽力为你得到结果。\n"
help_text += f"{trigger_prefix}tool 工具名 " + "命令: 根据给出的{命令}使用指定工具尽力为你得到结果。\n"
help_text += f"{trigger_prefix}tool reset: 重置工具。\n\n"

help_text += f"已加载工具列表: \n"
for idx, tool in enumerate(self.app.get_tool_list()):
for idx, tool in enumerate(main_tool_register.get_registered_tool_names()):
if idx != 0:
help_text += ", "
help_text += f"{tool}"
@@ -79,8 +79,6 @@ class Tool(Plugin):
elif len(content_list) > 1:
if content_list[1].strip() == "reset":
logger.debug("[tool]: reset config")
self.tool_config = self._read_json()
self.app_kwargs = self._build_tool_kwargs(self.tool_config.get("kwargs", {}))
self.app = self._reset_app()
reply.content = "重置工具成功"
e_context["reply"] = reply
@@ -237,6 +235,9 @@ class Tool(Plugin):
return valid_list

def _reset_app(self) -> App:
self.tool_config = self._read_json()
self.app_kwargs = self._build_tool_kwargs(self.tool_config.get("kwargs", {}))

app = AppFactory()
app.init_env(**self.app_kwargs)
# filter not support tool


+ 1
- 1
requirements-optional.txt Прегледај датотеку

@@ -23,7 +23,7 @@ web.py
wechatpy

# chatgpt-tool-hub plugin
chatgpt_tool_hub==0.4.6
chatgpt_tool_hub==0.5.0

# xunfei spark
websocket-client==1.2.0


Loading…
Откажи
Сачувај