Fedify 1.6

Fedify 1.6.1がリリースされ、Cloudflare Workersへの対応やセキュリティ互換性の向上が図られました。サーバーレス環境でのActivityPubアプリケーション実行を可能にするため、Cloudflare KV APIを利用した`WorkersKvStore`や、Cloudflare Queuesを活用した`WorkersMessageQueue`が導入されています。また、`FederationBuilder`クラスと`createFederationBuilder()`関数により、フェデレーションの遅延インスタンス化がサポートされ、コード構成の改善やCloudflare Workersとの互換性が向上しました。さらに、最新のHTTP Message Signatures標準(RFC 9421)を実装し、レガシー実装との互換性を保つためのダブルノック機構も導入されています。WebFinger機能の強化やContext APIの改善も行われ、開発者はより柔軟なリクエスト処理やデータフロー管理が可能になります。このリリースは、フェディバースにおける幅広い互換性を維持しつつ、デプロイメントの選択肢を広げ、新たなActivityPubセキュリティ標準に対応するための重要な一歩です。

Hackers' Pub

ActivityPubサーバーを構築してみたいけれど、どこから始めればよいかわからない方には、Fedifyのチュートリアル『自分だけのフェディバースのマイクロブログを作ろう!』をおすすめします。包括的でステップバイステップのガイドで、完全に機能する連合型アプリケーションの構築方法を丁寧に解説しています。フェディバースに飛び込みたい開発者にぴったりです!

#ActivityPub #Fedify #チュートリアル #フェディバース #fediverse

自分だけのフェディバースのマイクロブログを作ろう!

このチュートリアルでは、ActivityPubサーバーフレームワークであるFedifyを使用して、MastodonやMisskeyのようなActivityPubプロトコルを実装するマイクロブログ(microblog)を作成します。

Zenn
Flipboard Expands Publisher Federation with International Partners
https://werd.io/2025/flipboard-expands-publisher-federation-with-international-partners
最近日本じゃフェディバースの話題聞かなくなっちゃったけど、FlipboardとかGhostはかなり頑張ってる印象。 #fediverse #フェディバース
Flipboard Expands Publisher Federation with International Partners

https://about.flipboard.com/fediverse/flipboard-expands-publisher-federation-with-international-partners/ [Flipboard Expands Publisher Federation with International Partners]Flipboard just launched 124 new publishers to the Fediverse - bringing the total number it hosts to 1,241. "We’re

Werd I/O

BotKit 0.2.0のリリース

BotKit 0.2.0をリリースしました!BotKitを初めて知る方のために簡単に説明すると、BotKitはTypeScriptで開発されたスタンドアロンのActivityPubボットフレームワークです。Mastodon、Misskeyなどさまざまなフェディバース(#fediverse)のプラットフォームと連携でき、既存プラットフォームの制約なしに自由にボットを作成できます。

このリリースは、フェディバースにおけるボット開発をより簡単で強力にするための旅の重要な一歩であり、コミュニティから要望のあった機能を多数導入しています。

より良いボットインタラクションへの旅

BotKitの開発において、私たちは常にボットをより表現力豊かでインタラクティブにすることに焦点を当ててきました。バージョン0.2.0では、フェディバースの社会的側面をボットに取り入れることで、さらに一歩前進しました。

カスタム絵文字でボットの個性を表現

最も要望の多かった機能の一つがカスタム絵文字のサポートです。これにより、ボットは独自の視覚要素でメッセージを目立たせ、自分だけの個性を表現できるようになりました。

// ボット用のカスタム絵文字を定義 const emojis = bot.addCustomEmojis({ botkit: { file: `${import.meta.dirname}/images/botkit.png`, type: "image/png" }, fedify: { url: "https://fedify.dev/logo.png", type: "image/png" } }); // メッセージにカスタム絵文字を使用 await session.publish( text`BotKit ${customEmoji(emojis.botkit)}は、Fedify ${customEmoji(emojis.fedify)}によって支えられています` );

この新しいAPIでは、次のことが可能になりました。

リアクションによるコミュニケーション

コミュニケーションは単にメッセージを投稿するだけではありません。他の人のメッセージに反応することも重要です。新しいリアクションシステムは、ボットとフォロワーの間に自然な交流ポイントを作り出します。

// 標準のUnicode絵文字でメッセージにリアクション await message.react(emoji`👍`); // または定義したカスタム絵文字でリアクション await message.react(emojis.botkit); // リアクションを認識して応答するボットを作成 bot.onReact = async (session, reaction) => { await session.publish( text`${reaction.actor}さん、私のメッセージに${reaction.emoji}でリアクションしてくれてありがとうございます!`, { visibility: "direct" } ); };

この機能により、ボットは次のことができるようになりました。

  • Message.react()を使用してUnicode絵文字でメッセージにリアクション
  • 定義したカスタム絵文字でリアクション
  • Bot.onReactBot.onUnreactハンドラーでリアクションイベントを処理

引用による会話

議論では、他の人が言ったことを参照する必要がしばしばあります。新しい引用機能により、より結束力のある会話スレッドを作成できます。

// ボットの投稿で他のメッセージを引用 await session.publish( text`この興味深い視点について答えます...`, { quoteTarget: originalMessage } ); // ユーザーがボットのメッセージを引用した場合の処理 bot.onQuote = async (session, quoteMessage) => { await session.publish( text`${quoteMessage.actor}さん、私の考えを共有してくれてありがとうございます!`, { visibility: "direct" } ); };

引用機能により、ボットは次のことができるようになりました。

  • quoteTargetオプションでメッセージを引用
  • Message.quoteTargetを通じて引用されたメッセージにアクセス
  • 新しいBot.onQuoteイベントハンドラーで引用イベントを処理

視覚的な改善

コミュニケーションには視覚的要素も重要なため、ボットの表現方法を改善しました。

  • ウェブインターフェースで画像添付ファイルが正しく表示されるようになりました
  • ボットのコンテンツがより見やすくなり、豊かな体験を提供します

内部改善:活動の伝播の強化

フェディバースでの活動が伝播する方法も改善されました。

  • 返信、共有、更新、削除のより正確な伝播
  • 元のメッセージ作成者に活動が適切に送信されます

これらの改善により、様々なフェディバースプラットフォームでのボットの相互作用が一貫性と信頼性を持つようになります。

BotKit 0.2.0で最初の一歩を踏み出す

これらの新機能を体験してみたいですか?BotKit 0.2.0はJSRで利用可能で、簡単なコマンドでインストールできます。

deno add jsr:@fedify/botkit@0.2.0

BotKitはTemporal API(JavaScriptではまだ試験的な機能)を使用するため、deno.jsonでこれを有効にする必要があります。

{ "imports": { "@fedify/botkit": "jsr:@fedify/botkit@0.2.0" }, "unstable": ["temporal"] }

これらの簡単なステップで、最新機能を使ってフェディバースボットを作成またはアップグレードする準備が整いました。

今後の展望

#BotKit 0.2.0は、フェディバースボット開発をアクセスしやすく、強力かつ楽しいものにするための私たちの継続的な取り組みを示しています。これらの新機能が、皆さんのボットをフェディバースコミュニティでより魅力的でインタラクティブなメンバーにするのに役立つと信じています。

完全なドキュメントと詳細な例については、私たちのドキュメントサイトをご覧ください。

フィードバック、機能リクエスト、コード貢献を通じてこのリリースに貢献してくださったすべての方々に感謝します。BotKitコミュニティは成長を続けており、皆さんが作成するものを楽しみにしています!

BotKitは、ActivityPubサーバーアプリケーションを作成するための低レベルフレームワークFedifyによって支えられています。

#fedidev #フェディバース #カスタム絵文字 #絵文字リアクション #絵文字反応 #引用

BotKit by Fedify

A framework for creating your ActivityPub bots

ソフトウェアエンジニア向けのフェディバースサービスHackers' Pubをご存知でしょうか?私たちが特に大切にしているのは、他のプラットフォームとは少し異なる行動規範です。

私たちは現実社会の不平等がオンライン空間にも反映されることを認識しています。そのため、「すべての人を同じように扱う」という表面的な中立性ではなく、構造的不平等に積極的に対応する姿勢を明確にしています。このアプローチの一環として、差別的発言と差別に対抗する発言を区別しています。これにより、差別への批判まで同列に扱ってしまう「両極端主義」の落とし穴を避けられると考えています。

技術コミュニティでよく見られる問題として、特定の技術選択への批判や技術レベルによる階層化があります。「これも知らないの?」という態度は学びを阻害するだけです。私たちは初心者も経験者も同じく尊重される環境づくりを重視しています。

また、フェディバースの核心的価値としてプライバシーがありますが、Hackers' Pubでは特に匿名性の権利を強調しています。他者の素性を特定しようとする行為や、匿名であることを理由とした差別を禁止することで、安心して参加できる場を目指しています。

こうした行動規範自体も完璧ではなく、コミュニティとともに進化するものだと考えています。すべてのメンバーが改善案を提案できる仕組みを整えることで、より良い環境を共に創っていきたいと思います。

詳細はHackers' Pubの行動規範をご覧ください。フェディバースでより健全な技術コミュニティを一緒に育てていきませんか?

※Hackers' Pubは現在招待制となっています。ご興味のある方はコメントや私(@hongminhee)へのDMでメールアドレスをお知らせください。

#HackersPub #行動規範 #フェディバース #TechCommunity

Hackers' Pub

Hackers' Pubは、ソフトウェアエンジニアが知識と経験を共有する場所です。また、ActivityPubに対応したソーシャルネットワークでもあり、フェディバース(fediverse)で気に入ったハッカーをフォローして、最新のコンテンツをフィードで受け取ることができます。

国漢文混用体からHolloまで

本日、第8回FediLUG勉強会で「国漢文混用体からHolloまで」というタイトルで発表をしてきました。

私がなぜActivityPubサーバーフレームワークのFedifyと、シングルユーザー向けActivityPubサーバーのHolloを開発する事に成ったのか、その旅路を共有しました。

実は全ての始まりは、韓国語の「国漢文混用体」(漢字ハングル混じり文)に「振りハングル」を付けたいという単純な願いからでした。この小さな目標が、最終的にFedifyHolloという二つのプロジェクトへと発展したのです。

興味のある方は、発表スライドをご覧ください: 「国漢文混用体からHolloまで」(Speaker Deck)

#FediLUG #Fedify #Hollo #ActivityPub #フェディバース #fediverse #fedidev

国漢文混用体からHolloまで

本発表では、韓国語の「国漢文混用体」(漢字ハングル混じり文)を自分のフェディバース投稿に実装したいという小さな目標から始まった旅路を共有します。 この目標を達成するために、ActivityPubのJSON-LDの複雑さやHTTP Signatures、WebFingerなどの仕様を理解する必要性に…

Speaker Deck

今回、@lqez さんの『我々のコードを求めて』というYouTubeに出演させていただき、#フェディバース#ActivityPub#Fedify#Hollo 等についてお話させていただきました。日本語字幕が用意されていますので、FedifyやHolloの開発秘話などが気になる方はぜひご覧ください!

https://www.youtube.com/watch?v=sqxR8zscSDo

#fediverse #fedidev

우리의 코드를 찾아서 – 2막. 민희님과 Fedify & Hollo 알아보기

YouTube

改めて、マストドン & Fediverseを何も知らない人を誘い込む時に見てほしい記事を、もっとシンプルに解りやすく書こうと思っていたんだけど、

前からある他者さまのこの記事、前からチラッと見てたけど改めて下まで読んでいくと、図も美しいし敵わねえな。

無知な自分が書くとヘタ書きそうだし、もういいか。

🕊フェディバース (Fediverse) ことはじめ|Takehiko Ono
https://note.com/onopko/n/nd299c16f9969

#マストドン宣伝隊 #マストドン #mastodon #フェディバース #fediverse #ミスキー #misskey

フェディバース (Fediverse) ことはじめ|Takehiko Ono

ここ最近「フェディバース (Fediverse)」という言葉を聞かないでしょうか。聞きませんか、聞きませんよね…。しかし目下進行中のTwitterの大騒動も手伝って、いま徐々に盛り上がりを見せている分野なので、これを知っておけば大丈夫。なことをまとめます。 まったくもって知らないよ。という人にも極力分かるように、の説明ですので細かなところは端折ったり、平易化していることはご了承ください🙇‍♂️。 「分散型」SNS いまの世の中、Twitter・Facebook・Instagram・TikTokなど、挙げればキリがないですが数多くのSNSが存在します。 これらは「中央集権

note(ノート)

殆どのActivityPub実装では、NoteArticleの内容(content)内で他のアクター(actor)に言及(メンション)する場合、tag属性に該当するMentionオブジェクトを含めています。では、PersonGroupなどのアクターオブジェクトも、自己紹介(summary)内で他のアクターに言及する場合、tag属性に該当するMentionオブジェクトを含めるべきでしょうか?既にその様に動作している実装はあるでしょうか?(Mastodonは確認した結果、含めていない様です。)どの様にお考えですか?

#ActivityPub #フェディバース #fediverse #fedidev

拡散希望:開発中のプロジェクトHackers' Pubの日本語ベータテスターを募集します!

これはフェディバース版のQiita/Zennを目指す、ActivityPub基盤の開発者向けSNS兼ブログプラットフォームです。AGPL-3.0ライセンスでソースコードを公開しており、GitHubでプロジェクトも公開進行中です。

現在韓国語話者中心に招待制ベータテスト中ですが、日本の開発者コミュニティにも広げたいと思っています。ソフトウェア開発に興味がある方、フェディバースが好きな方、新しいプラットフォームを試してみたい方、ぜひご参加ください!興味のある方はリプライかDMでメールアドレスをお送りください。

#HackersPub #フェディバース #拡散希望

Hackers' Pub

Hackers' Pubは、ソフトウェアエンジニアが知識と経験を共有する場所です。また、ActivityPubに対応したソーシャルネットワークでもあり、フェディバース(fediverse)で気に入ったハッカーをフォローして、最新のコンテンツをフィードで受け取ることができます。