🚀 已登上 Product Hunt!歡迎支持 →Discord CLI,供
開源 · 授權條款:MIT
Discord CLI,供
AI 代理與人類使用
在終端機中建立自主 Discord 機器人、伺服器自動化與 AI 代理;全程只需一支工具。單一可執行檔,支援任何語言,無樣板負擔。
開始使用
$
pip install discord-cli-agent discli serve
$ discli --json serve --status online
{"event":"ready","bot_name":"my-agent","guilds":3}
{"event":"message","author":"alice","content":"@bot help"}
→ {"action":"typing_start","channel_id":"982..."}
→ {"action":"reply","content":"Hi! How can I help?"}
{"event":"response","status":"ok"}
CLI 優先
每個 Discord 操作就是一個指令,可直接接 jq、用 && 串接,並可透過 cron 排程。專為終端機設計。
代理就緒
以 stdin/stdout 維持持續 JSONL 串流。你的 AI 代理可即時接收 Discord 事件並傳送動作,支援任意語言。
預設安全
權限設定檔限制代理可執行的行為。稽核日誌會追蹤所有動作,速率限制可避免濫用。
運作方式
JSONL 通訊協定
`discli serve` 會開啟持續連線,事件透過 stdout 輸出,動作透過 stdin 傳入,皆為純 JSONL。
stdout
事件
訊息、表情回應、成員加入、斜線指令等,每一個 Discord 事件都會以 JSON 列輸出到 stdout。
{"event":"message","author":"alice"} {"event":"reaction_add","emoji":"thumbsup"} {"event":"member_join","user":"bob"}stdin
動作
傳送訊息、指派身分組、建立討論串、串流回覆,都透過寫入一列 JSON 到 stdin 完成。
→ {"action":"reply","content":"Hi!"} → {"action":"role_assign","role":"mod"} → {"action":"thread_create","name":"..."}快速上手
十五行,從 0 到第一個代理
agent.py
import json, subprocess proc = subprocess.Popen( ["discli", "--json", "serve"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, text=True, ) for line in proc.stdout: event = json.loads(line) if event.get("event") == "message" and not event.get("is_bot"): cmd = json.dumps({ "action": "reply", "channel_id": event["channel_id"], "message_id": event["message_id"], "content": f"You said: {event['content']}", }) proc.stdin.write(cmd + "\n") proc.stdin.flush()
逐步提升自主性
先從簡單開始,準備好後再擴充。
第 1 級 約 20 行
反應式機器人
以固定回覆方式回應關鍵字。
第 2 級 約 35 行
情境感知
回應前先抓取對話歷史。
第 3 級 約 60 行
主動代理
建立討論串、串流回覆並判斷意圖。
第 4 級 約 90 行
多重動作
指派身分組、DM、表情回應與頻道操作。
第 5 級 約 120 行
全自動模式
權限受控、稽核紀錄完整,可進入正式環境。