[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-goldfishh--chatgpt-tool-hub":3,"tool-goldfishh--chatgpt-tool-hub":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"status":17},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[14,15,13,52],"视频",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[14,35],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":77,"owner_email":78,"owner_twitter":79,"owner_website":79,"owner_url":80,"languages":81,"stars":90,"forks":91,"last_commit_at":92,"license":93,"difficulty_score":32,"env_os":94,"env_gpu":95,"env_ram":95,"env_deps":96,"category_tags":104,"github_topics":79,"view_count":32,"oss_zip_url":79,"oss_zip_packed_at":79,"status":17,"created_at":106,"updated_at":107,"faqs":108,"releases":143},4313,"goldfishh\u002Fchatgpt-tool-hub","chatgpt-tool-hub","An open-source chatgpt tool ecosystem where you can combine tools with chatgpt and use natural language to do anything.","chatgpt-tool-hub 是一个开源的 ChatGPT 工具生态引擎，旨在为大型语言模型装上“手和脚”。它允许用户通过自然语言指令，驱动 ChatGPT 调用联网搜索、数学运算、代码执行乃至控制电脑等多种外部工具，从而突破模型原本的知识截止限制和交互边界，将单纯的对话能力转化为实际的生产力。\n\n该项目主要解决了大模型无法直接访问实时信息或操作本地环境的痛点。不同于封闭且定制性较差的官方插件体系，chatgpt-tool-hub 致力于构建一个类似 Android 系统的开放式\"LLM-OS\"生态，支持兼容未来的各类大模型，让用户能自由组合工具来完成复杂任务。其核心技术亮点在于支持多种工具的自动调用与树状编排，具备上下文记忆能力，并能同时处理中英文互动。\n\nchatgpt-tool-hub 非常适合开发者、技术研究人员以及希望深度挖掘 AI 潜力的极客用户。无论是想要搭建个性化 AI 助手的程序员，还是需要通过自动化流程提升效率的进阶玩家，都能利用它轻松扩展 AI 的能力边界，实现“所说即所得”的智能操作体验。","\u003Ch2 align='center'> chatgpt-tool-hub \u002F ChatGPT工具引擎 \u003C\u002Fh2>\n\u003Cp align='center'>给ChatGPT装上手和脚，拿起工具提高你的生产力\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca style=\"text-decoration:none\" href=\"https:\u002F\u002Fgithub.com\u002Fgoldfishh\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fchatgpt-tool-hub\" alt=\"Language\" \u002F>\n  \u003C\u002Fa>\n  \u003Ca style=\"text-decoration:none\" href=\"https:\u002F\u002Fgithub.com\u002Fgoldfishh\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fgoldfishh\u002Fchatgpt-tool-hub\" alt=\"license \" \u002F>\n  \u003C\u002Fa>\n  \u003Ca style=\"text-decoration:none\" href=\"https:\u002F\u002Fgithub.com\u002Fgoldfishh\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fcommit-activity\u002Fw\u002Fgoldfishh\u002Fchatgpt-tool-hub\" alt=\"commit-activity-week \" \u002F>\n  \u003C\u002Fa>\n  \u003Ca style=\"text-decoration:none\" href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fchatgpt-tool-hub\u002F\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fdw\u002Fchatgpt-tool-hub\" alt=\"pypi-download-dw\" \u002F>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n简体中文 | [English](.\u002Fdocs\u002FREADME_en.md)\n\n> 大语言模型涌现能力让人惊艳，ChatGPT出现给NLP技术带来革命，除此之外还让我意识到一种新的人机交互的可能性\n\n\u003Cdiv>\n    \u003Ch2 style=\"display:inline; margin:0; padding:0;\">🌱 5.4 LLM-OS demo在线演示\u003C\u002Fh2>\n    \u003Ca style=\"display:inline-block; align:center\" src=\"https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg\" href=\"https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F11nYPGFCYiaZ73H8nTHSN8ifbo0u3W_8p\">\n        \u003Cimg src=\"https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg\" alt=\"demo in Colab\"\u002F>\n    \u003C\u002Fa>\n\u003C\u002Fdiv>\n\n\u003Cbr\u002F>\n\n\u003Cdiv align=\"center\">\n    \u003Ca style=\"text-decoration:none\" href=\"https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1eL411h7Nk\u002F\" target=\"_blank\">\n        \u003Cimg src=\"https:\u002F\u002Fi.328888.xyz\u002F2023\u002F04\u002F29\u002FiJQNi3.jpeg\" width = \"659\" height = \"410\" alt=\"LLM-OS\" align=center \u002F>\n    \u003C\u002Fa>\n\u003C\u002Fdiv>\n\n\u003Cbr\u002F>\n\n#### [更新日志](.\u002Fdocs\u002Fupdate_log.md) | [Q&A](.\u002Fdocs\u002Fq_and_a.md)\n\n## 简介\n\n---\n\n这是一个能让ChatGPT使用多个神奇工具的执行引擎，你能用自然语言命令ChatGPT使用联网、搜索、数学运算、控制电脑、执行代码等工具，扩大ChatGPT使用范围提高你的生产力。\n\n本项目因关注到ChatGPT开放插件而诞生，该插件定制性较差，且生态封闭，这不是一个好的趋势，我相信未来国内LLM一定百花齐放，同时我从ChatGPT看到了使用工具的可行性，和潜在价值，因此我希望做一个能兼容未来LLM的工具生态。\n\n如果把ChatGPT的插件比作Apple的App Store，那么这个项目最终形态就是Android OS的开放式生态，简称LLM-OS。在这个生态里所有工具组成一个操作系统，用户仅需输入或传述文字即可做任何事情。  \n\n鉴于目前状况，本项目的定位是：一个开源的ChatGPT工具生态系统，您可以将工具与ChatGPT结合使用，使用自然语言来完成任何事情。\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgoldfishh_chatgpt-tool-hub_readme_ca9da4f441cc.jpg\" width=\"50%\" height=\"50%\">\n\u003C\u002Fp>\n\n## 特性\n\n---\n\n#### 1. 可在 LLM-OS demo 单独使用tool-hub\n#### 2. tool-hub以插件形式为 [chatgpt-on-wechat](https:\u002F\u002Fgithub.com\u002Fzhayujie\u002Fchatgpt-on-wechat) 提供工具能力. 详见 ([tool插件使用教程](https:\u002F\u002Fgithub.com\u002Fgoldfishh\u002Fchatgpt-on-wechat\u002Ftree\u002Fmaster\u002Fplugins\u002Ftool))\n#### 3. 支持中、英文互动\n#### 4. 支持上下文记忆\n#### 5. 支持proxy\n#### 6. 支持大量工具   [工具指南 快速更新中](.\u002Fdocs\u002Ftool_tutorial.md) \n#### 7. 支持多种工具同时且自动调用、树状编排工具\n\n### ⛳ 看看tool-hub未来计划更新的特性：[tool-hub todo-list](#plan) \n### 📭 去 [issues](https:\u002F\u002Fgithub.com\u002Fgoldfishh\u002Fchatgpt-tool-hub\u002Fissues) 提提建议 \n\n## ✈️ 快速开始\n\n---\n\n### 1.  LLM-OS demo\n\n#### (1). 克隆仓库\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fgoldfishh\u002Fchatgpt-tool-hub.git\ncd chatgpt-tool-hub\n```\n\n#### (2). 使用pip安装本项目依赖\n\n```bash\npip3 install -r requirements.txt\n```\n\n#### (3). 重命名.env.template 和 config.json.template文件，去掉.template后缀 打开文件填入配置参数 \n\n`.env` 用于配置全局参数 文件配置示例\n```text\nLLM_API_KEY=sk-xx          \u002F\u002F 必填，你的OPENAI API Key, 如何申请请见Q&A\nMODEL_NAME=gpt-3.5-turbo      \u002F\u002F 选填，OPENAI LLM模型\nTHINK_DEPTH=3                 \u002F\u002F 选填，默认为3，控制LLM-OS的最大调用工具次数，过大不一定能提高回复质量\nREQUEST_TIMEOUT=90            \u002F\u002F 选填，默认120，等待openai api回复的最大时间\nPROXY=http:\u002F\u002F192.168.7.1:7890 \u002F\u002F 选填，当你需要代理访问openai时可填\nDEBUG=false                   \u002F\u002F 选填，debug模式\n```\n\n`config.json` 用于配置工具参数 文件配置示例\n```json\n{\n  \"tools\": [],   \u002F\u002F 填入你想用到的额外工具名\n  \"kwargs\": {\n      \"no_default\": false,   \u002F\u002F 是否不使用默认工具, 默认使用python, terminal, url-get, meteo-weather\n      \"top_k_results\": 2,  \u002F\u002F 控制部分搜索工具(如arxiv、wikipedia)返回只前k条记录, 不建议过多\n      \u002F\u002F 需要额外申请api-key的工具，在这里填入\n  }\n}\n```\n\n需要额外申请工具config.json配置示例见：[工具申请方法与配置说明](.\u002Fdocs\u002Fapply_optional_tool.md)\n\n#### (4). 执行terminal_io.py\n\n```bash\npython3 terminal_io.py\n```\n\n#### (5). 进入LLM-OS后你可以自行探索 或者进一步浏览详细教程：[LLM_OS demo使用说明](https:\u002F\u002Fgithub.com\u002Fgoldfishh\u002Fllm-os\u002Fblob\u002Fmain\u002FREADME.md)\n\n---\n\n### 2. 我给[chatgpt-on-wechat](https:\u002F\u002Fgithub.com\u002Fzhayujie\u002Fchatgpt-on-wechat)开发了tool插件\n\n> 使用本方法，你将可以用微信作为前端更方便地使用tool-hub\n\n#### 查阅chatgpt-on-wechat文档中的[项目简介](https:\u002F\u002Fgithub.com\u002Fzhayujie\u002Fchatgpt-on-wechat#%E7%AE%80%E4%BB%8B) 和 [快速开始](https:\u002F\u002Fgithub.com\u002Fzhayujie\u002Fchatgpt-on-wechat#%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B)\n\n#### Note: 你需要安装拓展依赖才能使用tool插件\n\n#### [tool插件教程](https:\u002F\u002Fgithub.com\u002Fgoldfishh\u002Fchatgpt-on-wechat\u002Fblob\u002Fmaster\u002Fplugins\u002Ftool\u002FREADME.md)\n\n---\n\n### 3. 你是其他项目开发者，想要接入本工具引擎\n\n> 本项目已发布到PyPI上，你只需使用pip命令即可安装\n\n#### (1). 安装chatgpt-tool-hub包\n\n```bash\npip install -i https:\u002F\u002Fpypi.python.org\u002Fsimple chatgpt-tool-hub\n```\n\n#### (2). 快速开始\n\n```python\nimport os\nfrom chatgpt_tool_hub.apps import AppFactory\nos.environ[\"LLM_API_KEY\"] = \"YOUR_LLM_API_KEY\"  # 必填\nos.environ[\"PROXY\"] = \"YOUR_PROXY_ADDRESS\"            # 选填\napp = AppFactory().create_app(tools_list=[], **{})\nreply = app.ask(\"YOUR_QUESTION_TO_HERE\")\nprint(reply)\n```\n\n#### (3). 以插件形式接入tool-hub可参考tool插件实现\n\n[tool.py](https:\u002F\u002Fgithub.com\u002Fgoldfishh\u002Fchatgpt-on-wechat\u002Fblob\u002Fmaster\u002Fplugins\u002Ftool\u002Ftool.py)\n\n> 如果有需求，我会更新更详细接入的文档，欢迎提issue\n\n---\n\n## 工具指南 \n\n### 🚀 [工具指南 工具快速开发中](.\u002Fdocs\u002Ftool_tutorial.md)\n\n---\n\n## 原理\n\n---\n\n工具引擎的实现原理本质是**Chain-of-Thought**：[Chain-of-Thought Prompting Elicits Reasoning in Large Language Models](https:\u002F\u002Farxiv.org\u002Fabs\u002F2201.11903)\n\n我将通过用6个自问自答的问题解释chatgpt-tool-hub的工作原理  \n\n#### 1. 事务型工具（如terminal、python）是在哪运行，以及如何执行的\n\n事务型工具是在你本地运行的，事务型工具本质是一个python编写的函数，terminal、python、url-get工具分别用到了封装调用subprocess库、python解释器和requests库的函数\n\n---\n\n#### 2. ChatGPT是如何触发调用这些函数\n\n借助ChatGPT api提供的temperature参数，该参数越低，ChatGPT输出的结果会更集中和确定，当temperature为0时，相同的问题会得到统一回答  \n我在prompt构建时会提供给ChatGPT此时用到的工具列表信息，每个工具信息包含：工具名 和 工具描述：\n\n```text\nTOOLS:  \n------  \n  \nYou have access to the following tools:  \n\n> Python REPL: A Python shell. Use this to execute python commands. \n> url-get: A portal to the internet. Use this when you need to get specific content from a website. \n> Terminal: Executes commands in a terminal. \n> Bing Search: A wrapper around Bing Search. Useful for when you need to answer questions about current events. \n```\n\n有了工具prompt，这时ChatGPT就能理解这些工具名字和使用场景，调用事务函数还需要进一步细化我和ChatGPT之间的通信协议（仍是通过prompt）：\n通信协议限制ChatGPT使用工具时返回内容的格式，只能返回三种前缀的内容：\n\n```text\n1. Thought: Do I need to use a tool? Yes or No\n2. Action: 工具名字\n3. Action Input: 工具的输入\n```\n\n通信协议完整prompt：  \n```text\nTo use a tool, please use the following format:\n\n\nThought: Do I need to use a tool? Yes\nAction: the action to take, should be one of [Python REPL, url-get, Terminal, Bing Search]\nAction Input: the input to the action\nObservation: the result of the action\n```\n\n此时，工具引擎有专用的文本解析模块负责解析这些内容，当解析成功后，将调度到具体事务函数执行，然后返回固定前缀的结果：\n\n```text\nObservation: 当事务函数执行完成返回时的内容\n```\n\n带Observation前缀的内容往往是使用事务型工具的用户想知道的答案\n\n---\n\n#### 3. ChatGPT怎么知道该用的工具和输入，是否每次都严格按照prompt生成格式化内容\n\nChatGPT微调时进行大量Q&A、CoT预料的学习和RLHF调优，目前ChatGPT对于工具和内容生成的质量是有保证的  \n但是目前不是100%，因为会有低质量prompt或者不合适工具的输入，这些问题在工具引擎会进行鲁棒性的处理来保证生成内容的稳定性  \n\n我创建一个issue，可以方便大家来获取和分享使用tool过程解决的有趣问题和思路、每个tool使用时prompt技巧、遇到问题的处理办法：\n[更好的使用tool的技巧交流](https:\u002F\u002Fgithub.com\u002Fgoldfishh\u002Fchatgpt-tool-hub\u002Fissues\u002F3)\n\n---\n\n#### 4. 如果需要多个工具交替配合解决某个问题，引擎是怎么做的？\n\n当事务函数处理完成返回结果后，默认不会直接返回给用户，而是根据结果内容CoT，在整个prompt中，还有两个子prompt负责用户对话历史记录和中间结果\n\n用户对话历史记录：\n```text\nHuman: A question\nAI: A answer\n......\n```\n\n中间结果：\n```text\nThought: Do I need to use a tool? Yes\nAction: Wolfram Alpha\nAction Input: gdp china vs. usa\nObservation: China\\nUnited States | GDP | nominal \\nAnswer: China | $14.72 trillion per year\\nUnited States | $20.95 trillion per year\\n(2020 estimates)\nThought:\n```\n\n每轮工具CoT过程均会作为下次推理判断工具的依据，由此迭代地进行工具判断、执行，最后当识别到特定前缀时，CoT结果将返回给用户    \n\nCoT结束prompt：\n```text\nWhen you have a response to say to the Human, or if you do not need to use a tool, you MUST use the format:\n\nThought: Do I need to use a tool? No\nAI: the response to the original input question in chinese\n\n```\n\n\nChatGPT使用工具过程并不顺利：当遇到迭代次数到达预设值时，会根据历史过程，返回给用户最后结果    \n\n---\n\n#### 5. 事务性工具交给ChatGPT是否具有不可预料的危险性？\n\n是的，当你用事务性工具时，你就给予了ChatGPT在你本地运行程序的权利，你需要权限限制来规避可能的风险      \n如果无法信任ChatGPT主导你的机器，请不要使用  \n\n---\n\n#### 6. 非事务型工具的实现原理是什么\n\n参考[ChatGPT 官方插件](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fchatgpt-retrieval-plugin)，非事务性工具也称为插件型工具，该工具可视为开放性的ChatGPT插件\n\n---\n\n\n## 🎯 计划\n\n\u003Cspan id=\"plan\">\u003C\u002Fspan>\n\n---\n\n### feature todolist\n\n[✓] 结果可解释性输出 -> LLM-OS的内心独白  \n[✓] 一个前端demo  -> LLM-OS  \n[✓] 长文本场景 -> summary工具  \n[✓] 长工具顺序控制 -> 实现了toolintool机制    \n[✓] 粒度配置 -> 每个tool封装的LLM可独立配置  \n[○] tokens计算，精确管理    \n[○] gpt_index长文本(pdf、html)检索   \n[○] 接口并发支持  \n[○] 接入国内LLM  \n[○] 兼容不使用tool的场景  \n[○] 互斥tool控制  \n[○] subtree 动态注册&反注册  \n[○] 工具中断  \n[○] 定时调度  \n[○] 语音输入、输出  \n\n### tool todolist  \n\n[○] stable-diffusion 中文prompt翻译    \n[✓] ImageCaptioning    \n[○] 小米智能家居控制    \n[○] 支持ChatGPT官方插件  \n[○] 让LLM来实现tool  \n[○] 支持图片处理工具    \n[○] 支持视频处理工具   \n[✗] Wechat  \n\n## 工具开发指南\n\n---\n\n目前工具分为两类：事务型工具、插件型工具   \n\n[工具开发教程](.\u002Fdocs\u002Ftool_development_guide.md)\n\n## 背景\n\n我将很快更新这部分内容   \n\n---\n\n## ☕ 宣传\n\n#### 如果你想支持本项目，欢迎给项目点个star、提issue和pr\n#### 如果你想进一步支持项目作者少掉头发，努力开发，可以给和我一起开发项目的伙伴 或 单独给我来杯 ☕\n\n\u003Ctable>\u003Ctr>\n\u003Ctd>\u003Ca href=\"https:\u002F\u002Fpublic.zsxq.com\u002Fgroups\u002F88885848842852.html\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fzhayujie\u002Fchatgpt-on-wechat\u002Fblob\u002Fmaster\u002Fdocs\u002Fimages\u002Fplanet.jpg?raw=true\" width=\"400\" height=\"200\" border=0>\u003C\u002Fa>\u003C\u002Ftd>\n\u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgoldfishh_chatgpt-tool-hub_readme_0941436c5d15.jpg\" width=\"200\" height=\"200\" border=0 \u002F>\u003C\u002Ftd>\n\u003C\u002Ftr>\u003C\u002Ftable> \n\n---\n\n## 感谢\n\n感谢以下项目对本项目提供的有力支持：\n\n#### 1. [langchain](https:\u002F\u002Fgithub.com\u002Fhwchase17\u002Flangchain) \n\n受langchain的启发，本项目重写了langchain v0.0.123 工具有关的实现\n\n#### 2. [Auto-GPT](https:\u002F\u002Fgithub.com\u002FSignificant-Gravitas\u002FAuto-GPT)\n\n启发了browser tool跨平台的实现、tool engine的json通信、部分prompt描述\n\n#### 3. [chatgpt-in-terminal](https:\u002F\u002Fgithub.com\u002Fxiaoxx970\u002Fchatgpt-in-terminal)\n\nllm-os demo 改写自该项目\n\n---\n","\u003Ch2 align='center'> chatgpt-tool-hub \u002F ChatGPT工具引擎 \u003C\u002Fh2>\n\u003Cp align='center'>给ChatGPT装上手和脚，拿起工具提高你的生产力\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca style=\"text-decoration:none\" href=\"https:\u002F\u002Fgithub.com\u002Fgoldfishh\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fchatgpt-tool-hub\" alt=\"Language\" \u002F>\n  \u003C\u002Fa>\n  \u003Ca style=\"text-decoration:none\" href=\"https:\u002F\u002Fgithub.com\u002Fgoldfishh\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fgoldfishh\u002Fchatgpt-tool-hub\" alt=\"license \" \u002F>\n  \u003C\u002Fa>\n  \u003Ca style=\"text-decoration:none\" href=\"https:\u002F\u002Fgithub.com\u002Fgoldfishh\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fcommit-activity\u002Fw\u002Fgoldfishh\u002Fchatgpt-tool-hub\" alt=\"commit-activity-week \" \u002F>\n  \u003C\u002Fa>\n  \u003Ca style=\"text-decoration:none\" href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fchatgpt-tool-hub\u002F\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fdw\u002Fchatgpt-tool-hub\" alt=\"pypi-download-dw\" \u002F>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n简体中文 | [English](.\u002Fdocs\u002FREADME_en.md)\n\n> 大语言模型涌现能力让人惊艳，ChatGPT出现给NLP技术带来革命，除此之外还让我意识到一种新的人机交互的可能性\n\n\u003Cdiv>\n    \u003Ch2 style=\"display:inline; margin:0; padding:0;\">🌱 5.4 LLM-OS demo在线演示\u003C\u002Fh2>\n    \u003Ca style=\"display:inline-block; align:center\" src=\"https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg\" href=\"https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F11nYPGFCYiaZ73H8nTHSN8ifbo0u3W_8p\">\n        \u003Cimg src=\"https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg\" alt=\"demo in Colab\"\u002F>\n    \u003C\u002Fa>\n\u003C\u002Fdiv>\n\n\u003Cbr\u002F>\n\n\u003Cdiv align=\"center\">\n    \u003Ca style=\"text-decoration:none\" href=\"https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1eL411h7Nk\u002F\" target=\"_blank\">\n        \u003Cimg src=\"https:\u002F\u002Fi.328888.xyz\u002F2023\u002F04\u002F29\u002FiJQNi3.jpeg\" width = \"659\" height = \"410\" alt=\"LLM-OS\" align=center \u002F>\n    \u003C\u002Fa>\n\u003C\u002Fdiv>\n\n\u003Cbr\u002F>\n\n#### [更新日志](.\u002Fdocs\u002Fupdate_log.md) | [Q&A](.\u002Fdocs\u002Fq_and_a.md)\n\n## 简介\n\n---\n\n这是一个能让ChatGPT使用多个神奇工具的执行引擎，你能用自然语言命令ChatGPT使用联网、搜索、数学运算、控制电脑、执行代码等工具，扩大ChatGPT使用范围提高你的生产力。\n\n本项目因关注到ChatGPT开放插件而诞生，该插件定制性较差，且生态封闭，这不是一个好的趋势，我相信未来国内LLM一定百花齐放，同时我从ChatGPT看到了使用工具的可行性，和潜在价值，因此我希望做一个能兼容未来LLM的工具生态。\n\n如果把ChatGPT的插件比作Apple的App Store，那么这个项目最终形态就是Android OS的开放式生态，简称LLM-OS。在这个生态里所有工具组成一个操作系统，用户仅需输入或传述文字即可做任何事情。  \n\n鉴于目前状况，本项目的定位是：一个开源的ChatGPT工具生态系统，您可以将工具与ChatGPT结合使用，使用自然语言来完成任何事情。\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgoldfishh_chatgpt-tool-hub_readme_ca9da4f441cc.jpg\" width=\"50%\" height=\"50%\">\n\u003C\u002Fp>\n\n## 特性\n\n---\n\n#### 1. 可在 LLM-OS demo 单独使用tool-hub\n#### 2. tool-hub以插件形式为 [chatgpt-on-wechat](https:\u002F\u002Fgithub.com\u002Fzhayujie\u002Fchatgpt-on-wechat) 提供工具能力. 详见 ([tool插件使用教程](https:\u002F\u002Fgithub.com\u002Fgoldfishh\u002Fchatgpt-on-wechat\u002Ftree\u002Fmaster\u002Fplugins\u002Ftool))\n#### 3. 支持中、英文互动\n#### 4. 支持上下文记忆\n#### 5. 支持proxy\n#### 6. 支持大量工具   [工具指南 快速更新中](.\u002Fdocs\u002Ftool_tutorial.md) \n#### 7. 支持多种工具同时且自动调用、树状编排工具\n\n### ⛳ 看看tool-hub未来计划更新的特性：[tool-hub todo-list](#plan) \n### 📭 去 [issues](https:\u002F\u002Fgithub.com\u002Fgoldfishh\u002Fchatgpt-tool-hub\u002Fissues) 提提建议 \n\n## ✈️ 快速开始\n\n---\n\n### 1.  LLM-OS demo\n\n#### (1). 克隆仓库\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fgoldfishh\u002Fchatgpt-tool-hub.git\ncd chatgpt-tool-hub\n```\n\n#### (2). 使用pip安装本项目依赖\n\n```bash\npip3 install -r requirements.txt\n```\n\n#### (3). 重命名.env.template 和 config.json.template文件，去掉.template后缀 打开文件填入配置参数 \n\n`.env` 用于配置全局参数 文件配置示例\n```text\nLLM_API_KEY=sk-xx          \u002F\u002F 必填，你的OPENAI API Key, 如何申请请见Q&A\nMODEL_NAME=gpt-3.5-turbo      \u002F\u002F 选填，OPENAI LLM模型\nTHINK_DEPTH=3                 \u002F\u002F 选填，默认为3，控制LLM-OS的最大调用工具次数，过大不一定能提高回复质量\nREQUEST_TIMEOUT=90            \u002F\u002F 选填，默认120，等待openai api回复的最大时间\nPROXY=http:\u002F\u002F192.168.7.1:7890 \u002F\u002F 选填，当你需要代理访问openai时可填\nDEBUG=false                   \u002F\u002F 选填，debug模式\n```\n\n`config.json` 用于配置工具参数 文件配置示例\n```json\n{\n  \"tools\": [],   \u002F\u002F 填入你想用到的额外工具名\n  \"kwargs\": {\n      \"no_default\": false,   \u002F\u002F 是否不使用默认工具, 默认使用python, terminal, url-get, meteo-weather\n      \"top_k_results\": 2,  \u002F\u002F 控制部分搜索工具(如arxiv、wikipedia)返回只前k条记录, 不建议过多\n      \u002F\u002F 需要额外申请api-key的工具，在这里填入\n  }\n}\n```\n\n需要额外申请工具config.json配置示例见：[工具申请方法与配置说明](.\u002Fdocs\u002Fapply_optional_tool.md)\n\n#### (4). 执行terminal_io.py\n\n```bash\npython3 terminal_io.py\n```\n\n#### (5). 进入LLM-OS后你可以自行探索 或者进一步浏览详细教程：[LLM_OS demo使用说明](https:\u002F\u002Fgithub.com\u002Fgoldfishh\u002Fllm-os\u002Fblob\u002Fmain\u002FREADME.md)\n\n---\n\n### 2. 我给[chatgpt-on-wechat](https:\u002F\u002Fgithub.com\u002Fzhayujie\u002Fchatgpt-on-wechat)开发了tool插件\n\n> 使用本方法，你将可以用微信作为前端更方便地使用tool-hub\n\n#### 查阅chatgpt-on-wechat文档中的[项目简介](https:\u002F\u002Fgithub.com\u002Fzhayujie\u002Fchatgpt-on-wechat#%E7%AE%80%E4%BB%8B) 和 [快速开始](https:\u002F\u002Fgithub.com\u002Fzhayujie\u002Fchatgpt-on-wechat#%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B)\n\n#### Note: 你需要安装拓展依赖才能使用tool插件\n\n#### [tool插件教程](https:\u002F\u002Fgithub.com\u002Fgoldfishh\u002Fchatgpt-on-wechat\u002Fblob\u002Fmaster\u002Fplugins\u002Ftool\u002FREADME.md)\n\n---\n\n### 3. 你是其他项目开发者，想要接入本工具引擎\n\n> 本项目已发布到PyPI上，你只需使用pip命令即可安装\n\n#### (1). 安装chatgpt-tool-hub包\n\n```bash\npip install -i https:\u002F\u002Fpypi.python.org\u002Fsimple chatgpt-tool-hub\n```\n\n#### (2). 快速开始\n\n```python\nimport os\nfrom chatgpt_tool_hub.apps import AppFactory\nos.environ[\"LLM_API_KEY\"] = \"YOUR_LLM_API_KEY\"  # 必填\nos.environ[\"PROXY\"] = \"YOUR_PROXY_ADDRESS\"            # 选填\napp = AppFactory().create_app(tools_list=[], **{})\nreply = app.ask(\"YOUR_QUESTION_TO_HERE\")\nprint(reply)\n```\n\n#### (3). 以插件形式接入tool-hub可参考tool插件实现\n\n[tool.py](https:\u002F\u002Fgithub.com\u002Fgoldfishh\u002Fchatgpt-on-wechat\u002Fblob\u002Fmaster\u002Fplugins\u002Ftool\u002Ftool.py)\n\n> 如果有需求，我会更新更详细接入的文档，欢迎提issue\n\n---\n\n## 工具指南 \n\n### 🚀 [工具指南 工具快速开发中](.\u002Fdocs\u002Ftool_tutorial.md)\n\n---\n\n## 原理\n\n---\n\n工具引擎的实现原理本质是**Chain-of-Thought**：[Chain-of-Thought Prompting Elicits Reasoning in Large Language Models](https:\u002F\u002Farxiv.org\u002Fabs\u002F2201.11903)\n\n我将通过用6个自问自答的问题解释chatgpt-tool-hub的工作原理  \n\n#### 1. 事务型工具（如terminal、python）是在哪运行，以及如何执行的\n\n事务型工具是在你本地运行的，事务型工具本质是一个python编写的函数，terminal、python、url-get工具分别用到了封装调用subprocess库、python解释器和requests库的函数\n\n---\n\n#### 2. ChatGPT是如何触发调用这些函数\n\n借助ChatGPT api提供的temperature参数，该参数越低，ChatGPT输出的结果会更集中和确定，当temperature为0时，相同的问题会得到统一回答  \n我在prompt构建时会提供给ChatGPT此时用到的工具列表信息，每个工具信息包含：工具名 和 工具描述：\n\n```text\nTOOLS:  \n------  \n  \nYou have access to the following tools:  \n\n> Python REPL: A Python shell. Use this to execute python commands. \n> url-get: A portal to the internet. Use this when you need to get specific content from a website. \n> Terminal: Executes commands in a terminal. \n> Bing Search: A wrapper around Bing Search. Useful for when you need to answer questions about current events. \n```\n\n有了工具prompt，这时ChatGPT就能理解这些工具名字和使用场景，调用事务函数还需要进一步细化我和ChatGPT之间的通信协议（仍是通过prompt）：\n通信协议限制ChatGPT使用工具时返回内容的格式，只能返回三种前缀的内容：\n\n```text\n1. Thought: Do I need to use a tool? Yes or No\n2. Action: 工具名字\n3. Action Input: 工具的输入\n```\n\n通信协议完整prompt：  \n```text\nTo use a tool, please use the following format:\n\n\nThought: Do I need to use a tool? Yes\nAction: the action to take, should be one of [Python REPL, url-get, Terminal, Bing Search]\nAction Input: the input to the action\nObservation: the result of the action\n```\n\n此时，工具引擎有专用的文本解析模块负责解析这些内容，当解析成功后，将调度到具体事务函数执行，然后返回固定前缀的结果：\n\n```text\nObservation: 当事务函数执行完成返回时的内容\n```\n\n带Observation前缀的内容往往是使用事务型工具的用户想知道的答案\n\n---\n\n#### 3. ChatGPT怎么知道该用的工具和输入，是否每次都严格按照prompt生成格式化内容\n\nChatGPT微调时进行大量Q&A、CoT预料的学习和RLHF调优，目前ChatGPT对于工具和内容生成的质量是有保证的  \n但是目前不是100%，因为会有低质量prompt或者不合适工具的输入，这些问题在工具引擎会进行鲁棒性的处理来保证生成内容的稳定性  \n\n我创建一个issue，可以方便大家来获取和分享使用tool过程解决的有趣问题和思路、每个tool使用时prompt技巧、遇到问题的处理办法：\n[更好的使用tool的技巧交流](https:\u002F\u002Fgithub.com\u002Fgoldfishh\u002Fchatgpt-tool-hub\u002Fissues\u002F3)\n\n---\n\n#### 4. 如果需要多个工具交替配合解决某个问题，引擎是怎么做的？\n\n当事务函数处理完成返回结果后，默认不会直接返回给用户，而是根据结果内容CoT，在整个prompt中，还有两个子prompt负责用户对话历史记录和中间结果\n\n用户对话历史记录：\n```text\nHuman: A question\nAI: A answer\n......\n```\n\n中间结果：\n```text\nThought: Do I need to use a tool? Yes\nAction: Wolfram Alpha\nAction Input: gdp china vs. usa\nObservation: China\\nUnited States | GDP | nominal \\nAnswer: China | $14.72 trillion per year\\nUnited States | $20.95 trillion per year\\n(2020 estimates)\nThought:\n```\n\n每轮工具CoT过程均会作为下次推理判断工具的依据，由此迭代地进行工具判断、执行，最后当识别到特定前缀时，CoT结果将返回给用户    \n\nCoT结束prompt：\n```text\nWhen you have a response to say to the Human, or if you do not need to use a tool, you MUST use the format:\n\nThought: Do I need to use a tool? No\nAI: the response to the original input question in chinese\n\n```\n\n\nChatGPT使用工具过程并不顺利：当遇到迭代次数到达预设值时，会根据历史过程，返回给用户最后结果    \n\n---\n\n#### 5. 事务性工具交给ChatGPT是否具有不可预料的危险性？\n\n是的，当你用事务性工具时，你就给予了ChatGPT在你本地运行程序的权利，你需要权限限制来规避可能的风险      \n如果无法信任ChatGPT主导你的机器，请不要使用  \n\n---\n\n#### 6. 非事务型工具的实现原理是什么\n\n参考[ChatGPT 官方插件](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fchatgpt-retrieval-plugin)，非事务性工具也称为插件型工具，该工具可视为开放性的ChatGPT插件\n\n---\n\n\n## 🎯 计划\n\n\u003Cspan id=\"plan\">\u003C\u002Fspan>\n\n---\n\n### feature todolist\n\n[✓] 结果可解释性输出 -> LLM-OS的内心独白  \n[✓] 一个前端demo  -> LLM-OS  \n[✓] 长文本场景 -> summary工具  \n[✓] 长工具顺序控制 -> 实现了toolintool机制    \n[✓] 粒度配置 -> 每个tool封装的LLM可独立配置  \n[○] tokens计算，精确管理    \n[○] gpt_index长文本(pdf、html)检索   \n[○] 接口并发支持  \n[○] 接入国内LLM  \n[○] 兼容不使用tool的场景  \n[○] 互斥tool控制  \n[○] subtree 动态注册&反注册  \n[○] 工具中断  \n[○]定时调度  \n[○] 语音输入、输出  \n\n### tool todolist  \n\n[○] stable-diffusion 中文prompt翻译    \n[✓] ImageCaptioning    \n[○] 小米智能家居控制    \n[○] 支持ChatGPT官方插件  \n[○] 让LLM来实现tool  \n[○] 支持图片处理工具    \n[○] 支持视频处理工具   \n[✗] Wechat  \n\n## 工具开发指南\n\n---\n\n目前工具分为两类：事务型工具、插件型工具   \n\n[工具开发教程](.\u002Fdocs\u002Ftool_development_guide.md)\n\n## 背景\n\n我将很快更新这部分内容   \n\n---\n\n## ☕ 宣传\n\n#### 如果你想支持本项目，欢迎给项目点个star、提issue和pr\n#### 如果你想进一步支持项目作者少掉头发，努力开发，可以给和我一起开发项目的伙伴 或 单独给我来杯 ☕\n\n\u003Ctable>\u003Ctr>\n\u003Ctd>\u003Ca href=\"https:\u002F\u002Fpublic.zsxq.com\u002Fgroups\u002F88885848842852.html\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fzhayujie\u002Fchatgpt-on-wechat\u002Fblob\u002Fmaster\u002Fdocs\u002Fimages\u002Fplanet.jpg?raw=true\" width=\"400\" height=\"200\" border=0>\u003C\u002Fa>\u003C\u002Ftd>\n\u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgoldfishh_chatgpt-tool-hub_readme_0941436c5d15.jpg\" width=\"200\" height=\"200\" border=0 \u002F>\u003C\u002Ftd>\n\u003C\u002Ftr>\u003C\u002Ftable> \n\n---\n\n## 感谢\n\n感谢以下项目对本项目提供的有力支持：\n\n#### 1. [langchain](https:\u002F\u002Fgithub.com\u002Fhwchase17\u002Flangchain) \n\n受langchain的启发，本项目重写了langchain v0.0.123 工具有关的实现\n\n#### 2. [Auto-GPT](https:\u002F\u002Fgithub.com\u002FSignificant-Gravitas\u002FAuto-GPT)\n\n启发了browser tool跨平台的实现、tool engine的json通信、部分prompt描述\n\n#### 3. [chatgpt-in-terminal](https:\u002F\u002Fgithub.com\u002Fxiaoxx970\u002Fchatgpt-in-terminal)\n\nllm-os demo 改写自该项目\n\n---","# chatgpt-tool-hub 快速上手指南\n\nchatgpt-tool-hub 是一个能让 ChatGPT 使用多种工具（如联网搜索、数学运算、代码执行、控制终端等）的执行引擎。通过自然语言指令，即可扩展大模型的能力边界，打造属于你的 LLM-OS。\n\n## 1. 环境准备\n\n*   **操作系统**：Linux \u002F macOS \u002F Windows\n*   **Python 版本**：建议 Python 3.8 及以上\n*   **前置依赖**：\n    *   已注册的 OpenAI API Key（或其他兼容的大模型 API Key）\n    *   Git（用于克隆仓库，若直接 pip 安装可省略）\n    *   （可选）代理地址：若网络无法直接访问 OpenAI 接口，需准备 HTTP\u002FHTTPS 代理\n\n## 2. 安装步骤\n\n你可以选择**源码运行**（适合体验完整 Demo）或**库安装**（适合集成到其他项目）。\n\n### 方式一：源码运行（推荐新手体验）\n\n1.  **克隆仓库**\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fgoldfishh\u002Fchatgpt-tool-hub.git\n    cd chatgpt-tool-hub\n    ```\n\n2.  **安装依赖**\n    ```bash\n    pip3 install -r requirements.txt\n    ```\n    > **提示**：国内用户若下载缓慢，可使用清华源加速：\n    > `pip3 install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`\n\n3.  **配置参数**\n    将模板文件重命名并填入配置：\n    ```bash\n    mv .env.template .env\n    mv config.json.template config.json\n    ```\n    \n    *   编辑 `.env` 文件（必填 API Key）：\n        ```text\n        LLM_API_KEY=sk-你的 OPENAI_API_KEY\n        MODEL_NAME=gpt-3.5-turbo\n        PROXY=http:\u002F\u002F127.0.0.1:7890  # 若无代理可留空或删除此行\n        DEBUG=false\n        ```\n    *   编辑 `config.json` 文件（配置工具）：\n        ```json\n        {\n          \"tools\": [],\n          \"kwargs\": {\n            \"no_default\": false,\n            \"top_k_results\": 2\n          }\n        }\n        ```\n\n### 方式二：作为 Python 库安装（适合开发者集成）\n\n```bash\npip install chatgpt-tool-hub\n```\n> **提示**：国内加速命令：\n> `pip install chatgpt-tool-hub -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`\n\n## 3. 基本使用\n\n### 场景 A：运行本地交互演示 (LLM-OS Demo)\n\n完成【方式一】的配置后，在终端执行：\n\n```bash\npython3 terminal_io.py\n```\n\n启动后，你将进入交互式命令行。可以直接输入自然语言指令，例如：\n*   “查询今天的天气”\n*   “计算 1234 * 5678\"\n*   “帮我搜索关于 AI 的最新新闻”\n*   “在当前目录创建一个 test.txt 文件”\n\n### 场景 B：在 Python 代码中调用\n\n如果你希望在自己的项目中集成 tool-hub，请参考以下最小化示例：\n\n```python\nimport os\nfrom chatgpt_tool_hub.apps import AppFactory\n\n# 设置环境变量\nos.environ[\"LLM_API_KEY\"] = \"sk-你的_OPENAI_API_KEY\"\n# os.environ[\"PROXY\"] = \"http:\u002F\u002F127.0.0.1:7890\"  # 如需代理则取消注释并填写\n\n# 初始化应用\n# tools_list 可填入特定工具名，为空则使用默认工具集 (python, terminal, url-get 等)\napp = AppFactory().create_app(tools_list=[], **{})\n\n# 发送指令\nreply = app.ask(\"请帮我计算 25 的平方根，并搜索一下平方根的定义。\")\n\n# 输出结果\nprint(reply)\n```\n\n### 场景 C：集成到微信机器人\n\n该项目已为 [chatgpt-on-wechat](https:\u002F\u002Fgithub.com\u002Fzhayujie\u002Fchatgpt-on-wechat) 开发了专用插件。\n1. 部署 `chatgpt-on-wechat` 项目。\n2. 在其 `plugins` 目录下启用 `tool` 插件（需额外安装本项目的依赖）。\n3. 即可在微信聊天中直接使用自然语言调用各种工具。\n\n---\n**注意**：使用 `terminal` 或 `python` 等事务型工具时，相当于赋予大模型在本地执行代码的权限。请确保在可信环境下运行，并注意潜在的安全风险。","数据分析师小林需要每日从多个分散源获取最新市场动态、计算关键指标并生成简报，传统流程繁琐且易出错。\n\n### 没有 chatgpt-tool-hub 时\n- **信息搜集割裂**：需手动切换浏览器搜索新闻、访问气象或金融 API 网站复制数据，无法在对话中直接获取实时信息。\n- **计算依赖外部工具**：遇到复杂数学运算或数据统计时，必须跳出聊天窗口打开 Excel 或编写独立 Python 脚本处理。\n- **操作流程断层**：从“获取数据”到“分析结果”再到“输出报告”无法形成闭环，人工拼接内容耗时且容易遗漏关键步骤。\n- **响应速度滞后**：面对突发查询需求（如“对比上周天气对销量的影响”），因缺乏自动化工具调用能力，往往需要数小时才能交付结果。\n\n### 使用 chatgpt-tool-hub 后\n- **自然语言直达数据**：小林只需输入“查询今日北京天气并检索最新科技新闻”，chatgpt-tool-hub 自动调用联网和搜索工具，秒级返回整合信息。\n- **内置算力即时执行**：直接命令“计算上述新闻中提及公司的平均增长率”，工具引擎自动编写并运行 Python 代码完成运算，无需切换环境。\n- **全自动任务编排**：通过树状编排功能，一条指令即可串联“搜索 - 计算 - 绘图 - 总结”全流程，自动生成结构化日报草稿。\n- **交互效率质的飞跃**：原本需要 2 小时的跨平台操作，现在仅需几分钟对话即可完成，让小林能专注于策略分析而非数据搬运。\n\nchatgpt-tool-hub 将静态的对话模型升级为能自主调用工具的“操作系统”，真正实现了用自然语言驱动全链路工作流。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgoldfishh_chatgpt-tool-hub_d1f77ec3.png","goldfishh","goldfish","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fgoldfishh_34e4efd2.jpg","开源爱好者+1 \r\n让 LLM 变得更伟大","@Alibaba","China","goldfish.buaa@gmail.com",null,"https:\u002F\u002Fgithub.com\u002Fgoldfishh",[82,86],{"name":83,"color":84,"percentage":85},"Python","#3572A5",92.1,{"name":87,"color":88,"percentage":89},"Jupyter Notebook","#DA5B0B",7.9,1279,167,"2026-04-01T01:05:07","MIT","Linux, macOS, Windows","未说明",{"notes":97,"python":98,"dependencies":99},"本项目主要作为 ChatGPT 的工具执行引擎，依赖 OpenAI API 运行，本地无需大型模型或 GPU。核心功能通过调用本地 Python 函数（如 subprocess, requests）实现工具操作。需配置 OPENAI API Key，可选配置代理。若使用特定工具（如搜索、天气等）可能需额外申请对应的 API Key。可通过 pip 安装或直接克隆仓库运行。","3.x (根据 PyPI badge 推断支持 Python 3)",[100,101,102,103],"langchain (重写版)","requests","subprocess (内置)","openai",[35,13,105],"插件","2026-03-27T02:49:30.150509","2026-04-06T17:26:37.359883",[109,114,119,124,129,134,139],{"id":110,"question_zh":111,"answer_zh":112,"source_url":113},19641,"遇到 OpenAI API 速率限制（RateLimitError）或请求超时报错怎么办？","这是因为部分工具（如 meteo-weather）单次执行会调用多次 OpenAI 接口，容易触发免费账户的速率限制（默认 3 次\u002F分钟）。解决方案：1. 绑定支付方式升级账户以提高限额；2. 更新项目到最新版本（如 v0.4.1+），维护者已优化错误重试机制；3. 检查网络连接，日志中若出现 'Name or service not known' 需确认 DNS 或网络代理设置。","https:\u002F\u002Fgithub.com\u002Fgoldfishh\u002Fchatgpt-tool-hub\u002Fissues\u002F18",{"id":115,"question_zh":116,"answer_zh":117,"source_url":118},19642,"输入 $tool 指令后提示“未知插件命令”或工具无法使用怎么办？","这通常是因为插件状态配置文件出错。解决方法：1. 删除项目目录下的 `plugins.json` 文件，重启后即可恢复；2. 如果使用了管理员密码模式，尝试输入 `#enablep tool` 启用；3. 若仍失败，删除 `plugin` 文件夹下对应工具（如 tool）内部的 `config.json` 文件后重试。","https:\u002F\u002Fgithub.com\u002Fgoldfishh\u002Fchatgpt-tool-hub\u002Fissues\u002F29",{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},19643,"如何在 chatgpt-on-wechat 项目中正确配置并使用 Google Search 工具？","不能直接复制文件，需要修改源码以支持代理（国内用户必备）。具体步骤：1. 修改 `chatgpt_tool_hub\u002Ftools\u002Fgoogle_search\u002Fwrapper.py`，在 `_google_search_results` 方法中添加代理逻辑（判断 `self.proxy` 并构建 `proxies` 字典，在 `.execute()` 中传入 `proxies=proxies`）；2. 修改 `chatgpt_tool_hub\u002Ftools\u002Fgoogle_search\u002Ftool.py`，在参数列表增加 `common_proxy`；3. 在配置文件对应位置填入 `common_proxy` 参数（如 `http:\u002F\u002F127.0.0.1:7890`）。","https:\u002F\u002Fgithub.com\u002Fgoldfishh\u002Fchatgpt-tool-hub\u002Fissues\u002F12",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},19644,"使用 bing-search 或 requests 工具时报错 'Couldn't find a tree builder... lxml' 如何解决？","这是缺少 `lxml` 解析库依赖导致的。请确保安装最新版本的依赖包，维护者已在 v0.4.2 版本中将 `lxml` 加入依赖列表。执行 `pip install -r requirements.txt` 更新依赖，或者手动运行 `pip install lxml` 进行安装，然后重启应用即可。","https:\u002F\u002Fgithub.com\u002Fgoldfishh\u002Fchatgpt-tool-hub\u002Fissues\u002F8",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},19645,"如何正确触发已安装的 Tool 工具进行计算或查询？","确保工具已启用后，使用特定指令格式触发。例如使用 WolframAlpha 进行计算，应发送指令：`bot $tool 使用 wolfram 计算一下 54321*123`。如果工具未响应，请检查 `config.json` 中的 tools 列表是否包含该工具名称，并确认已重启应用加载配置。新版（v0.5.0+）已支持单 tool 调用模式。","https:\u002F\u002Fgithub.com\u002Fgoldfishh\u002Fchatgpt-tool-hub\u002Fissues\u002F4",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},19646,"在终端执行 Python 脚本工具时返回 'non-zero exit status 1' 错误是什么原因？","这通常是因为工具运行环境的 Python 路径或缺少依赖导致的。Tool 调用的 Python 环境可能与控制台不同。解决方法：1. 确认脚本中使用的库在运行环境中已安装；2. 尝试在命令中使用绝对路径调用 Python 解释器；3. 检查脚本权限及路径是否正确。如果是虚拟环境问题，需确保工具启动时加载了正确的环境变量。","https:\u002F\u002Fgithub.com\u002Fgoldfishh\u002Fchatgpt-tool-hub\u002Fissues\u002F5",{"id":140,"question_zh":141,"answer_zh":142,"source_url":128},19647,"多个工具的 API Key 应该配置在 config.json 的什么位置？","所有工具的 API Key 应统一配置在 `config.json` 文件的 `kwargs` 段落中。不需要为每个工具单独创建配置块，只需在 `kwargs` 对象内添加对应的键值对（例如 `bing_subscription_key`, `google_cse_id` 等），确保键名与代码中定义的参数名一致即可。",[144,149],{"id":145,"version":146,"summary_zh":147,"released_at":148},117694,"0.5.0","## 变更内容\n\n### tool-hub  \n1. [重构：将绝对导入替换为相对导入](https:\u002F\u002Fgithub.com\u002Fgoldfishh\u002Fchatgpt-tool-hub\u002Fcommit\u002F68e013d12a685514bc0af8d6176a2d28b47ff71d)  \n2. 新增工具：微信、visual（取代之前的 visual-dl 工具）、短信、邮件、语音转文本、文本转语音。  \n3. 引入名为“纯模式”的新功能，支持单独调用各个工具。  \n4. 为单个工具专门添加了测试用例。  \n\n### llm-os  \n1. 在 Google Colab 中添加了一个演示示例。\n\n## 新贡献者\n* @6vision 在 https:\u002F\u002Fgithub.com\u002Fgoldfishh\u002Fchatgpt-tool-hub\u002Fpull\u002F66 中完成了首次贡献。\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fgoldfishh\u002Fchatgpt-tool-hub\u002Fcompare\u002F0.4.2...0.5.0","2024-01-17T16:09:45",{"id":150,"version":151,"summary_zh":152,"released_at":153},117695,"0.4.2","工具中心\n1. 新增私有部署的搜索工具：[searxng-search](https:\u002F\u002Fgithub.com\u002Fgoldfishh\u002Fchatgpt-tool-hub\u002Fblob\u002Fmaster\u002Fdocs\u002Fapply_optional_tool.md#6-searxng-search)\n2. 修复Windows系统在使用summary临时创建文件后删除时出现的异常 #30\n3. morning-news新增可配置参数：morning_news_use_llm，用于控制是否在API返回结果后再进行处理\n4. 新增arxiv工具，用于搜索论文\n5. 更改tool engine核心prompt，采用JSON格式输出llm-os的内心独白、工具及工具输入\n6. 修复news子工具返回内容包含乱码信息的问题 #26 #27\n\nllm-os\n1. llm-os正式发布，目前已支持tool-hub的所有功能\n\n\n```bash\npip install -i https:\u002F\u002Fpypi.python.org\u002Fsimple chatgpt-tool-hub==0.4.2\n```","2023-04-25T16:53:38"]