炸毛框架(zhamao-framework) 是一個高效能的聊天機器人+ Web 伺服器開發框架
開發者QQ 群組: 670821194點擊加入群組聊天
如果有願意一起開發框架本身的開發者,請提出PR 或Issue 參與開發!如果對框架本身的核心設計有更好的想法,可與作者成立開發小組(目前僅2 人),參與OneBot V12 生態和框架本身的開發。
相關正在進行的版本任務請見Projects 一欄!
炸毛框架使用PHP 編寫,主要面向API 服務,聊天機器人,包含Websocket、HTTP 等監聽和請求庫,使用者程式碼採用模組化處理,使用註解可以方便地編寫各類功能。
框架主要用途為HTTP 伺服器,機器人搭建框架。尤其對於聊天機器人訊息處理較為方便和全面,提供了眾多會話機制和內部呼叫機制,可以以各種方式設計自己的插件。
#[BotCommand('你好')]public function hello(BotContext $ctx) { $ctx->reply("你好,我是炸毛!"); // 簡單的命令式回复} #[Route('/index')]public function index() { return "<h1>hello!</h1>"; // 快速的 HTTP 服務開發}
框架目前支援Linux、WSL、macOS、Windows 環境直接執行,其中Linux、macOS 環境可直接使用下方一鍵安裝腳本。
如果你想在其他環境安裝部署,可使用Docker 快速部署或手動安裝環境後安裝框架,詳見文件。
# Linux、macOS 下一鍵偵測 PHP 環境、安裝框架bash <(curl -fsSL https://zhamao.xin/v3.sh)# 啟動框架cd zhamao-v3 ./zhamao server
一鍵安裝腳本還有可以自訂參數的方式,例如:
# 腳本預設會偵測系統的PHP,如果想直接跳過偵測,安裝獨立的PHP版本,則新增此環境變數export ZM_NO_LOCAL_PHP="yes"# 腳本如果安裝獨立版本PHP,預設版本為8.1,如果想使用其他版本,則新增此環境變數指定版本export ZM_DOWN_PHP_VERSION="8.2"# 腳本預設會將框架在目前目錄下的`zhamao-app`目錄進行安裝,如果想使用其他目錄,則新增此環境變數export ZM_CUSTOM_DIR="my-custom-app"# 腳本預設會對本專案使用阿里雲國內加速鏡像,如果想使用packagist來源,則新增此環境變數export ZM_COMPOSER_PACKAGIST="yes"# 執行完前面的環境變數再執行一鍵安裝腳本,就可以實現自訂參數! bash <(curl -fsSL https://zhamao.xin/v3.sh)
關於其他安裝方式,請參閱文件。
檢視文件(國內自建):https://framework.zhamao.xin/
備用連結(國外託管):https://framework.zhamao.me/
原生支援多個機器人客戶端同時連接
靈活的註解事件綁定機制,可同時使用Annotation 和原生Attribute 註解
完善的插件系統,可編寫插件後打包或分發,供他人使用
採用插件化編寫,可自由搭配其他Composer 元件,也可單一檔案以過程編寫
支援模組打包、熱加載,分享模組更方便
常駐內存,全域快取變數隨處使用,提供多種快取方案
自備MySQL、SQLite、Redis 等資料庫連接池
本身為HTTP 伺服器、WebSocket 伺服器,可以建置屬於自己的HTTP API 介面
可選自帶PHP 環境,無需手動編譯安裝,by crazywhalecc/static-php-cli
如果你在使用過程中發現任何問題,可以提交Issue 或自行Fork 後修改並提交Pull Request。
目前專案只有兩人維護,耗費精力較大,所以非常歡迎框架的貢獻。
本計畫為作者閒暇時間開發,如果覺得好用,不妨進行捐款~你的捐款會讓我更有動力完善插件,感謝你的支持!
我們會將捐贈的資金用於本專案驅動的炸毛機器人和框架文件的伺服器開銷上。捐贈列表
如果您不想直接參與框架的開發,也可以分享你所寫的模組,幫助完善框架生態。
框架和SDK 是炸毛機器人專案的核心框架開源部分。炸毛機器人是作者寫的高性能機器人,曾獲全國電腦設計競賽第一名。
作者的炸毛機器人已從2018年初起穩定運行了五年,並且持續迭代。
可以提交Issue 或加群(670821194) 進行疑難排解。
本專案在更新內容時,請隨時關注GitHub 動態,更新前請將自己的外掛程式或專案程式碼做好備份。
專案架構採用Apache-2.0 協定開源,在分發或重寫修改等操作時需遵守協議。專案外掛部分(除src/Globals
、 src/ZM
資料夾外的其他資料夾) 在非借鏡框架內程式碼時可不遵守Apache-2.0 協定進行散佈和修改(聲明版權)。
注意:當你使用mirai 等AGPL-3.0
協議的機器人軟體與框架連接時,使用本框架需要將你寫或修改的部分使用AGPL-3.0
協定重新分發。
在貢獻程式碼時,請保管好自己的全域設定檔中的敏感訊息,請勿將帶有個人資訊的設定檔上傳GitHub 等網站。
感謝JetBrains 為此開源專案提供PhpStorm 開發工具支援:
感謝開發者@sunxyw 中為專案開發規範化提出的一些建議。