更新情報 v0.1.6

ゆれ子

SWING の新しいバージョンが出たよ。今回は、公開する前にサイトをチェックするための機能がいっぱい増えたんだって。

10/13 に v0.1.6 が出ました。サイトが公開可能な状態か事前に確かめられるようになり、AI エージェントにその確認を任せるためのスキルも入りました。また、新しいアカウントをミラーに追加する前に、相手の鍵の絵文字を見比べることもできるようになりました。この記事では、v0.1.6 で変わったところをまとめます。

ダッシュボードからの公開は先に「内容をチェック」するよう変更

ダッシュボードの公開画面で、フォームの下のボタンが「内容をチェック」になりました。押すと、ドットファイル・サイズ・リンクなどを確かめるだけで、まだ公開はしません。チェックした結果は「公開前の確認」に出るので、内容を見てから「公開」を押すと、アップロードと署名に進みます。

フォームの最後にある「内容をチェック」のボタンが押されて薄くなり、その下に公開前の確認のパネルが出ている。NIP-05 は対象外、ドットファイルは無し、動作性の確認でサイトに無いファイルへの参照が 1 件、新しく増えるファイルとして diary/2026-10-13.html が並び、下に「このまま公開」と「キャンセル」のボタンがある

これまでは、事前のチェックで何も見つからず、前のバージョンから増えたファイルも無ければ、ボタンを 1 回押しただけで公開まで進んでいました。公開したサイトは、ほかの人のミラーにも残るので取り消せません。これからは必ず結果を見てから公開するので、うっかり公開してしまうことがなくなります。そのぶん、公開するにはボタンを 2 回押すことになります。

チェック観点に NIP-05 も加わりました。これまでは NIP-05 が通らないと、全部のファイルをアップロードしてから止まっていました。今は事前チェックの時点で分かり、nostr.json に公開鍵を載せる、HTTPS で配信するなど、結果に合わせた直し方も示してくれます。

ゆれ子

ボタンを 2 回押すのはちょっとだけ手間だけど、公開は取り消せないからね。押す前に深呼吸できると思えば、ちょうどいいかも。

swing publish --dry-run で公開せずに内容をチェックできるオプションを追加

コマンドで公開している人向けに、swing publish に --dry-run を付けられるようになりました。いつもの引数に --dry-run を足すだけで、確認と CID の計算だけをして、何も公開しません。

$ swing publish --site my-garden --title "わたしの庭" -m "10/13 の日記を追加" --nip05 warn --dry-run ./public
Site: my-garden
Title: わたしの庭
Message: 10/13 の日記を追加

NIP-05
  - not applicable (d is not a domain)

Checks
  ✓ dotfiles: none
  ✓ size: 994 B (guideline 512 MiB)
  ! links: 1 found (1 break on gateways)
      diary/2026-10-13.html: ../photos/cosmos.html (not in the site)
      see https://github.com/amane-katagiri/swing/blob/v0.1.6/docs/site-guide.md

Clock
  ✓ the new version would be dated 1791872312

New files
  compared with your latest version on the relays (bafybeie7yqfmmjirzxidbz77vcb7dedm4i2su4qwugl55gudvdxvffutwu)
  ! 1 new file
      diary/
        2026-10-13.html

IPFS (CID only; nothing was added)
  CID: bafybeibhy36lzexhvdd2r6jfsti2nxtmp7o72er43vxj7crfc67arusmky

Previous version
  ✓ changed from the latest version on the relays (bafybeie7yqfmmjirzxidbz77vcb7dedm4i2su4qwugl55gudvdxvffutwu)

Would be published.
Dry run; nothing was published.

本番なら止まってしまう問題があっても、途中で止めずに最後まで確かめて、直すべきものを一度に全部見せてくれます。直しては確かめる、を何度でも気軽に繰り返せます。

swing up を起動していない環境や、鍵をまだ用意していない環境でも使えます。そのときに分からない CID や NIP-05 などは「確かめられなかった」と理由付きで出し、実施できるチェックだけを行います。--json を付けると結果を JSON で出すので、CI やスクリプトから使うこともできます。

AI エージェントにサイトの事前チェックを任せられるスキルを追加

Claude Code や Codex などの AI エージェントに、サイトの事前チェックを任せるためのスキル swing-publish を、swing に同梱しました。次のコマンドで、エージェントが読める場所に書き出せます。

swing skill install

Claude Code なら、これだけで準備完了です(~/.claude/skills/ に書き出します)。ほかのエージェントでは --dir で書き出し先を指定してください。たとえば Codex なら次のようにします。

swing skill install --dir ~/.agents/skills

スキルを読んだエージェントは、swing publish --dry-run の結果に加えて、ツールでは確かめられないこと(CDN から読み込んでいるファイルや、自分のドメインを直接書いたリンクなど)もサイトのソースから探して、直し方を提案してくれます。IPFS で配りやすいサイトにするコツは サイトのチェックリスト にまとめていますが、全部を自分で見て回るのはなかなか大変です。エージェントに任せれば、静的サイトジェネレーターの設定まで一緒に見てもらえます。

スキルでは、エージェントに本番の公開をさせないように指示しています。チェックが終わったら、エージェントは公開するためのコマンドを示して止まります。公開は自分の鍵で署名するものなので、最後のひと押しは自分で行います。

スキルは swing のバージョンごとに中身が違うので、swing を更新したら swing skill install をもう一度実行してください。

ゆれ子

エージェントがサイトを見てくれるのは便利だね。でも公開のボタンを押すのは自分だから、そこは安心してね。

ミラーに追加する前に絵文字のフィンガープリントを表示

v0.1.5 で、アカウントごとに 4 つの絵文字の「フィンガープリント」が出るようになりました。v0.1.6 では、サイト画面とデスクトップ画面の「ミラーに追加」で新しい公開鍵を入力すると、その場で鍵のフィンガープリントが表示されます。

サイト画面のミラーに追加のパネル。入力欄に 2 つの npub が入っていて、その下に鍵ごとに「ギター・UFO・荷物・波」と「荷物・ネコ・こいのぼり・鉛筆」の絵文字と、縮めた npub が並んでいる

これまでは、ミラーに追加した後でないとフィンガープリントを見られませんでした。今は追加する前に、相手が教えてくれた絵文字や SWING Connect のページの絵文字と見比べられます。間違った npub や、別の人の npub をうっかり追加してしまうことを防げます。

公開画面の「自分の情報」にも、自分のアカウントの絵文字が出るようになりました。隣の「コピー」で、絵文字を文字としてコピーできます。チャットなどに貼って、自分のフィンガープリントを相手に伝えるときに使えます。

公開画面の自分の情報のパネル。npub と hex の下に、フィンガープリントとして「荷物・ストロー付きカップ・ブロッコリー・流れ星」の 4 つの絵文字とコピーボタンが並んでいる

ただし、フィンガープリントは鍵を見分けやすくして取り違えを防ぐ目印で、本人だと証明するものではありません。相手が本人かどうかは、これまでどおり npub と NIP-05 で確かめてください。

Webring のグラフを見やすく改善

Webring 画面のグラフは、開いたときにサイト名のラベルが線やほかの丸に重なったり、線が関係のない丸の上を通ったりすることがありました。v0.1.6 では、つながりに沿った位置から並べ始め、形が落ち着くまで計算してから表示します。同じデータなら毎回同じ形になるので、前に見たグラフと見比べやすくなりました。

そのほかの変更

更新のしかた

更新のしかたは、インストール方法によって違います。インストーラーやスクリプトはもう一度実行すれば上書きされ、Homebrew なら brew upgrade の後に swing service install で新しいバージョンに切り替わります。Docker Compose では、git pull の後に docker compose up -d --build で作り直してください。くわしくは 導入の手引き を見てください。

AI エージェント向けのスキルを使うときは、更新したあとに swing skill install を実行してください。