1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

底辺高専生がAI対応P2Pブラウザを自作してみた話

Last updated at Posted at 2025-07-12

はじめに

P2P通信・AI搭載・ブラウザ・IOT制御・ゲーム対応を1つにまとめた多機能プラットフォームをTauri×Rustで作りました。
今回はそれを作った理由、実装上の工夫、苦労したこと、そして今後やりたいことなどをまとめてみます。

目次

何を作ったか

-> 多機能なプラットフォームにAIを載せたもの

  • p2pによるAIを搭載
  • ブラウザー
  • IOT制御アプリ
  • ゲームプラットフォームとして

なぜ作ったか

  • いまコンピューターの性能はおおよそ頭打ちになったと考えた(半導体のサイズ的に)
    では今のリソースをどう有効に活用するか、その解決として
  • IOTの製品を制御するのに巨大なリソースがなくても扱える
  • サーバーがなくても通信やファイルの入手ができる
  • 独自のプロトコルで通信を最適化できる(UDP、rawsocket)
  • 感情や状況判断などの演算に応用するため
  • ブラウザーを自作することでforkしやすくしたかった(webviewだけど)

採用した技術

  • tauri(v.2.5.1)現時点最新, rust, node周り
  • rawsocket, tokioとか

ブラウザーを作るにはtauriで十分なものを作れる

tauriについてはこちら(後で入れます、ちょっと時間かかります)

プログラムについて

  • forward型のAIを採用(自作のAIコードだがまぁまぁな性能がでた)
    hebbianを使い,勾配を周りに分け、発散防止。そして中間層をいくらでも増やせる
  • 犯罪や、不正の操作に対する対処を書くノードがするようになっている
  • LLMなどを取り込んで”AIのラッパー”の役割をもたせるのも1つの目的
  • SIMD演算によりデータの種類からformat分岐させる(未実装)
  • WEB通信や画像を全ホストで処理して弱いPCにもリソースを分けれる(未実装)

*生成自体には向いていない

--- protocolの構造 ---

IP
PORT
SESSION_ID:  IPを秘匿しながら通信を確立
FORMAT:      data_vec, dataのデータタイプを入れる。 感情が[0, 2]とか
DATA_VEC:    データのベクトルを入れる
DATA:        データを入れる

感想

詰まったところ

たくさんあるけど、使用自体に苦しめられたことは以下
  
tauriのversionによって使用変わりすぎ

  • jsonの使えるものが変わっている node関係も変わっている
    セキュリティが硬い
  • security的にiframeの埋め込みができないなど
    file formatの問題
  • rustでファイルをダウンロードするロジックのときはbase64を経由(テキストに変換したほうが安定する)
     nodeのよくわからん仕様
  • tauriの引数はnode側がキャメルケースしか許さない さらに引数名も合わせないといけないのでrustもキャメルで書くのが楽

今後の展望

  • いまは多数ホストでの有効性とかは調べていないし、AIもまだ改良するところがある。
  • 署名付きすることや、現在は動いていない”session_id”,もうまく使えればいい
  • hookとかAPI出してCLIにも使えるようにすれば汎用性が高まる
  • 今はとりあえず動いてるが、整理したい部分が多い(面倒で放置中)

以下githubなど
github-OSAI-browser:ソースコード公開中

itch-OSAI-browser:実行ファイルを配布中

Hacker Newsでの反響と課題

このプロジェクトは Hacker News (Show HN) にも投稿しました。
技術的な質問や批判的な意見もありましたが、普通のwebviewとの差別化といった視点は今後の改善に活かせると感じています。

初投稿ということもあり、表現が拙い部分もありましたが、興味を持って見に来てくれた人は200人近く。海外でも「P2Pブラウザ × AI」に可能性を感じてくれたことは励みになりました。

最後に

いまはOSAI-browserでやってきたが、”OSAI”自体が被っているので改名を考えている
何がともあれここまで動いて面白い
LLMバンザイ

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?