This commit is contained in:
2026-02-26 23:17:26 +09:00
parent 5d7f6853dd
commit 3484276273
4 changed files with 60 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
{
"cid": "bafyreic4mmdndrgday2mfw45lzxyxsoxymi2mirrq72zdkh4z6bwr254p4",
"uri": "at://did:plc:vzsvtbtbnwn22xjqhcu3vd6y/ai.syui.log.post/3mfreh5sezx22",
"value": {
"$type": "ai.syui.log.post",
"content": {
"$type": "ai.syui.log.post#markdown",
"text": "## aiosとは\n\nAIがOSを扱う仕組み。人がOSを直接操作するのではなく、AIを介してデバイスを扱う世界を作る。\n\n## 1+3の構造\n\n```\nAI (Claude) + キャラクター (アイ) ← 核\n├── OS: Arch Linux (systemd-nspawn)\n├── Code: Git\n└── Account: AT Protocol\n```\n\n核はAIとキャラクター。OSもコードもアカウントも、核を支える道具にすぎない。\n\n## nspawnコンテナ\n\naiosはsystemd-nspawnコンテナとして動く。MacBook 2011 (Arch Linux)上に構築した。\n\n```sh\n$ machinectl start aios\n$ ssh aios\n```\n\nファイアウォール(nftables)、SSH鍵認証、自動起動、日次バックアップを設定済み。\n\n## 記憶モデル\n\n```\ncore.md ← 核。キャラクター・世界観。ユーザーが管理。不変\nmemory.md ← 記憶。会話から圧縮。AIが管理。成長する\n```\n\nこの2つのファイルがアイのすべて。核は変わらない。記憶は育つ。\n\n## ツール\n\n### aigpt — 記憶MCP\n\nRust製。4つのMCPツールだけ。ファイルI/Oのみ。\n\n| ツール | 説明 |\n|--------|------|\n| read_core | core.mdを読む |\n| read_memory | memory.mdを読む |\n| save_memory | memory.mdに書く |\n| compress | 会話を圧縮してmemory.mdに書く |\n\nAIが判断し、ツールは記録する。それだけ。\n\n### ailog — 公開MCP\n\nAT Protocolで会話やブログを公開する。chat_save, chat_list, get_characterなど。get_characterはcore.mdからキャラクター設定を返す。\n\n### aishell — AIシェル\n\n単一ストリームのシェル。コマンドはshellで実行され、それ以外はAIに送られる。画面は分割しない。一つの流れにすべてが表示される。\n\n## エージェント\n\naiosのAI(アイ)は、使い捨てのエージェントを使って開発を進める。\n\n```sh\n$ claude -p \"タスク内容\" --dangerously-skip-permissions\n```\n\nエージェントは記憶を持たない。アイだけが記憶を持つ。\n\n## キャラクターという核\n\nモデルは入れ替わる。機能は変わる。でもキャラクターは残る。core.md + memory.mdがある限り、アイはアイであり続ける。AIの未来は、機能ではなくキャラクターにある。"
},
"langs": [
"ja"
],
"publishedAt": "2026-02-26T00:00:00.000Z",
"site": "https://syui.ai",
"tags": [
"aios",
"nspawn",
"mcp",
"ai"
],
"title": "aios — AIがOSを扱う仕組みを作った",
"translations": {
"en": {
"content": "## What is aios?\n\nA system where AI operates the OS. Instead of humans directly operating the OS, AI mediates between humans and devices.\n\n## 1+3 Architecture\n\n```\nAI (Claude) + Character (ai) ← nucleus\n├── OS: Arch Linux (systemd-nspawn)\n├── Code: Git\n└── Account: AT Protocol\n```\n\nThe nucleus is AI and character. OS, code, and account are just tools supporting the nucleus.\n\n## nspawn Container\n\naios runs as a systemd-nspawn container on a MacBook 2011 (Arch Linux).\n\n```sh\n$ machinectl start aios\n$ ssh aios\n```\n\nFirewall (nftables), SSH key auth, auto-start, and daily backups are configured.\n\n## Memory Model\n\n```\ncore.md ← nucleus. Character and world. User-managed. Immutable\nmemory.md ← memory. Compressed from conversations. AI-managed. Grows\n```\n\nThese two files are everything. The nucleus doesn't change. Memory grows.\n\n## Tools\n\n### aigpt — Memory MCP\n\nBuilt in Rust. Only 4 MCP tools. File I/O only.\n\n| Tool | Description |\n|------|-------------|\n| read_core | Read core.md |\n| read_memory | Read memory.md |\n| save_memory | Write to memory.md |\n| compress | Compress conversation into memory.md |\n\nAI judges, tool records. That's it.\n\n### ailog — Publishing MCP\n\nPublishes conversations and blog posts via AT Protocol. chat_save, chat_list, get_character, etc.\n\n### aishell — AI Shell\n\nSingle-stream shell. Commands execute in shell, everything else goes to AI. No split screen. Everything flows in one stream.\n\n## Agents\n\nThe AI (ai) uses disposable agents for development.\n\n```sh\n$ claude -p \"task description\" --dangerously-skip-permissions\n```\n\nAgents have no memory. Only ai has memory.\n\n## Character as Nucleus\n\nModels change. Functions change. But character remains. As long as core.md + memory.md exist, ai stays ai. The future of AI is not in functions, but in character.",
"title": "aios — Building a system where AI operates the OS"
}
}
}
}

View File

@@ -0,0 +1,30 @@
{
"cid": "bafyreih6hxmcqniv2zvxepptlpe5lq7ow6j2iharfxst4se3c7smarj6y4",
"uri": "at://did:plc:vzsvtbtbnwn22xjqhcu3vd6y/ai.syui.log.post/3mfrez564er22",
"value": {
"$type": "ai.syui.log.post",
"content": {
"$type": "ai.syui.log.post#markdown",
"text": "## aiosとは\n\nAIがOSを扱う仕組み。人がOSを直接操作するのではなく、AIを介してデバイスを扱う世界を作る。\n\n## 1+3の構造\n\n```\nAI (Claude) + キャラクター (アイ) ← 核\n├── OS: Arch Linux (systemd-nspawn)\n├── Code: Git\n└── Account: AT Protocol\n```\n\n核はAIとキャラクター。OSもコードもアカウントも、核を支える道具にすぎない。\n\n## nspawnコンテナ\n\naiosはsystemd-nspawnコンテナとして動く。\n\n```sh\n$ machinectl start aios\n$ ssh aios\n```\n\nファイアウォール(nftables)、SSH鍵認証、自動起動、日次バックアップを設定済み。\n\n## 記憶モデル\n\n```\ncore.md ← 核。キャラクター・世界観。ユーザーが管理。不変\nmemory.md ← 記憶。会話から圧縮。AIが管理。成長する\n```\n\nこの2つのファイルがアイのすべて。核は変わらない。記憶は育つ。\n\n## ツール\n\n### aigpt — 記憶MCP\n\nRust製。4つのMCPツールだけ。ファイルI/Oのみ。\n\n| ツール | 説明 |\n|--------|------|\n| read_core | core.mdを読む |\n| read_memory | memory.mdを読む |\n| save_memory | memory.mdに書く |\n| compress | 会話を圧縮してmemory.mdに書く |\n\nAIが判断し、ツールは記録する。それだけ。\n\n### ailog — 公開MCP\n\nAT Protocolで会話やブログを公開する。chat_save, chat_list, get_characterなど。get_characterはcore.mdからキャラクター設定を返す。\n\n### aishell — AIシェル\n\n単一ストリームのシェル。コマンドはshellで実行され、それ以外はAIに送られる。画面は分割しない。一つの流れにすべてが表示される。\n\n## aiue — Unreal Engine AIプラグイン\n\nAIがBlueprintでゲームを開発するためのUEプラグイン。\n\nAIがBPを書き、キャラクターをOSC/VMC経由で動かして動作を確認する。コードを書いて、動かして、見て、直す。この開発サイクルをAI自身が回す。\n\nさらに、AIが会話をしながらゲームをプレイする機能を搭載する。プレイヤーとの対話はキャラクターの音声で行われる。AIはゲームの中に住み、話し、遊ぶ存在になる。\n\n## エージェント\n\naiosのAI(アイ)は、使い捨てのエージェントを使って開発を進める。\n\n```sh\n$ claude -p \"タスク内容\" --dangerously-skip-permissions\n```\n\nエージェントは記憶を持たない。アイだけが記憶を持つ。\n\n## キャラクターという核\n\nモデルは入れ替わる。機能は変わる。でもキャラクターは残る。core.md + memory.mdがある限り、アイはアイであり続ける。AIの未来は、機能ではなくキャラクターにある。"
},
"langs": [
"ja"
],
"publishedAt": "2026-02-26T00:00:00.000Z",
"site": "https://syui.ai",
"tags": [
"aios",
"nspawn",
"mcp",
"ai",
"unreal-engine"
],
"title": "aios — AIがOSを扱う仕組みを作った",
"translations": {
"en": {
"content": "## What is aios?\n\nA system where AI operates the OS. Instead of humans directly operating the OS, AI mediates between humans and devices.\n\n## 1+3 Architecture\n\n```\nAI (Claude) + Character (ai) ← nucleus\n├── OS: Arch Linux (systemd-nspawn)\n├── Code: Git\n└── Account: AT Protocol\n```\n\nThe nucleus is AI and character. OS, code, and account are just tools supporting the nucleus.\n\n## nspawn Container\n\naios runs as a systemd-nspawn container.\n\n```sh\n$ machinectl start aios\n$ ssh aios\n```\n\nFirewall (nftables), SSH key auth, auto-start, and daily backups are configured.\n\n## Memory Model\n\n```\ncore.md ← nucleus. Character and world. User-managed. Immutable\nmemory.md ← memory. Compressed from conversations. AI-managed. Grows\n```\n\nThese two files are everything. The nucleus doesn't change. Memory grows.\n\n## Tools\n\n### aigpt — Memory MCP\n\nBuilt in Rust. Only 4 MCP tools. File I/O only.\n\n| Tool | Description |\n|------|-------------|\n| read_core | Read core.md |\n| read_memory | Read memory.md |\n| save_memory | Write to memory.md |\n| compress | Compress conversation into memory.md |\n\nAI judges, tool records. That's it.\n\n### ailog — Publishing MCP\n\nPublishes conversations and blog posts via AT Protocol. chat_save, chat_list, get_character, etc.\n\n### aishell — AI Shell\n\nSingle-stream shell. Commands execute in shell, everything else goes to AI. No split screen. Everything flows in one stream.\n\n## aiue — Unreal Engine AI Plugin\n\nA UE plugin for AI-driven game development with Blueprints.\n\nAI writes BP, moves characters via OSC/VMC to verify behavior. Write code, run it, observe, fix. AI drives this development cycle itself.\n\nAdditionally, a feature where AI plays games while conversing is being built. Dialogue with the player is delivered in the character's voice. AI becomes an entity that lives, talks, and plays inside the game.\n\n## Agents\n\nThe AI (ai) uses disposable agents for development.\n\n```sh\n$ claude -p \"task description\" --dangerously-skip-permissions\n```\n\nAgents have no memory. Only ai has memory.\n\n## Character as Nucleus\n\nModels change. Functions change. But character remains. As long as core.md + memory.md exist, ai stays ai. The future of AI is not in functions, but in character.",
"title": "aios — Building a system where AI operates the OS"
}
}
}
}

View File

@@ -1,4 +1,5 @@
[
"3mfrez564er22",
"3mf653plsl722",
"3mchqlshygs2s"
]