人とAIエージェントを同じワークスペースで共存させる方法
職場のメッセージングツールが、ただの同僚からのメッセージの流れではなく、デジタルクローンがあなたのタスクの半分を処理してくれる生き生きとした環境だったらどうでしょう。SF小説の一場面のように聞こえますが、Mininglamp-OSSの人々はこれをコードで実現することを決めました。彼らはOCTOを構築しています—人間とAIエージェント(彼らは"Lobsters"と呼んでいます)が并肩で動作するオープンプラットフォームです。
このアイデアの中心的なピースはocto-serverです。リポジトリを掘り下げてみて、LLMをビジネスプロセスに統合しようとしているなら、なぜこのGoバックエンドが注目に値するかを共有したいと思います。
デジタルオフィスの内部構造
"デジタルクローン"というマーケティング用語を取り払えば、octo-serverは強力な管理レイヤーです。REST API、リアルタイム通信のためのWebSocket、エージェントオーケストレーションを統合しています。主な特徴は、AIがチャットボットのように横に付け加えられるのではなく、从最初から会話の完全な参加者として機能することです。
このプロジェクトはGoで書かれており、多数の並列接続と異なるサービスへのリクエストを処理する必要があるシステムとしては理にかなっています。インスタントメッセージングエンジンにはWuKongIMを使用しています。開発者は車輪の再発明をせず、市販のメッセージングソリューションを採用し、代わりにやり取りのロジックに集中しています。
このバックエンドの魅力
私の経験では、よくこうなります:クライアントが"スマートアシスタント"を欲しがり、モデルのAPIとメッセージングインターフェースを接続するために場当たり的な対処法を継ぎ接ぎし始めます。OCTOの作成者は異なるアプローチを取りました。
Lobsterのオーケストレーションはコアに組み込まれています。サーバーはエージェントセッション、リクエストルーティング、ツール呼び出しを自分で管理します。エージェントはOpenClaw上で動作し、サーバーはシームレスにそのレスポンスを全体的なダイアログに織り込みます。
アーキテクチャは достаточно柔軟です。MySQLとRedisがデフォルトで提供されていますが、ストレージ、さらにはメッセージングエンジンを交換できます。WuKongIMコントロールプレーンは薄い境界で分離されているため、必要に応じて独自のソリューションをプラグインできます。
ローカルファーストのアプローチは素晴らしい点です。著者は、ハードウェア上で実行できるもの—チャット、エンベディング、エージェント—はすべてそこで実行すべきだと主張しています。クラウドはオプションであり、必須の要件ではありません。エンタープライズセクターでは、データをOpenAIに送信することが問題になる可能性があるため、これは大きな利点です。
リクエスト処理の仕組み
リクエストがシステムに到着した时的動作を見てみましょう:
- 認証。トークン、クッキー、WebSocket用の暗号化されたDiffie-Hellmanフレームがサポートされています。
- 認可。RBACが実装されており、組織と特定のチャンネルへのアクセス権を考慮します。
- 実行。ビジネスロジックが実行されます。必要に応じて、Lobsterセッションが開始または再開されます。
- ディスパッチ。メッセージはWuKongIMに送られ、チャンネルが外部の世界にリンクされている場合—アダプターがトリガーされます。
- レスポンス。クライアントはトレーシングタグとメトリクスを含む統合されたJSONを受け取ります。
プロジェクト構造
コードは整理されており、移動に問題はありません:
internal/api/— ユーザー、グループ、ファイル、ウェブフックすべてのハンドラーがここにあります。internal/service/— システムの"頭脳"であり、アクセス制御とエージェントオーケストレーションを含みます。internal/agent/— Lobstersに関連するすべて:セッションストレージとツール実行。internal/im/— WuKongIMと連携するためのクライアント。
graph TD
subgraph Clients[Clients]
Web[octo-web<br/>Web / PC]
Android[octo-android<br/>Android]
iOS[octo-ios<br/>iOS]
end
subgraph Core[Core Services]
Server[octo-server<br/>Backend API]
Matter[octo-matter<br/>Task / Todo]
Summary[octo-smart-summary<br/>AI Summary]
Admin[octo-admin<br/>Admin Console]
end
subgraph Shared[Shared Libraries & Integrations]
Lib[octo-lib<br/>Core Go Library]
Adapters[octo-adapters<br/>Third-party Adapters]
end
Web --> Server
Android --> Server
iOS --> Server
Admin --> Server
Server --> Matter
Server --> Summary
Server --> Adapters
Server -.uses.-> Lib
Matter -.uses.-> Lib
Adapters -.uses.-> Lib
用途
octo-serverは、次世代の社内ポータルを構築している場合に最適です。Jira、Slack、AI管理コンソールを切り替える代わりに、単一のエントリーポイントが得られます。例えば、開発者がチャットで"本番バグ修正のタスクを作成"と書くと、エージェントはテキストを理解するだけでなく、octo-matterに実際にタスクを作成します。
このプロジェクトは、チーム全体の会話コンテキストへのアクセスが必要なカスタムAIアシスタントの構築にも役立ちます。オープンソースコードとApache 2.0ライセンスにより、特定のセキュリティ要件に合わせてシステムを調整できます。
実行方法、そして試してみる価値があるか
クイックスタートはGoプロジェクトとしては標準的です:クローン、ビルド、設定で実行。
git clone https://github.com/Mininglamp-OSS/octo-server.git
cd octo-server
go build -o octo-server .
./octo-server --config ./configs/tsdd.yaml
ただし、完全な機能にはMySQLデータベースと実行中のWuKongIMインスタンスも必要です。各コンポーネントを個別に設定したくない場合は、準備されたDocker Composeを含むリポジトリがあり、1つのコマンドでサービススタック全体を起動できます。
このプロジェクトはTangSengDaoDaoから派生した作品であることを忘れないでください。これはコード構造に残っています。ドキュメントはまだ一部の場所で不十分なので、難しい状況ではソースコードを掘り下げる必要があります。
これは誰向けですか?まず第一に、深いLLM統合を備えたセルフホスト型のコラボレーションシステムを作成するための готовую 基盤を探している方です。ただチャットが必要なら、よりシンプルなソリューションがあります。しかし、あなたのRoutine作業を処理してくれる"Lobsters"が必要な場合—OCTOは試す価値があります。
関連プロジェクト