dingtalk-moltbot-connector — 钉钉とMoltbotをつなぐ軽量コネクタ

Tool

概要

dingtalk-moltbot-connector は、钉钉(DingTalk)側のチャットボットと Moltbot / Clawdbot の Gateway をつなぎ、AI Card(AIによるリッチメッセージ)のストリーミング応答を可能にするコネクタです。リポジトリは TypeScript プラグイン実装と Python の独立実装を両方提供しており、運用環境や導入形態に合わせて選べます。TypeScript 版は Moltbot 内でプラグインとして動き、AI Card のストリーミングを REST API 経由で手動制御し、画像はシステムプロンプト+後処理で自動アップロードします。Python 版は独立プロセスで動作し、dingtalk-stream SDK を通じたストリーミング処理を利用できます。

GitHub

リポジトリの統計情報

  • スター数: 50
  • フォーク数: 1
  • ウォッチャー数: 50
  • コミット数: 12
  • ファイル数: 11
  • メインの言語: TypeScript

主な特徴

  • TypeScript プラグインと Python 独立コネクタの二実装を同梱:導入形態に応じて選択可能。
  • AI Card のストリーミング応答をサポート:ユーザー体験を向上させる逐次出力(シンプルなストリーミングUX)。
  • 画像処理の差分対応:TypeScript 版は後処理で自動アップロードを行い画像連携を効率化。
  • Moltbot/Clawdbot 環境とのシームレスな統合:プラグイン化や独立稼働で柔軟にデプロイ可能。

技術的なポイント

本プロジェクトの核は「钉钉チャットのイベントを受け取り、Moltbot/Clawdbot Gateway に橋渡しして AI レスポンスをストリーミングで返す」点にあります。TypeScript 実装(plugin.ts)は Moltbot のプラグインとして内部に組み込まれ、Moltbot のプラグインフレームワークに沿ってイベントハンドリングを行います。AI Card のストリーミングでは、钉钉側へ逐次的に部分レスポンスを返すために REST API を手動で呼び出す制御が入っており、クライアント側は流れるような応答表示を受け取れます。

一方、Python 実装は独立プロセスとして稼働し、dingtalk-stream SDK の組み込みメソッドを使ってストリーミングをより直接的に扱えるように設計されています。これにより、低レベルのネットワーク制御や SDK のストリーミング最適化に依存する実装が可能です。

画像処理は実運用で悩ましい課題ですが、本リポジトリは実装ごとにアプローチをわけています。TypeScript 版は system prompt による指示で画像を扱いつつ、生成後に自動で画像をアップロードしてメッセージに添付する後処理を組み込むことで、ユーザーにシームレスな体験を提供します。Python 版は system prompt による誘導を前提とする単純化された処理です。

インストールと運用面では、TypeScript 版は “moltbot plugins install” によるプラグインインストールを想定し、Moltbot のプラグイン管理下で動作させます。Python 版は pip によるパッケージ化(pip install -e .)で独立プロセスとしてデプロイしやすく、既存のサーバやコンテナに組み込みやすい設計です。セキュリティや認証周りは実装依存ですが、钉钉 API キーや Webhook などの管理が必要になる点は留意が必要です。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitignore: file(不要ファイルの除外設定)
  • .npmignore: file(npm公開時の除外設定)
  • LICENSE: file(ライセンス情報)
  • README.md: file(導入・仕様の説明)
  • clawdbot.plugin.json: file(プラグイン定義/メタ情報)
  • plugin.ts: TypeScript プラグインのエントリ(Moltbot 内で動作)
  • src/dingtalk_moltbot_connector/: Python 版のソースルート(独立コネクタ実装)
  • package.json / pyproject.toml 等: 各実装の依存定義(存在する場合)
    …他 6 ファイル

各実装はエントリポイントや設定ファイルを分離しており、Moltbot 組み込み用と独立稼働用の両方で運用できる点が見て取れます。README にはアーキテクチャ図(Mermaid)やフロー図が含まれており、イベント受信→Gateway→AI応答→钉钉返却までの流れが示されています。

まとめ

TypeScript / Python の二形態で钉钉とMoltbot をつなぐ実用的なコネクタ。導入の自由度が高く実用性がある。

リポジトリ情報:

READMEの抜粋:

dingtalk-moltbot-connector

将钉钉机器人连接到 Moltbot / Clawdbot Gateway,支持 AI Card 流式响应。

提供两种实现:

TypeScript 插件Python 独立连接器
运行方式Moltbot/Clawdbot 内置插件独立进程
入口文件plugin.tssrc/dingtalk_moltbot_connector/
AI Card 流式手动调用钉钉 REST API使用 dingtalk-stream SDK 内置方法
图片处理system prompt 引导 + 后处理自动上传system prompt 引导
安装方式moltbot plugins installpip install -e .

架构

...