one is all(oia / 咿呀)
面向 AI Agent 的全栈框架脚手架——不是提供给人类开发者,而是便于模型理解、修改、运行一个安全完整的程序。基于 Deno + Fresh 2 + Preact + Vite。
简介
oia,中文读作「咿呀」。名字取自希腊圣托里尼岛的伊亚镇(Oia)——悬崖边上看”全世界最美日落”的艺术家村落。全称 one is all,「一即是全」:希望她能直接作为模型实现所有程序的基座。
一句话定义:一个面向 AI Agent 的全栈框架脚手架。它并非提供给人类,而是更加便于模型理解和实现一个可以安全运行的完整程序,包含前后端、跨平台。
当前版本基于 Deno + Fresh 2.3.3 + Preact + Vite,配套 npx @oia-ai/oia-skill 一键安装的 Claude Code skill。
设计理念
为什么模型写 fresh/deno 的能力不如 next/node,却不直接用 next,反而造轮子?
因为 deno 正在蓬勃地向 AI 靠拢,而 next/node 生态背着太多为”人类旧生态”设计的包袱。混乱的旧生态,有没有可能被一套原生适用于 AI 的新生态取代?oia 就是这个问题的实验田。
基于此存在三条底层共识:
- 前后一体:前后端在一个目录里,一个仓库就是一份完整上下文
- 选型最小化:依赖越少,模型越容易理解全貌,开发环境秒起,CI/CD 也快
- 用 skill 和 spec 约束模型:不给模型自由发挥的空间,用规范收拢它
落到架构上,核心是「可预测性」:目录即文档,每个目录职责单一、高度可预测,route → service → repository 的调用链是一条直线;Islands 交互局部化,把 JavaScript 限制在真正需要交互的边界;默认数据库 SQLite,Redis、消息队列等中间件只在真实需求出现时才接入,拒绝”为了看起来像生产架构”而堆砌。
仓库里最重要的一份文件不是代码,是 AGENTS.md——一部写给 Agent 的宪法,从目录职责表、路由规范、错误处理分层,到 AI Prompt 安全、Deno 权限模型、测试最低标准,事无巨细。全部信条收敛为一句:
这个项目不是为了让人类写出最多代码,而是为了让 Agent 用最少上下文写出正确代码。
Predictability > Cleverness,Explicitness > Magic。
快速启动
- 安装 oia-skill:
npx @oia-ai/oia-skill # 安装到当前项目npx @oia-ai/oia-skill --global # 安装到用户目录- 之后对着模型/Agent 说一句话即可初始化:
使用 oia 全栈框架初始化项目也可以直接用脚手架包:
npx @oia-ai/oia-fresh init my-app咿呀学步,与模型同行。













