[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-LlmKira--Openaibot":3,"tool-LlmKira--Openaibot":65},[4,17,27,35,48,57],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},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 真正成长为懂上",154349,2,"2026-04-13T23:32:16",[13,14,15],"开发框架","Agent","语言模型","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,3,"2026-04-06T11:19:32",[15,26,14,13],"图像",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":10,"last_commit_at":33,"category_tags":34,"status":16},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",[13,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":10,"last_commit_at":41,"category_tags":42,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85092,"2026-04-10T11:13:16",[26,43,44,45,14,46,15,13,47],"数据工具","视频","插件","其他","音频",{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":54,"last_commit_at":55,"category_tags":56,"status":16},5784,"funNLP","fighting41love\u002FfunNLP","funNLP 是一个专为中文自然语言处理（NLP）打造的超级资源库，被誉为\"NLP 民工的乐园”。它并非单一的软件工具，而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。\n\n面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点，funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具，还独特地收录了丰富的垂直领域资源，如法律、医疗、金融行业的专用词库与数据集，甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性，从基础的字典词典到前沿的 BERT、GPT-2 模型代码，再到高质量的标注数据和竞赛方案，应有尽有。\n\n无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师，还是从事人工智能研究的学者，都能在这里找到急需的“武器弹药”。对于开发者而言，它能大幅减少寻找数据和复现模型的时间；对于研究者，它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神，极大地降低了中文自然语言处理的开发与研究成本，是中文 AI 社区不可或缺的宝藏仓库。",79857,1,"2026-04-08T20:11:31",[15,43,46],{"id":58,"name":59,"github_repo":60,"description_zh":61,"stars":62,"difficulty_score":54,"last_commit_at":63,"category_tags":64,"status":16},6590,"gpt4all","nomic-ai\u002Fgpt4all","GPT4All 是一款让普通电脑也能轻松运行大型语言模型（LLM）的开源工具。它的核心目标是打破算力壁垒，让用户无需依赖昂贵的显卡（GPU）或云端 API，即可在普通的笔记本电脑和台式机上私密、离线地部署和使用大模型。\n\n对于担心数据隐私、希望完全掌控本地数据的企业用户、研究人员以及技术爱好者来说，GPT4All 提供了理想的解决方案。它解决了传统大模型必须联网调用或需要高端硬件才能运行的痛点，让日常设备也能成为强大的 AI 助手。无论是希望构建本地知识库的开发者，还是单纯想体验私有化 AI 聊天的普通用户，都能从中受益。\n\n技术上，GPT4All 基于高效的 `llama.cpp` 后端，支持多种主流模型架构（包括最新的 DeepSeek R1 蒸馏模型），并采用 GGUF 格式优化推理速度。它不仅提供界面友好的桌面客户端，支持 Windows、macOS 和 Linux 等多平台一键安装，还为开发者提供了便捷的 Python 库，可轻松集成到 LangChain 等生态中。通过简单的下载和配置，用户即可立即开始探索本地大模型的无限可能。",77307,"2026-04-11T06:52:37",[15,13],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":80,"owner_email":81,"owner_twitter":80,"owner_website":82,"owner_url":83,"languages":84,"stars":97,"forks":98,"last_commit_at":99,"license":100,"difficulty_score":101,"env_os":102,"env_gpu":103,"env_ram":103,"env_deps":104,"category_tags":114,"github_topics":115,"view_count":10,"oss_zip_url":80,"oss_zip_packed_at":80,"status":16,"created_at":126,"updated_at":127,"faqs":128,"releases":164},7344,"LlmKira\u002FOpenaibot","Openaibot","⚡️ Build Your Own chatgpt Bot|🧀 Discord\u002FSlack\u002FKook\u002FTelegram |⛓ ToolCall|🔖 Plugin Support | 🌻 out-of-box | gpt-4o","Openaibot 是一款专为构建自定义 AI 聊天机器人设计的开源框架，支持快速部署到 Discord、Slack、Kook 和 Telegram 等主流社交平台。它核心解决了开发者在多平台集成大语言模型（如 GPT-4o）时面临的架构复杂与扩展困难问题，提供了一套“开箱即用”的解决方案。\n\n该项目特别适合具备一定 Python 基础的开发者和技术爱好者使用。通过内置的消息队列与快照系统，Openaibot 实现了消息处理逻辑的完全解耦，确保在高并发场景下的稳定性。其独特的技术亮点在于高度模块化的插件生态：用户可通过 pip 轻松安装插件，并拥有细粒度的权限控制能力，包括在执行前进行身份验证及动态配置环境变量。此外，工具原生支持视觉识别、语音合成（TTS）及代码解释器功能，并能灵活适配符合 OpenAI 格式标准的各类模型网关。\n\n尽管目前项目主要处于维护阶段不再规划新功能，但其精简的代码结构和成熟的第四代架构，依然是学习事件驱动型 LLM 应用开发或搭建私有化机器人服务的优秀参考范本。","![cover](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLlmKira_Openaibot_readme_03d5e608ab02.png)\n\n------------------\n\n\u003Cp align=\"center\">\n\u003Ca href=\"https:\u002F\u002Fhub.docker.com\u002Frepository\u002Fdocker\u002Fsudoskys\u002Fllmbot\u002Fgeneral\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fpulls\u002Fsudoskys\u002Fllmbot\" alt=\"docker\">\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fllmkira\">\n    \u003Cimg src=\"https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fllmkira.svg\" alt=\"docker workflow\">\n\u003C\u002Fa>\n\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Ft.me\u002FOpenai_LLM\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FJoin-Telegram-blue\" alt=\"telegram\">\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002F6QHNdwhdE5\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FJoin-Discord-blue\" alt=\"discord\">\n\u003C\u002Fa>\n\u003Cbr\u002F>\n\u003Ca href=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fllmkira\u002Fopenaibot\u002Fmain\u002FLICENSE\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fllmkira\u002Fopenaibot\" alt=\"license\">\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fhub.docker.com\u002Frepository\u002Fdocker\u002Fsudoskys\u002Fllmbot\u002Fbuilds\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fv\u002Fsudoskys\u002Fllmbot\" alt=\"docker build\">\n\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fllmkira.github.io\u002FDocs\u002F\">🍩 Deploy Docs\u003C\u002Fa>\n  &\n  \u003Ca href=\"https:\u002F\u002Fllmkira.github.io\u002FDocs\u002Fdev\u002Fbasic\">🧀 Dev Docs\u003C\u002Fa>\n  &\n  \u003Ca href=\".github\u002FCONTRIBUTING.md\">🤝 Contribute\u003C\u002Fa>\n\u003C\u002Fp>\n\n> Python>=3.9\n\nThis project is not abandoned, just no new features are planned.\n\nThis project was developed as an experimental project for MQ event-driven LLM.\n\nIf you encounter a problem, please raise an Issue\n\n**If you are looking for similar projects, check out: https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot**\n\n\n----\n\nIt integrates a message queuing and snapshot system, offering plugin mechanisms and authentication prior to plugin\nexecution.\n\nThe bot adheres to the **Openai Format Schema**. Please adapt using [gateway](https:\u002F\u002Fgithub.com\u002FPortkey-AI\u002Fgateway)\nor [one-api](https:\u002F\u002Fgithub.com\u002Fsongquanpeng\u002Fone-api) independently.\n\n| Demo                                                                          | Vision With Voice                                                        | Code Interpreter                                                                      |\n|-------------------------------------------------------------------------------|--------------------------------------------------------------------------|---------------------------------------------------------------------------------------|\n| ![sticker](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLlmKira_Openaibot_readme_be9756b51f45.gif) | ![vision](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLlmKira_Openaibot_readme_c22f86f3f0b4.gif) | ![code](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLlmKira_Openaibot_readme_eb22bf7d9d1f.gif) |\n\n## 🔨 Roadmap\n\n> The program has iterated to its fourth generation.\n\n- [x] Removal of legacy code\n- [x] Deletion of metric system\n- [x] Deletion of model selection system, unified to OpenAI Schema\n- [x] Implementation of a more robust plugin system\n- [x] Project structure simplification\n- [x] Elimination of the Provider system\n- [x] Hook support\n- [x] Access to TTS\n- [x] Add standalone support for gpt-4-turbo and vision\n- [ ] Add LLM reference support to the plugin environment. (extract && search in text)\n\n## 📦 Features\n\n- 🍪 A comprehensive plugin development ecosystem, adopting a classic design, and seamless integration with plugins\n  through `pip` installation\n- 📝 Message system with no time or sender constraints, offering fully decoupled logics\n- 📬 Offers Login via a URL mechanism, providing a flexible and expandable authentication development solution\n- 🍰 Empowers users to authorize plugin execution. Users can configure plugin environment variables at their discretion\n- 📦 Support for plugins to access files\n- 🍟 Multi-platform support – extend new platforms by inheriting the base class\n- 🍔 Plugins can determine their appearance in new sessions dynamically, preventing performance degradation despite large\n  amounts of plugins\n\n### 🍔 Login Modes\n\n- `Login via url`: Use `\u002Flogin \u003Ca token>$\u003Csomething like https:\u002F\u002Fprovider.com\u002Flogin>` to Login. The program posts the token to the interface to\n  retrieve configuration\n  information, [how to develop this](https:\u002F\u002Fgithub.com\u002FLlmKira\u002FOpenaibot\u002Fblob\u002F81eddbff0f136697d5ad6e13ee1a7477b26624ed\u002Fapp\u002Fcomponents\u002Fcredential.py#L20).\n- `Login`: Use `\u002Flogin https:\u002F\u002F\u003Capi endpoint>\u002Fv1$\u003Capi key>$\u003Cthe model>$\u003Ctool model such as gpt-3.5-turbo>` to login\n\n### 🧀 Plugin Can Do More\n\n| Sticker Converter                   | Timer Function(built-in)        |\n|-------------------------------------|---------------------------------|\n| ![sticker](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLlmKira_Openaibot_readme_9038a5788fcc.gif) | ![timer](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLlmKira_Openaibot_readme_3c96eed5ac2f.gif) |\n\n### 🎬 Platform Support\n\n| Platform | Support | File System | Remarks                                |\n|----------|---------|-------------|----------------------------------------|\n| Telegram | ✅       | ✅           |                                        |\n| Discord  | ✅       | ✅           |                                        |\n| Kook     | ✅       | ✅           | Does not support `triggering by reply` |\n| Slack    | ✅       | ✅           | Does not support `triggering by reply` |\n| Line     | ❌       |             |                                        |\n| QQ       | ❌       |             |                                        |\n| Wechat   | ❌       |             |                                        |\n| Twitter  | ❌       |             |                                        |\n| Matrix   | ❌       |             |                                        |\n| IRC      | ❌       |             |                                        |\n| ...      |         |             | Create Issue\u002FPR                        |\n\n## 📦 Quick Start\n\nRefer to the [🧀 Deployment Document](https:\u002F\u002Fllmkira.github.io\u002FDocs\u002F) for more information.\n\n### 📦 One-click Deployment\n\nIf you are using a brand-new server, you can use the following shell to automatically install this project.\n\n```shell\ncurl -sSL https:\u002F\u002Fraw.githubusercontent.com\u002FLLMKira\u002FOpenaibot\u002Fmain\u002Fdeploy.sh | bash\n```\n\n### 📦 Manual Installation\n\n```shell\n# Install Voice dependencies\napt install ffmpeg\n# Install RabbitMQ\ndocker pull rabbitmq:3.10-management\ndocker run -d -p 5672:5672 -p 15672:15672 \\\n  -e RABBITMQ_DEFAULT_USER=admin \\\n  -e RABBITMQ_DEFAULT_PASS=8a8a8a \\\n  --hostname myRabbit \\\n  --name rabbitmq \\\n  rabbitmq:3.10-management\ndocker ps -l\n# Install Project\ngit clone https:\u002F\u002Fgithub.com\u002FLlmKira\u002FOpenaibot\u002F\ncd Openaibot\npip install pdm\npdm install -G bot\ncp .env.exp .env && nano .env\n# Test\npdm run python3 start_sender.py\npdm run python3 start_receiver.py\n# Host\napt install npm\nnpm install pm2 -g\npm2 start pm2.json\n```\n\n> **Be sure to change the default password for the command, or disable open ports to prevent the database from being\nscanned and attacked.**\n\n### 🥣 Docker\n\nBuild Hub: [sudoskys\u002Fllmbot](https:\u002F\u002Fhub.docker.com\u002Frepository\u002Fdocker\u002Fsudoskys\u002Fllmbot\u002Fgeneral)\n\n> Note that if you run this project using Docker, you will start Redis, MongoDB, and RabbitMQ. But if you're running\n> locally, just RabbitMQ\n\n#### Manual Docker-compose Installation\n\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002FLlmKira\u002FOpenaibot.git\ncd Openaibot\ncp .env.exp .env&&nano .env\ndocker-compose -f docker-compose.yml up -d\n```\n\nThe Docker configuration file `docker-compose.yml` contains all databases. In fact, Redis and MongoDB are not required.\nYou can remove these databases yourself and use the local file system.\n\nUpdate image using `docker-compose pull`.\n\nUse `docker exec -it llmbot \u002Fbin\u002Fbash` to view Shell in Docker, enter `exit` to exit.\n\n## 🍪 Slash Commands\n\n```shell\nclear - Deletes chat records\nlogin - Login to the bot\nhelp - Displays documentation\nchat - Conversation\ntask - Use a function to converse\nask - Disable function-based conversations\ntool - Lists all functions\nauth - Authorize a function\nenv - Environment variables of the function\nlearn - Learn your instructions, \u002Flearn reset to clear\n```\n\n## 💻 How to Develop Plugins?\n\nRefer to the example plugins in the `plugins` directory and\nthe [🧀 Plugin Development Document](https:\u002F\u002Fllmkira.github.io\u002FDocs\u002Fdev\u002Fbasic) for plugin development documentation.\n\n### Hooks\n\nHooks control the EventMessage in sender and receiver. For example, we have `voice_hook` in built-in hooks.\n\nyou can enable it by setting `VOICE_REPLY_ME=true` in `.env`.\n\n```shell\n\u002Fenv VOICE_REPLY_ME=yes\n# must\n\n\u002Fenv REECHO_VOICE_KEY=\u003Ckey in dev.reecho.ai>\n# not must\n```\n\nuse `\u002Fenv VOICE_REPLY_ME=NONE` to disable this env.\n\ncheck the source code in `llmkira\u002Fextra\u002Fvoice_hook.py`, learn to write your own hooks.\n\n## 🧀 Sponsor\n\n[![sponsor](.\u002F.github\u002Fsponsor_ohmygpt.png)](https:\u002F\u002Fwww.ohmygpt.com)\n\n## 📜 Notice\n\n> This project, named OpenAiBot, signifying \"Open Artificial Intelligence Robot\", is not officially affiliated with\n> OpenAI.\n\n\n[![FOSSA Status](https:\u002F\u002Fapp.fossa.com\u002Fapi\u002Fprojects\u002Fgit%2Bgithub.com%2Fsudoskys%2FOpenaibot.svg?type=small)](https:\u002F\u002Fapp.fossa.com\u002Fprojects\u002Fgit%2Bgithub.com%2Fsudoskys%2FOpenaibot?ref=badge_small)\n","![cover](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLlmKira_Openaibot_readme_03d5e608ab02.png)\n\n------------------\n\n\u003Cp align=\"center\">\n\u003Ca href=\"https:\u002F\u002Fhub.docker.com\u002Frepository\u002Fdocker\u002Fsudoskys\u002Fllmbot\u002Fgeneral\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fpulls\u002Fsudoskys\u002Fllmbot\" alt=\"docker\">\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fllmkira\">\n    \u003Cimg src=\"https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fllmkira.svg\" alt=\"docker workflow\">\n\u003C\u002Fa>\n\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Ft.me\u002FOpenai_LLM\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FJoin-Telegram-blue\" alt=\"telegram\">\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002F6QHNdwhdE5\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FJoin-Discord-blue\" alt=\"discord\">\n\u003C\u002Fa>\n\u003Cbr\u002F>\n\u003Ca href=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fllmkira\u002Fopenaibot\u002Fmain\u002FLICENSE\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fllmkira\u002Fopenaibot\" alt=\"license\">\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fhub.docker.com\u002Frepository\u002Fdocker\u002Fsudoskys\u002Fllmbot\u002Fbuilds\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fv\u002Fsudoskys\u002Fllmbot\" alt=\"docker build\">\n\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fllmkira.github.io\u002FDocs\u002F\">🍩 部署文档\u003C\u002Fa>\n  &\n  \u003Ca href=\"https:\u002F\u002Fllmkira.github.io\u002FDocs\u002Fdev\u002Fbasic\">🧀 开发文档\u003C\u002Fa>\n  &\n  \u003Ca href=\".github\u002FCONTRIBUTING.md\">🤝 贡献\u003C\u002Fa>\n\u003C\u002Fp>\n\n> Python>=3.9\n\n该项目并未被放弃，只是目前暂无新功能计划。\n\n本项目作为MQ事件驱动LLM的实验性项目而开发。\n\n如遇问题，请提交Issue。\n\n**如果您正在寻找类似项目，请查看：https:\u002F\u002Fgithub.com\u002FAstrBotDevs\u002FAstrBot**\n\n\n----\n\n它集成了消息队列和快照系统，提供插件机制以及在插件执行前的身份验证功能。\n\n该机器人遵循**OpenAI格式规范**。请使用[gateway](https:\u002F\u002Fgithub.com\u002FPortkey-AI\u002Fgateway)或[one-api](https:\u002F\u002Fgithub.com\u002Fsongquanpeng\u002Fone-api)进行独立适配。\n\n| 演示                                                                          | 视觉与语音                                                        | 代码解释器                                                                      |\n|-------------------------------------------------------------------------------|--------------------------------------------------------------------------|---------------------------------------------------------------------------------------|\n| ![sticker](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLlmKira_Openaibot_readme_be9756b51f45.gif) | ![vision](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLlmKira_Openaibot_readme_c22f86f3f0b4.gif) | ![code](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLlmKira_Openaibot_readme_eb22bf7d9d1f.gif) |\n\n## 🔨 路线图\n\n> 程序已迭代至第四代。\n\n- [x] 移除遗留代码\n- [x] 删除度量系统\n- [x] 删除模型选择系统，统一为OpenAI Schema\n- [x] 实现更健壮的插件系统\n- [x] 简化项目结构\n- [x] 取消Provider系统\n- [x] 支持钩子\n- [x] 接入TTS\n- [x] 增加对gpt-4-turbo和视觉功能的独立支持\n- [ ] 在插件环境中添加LLM引用支持。（文本提取&&搜索）\n\n## 📦 特性\n\n- 🍪 全面的插件开发生态，采用经典设计，可通过`pip`安装无缝集成插件\n- 📝 无时间与发送者限制的消息系统，逻辑完全解耦\n- 📬 提供URL登录机制，为身份验证开发提供灵活且可扩展的解决方案\n- 🍰 允许用户授权插件执行。用户可自行配置插件环境变量\n- 📦 支持插件访问文件\n- 🍟 多平台支持——通过继承基类即可扩展新平台\n- 🍔 插件可在新会话中动态决定自身是否加载，从而避免因插件数量过多而导致性能下降\n\n### 🍔 登录方式\n\n- `URL登录`: 使用`\u002Flogin \u003C一个token>$\u003C类似https:\u002F\u002Fprovider.com\u002Flogin的东西>`进行登录。程序会将token发送到接口以获取配置信息，[如何开发此功能](https:\u002F\u002Fgithub.com\u002FLlmKira\u002FOpenaibot\u002Fblob\u002F81eddbff0f136697d5ad6e13ee1a7477b26624ed\u002Fapp\u002Fcomponents\u002Fcredential.py#L20)。\n- `直接登录`: 使用`\u002Flogin https:\u002F\u002F\u003Capi端点>\u002Fv1$\u003Capi密钥>$\u003C模型>$\u003C工具模型如gpt-3.5-turbo>`进行登录。\n\n### 🧀 插件能做的事更多\n\n| 贴纸转换                   | 定时功能（内置）        |\n|-------------------------------------|---------------------------------|\n| ![sticker](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLlmKira_Openaibot_readme_9038a5788fcc.gif) | ![timer](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLlmKira_Openaibot_readme_3c96eed5ac2f.gif) |\n\n### 🎬 平台支持\n\n| 平台 | 支持 | 文件系统 | 备注                                |\n|----------|---------|-------------|----------------------------------------|\n| Telegram | ✅       | ✅           |                                        |\n| Discord  | ✅       | ✅           |                                        |\n| Kook     | ✅       | ✅           | 不支持“回复触发”                     |\n| Slack    | ✅       | ✅           | 不支持“回复触发”                     |\n| Line     | ❌       |             |                                        |\n| QQ       | ❌       |             |                                        |\n| Wechat   | ❌       |             |                                        |\n| Twitter  | ❌       |             |                                        |\n| Matrix   | ❌       |             |                                        |\n| IRC      | ❌       |             |                                        |\n| ...      |         |             | 请创建Issue\u002FPR                        |\n\n## 📦 快速开始\n\n更多信息请参阅[🧀 部署文档](https:\u002F\u002Fllmkira.github.io\u002FDocs\u002F)。\n\n### 📦 一键部署\n\n如果您使用的是全新服务器，可以使用以下Shell脚本自动安装本项目。\n\n```shell\ncurl -sSL https:\u002F\u002Fraw.githubusercontent.com\u002FLLMKira\u002FOpenaibot\u002Fmain\u002Fdeploy.sh | bash\n```\n\n### 📦 手动安装\n\n```shell\n# 安装语音依赖\napt install ffmpeg\n# 安装RabbitMQ\ndocker pull rabbitmq:3.10-management\ndocker run -d -p 5672:5672 -p 15672:15672 \\\n  -e RABBITMQ_DEFAULT_USER=admin \\\n  -e RABBITMQ_DEFAULT_PASS=8a8a8a \\\n  --hostname myRabbit \\\n  --name rabbitmq \\\n  rabbitmq:3.10-management\ndocker ps -l\n# 安装项目\ngit clone https:\u002F\u002Fgithub.com\u002FLlmKira\u002FOpenaibot\u002F\ncd Openaibot\npip install pdm\npdm install -G bot\ncp .env.exp .env && nano .env\n# 测试\npdm run python3 start_sender.py\npdm run python3 start_receiver.py\n# 上线\napt install npm\nnpm install pm2 -g\npm2 start pm2.json\n```\n\n> **请务必更改默认密码，或关闭开放端口，以防止数据库被扫描和攻击。**\n\n### 🥣 Docker\n\n构建中心：[sudoskys\u002Fllmbot](https:\u002F\u002Fhub.docker.com\u002Frepository\u002Fdocker\u002Fsudoskys\u002Fllmbot\u002Fgeneral)\n\n> 请注意，如果您使用 Docker 运行该项目，将会启动 Redis、MongoDB 和 RabbitMQ。但如果您在本地运行，则只需启动 RabbitMQ。\n\n#### 手动 Docker-compose 安装\n\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002FLlmKira\u002FOpenaibot.git\ncd Openaibot\ncp .env.exp .env&&nano .env\ndocker-compose -f docker-compose.yml up -d\n```\n\nDocker 配置文件 `docker-compose.yml` 包含所有数据库。实际上，Redis 和 MongoDB 并不是必需的。您可以自行移除这些数据库，并使用本地文件系统。\n\n使用 `docker-compose pull` 更新镜像。\n\n使用 `docker exec -it llmbot \u002Fbin\u002Fbash` 进入 Docker 中的 Shell，输入 `exit` 退出。\n\n## 🍪 斜杠命令\n\n```shell\nclear - 删除聊天记录\nlogin - 登录机器人\nhelp - 显示文档\nchat - 对话\ntask - 使用功能进行对话\nask - 禁用基于功能的对话\ntool - 列出所有功能\nauth - 授权某个功能\nenv - 功能的环境变量\nlearn - 学习您的指令，\u002Flearn reset 可以清空\n```\n\n## 💻 如何开发插件？\n\n请参考 `plugins` 目录中的示例插件，以及 [🧀 插件开发文档](https:\u002F\u002Fllmkira.github.io\u002FDocs\u002Fdev\u002Fbasic) 获取插件开发的相关说明。\n\n### 钩子\n\n钩子用于控制发送者和接收者之间的 EventMessage。例如，我们内置了 `voice_hook` 钩子。\n\n您可以通过在 `.env` 文件中设置 `VOICE_REPLY_ME=true` 来启用它。\n\n```shell\n\u002Fenv VOICE_REPLY_ME=yes\n# 必须\n\n\u002Fenv REECHO_VOICE_KEY=\u003Ckey in dev.reecho.ai>\n# 不必\n```\n\n使用 `\u002Fenv VOICE_REPLY_ME=NONE` 可以禁用此环境变量。\n\n请查看 `llmkira\u002Fextra\u002Fvoice_hook.py` 中的源代码，学习如何编写您自己的钩子。\n\n## 🧀 赞助\n\n[![sponsor](.\u002F.github\u002Fsponsor_ohmygpt.png)](https:\u002F\u002Fwww.ohmygpt.com)\n\n## 📜 注意事项\n\n> 本项目名为 OpenAiBot，意为“开放人工智能机器人”，与 OpenAI 并无官方关联。\n\n\n[![FOSSA Status](https:\u002F\u002Fapp.fossa.com\u002Fapi\u002Fprojects\u002Fgit%2Bgithub.com%2Fsudoskys%2FOpenaibot.svg?type=small)](https:\u002F\u002Fapp.fossa.com\u002Fprojects\u002Fgit%2Bgithub.com%2Fsudoskys%2FOpenaibot?ref=badge_small)","# Openaibot 快速上手指南\n\nOpenaibot 是一个基于消息队列事件驱动的 LLM 机器人项目，支持插件机制、多平台接入（Telegram, Discord, Kook, Slack 等）以及 OpenAI 格式 schema。\n\n## 环境准备\n\n在开始之前，请确保您的服务器满足以下要求：\n\n*   **操作系统**: Linux (推荐 Ubuntu\u002FDebian)\n*   **Python 版本**: >= 3.9\n*   **前置依赖**:\n    *   `ffmpeg` (用于语音处理)\n    *   `RabbitMQ` (核心消息队列，必须)\n    *   `Git`, `PDM` (包管理), `Node.js\u002Fnpm` (可选，用于进程守护)\n\n> **注意**：虽然 Docker 部署方案包含 Redis 和 MongoDB，但在本地手动安装时仅需 RabbitMQ 即可运行。\n\n## 安装步骤\n\n您可以选择一键自动安装或手动安装。\n\n### 方案一：一键自动安装（推荐新服务器）\n\n如果您使用的是全新的服务器，可直接运行以下脚本自动完成所有依赖安装和项目部署：\n\n```shell\ncurl -sSL https:\u002F\u002Fraw.githubusercontent.com\u002FLLMKira\u002FOpenaibot\u002Fmain\u002Fdeploy.sh | bash\n```\n\n### 方案二：手动安装\n\n#### 1. 安装系统依赖与 RabbitMQ\n```shell\n# 安装语音处理依赖\napt install ffmpeg\n\n# 安装并启动 RabbitMQ\ndocker pull rabbitmq:3.10-management\ndocker run -d -p 5672:5672 -p 15672:15672 \\\n  -e RABBITMQ_DEFAULT_USER=admin \\\n  -e RABBITMQ_DEFAULT_PASS=8a8a8a \\\n  --hostname myRabbit \\\n  --name rabbitmq \\\n  rabbitmq:3.10-management\n```\n\n#### 2. 克隆项目与安装依赖\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002FLlmKira\u002FOpenaibot\u002F\ncd Openaibot\n\n# 安装 PDM 包管理器\npip install pdm\n\n# 安装项目依赖\npdm install -G bot\n```\n\n#### 3. 配置环境变量\n```shell\ncp .env.exp .env\nnano .env\n# 请在编辑器中修改 .env 文件，配置 API Key 和 RabbitMQ 连接信息\n```\n\n#### 4. 测试运行\n分别启动发送者和接收者进程进行测试：\n```shell\npdm run python3 start_sender.py\npdm run python3 start_receiver.py\n```\n\n#### 5. 生产环境部署 (可选)\n使用 PM2 进行进程守护：\n```shell\napt install npm\nnpm install pm2 -g\npm2 start pm2.json\n```\n\n> **安全警告**：请务必修改默认密码或关闭不必要的端口，防止数据库被扫描攻击。\n\n### 方案三：Docker Compose 部署\n\n如果您偏好容器化部署：\n\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002FLlmKira\u002FOpenaibot.git\ncd Openaibot\ncp .env.exp .env && nano .env\ndocker-compose -f docker-compose.yml up -d\n```\n*注：此方式会自动启动 Redis, MongoDB 和 RabbitMQ。若需精简，可编辑 `docker-compose.yml` 移除不需要的数据库服务。*\n\n## 基本使用\n\n安装完成后，您需要在聊天平台（如 Telegram 或 Discord）中与机器人交互。\n\n### 1. 登录配置\n使用 `\u002Flogin` 命令配置 API 密钥。支持两种模式：\n\n*   **标准模式**（直接填入 Endpoint 和 Key）：\n    ```text\n    \u002Flogin https:\u002F\u002F\u003Capi endpoint>\u002Fv1$\u003Capi key>$\u003Cthe model>$\u003Ctool model such as gpt-3.5-turbo>\n    ```\n*   **URL 令牌模式**（通过 URL 获取配置）：\n    ```text\n    \u002Flogin \u003Ca token>$\u003Csomething like https:\u002F\u002Fprovider.com\u002Flogin>\n    ```\n\n### 2. 常用指令\n登录成功后，可使用以下斜杠命令：\n\n| 命令 | 功能描述 |\n| :--- | :--- |\n| `\u002Fchat` | 开始普通对话 |\n| `\u002Fask` | 禁用函数调用的对话模式 |\n| `\u002Ftask` | 启用函数调用的对话模式 |\n| `\u002Ftool` | 列出所有可用函数\u002F插件 |\n| `\u002Fauth` | 授权特定函数的执行权限 |\n| `\u002Fenv` | 查看或设置插件环境变量 |\n| `\u002Fclear` | 清除当前聊天记录 |\n| `\u002Fhelp` | 显示帮助文档 |\n\n### 3. 插件开发简述\n项目支持通过 `pip` 无缝集成插件。您可以参考 `plugins` 目录下的示例，或查阅[插件开发文档](https:\u002F\u002Fllmkira.github.io\u002FDocs\u002Fdev\u002Fbasic)进行二次开发。\n\n如需启用内置的语音回复功能，可在对话框中输入：\n```text\n\u002Fenv VOICE_REPLY_ME=yes\n\u002Fenv REECHO_VOICE_KEY=\u003Cyour_reecho_key>\n```","某初创游戏工作室的社区运营团队需要在 Discord、Telegram 和 Kook 等多个平台上，为玩家提供基于 GPT-4o 的 24 小时智能客服及游戏数据查询服务。\n\n### 没有 Openaibot 时\n- **多平台重复开发**：团队需为每个社交平台单独编写机器人代码，维护三套不同的逻辑，导致人力成本极高且功能更新不同步。\n- **高级功能实现困难**：想要让机器人具备“识图分析玩家截图”或“执行代码查询数据库”的能力，需要自行对接复杂的 Vision 模型和沙箱环境，技术门槛过高。\n- **插件管理混乱**：缺乏统一的插件机制，每次新增功能（如签到、攻略查询）都需修改核心代码，容易引发系统崩溃且无法动态加载。\n- **鉴权流程繁琐**：难以在不同平台实施统一的用户身份验证，导致付费会员权益无法精准管控，存在数据泄露风险。\n\n### 使用 Openaibot 后\n- **一次部署多端同步**：利用 Openaibot 的多平台继承特性，仅需配置一套后端即可同时服务于 Discord、Telegram 和 Kook，新功能上线即时全平台生效。\n- **开箱即用的高级能力**：直接启用内置的 Vision 和代码解释器插件，机器人能自动识别玩家上传的游戏报错截图并运行代码检索日志，无需额外开发。\n- **灵活的插件生态**：通过 `pip` 安装即可无缝集成社区插件，支持在会话中动态加载特定功能，既丰富了玩法又避免了性能损耗。\n- **安全的 URL 鉴权体系**：利用独特的 URL 登录机制，轻松实现跨平台的统一身份认证，确保只有授权用户才能调用高阶查询插件，保障数据安全。\n\nOpenaibot 将原本需要数周搭建的多模态跨平台机器人工程，简化为小时级的配置任务，让团队能专注于内容运营而非底层架构。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLlmKira_Openaibot_03d5e608.png","LlmKira","LLM Kira","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FLlmKira_ab74c7be.jpg","Cat Friendly Promotion Association Lab",null,"me@dianas.cyou","https:\u002F\u002Fllmkira.github.io\u002FDocs","https:\u002F\u002Fgithub.com\u002FLlmKira",[85,89,93],{"name":86,"color":87,"percentage":88},"Python","#3572A5",99.5,{"name":90,"color":91,"percentage":92},"Shell","#89e051",0.3,{"name":94,"color":95,"percentage":96},"Dockerfile","#384d54",0.2,1973,227,"2026-04-12T13:10:43","Apache-2.0",4,"Linux","未说明",{"notes":105,"python":106,"dependencies":107},"该项目主要作为消息队列事件驱动的 LLM 机器人运行，本身不托管大模型，而是通过网关（如 gateway 或 one-api）对接 OpenAI 格式接口。手动安装需预先安装 ffmpeg 和 RabbitMQ（推荐 Docker 部署），若使用 Docker Compose 则会自动启动 Redis 和 MongoDB（可根据需求移除改用本地文件系统）。支持 Telegram、Discord、Kook、Slack 等平台。项目处于维护状态但暂无新功能计划。",">=3.9",[108,109,110,111,112,113],"ffmpeg","RabbitMQ (Docker)","Redis (Docker, 可选)","MongoDB (Docker, 可选)","pdm","pm2",[15],[116,117,118,119,120,121,122,123,124,125],"openai","assistant","discordbot","kook-bot","slack-bot","gpt-4-vision-preview","gpt-4","chat-gpt","gpt-4o","gpt-4o-mini","2026-03-27T02:49:30.150509","2026-04-14T12:30:12.870124",[129,134,139,144,149,154,159],{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},32985,"以 Root 身份安装或运行时出现权限警告怎么办？","如果出现关于 Root 身份安装可能导致权限问题的提示，只要您全程一致地使用 Root 权限进行安装、配置和运行，通常不需要担心。关键在于保持权限的一致性，避免混合使用不同用户身份操作导致文件归属混乱。","https:\u002F\u002Fgithub.com\u002FLlmKira\u002FOpenaibot\u002Fissues\u002F261",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},32982,"Docker 部署时遇到 'No module named graia' 错误怎么办？","该问题通常由缺少依赖包引起。可以尝试预先安装以下包来解决：\n1. 运行 `pip install fasttext-wheel` 和 `pip install fasttext`。\n2. 如果安装 `kenlm` 失败，请先运行 `apt install python3-dev`。\n3. 建议拉取最新的 Docker 镜像重新测试，维护者通常会在更新中修复此类依赖问题。","https:\u002F\u002Fgithub.com\u002FLlmKira\u002FOpenaibot\u002Fissues\u002F155",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},32983,"在 Docker Compose 环境中，service.json 里的 Redis 地址应该配置为什么？","在 Docker 网络环境中，不能直接使用 `localhost` 或 `127.0.0.1`，因为它们指向容器内部而非宿主机或其他容器。\n- 如果 Redis 和 Bot 在同一个 docker-compose 项目中，应将地址修改为 Redis 服务的名称（例如 `redis`）。\n- 确保端口映射正确，默认 Redis 端口为 6379。报错 'Cannot assign requested address' 通常是因为连接地址配置错误。","https:\u002F\u002Fgithub.com\u002FLlmKira\u002FOpenaibot\u002Fissues\u002F154",{"id":145,"question_zh":146,"answer_zh":147,"source_url":148},32984,"ARM 架构服务器（如甲骨文云 ARM 实例）支持部署吗？有什么注意事项？","支持 ARM 架构，但需要注意以下依赖问题：\n1. `tiktoken` 库在 ARM 下编译可能困难，需确保环境已正确配置 Rust\u002FCargo。\n2. `fasttext` 用于语言类型判别，如果无法安装，可以跳过该步骤。程序内置了基于 Unicode 的中日英三语判别器作为替代方案，不影响核心功能使用。","https:\u002F\u002Fgithub.com\u002FLlmKira\u002FOpenaibot\u002Fissues\u002F138",{"id":150,"question_zh":151,"answer_zh":152,"source_url":153},32986,"如何集成第三方的 ChatGPT API 服务（如 chatgpt-api-single）？","项目支持接入第三方 API 服务。用户可以通过修改源码或配置来适配：\n1. 维护者计划添加 service 配置选项以支持此类服务。\n2. 临时方案可参考修改 `src\u002Findex.ts` 第 256 行端口配置，并使用如下 Docker 命令部署第三方服务：\n`docker run -d --name chatgpt-api-single -e EMAIL=xxxxx -e PASSWORD=xxxxx -e IS_PRO_ACCOUNT=true -e MARKDOWN=true -e CAPTCHA_TOKEN=xxxx -p 4000:4000 -v ${PWD}\u002Fdata:\u002Fapp\u002Fdata docker.io\u002Fsprider\u002Fchatgpt`\n然后在本项目配置中指向该服务地址。","https:\u002F\u002Fgithub.com\u002FLlmKira\u002FOpenaibot\u002Fissues\u002F178",{"id":155,"question_zh":156,"answer_zh":157,"source_url":158},32987,"遇到 OpenAI API 返回 'Server Error' 或请求频率限制（429）如何处理？","这通常是 OpenAI 官方服务波动或触发了速率限制。\n1. 项目内置了自动重试机制，在网络波动时能保持相对稳定，请确保使用的是最新版本。\n2. 如果是高频调用导致的 429 错误，建议降低请求频率或检查账号配额。\n3. 某些情况下，机器人的名称设定也可能影响回复内容，但这与服务器错误无直接关联。","https:\u002F\u002Fgithub.com\u002FLlmKira\u002FOpenaibot\u002Fissues\u002F150",{"id":160,"question_zh":161,"answer_zh":162,"source_url":163},32988,"搜索插件（search\u002Fduckgo）不起作用或返回结果异常怎么办？","搜索功能有时会因为机制调整出现暂时性的负优化或不稳定。\n1. 如果插件完全无反应或结果包含大量广告\u002F错误内容，可能是当前使用的搜索引擎接口发生了变化。\n2. 维护者表示正在持续优化搜索机制，建议关注项目更新日志。\n3. 尝试切换不同的搜索引擎配置，或者暂时禁用该插件使用基础对话功能。","https:\u002F\u002Fgithub.com\u002FLlmKira\u002FOpenaibot\u002Fissues\u002F189",[165,169,173,178,183,187,192,196,200,205,210,215,219,223,228,233,237,241,245,249],{"id":166,"version":167,"summary_zh":80,"released_at":168},247671,"pypi_1.0.5","2024-04-29T08:53:33",{"id":170,"version":171,"summary_zh":80,"released_at":172},247672,"pypi_1.0.4","2024-04-22T09:03:03",{"id":174,"version":175,"summary_zh":176,"released_at":177},247673,"app_4.0.4","对话体验更加完善，重复搜索的问题已修复。\n\n## 变更内容\n* 由 @sudoskys 在 https:\u002F\u002Fgithub.com\u002FLlmKira\u002FOpenaibot\u002Fpull\u002F403 中实现的递归函数快照过程中引入了逻辑 Mock。\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002FLlmKira\u002FOpenaibot\u002Fcompare\u002Fpypi_1.0.3...app_4.0.4","2024-04-20T10:25:17",{"id":179,"version":180,"summary_zh":181,"released_at":182},247674,"pypi_1.0.3","e2b.dev 的代码解释器","2024-04-20T05:31:52",{"id":184,"version":185,"summary_zh":80,"released_at":186},247675,"app_4.0.3","2024-04-19T02:15:14",{"id":188,"version":189,"summary_zh":190,"released_at":191},247676,"pypi_1.0.2","支持图像作为输入\n\n![image](https:\u002F\u002Fgithub.com\u002FLlmKira\u002FOpenaibot\u002Fraw\u002Fpypi_1.0.2\u002Fdocs\u002Fvision.gif)\n\n**完整更新日志**: https:\u002F\u002Fgithub.com\u002FLlmKira\u002FOpenaibot\u002Fcompare\u002Fpypi_1.0.2...pypi_1.0.2","2024-04-18T15:06:32",{"id":193,"version":194,"summary_zh":80,"released_at":195},247677,"app_4.0.2","2024-04-18T12:24:32",{"id":197,"version":198,"summary_zh":80,"released_at":199},247678,"app_4.0.1","2024-04-18T05:29:16",{"id":201,"version":202,"summary_zh":203,"released_at":204},247679,"pypi_1.0.1","请查看自述文件以获取更多信息。\n```python\nfrom llmkira.openapi.hook import resign_hook, Hook, Trigger, run_hook\n\n\n@resign_hook()\nclass TestHook(Hook):\n    trigger: Trigger = Trigger.SENDER\n\n    async def trigger_hook(self, *args, **kwargs) -> bool:\n        print(f\"触发 {args} {kwargs}\")\n        return True\n\n    async def hook_run(self, *args, **kwargs):\n        print(f\"执行 {args} {kwargs}\")\n        return args, kwargs\n\n\n@resign_hook()\nclass TestHook2(Hook):\n    trigger: Trigger = Trigger.SENDER\n    priority: int = 1\n\n    async def trigger_hook(self, *args, **kwargs) -> bool:\n        print(f\"触发 {args} {kwargs}\")\n        return True\n\n    async def hook_run(self, *args, **kwargs):\n        print(f\"执行 {args} {kwargs}\")\n        return args, kwargs\n\n\nasync def run_test():\n    print(\"在运行钩子之前\")\n    arg, kwarg = await run_hook(Trigger.SENDER, 2, 3, a=4, b=5)\n    print(f\"运行钩子之后 {arg} {kwarg}\")\n\n\nimport asyncio  # noqa\n\nasyncio.run(run_test())\n```","2024-04-17T15:12:37",{"id":206,"version":207,"summary_zh":208,"released_at":209},247680,"app_4.0.0_patch","## 修复Bug\n- Redis消息读取","2024-04-17T08:48:33",{"id":211,"version":212,"summary_zh":213,"released_at":214},247681,"pypi_1.0.0","# 中断变更\n\nRedis 和 MongoDB 已不再需要。\n重新配置环境变量。\n重新安装 Python 依赖。\nDocker 部署目前尚未经过测试。\n\n已修复大部分问题。","2024-04-17T06:19:43",{"id":216,"version":217,"summary_zh":80,"released_at":218},247682,"app_4.0.0","2024-04-17T05:18:10",{"id":220,"version":221,"summary_zh":80,"released_at":222},247683,"pypi0.27.3","2024-01-17T02:58:49",{"id":224,"version":225,"summary_zh":226,"released_at":227},247684,"pypi0.27.2","- [x] 定义插件对系统的交互\n- [x] 修复插件的循环引用\n- [x] 修复重新排序错误\n- [x] 可以同时定义 `需要虚拟环境变量` 和 `静默启动` 属性。\n- [x] 提供 Ffmpeg 工具类将任意语音转换为 Telegram Voice","2023-11-14T14:25:07",{"id":229,"version":230,"summary_zh":231,"released_at":232},247685,"lib0.27.1","## 修复\n\n- 更新 Pydantic\n- 修复一些 bug\n- 修复 [Urllib 异常：暴露端点](https:\u002F\u002Fgithub.com\u002FLlmKira\u002FOpenaibot\u002Fissues\u002F343)\n- 修复 APS https:\u002F\u002Fgithub.com\u002FLlmKira\u002FOpenaibot\u002Fissues\u002F342\n- 支持从 Pydantic 创建 Schema\n- 修复 CI\n\n## 变更\n\n- 将 Docker 锁定为最后一个可用版本\n- 移除 `requirements.txt`\n\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002FLlmKira\u002FOpenaibot\u002Fcompare\u002Fnolib0.27.0_5...lib0.27.1","2023-11-12T18:42:43",{"id":234,"version":235,"summary_zh":80,"released_at":236},247686,"nolib0.27.0_5","2023-11-12T17:44:47",{"id":238,"version":239,"summary_zh":80,"released_at":240},247687,"nolib0.27.0_4","2023-11-12T17:19:52",{"id":242,"version":243,"summary_zh":80,"released_at":244},247688,"nolib0.27.0_3","2023-11-12T16:37:19",{"id":246,"version":247,"summary_zh":80,"released_at":248},247689,"nolib0.27.0_1","2023-11-11T17:09:20",{"id":250,"version":251,"summary_zh":252,"released_at":253},247690,"lib0.27.0","# ⚠️ 已损坏的变更\n\n此版本通过基本测试和语法检查，但可能有意料之外的情况发生。\n\n## 📦 变更\n\n- [x] 大多数接口被重构，PluginOpenapi 版本升级到 `20231111`\n- [x] 支持新的函数并行处理\n- [x] 支持 GPT-4 Turbo with vision 图传\n- [x] 适配性增强\n- [x] 修复 Bug\n- [x] 优化了传递速度\n- [x] 定制函数规范\n- [x] 标准化插件系统\n\n## 📦 变更\n\n- [x] 最大部分接口已被重构，PluginOpenapi 版本已升级至 `20231111`\n- [x] 支持新功能的并行处理（工具调用）\n- [x] 支持带有视觉功能的 GPT-4 Turbo\n- [x] 适配性提升\n- [x] 修复了若干错误\n- [x] 优化了数据传输速度\n- [x] 自定义函数规范\n- [x] 标准化插件系统\n\n## 📦 所有模型均可自定义 Schema\n\n代码示例：\n\n```python3\n\nSCHEMA_GROUP.add_model(\n    models=[\n        SingleModel(\n            model_name=\"chatglm3\",\n            token_limit=4096,\n            request=Openai,\n            response=OpenaiResult,\n            schema_type=\"openai\",\n            func_executor=\"function_call\",\n            exception=None\n        ),\n        SingleModel(\n            model_name=\"chatglm3-16k\",\n            token_limit=16384,\n            request=Openai,\n            response=OpenaiResult,\n            schema_type=\"openai\",\n            func_executor=\"function_call\",\n            exception=None\n        ),\n    ]\n)\n```\n\n\n## 变更内容\n* 由 @sudoskys 在 https:\u002F\u002Fgithub.com\u002FLlmKira\u002FOpenaibot\u002Fpull\u002F332 中重新设计了设置系统，以更好地支持插件系统。\n\n\n**完整更新日志**: https:\u002F\u002Fgithub.com\u002FLlmKira\u002FOpenaibot\u002Fcompare\u002Fnolib0.26.3_3...lib0.27.0","2023-11-11T17:03:34"]