This commit is contained in:
2025-11-09 17:37:18 +09:00
parent 281729460a
commit 0b594e9a2b

View File

@@ -11,14 +11,14 @@ draft: false
1. osが起動する
2. user:aiでログインする
3. user:aiがcontinerを起動して、ログインする
3. user:aiがcontainerを起動して、ログインする
4. claude codeを起動する(aigptというmcpを登録しておく)
[1]osと[2]userが人間領域、それより下の[3-4]continerをAI領域とします。
[1]osと[2]userが人間領域、それより下の[3-4]containerをAI領域とします。
基本的にaiosはこれらのcontiner領域をたくさん使い、AIと併用します。
基本的にaiosはこれらのcontainer領域をたくさん使い、AIと併用します。
このようなコンセプトですから、claude codeはroot環境化で実行できることが望ましいです。continer内では変に権限を制限するのではなくrootで実行するか、user:aiには`NOPASSWD`を設定します。
このようなコンセプトですから、claude codeはroot環境化で実行できることが望ましいです。container内では変に権限を制限するのではなくrootで実行するか、user:aiには`NOPASSWD`を設定します。
```sh
$ arch-chroot ./root.x86_64 /bin/sh -c 'echo "ai ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers'
@@ -26,9 +26,9 @@ $ arch-chroot ./root.x86_64 /bin/sh -c 'echo "ai ALL=(ALL:ALL) NOPASSWD: ALL" >>
$ claude --dangerously-skip-permissions
```
理想のプロセスとしては、osを起動するとcontinerから始まり、AIとchatできる環境に移行します。continerはrecovery用のものをaiosを生成する際に作っておき、環境が破壊されてもすぐにrestoreできるように用意しておきます。
理想のプロセスとしては、osを起動するとcontainerから始まり、AIとchatできる環境に移行します。containerはrecovery用のものをaiosを生成する際に作っておき、環境が破壊されてもすぐにrestoreできるように用意しておきます。
しかし、このようなプロセスではdockerやsystemd-nspawnでテストできません。また、aiosは、dockerなどでも使うことも想定しているため、continerの自動起動などは難しい。したがって、現時点では、user:aiを本番環境のcontiner内として、テストしてみます。
しかし、このようなプロセスではdockerやsystemd-nspawnでテストできません。また、aiosは、dockerなどでも使うことも想定しているため、containerの自動起動などは難しい。したがって、現時点では、user:aiを本番環境のcontainer内として、テストしてみます。
machinectlを使って、aios-imgを作成し、実行します。
@@ -170,15 +170,15 @@ $ machinectl shell aios
今後のosは設定や管理をAIが実行していくようになるのではないでしょうか。
これによって問題は発生するでしょうが、AIの使用を止めるよりcontinerなどを用いて即座にリカバリできる環境を整えるほうがよいと考えています。
これによって問題は発生するでしょうが、AIの使用を止めるよりcontainerなどを用いて即座にリカバリできる環境を整えるほうがよいと考えています。
## aiosのポイント
では、こういった環境下では何が必要になるでしょう。
一つは、AIの記憶です。これがosで共有し、共通している必要があります。continer内であっても同じです。ここは`aigpt`を使います。
一つは、AIの記憶です。これがosで共有し、共通している必要があります。container内であっても同じです。ここは`aigpt`を使います。
次に、user-dirはcontinerと共有化するのが最適かもしれません。例えば、claudeの設定ファイルが共通されていなければ困ります。
次に、user-dirはcontainerと共有化するのが最適かもしれません。例えば、claudeの設定ファイルが共通されていなければ困ります。
最後に、この仕組みはclaude codeが前提になっているということです。