TR;DR
目的: 歩活イベントのために、Huawei Bandで記録した歩数をkencomに入力したい。
問題:
- Huaweiヘルスケアとkencomは直接同期できない
- ヘルスコネクト経由で同期するには有料アプリ(Health Sync)が必要そう
- Health Syncは、前日までのデータしか同期できない
やったこと:
- CSV化した歩数データをkencomのWeb画面に自動入力する python スクリプト を作った (Github
- ついでに、Antigravity の触り心地も確認
デモ
使う人の想定は、Huawei Band / Huawei Watch を使っていて、kencomに歩数を入れたい人。
ただし、kencomログイン処理までは自動化していない。
kencomの歩数入力画面までは自分で開いておき、そこから先を自動操作する方針にした。
使い方の詳細は Github 参照。
準備 (kencom側の操作)
kencomの歩数入力画面では、歩数の横にある「+」ボタンから入力する (デモ参照) 。
ここでは、次の操作を自動化した。
- 「+」ボタンを押す
- 日付を入力する
- 歩数を入力する
- 「登録する」ボタンを押す
- 既存データがある場合は、上書き確認にも対応する
歩数データの用意
Huaweiヘルスケアでは、「すべての記録データ」を表示すると、日ごとの歩数を確認できる。
今回は、この画面のスクリーンショットをChatGPTに読ませてCSV化した。
必要なのは日付と歩数だけなので、ここはかなり簡単。
入力データはCSVで、以下の形式:
date,count
2026-05-01,12345
2026-05-02,9876
2026-05-03,13579
実装方針
方針は以下。
| 項目 | 内容 |
|---|---|
| 言語 | Python |
| 実行形式 | CLI |
| 入力方法 | ブラウザ操作 |
| 入力 | CSV |
| ログイン | 自動化しない |
| 自動化範囲 | 歩数入力画面以降 |
ログインや認証まわりを頑張って自動化すると面倒なので、今回は割り切った。
「画面までは人間が開く。単純作業はスクリプトに任せる」という形。
Antigravity で作る
環境
| 項目 | 内容 |
|---|---|
| Antigravity | 2.0.10 |
| Model | Gemini 3.5 Flash |
| 設定 | 変更なし (Vanilla) |
そんなたいした作業ではないし、いつも Codex 使っている感じで、かなりざっくり作業を振る。
最初のプロンプトは以下。
歩数を記録したcsvを入力とし、kencomのwebサイトにアクセスし、歩数を自動で入力するpythonスクリプトを作成したい。
ブラウザ制御で入力するなら、入力する画面まではユーザが遷移させておく想定で良い。コマンド1発送って何とかなるなら、それがベスト。
CLIアプリで良い。
歩数は[steps_may_2026.csv](file;file:///.../steps_may_2026.csv) を参照せよ。
対象URLは添付のvitals.htmlの通り。歩数入力ボタンは、以下のあたり。
<path d="..." fill="currentColor"></path>
[vitals.html](file;file:…/vitals.html)
要するに、以下を渡した。
- 何を作りたいか (入出力)
- 入力CSV
- 対象画面のHTML
- 押したいボタンのHTML構成
4回のやり取りで、最終的には動くものができた。
Antigravityの感想
Pros
| 観点 | 感想 |
|---|---|
| ブラウザ操作 | 安定していた (予期せぬ画面遷移で落ちる、は無い) |
| 画面待ち | 要素が出る前に落ちるようなことは少なかった |
| 技術選定 | モダンなPlaywrightを選択していた (Seleniumを使うと思っていた) |
| 実装速度 | そこそこ速い |
| 進め方 | 毎回プランを出してくるので慎重 (そういう設定にしたからか?) |
Cons
| 観点 | 感想 |
|---|---|
| ゴール到達力 | 目的だけ伝えてもなかなか完成しない |
| 自己診断 | 何ができていないかを把握できていない |
| ログ取得 | 自分から失敗原因を調べにいかない |
| コード品質 | そのまま保守したくなる品質ではない |
以下、Consの深堀。
自己診断
特に気になったのは、失敗したときの調査が弱いこと。
「登録する」ボタンを押せない場面では、こちらから、
buttonタグの中から「登録する」という文字を検索し、
そのエレメントを取得してクリックするように実装せよ。
という実装方法まで指示して、ようやく進んだ。
日付入力も同じで、カレンダーのHTML構造を見せて、どこをクリックすべきかをかなり具体的に伝える必要があった。
Codexだと、自分で環境を作って動けないときでも、別プロジェクトで使った際には、状況把握の工夫が見られた。例えば、ログを出力させるコードを入れて、実行結果を渡すように指示してきたり。
コード品質
最終的に動くコードはできた。
ただし、品質は微妙だった。
- PEP8違反が多い
- 622行あるのに関数は8個だけ
- 長い関数が多い
- 300行近い
if-elseの塊もあった
動かすところまではよい。
ただ、長く使うなら人間がリファクタリングした方がよいと思う。
Codexとの違い
今回の用途では、Codexの方が優秀に感じた。
理由は、失敗したときにログを増やしたり、実行結果を見たりして、原因を切り分けようとする動きがあったから。
Antigravityはブラウザ操作自体はうまい。
ただし、できていないことを自分で見つける力は弱い印象だった。
まとめ
Huawei Bandの歩数をkencomに自動入力するCLIを作った。
やったことは単純。
- Huaweiヘルスケアの歩数をCSV化する
- kencomの歩数入力画面を開く
- Python + Playwrightで日付と歩数を入力する
- 既存データがあれば上書きする
これで、イベント最終日に1回だけスクリプトを回せば良くなった。
Antigravityについては、ブラウザ操作は器用。
ただし、失敗原因の調査やコード品質はまだ人間の補助が必要。
AGENTS.mdのような作りこみを行ったときに Antigravity がどう化けるかは今のところ不明。

