Ubichill
アプリを開く

ゆるく集まる、
じぶんの部屋。

描いたり、観たり、いっしょに過ごす 2D メタバース。ワールドも mod も、自分で作って、自分で持てる。

federation v1 サーバー間の連合に対応
Ubichill のワールド。夜の部屋で 4 人のカーソルが集まり、ペンで波やハートを描いている
自分のサイトに置いたワールドに、友だちが集まっている

自分で持てる

ワールドも mod も URL。置き場所は自分で決める。

ブラウザのワールドエディタ。動画プレイヤーやペンを置いている

ブラウザで作れる

エディタで置くだけ。裏は同じ YAML。

ペンと動画がある作業部屋を作って
kind: World
metadata: { name: chill-room }
spec:
  dependencies:
    - name: pen
    - name: video-player

コードで書ける

ワールドは YAML、mod は TypeScript。AI にも頼める。

ホームyokan.example 部屋ubichill.com 作品mio.dev

中央を持たない

人・部屋・作品が、それぞれの場所にあってつながる。

作ったものは、
自分の場所に。

ワールドも mod も URL。どこに置いても、署名で本物とわかる。

  • ワールド=URL

    開けば、だれでも入れる。

  • 鍵は手元に

    サーバーは秘密鍵を預からない。

  • 作者署名

    改ざんとなりすましを見分ける。

  • ただのファイル

    Git で管理して、持ち出せる。

chill-room.yaml 作者署名あり
作者
@[email protected]
置き場所
yokan.github.io/worlds/chill-room.yaml
署名
ed25519
内容
sha256-9f2c…e41a
Ubichill GitHub Pages 自分のサーバー S3

mod はコードで書く。

TypeScript で書いて、Worker のサンドボックスで動く。

いいねボタン

const like = Ubi.state.define({
  count: Ubi.state.sync(0),
});

export default function LikeButton() {
  return (
    <button onClick={() => like.local.count++}>
      いいね {like.local.count}
    </button>
  );
}

@ubichill/cli

  • ubichill dev 手元で動かす
  • ubichill build ビルド
  • ubichill login 公開の準備
  • ubichill publish 署名して公開
  • ubichill ci create CI から公開

権限

  • safe 確認なし
  • sensitive 初めて使うときに確認
  • dangerous まとめて拒否できる

中央がない。

人も、部屋も、作品も、それぞれの場所に。

人は、ホームサーバーに

@yokan @yokan.example

部屋は、部屋のサーバーに

chill-room @ubichill.com

作品は、作者の URL に

mio.dev /mods/like/

自分のサーバーを建てる

helm install ubichill ubichill/ubichill -n ubichill \
  --create-namespace --set global.domain=your.server

Misskey や Mastodon から、
フォローできる。

@[email protected] で検索すると、自己紹介と作ったワールドが出てくる。

ubichill からフェディバースへの投稿も、これから。

オープンソース。

AGPL-3.0。PR は日本語でも歓迎。