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

113 lines
3.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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-mcp`GitHub, スター0, 更新停止)→ 使わず自作
### 3. mail_filter.flow.json をコミット
ローカルの `windmill_workflow``f/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` で任意ディレクトリを指定可能。