Files
windmill/HANDOFF.md
Akira f80c2a2518 完了したこと
1. Traefik "too many services" エラー修正 

原因: windmill_extra コンテナのラベルに2つの問題があった

ルーターに service の明示指定がなかった(Traefik が判断できない)
windmill_extra が traefik-net に接続されていなかった(Traefik がルーティング不可)
修正内容:

traefik.http.routers.windmill-lsp.service=windmill-lsp を追加
traefik.http.routers.windmill-debug.service=windmill-debug を追加
windmill_extra を traefik-net に接続
サーバーの docker-compose.yml を永続化(/workspace/docker-compose.yml)
2. Windmill MCP サーバー実装 

mcp/windmill_mcp.py を作成・コミット。7 ツール実装:

windmill_list_flows / windmill_get_flow / windmill_run_flow
windmill_list_recent_jobs / windmill_get_job_logs
windmill_list_scripts / windmill_get_script
Claude Code への登録: .mcp.json + .claude/settings.local.json の enabledMcpjsonServers で自動承認済
2026-02-25 21:44:19 +09:00

3.9 KiB
Raw Blame History

Windmill 作業引き継ぎメモ

作成: 2026-02-25keinasystem_t02 セッションから移管)


現在の状態

git_sync フロー(修正済み

問題: u/antigravity/git_sync フローが wmill sync pull で認証エラー 原因: $WM_TOKEN(ジョブトークン)はワークスペーススコープのため、 wmill CLIが内部で呼ぶ /api/users/whoamiグローバルAPIで401 解決:

  • /home/windmill/windmill/wmill_config/remotes.ndjson を作成(永続設定)
  • グローバルスコープトークン CQKYm1bUwszHCT4Ww6TGyQX97XMs8qg8(ラベル: git-sync)を使用
  • フロースクリプトを --config-dir /workspace/wmill_config を使う形に修正
  • 動作確認: Success: True (2秒)

windmill.keinafarm.net 外部アクセス504 未修正

  • 外部からアクセスすると 30秒後に 504 Gateway Timeout
  • サーバー内部からは http://localhost:8000 で正常にアクセスできる
  • Caddyfile がこのディレクトリにある → 原因調査・修正が必要

Windmill MCP サーバー(未着手

  • LLMClaudeが直接 Windmill を操作できるようにする
  • 外部アクセスが直れば https://windmill.keinafarm.net に接続
  • 直らない場合は SSH トンネル経由

重要な情報

サーバー接続

SSH: root@keinafarm.net
Windmill内部URL: http://localhost:8000
Windmillサーバー上のパス: /home/windmill/windmill/

API トークン

トークン スコープ 用途
qLJ3VPZ61kTDiIwaUPUu1dXszGrsN1Dh ワークスペースadmins 通常のAPI操作
CQKYm1bUwszHCT4Ww6TGyQX97XMs8qg8 グローバル git-sync用wmill CLI

2つの Git リポジトリ(別物!)

リポジトリ パス 用途
windmill.git (Gitea) サーバー /home/windmill/windmill/ wmill CLI で自動同期
windmill_workflow.git (Gitea) ローカル C:\Users\akira\Develop\windmill このディレクトリ

wmill_config永続設定

サーバーパス: /home/windmill/windmill/wmill_config/
コンテナ内パス: /workspace/wmill_config/
remotes.ndjson: {"remote":"http://windmill_server:8000/","workspaceId":"admins","name":"admins","token":"CQKYm1bUwszHCT4Ww6TGyQX97XMs8qg8"}
activeWorkspace: admins

次にやること(優先順)

1. windmill.keinafarm.net 504 を修正

Caddyfile を確認して、windmill へのリバースプロキシ設定を見直す。 タイムアウト設定が足りない可能性が高い。

# 確認コマンド(サーバー内部では正常)
ssh root@keinafarm.net "curl -s http://localhost:8000/api/version"

2. Windmill MCP サーバーを実装

方針: カスタム軽量 Python MCP サーバー6〜8 tools

実装する tools:

  • windmill_list_flows — フロー一覧
  • windmill_get_flow — フローのスクリプト取得
  • windmill_run_flow — フローをトリガー
  • windmill_list_recent_jobs — 最近のジョブ一覧(成功/失敗)
  • windmill_get_job_logs — ジョブの詳細ログ
  • windmill_list_scripts — スクリプト一覧
  • windmill_get_script — スクリプト取得

既存実装: rothnic/windmill-mcpGitHub, スター0, 更新停止)→ 使わず自作

3. mail_filter.flow.json をコミット

ローカルの windmill_workflowf/mail/mail_filter.flow.json が未コミット状態。


参考: wmill 設定ファイル形式

~/.config/windmill/remotes.ndjson  (1行1ワークスペース)
{"remote":"http://...../","workspaceId":"...","name":"local_alias","token":"..."}

~/.config/windmill/activeWorkspace  (プレーンテキスト)
local_alias

wmill sync pull --config-dir /path/to/config で任意ディレクトリを指定可能。