結論から書きます
当社(株式会社TOE)は、noteを2つのアカウントで無人運用しています。「補助金の鬼」(ユーザー名 jazzy_boar4126)と「AIの鬼」(ユーザー名 jojinja)です。cronから起動する公開スクリプト auto_publish.mjs が、Playwright/Chromeでnoteのブラウザ画面を操作して記事を公開します。APIは使っていません。
この構成で一番怖い事故は、公開の失敗ではありません。補助金の記事がAIのアカウントに載る、という「誤爆」です。 それを防ぐために、記事を公開する直前に、いま実際にログインしているアカウントのユーザー名をページから取得し、期待する名前と照合する工程を入れています。違っていたら、あるいはログインが切れていたら、その場で処理を停止して「ログインが違う/切れている」と記録し、公開しません。
その代わり、cookieが切れた日は投稿が止まります。この仕組みは「必ず公開する」ものではなく「誤爆を防ぐ」ものです。そこも正直に書きます。
用語を3つだけ
- 無人投稿 … 人が画面を見ていない状態で、cron(時刻を決めた自動実行)からスクリプトがブラウザを操作し、noteに記事を公開することです。
- Chromeプロファイル … ブラウザのログイン状態(cookie)を保存する入れ物です。当社はアカウントごとに専用のプロファイル(.chrome-profile)を用意し、物理的に分離しています。
- urlname … noteのユーザー名です。当社なら jazzy_boar4126(補助金の鬼)と jojinja(AIの鬼)。公開直前に、ページからこの値を取得して照合します。
2アカウントの分離
| 項目 | 補助金の鬼 | AIの鬼 |
|---|---|---|
| noteユーザー名(urlname) | jazzy_boar4126 | jojinja |
| ログイン情報 | 専用のChromeプロファイル | 専用のChromeプロファイル(別物) |
| 公開方法 | cronから auto_publish.mjs が無人で公開 | 同じ仕組み |
プロファイルを分けているので、通常なら混ざりません。しかし「通常なら」を信用しないのが、この仕組みの出発点です。
公開直前の照合ガード
公開ボタンを押す前に、スクリプトは次の分岐を通ります。
| ページから取得したurlname | 判定 | 動作 |
|---|---|---|
| 期待する名前と一致(例:補助金の鬼なら jazzy_boar4126) | 正しいアカウント | 公開に進む |
| 期待する名前と不一致 | ログインがずれている | その場で停止(die)。「ログインが違う」と記録し、公開しない |
| 取得できない(ログイン切れ) | ログインが切れている | その場で停止。「ログインが切れている」と記録し、公開しない |
公開に成功すると、https://note.com/jazzy_boar4126/n/<記事ID> のように、正しいアカウントのURLがログに残ります。 どちらのアカウントに載ったかが、あとから確認できます。
なぜ「止める」ほうを選んだか
ブラウザ自動操作は、cookie切れやログインずれが起きうるものです。ここで選択肢は2つあります。間違ったまま突き進むか、照合して違えば止めるか。
当社は後者を選びました。止まれば、その日の記事が公開されないだけです。しかし突き進んで誤爆すれば、補助金の読者にAIの記事が届く——読者への信頼に関わる、取り返しのつきにくい事故になります。「動き続けること」より「間違ったことをしないこと」を優先する、安全側に倒す設計です。
正直に書く、この仕組みの弱点
- これは「誤爆を防ぐ」仕組みであって、「必ず公開する」仕組みではありません。 cookieが切れれば公開は止まり、その日は投稿されません。
- 止まった日をどう拾い直すかは、この照合ガード自体の仕事ではありません。ガードは「間違った公開をしない」ことだけを保証します。
それでも、誤爆よりはるかにまし——これが当社の判断です。
関連する記録
- note投稿の半自動化の記録 — 無人投稿に至る前の段階の話。
- ブラウザ自動操作の記録 — Playwrightでブラウザを操作する側の仕組み。
まとめ
- noteを2アカウント(補助金の鬼=jazzy_boar4126/AIの鬼=jojinja)で無人運用している。一番怖い事故は誤爆(取り違え投稿)。
- ログインはアカウント専用のChromeプロファイルで物理的に分離。
- さらに公開直前に、実際のログインユーザー名(urlname)を取得して期待値と照合。不一致・ログイン切れならその場で停止して記録し、公開しない。
- 成功時は正しいアカウントのURLがログに残るので、あとから確認できる。
- 弱点も正直に:cookieが切れればその日は投稿されない。ただし、間違ったまま突き進むより、止まるほうがはるかにまし。安全側に倒す設計である。