{"id":13643587,"url":"https://github.com/llmkira/llmbot","last_synced_at":"2025-04-11T17:31:15.625Z","repository":{"id":189249768,"uuid":"678852303","full_name":"LlmKira/LLMBot","owner":"LlmKira","description":"插件概念原型机 /// Agents System/自决策 |类 ChatGpt 插件系统| Gpt-3.5/Gpt-4 |Assistant | 📱 Cross-Platform | 🦾 Async | 🔌 Plugin System ","archived":false,"fork":false,"pushed_at":"2023-10-17T09:32:48.000Z","size":2870,"stargazers_count":18,"open_issues_count":4,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-25T16:22:55.754Z","etag":null,"topics":["chatbot","chatgpt"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LlmKira.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-15T14:30:59.000Z","updated_at":"2025-03-23T04:49:18.000Z","dependencies_parsed_at":"2023-08-19T01:24:26.749Z","dependency_job_id":"6f3e3496-a696-455e-a0d3-35f7da05698b","html_url":"https://github.com/LlmKira/LLMBot","commit_stats":null,"previous_names":["llmkira/llmbot"],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LlmKira%2FLLMBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LlmKira%2FLLMBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LlmKira%2FLLMBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LlmKira%2FLLMBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LlmKira","download_url":"https://codeload.github.com/LlmKira/LLMBot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248449712,"owners_count":21105547,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatbot","chatgpt"],"created_at":"2024-08-02T01:01:49.643Z","updated_at":"2025-04-11T17:31:13.760Z","avatar_url":"https://github.com/LlmKira.png","language":"Python","funding_links":[],"categories":["Browser-extensions"],"sub_categories":[],"readme":"# LLMBot\n\n\n## This Project is a conceptual prototype and cannot be deployed.\n## GO https://github.com/LlmKira/Openaibot Check the Production.\n\n\n![Docker Image Size (tag)](https://img.shields.io/docker/image-size/sudoskys/llmbot/latest)\n![Docker Image Version (latest semver)](https://img.shields.io/docker/v/sudoskys/llmbot)\n![docker workflow](https://github.com/llmkira/llmbot/actions/workflows/docker-ci.yaml/badge.svg)\n\n[English_Readme](README_EN.md)\n\nLLMBot 是基于消息队列的机器人助手，可以装载插件完成许多功能。为 Gpt Func Call 和 广播机制的验证项目。\n\n与 `OpenaiBot` 项目不同的是，此项目尝试基于 消息平台 复刻 ChatGpt 的插件系统。实现部分或更进一步的功能。\n\n此项目的绝大多数功能都可以由插件完成。\n\n\u003e 因为 func call 为 feature,所以只支持 Openai 类型的 api, 不打算支持没有 func call 的 LLM\n\n## 📦 Feature\n\n- 📦 中间件/插件系统，可以自由扩展\n- 📝 消息系统，脱离平台和时间限制\n- 📎 订阅系统，可以订阅多个发送者\n- 📬 自定义 ApiKey 和 后端\n- 🍾 简洁交互设计，避免繁琐的权限验证\n- 🎵 细化的消费记录\n- 🍰 联网插件实现\n\n### 🧀 部分插件预览\n\n| Sticker Converter                   | Timer Func                      |\n|-------------------------------------|---------------------------------|\n| ![sticker](./docs/sticker_func.gif) | ![timer](./docs/timer_func.gif) |\n\n```python3\n__plugin_name__ = \"set_alarm_reminder\"\n\nalarm = Function(name=__plugin_name__, description=\"Set a timed reminder\")\nalarm.add_property(\n    property_name=\"delay\",\n    property_description=\"The delay time, in minutes\",\n    property_type=\"integer\",\n    required=True\n)\nalarm.add_property(\n    property_name=\"content\",\n    property_description=\"reminder content\",\n    property_type=\"string\",\n    required=True\n)\n```\n\n## 📝 部署指南\n\n请确认您的系统为UTF8，`dpkg-reconfigure locales`\n\n### Docker\n\n```shell\ndocker-compose -f docker-compose.yml -p llmbot up -d llmbot --compatibility\n```\n\n### PM2\n\n````\napt install npm\nnpm install pm2 -g\npm2 start pm2.json\n````\n\n### Shell\n\n- (可选) 解决冲突\n\n`pip uninstall llm-kira`\n\n- 🛠 配置 `.env` 文件\n\n```bash\ncp .env.example .env\nnano .env\n\n```\n\n- ⚙️ 安装依赖\n\n```bash\npip install -r requirements.txt\n```\n\n- 🗄 配置数据库环境\n\n```bash\n# 安装 Redis\napt-get install redis\nsystemctl enable redis.service --now\n```\n\n```bash\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=admin \\\n        --hostname myRabbit \\\n        --name rabbitmq \\\n        rabbitmq:3.10-management \ndocker ps -l\n```  \n\n- ▶️ 运行\n\n```bash\npython3 start_sender.py\npython3 start_receiver.py\n\n```\n\n## 基础命令\n\n```shell\nhelp - 帮助\nchat - 聊天\ntask - 任务\ntool - 工具列表\nbind - 绑定可选平台\nunbind - 解绑可选平台\nclear - 删除自己的记录\nrset_endpoint - 自定义后端\nrset_key - 设置openai\nclear_rset - 抹除自定义设置\n\n```\n\n## TODO\n\n- [x] 插件系统\n- [x] 定时系统\n- [x] 订阅系统\n- [x] 插件的文件支持\n- [x] 插件的Openai支持\n- [ ] 用户拉黑插件\n- [x] 消费系统完善\n- [ ] 图表示例插件\n- [ ] 插件管理器\n- [ ] 多 LLM 调度\n\n## 架构一览\n\n````\n.\n├── cache # 缓存\n├── docs # 开发手记\n├── middleware\n│     ├── __init__.py\n│     ├── llm_task.py # 任务模型\n│     ├── router  # 路由/订阅系统\n│     └── user  # 用户自定义设置\n├── plugins # 插件系统\n├── plugins_manager.py\n├── README.md\n├── receiver # 收端\n├── requirements.txt\n├── run.log\n├── schema.py\n├── sdk  # sdk\n│     ├── endpoint\n│     ├── error.py\n│     ├── func_call.py\n│     ├── __init__.py\n│     ├── memory\n│     ├── network.py\n│     ├── schema.py\n│     └── utils.py\n├── sender # 发端\n├── setting\n│     ├── __init__.py\n│     ├── task.py\n│     └── telegram.py\n├── start_receiver.py\n├── start_sender.py\n├── task # 任务系统 / 核心模组\n├──── __init__.py\n````\n\n## 💻 如何开发？\n\n插件开发请参考 `plugins` 目录下的示例插件。\n\n## 🤝 如何贡献？\n\n欢迎提交 Pull Request，我们非常乐意接受您的贡献！请确保您的代码符合我们的代码规范，并附上详细的说明。感谢您的支持和贡献！ 😊\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fllmkira%2Fllmbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fllmkira%2Fllmbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fllmkira%2Fllmbot/lists"}