>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
Java

XianYuAssistantでデジタル製品の販売を自動化する

マーケットプレイスでデジタルキーやアクセスコード、小さなUSED品などを素早く販売すると、単調なルーティンに陥りがちです。購入者が午前3時に製品代金を支払い、瞬時の配送を期待しているのに、あなたは眠っています。その結果、ストアの評価が下がり、顧客は競合他社へと流れていきます。

オープンソースリポジトリ「XianYuAssistant」の作者は、中国プラットフォーム「闲魚(Xianyu)」(アリババのサブマーケットプレイス)向けのこの問題を解決することにしました。リアルタイムで受信メッセージを拾い、AIでバイヤーに応答し、プロモコードやファイル在庫から自動的に配送できるフル機能のセルフホスト型ソリューションを作成しました。

開発者が注目すべき理由

闲魚で何も販売していなくても、このプロジェクトは技術的な実装として興味深いものです。Java 21とSpring Boot 3.5.7を使用した新しいスタックで、ニューラルネットワーク用の組み込みベクトル検索、ブラウザ自動化、WebSocketの実運用への導入が、アグレッシブな不正対策の下で実現されています。

プラットフォームのウェブサイトは積極的にボット防御を行っています。制限をバイパスするために、作者は包括的なアプローチを採用しました:

  • PlaywrightによるHeadlessブラウザでのQRコードログイン。
  • リクエスト間のリアルな遅延とトークン更新のシミュレーション。
  • 単一ファイル内のベクトルストレージを備えたローカルSQLiteデータベースの統合。
  • Spring AIと通義千問(Tongyi Qwen)モデル、ナレッジベース検索(RAG)を使用したスマート自動応答。

メッセージとキーの自動配送

メインのワークフローは、継続的なWebSocketチャネルの監視に依存しています。バイヤーが商品の代金を振り込むと、サービスは「支払い済み」ステータスを即座に検出し、内部のバーチャル商品在庫から一致するキーを取得します。

バイヤーが「どう激活しますか?」や「ロシアでも使えますか?」などの一般的な質問をしてきた場合、サービスは単にテンプレートを送信するだけではありません。正規表現ベースのルールを設定したり、言語モデルを接続したりできます。各商品には説明と手順書のベクトルデータベースが関連付けられており、ニューラルネットワークが関連するテキストフラグメントを引っ張ってきて自然な応答を生成します。

ブロックとキャプchasliderとの戦い

これらのプロジェクトで最も難しい面は、自動化の使用でプラットフォームにアカウントをBANされないようにすることです。XianYuAssistantは興味深いセッションローテーションメカニズムを実装しています:

  1. 30分ごとにバックグラウンドエンドポイント呼び出しでCookieが更新されます。
  2. トークン _m_h5_tk は1.5〜2.5時間の間の変動間隔でリセットされます。
  3. WebSocketトークンは10〜14時間ごとに変更されます。
  4. 複数アカウントのアクション間には2〜5秒の一時停止が維持されます。

プラットフォームがスライダーキャプチャをトリガーした場合、システムはイベントを記録し、コントロールパネルにプロンプトを表示します。ユーザーはブラウザで手動で検証を完了し、ボット全体を再起動せずに新鮮なCookieを注入できます。

アーキテクチャと技術スタック

プロジェクトはモノリシックなバックエンドとElement Plusを使用したVue 3.5フロントエンドで構成されています。すべてが単一のDockerコンテナで実行され、 отдельнаяデータベースが不要になります—SQLiteはmountディレクティブ内に埋め込まれています。

docker run -d \
  --name xianyu-assistant \
  -p 12400:12400 \
  -v $(pwd)/data/dbdata:/app/dbdata \
  -v $(pwd)/data/logs:/app/logs \
  --restart unless-stopped \
  iamlzy/xianyuassistant:latest

注目すべきバックエンドコンポーネント:

  • Playwright Java:ログインページのレンダリングとQRコードスキャンに使用。
  • Spring AI 1.1.4:PineconeやQdrantのようなサードパーティサービスなしで、LLMとベクトルストレージの統合を処理。
  • ZXingとMessagePack:バーコード処理とバイナリプロトコルメッセージのデコードに使用。

インターフェースはレスポンシブなので、メッセージへの応答や配送ログの表示は電話からでも便利です。

インストールする価値はあるか

XianYuAssistantはアジア市場で取引している人向けの専門ツールです。ただし、リポジトリのソースコードは、Java 21と最新のSpring BootおよびVue 3でボットを記述するための優れたチュートリアルとして機能します。

ローカルSQLiteファイルでRAG検索を整理する方法、バイナリWebSocketメッセージを処理する方法、ブロックを避けるためのセッションローテーションを設定する方法に興味があれば、このプロジェクトは確かに注目に値します。

関連プロジェクト