Building an Agent for Elementor Page Assembly: From Idea to a Working Pipeline
WordPress
Elementor
Figma
A developer shared their experience creating an agent that builds WordPress + Elementor pages from Telegram requests. Key issues included task loss during parallel requests, duplicates, mixing questions with final answers, Elementor indentation errors, and difficulty integrating with Figma. Solutions involve a SQLite task queue, a CLI interface for states, a default beta environment, and a strict Python compiler for Figma.
開発者が、WordPressとElementorでページを構築するためのAIエージェントをTelegramと統合して作成した経緯を説明しました。最初のバージョンではElementorのMCPツールを使用していましたが、すぐに問題が明らかになりました。ユーザーがすぐに応答しないとタスクが失われる可能性があり、同じリクエストを繰り返すとタスクの重複が発生し、エージェントがスキルを迂回して直接MCPを呼び出そうとするなどです。これを修正するために、SQLiteを使用したタスクキューを導入し、ユーザーの質問前にレコードを作成するようにし、未完了のタスクのチェックや、処理をスキルに委譲する厳格なルールを設定しました。複合質問に対しては、一度に1つの質問をするCLIのnext-questionを実装しました。また、タスクの状態をブロッキング(waiting、blocked、done)と非ブロッキング(ready)に分割し、ユーザーなしで可能なステップはエージェントが実行を継続できるようにしました。テストの分離のため、ページ作成はデフォルトでベータ環境で行われ、本番環境への移行は別途transferワークフローを通じてのみ行われます。Elementorの余白に関するエラーは、コンテナとウィジェットの違いを修正するelementor-spacing-builder.mdモジュールで解決しました。最終的な回答は、別のCLI result_cli.pyに分離し、ワークフローの質問とは分けました。ビルドの品質はCLIのみでチェックされ、自己アサーションは禁止されています。最も困難だったのはFigmaとの統合で、初期のコンパイラは情報を失っていましたが、その後、堅牢なPythonコンパイラに移行し、Figma JSONを直接Elementor JSONに変換するようになりました。14バージョン目では、セマンティクスとレイアウトを分離するセマンティックツリーを追加しました。また、アセットのエクスポートを最適化し、VECTORパスはSVGとしてエクスポートせず、明示的に指定されたコンポーネントのみを対象としました。
出典: Habr — хаб ИИ —
原文
