有一阵子我一直在想:Agent 时代到来,我们到底该先造“应用集合”,还是先造“系统内核”,
图片记录了当时的一些想法切片,也是 nanoaios 的起点
nanoaios :一个面向 Agent 时代的极简 AIOS-kernel demo实现,定位为 AIOS 的 Linux。
目标不是堆叠“AI 功能集合”,而是提供一套可验证、可扩展、可替换的系统级 AI 抽象。
写燃起来了,快速 vibe 的一个项目,之后或许会继续完善,欢迎交流讨论
在 nanoaios 中,AI 不是外挂能力,而是系统原生能力:
- 用最小内核面承载推理入口与系统状态
- 用运行时抽象屏蔽模型供应商差异
- 用统一 API 暴露可观测与可集成能力
核心原则:
- 简洁优先:单仓库、单二进制、低复杂度
- 边界清晰:Kernel / Runtime / Provider 分层明确
- 工程可落地:可启动、可测试、可演进
nanoaios init:初始化~/.nanoaios/config.tomlnanoaios start:启动内核 APInanoaios chat "<prompt>":单轮推理调用nanoaios config:打印当前配置- Provider 抽象:
mock(离线调试)openai_compatible(OpenAI 兼容接口)
已提供 API:
GET /healthzGET /v1/kernel/state
cd nanoaios
cargo run -- initcargo run -- startcurl -s http://127.0.0.1:4242/
curl -s http://127.0.0.1:4242/healthz
curl -s http://127.0.0.1:4242/v1/kernel/state浏览器直接访问 http://localhost:4242/ 也会返回服务入口信息(JSON)。
cargo run -- chat "你好,nanoaios"nanoaios 采用最小分层:
- CLI:命令入口与系统操作面
- Config:配置声明与加载
- Kernel:系统状态与推理调度入口
- Runtime:调用生命周期与错误处理
- Provider:模型供应商适配层
- API:可观测、可集成接口
目录结构:
src/
main.rs
cli.rs
config.rs
kernel.rs
runtime.rs
api.rs
docs/
TESTING.md
ARCHITECTURE.md
ROADMAP.md
# 代码格式检查
cargo fmt -- --check
# 严格静态检查
cargo clippy -- -D warnings
# 测试
cargo test
# 冒烟验证
cargo run -- init --force
cargo run -- chat "smoke test"更完整步骤见 docs/TESTING.md。
短期目标(v0.2 / v0.3):
- Session / Memory 子系统
- Tool 执行层(白名单、超时、审计)
- Agent manifest 与能力门控
- Daemon 化与服务管理
详见 docs/ROADMAP.md。
当前版本处于早期阶段,接口和内部实现仍会迭代。
建议在生产环境固定 commit 或版本后再部署。
欢迎提交 Issue / PR。建议在提交前执行:
cargo fmt -- --check
cargo clippy -- -D warnings
cargo test详细贡献说明见 CONTRIBUTING.md。
本项目采用 MIT License,详见 LICENSE。

