首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 汽车 游戏 社会热点 开源推荐 医疗健康 归档 标签 关于

GitHub 热门项目:数据库构建

摘要

GitHub项目:database-build 仓库地址:https://github。com/supabase-community/database-build Stars:2946 | 作者:supabase-community 项目描述:In-browser Postgres sandbox with AI assistance (formerly postgres。

apps database local web env
2026-05-20 1 阅读 约7分钟阅读 GitHub Trending
GitHub 项目:数据库构建 仓库地址:https://github.com/supabase-community/database-build 星级:2946 | 作者:supabase-社区 项目描述:带有 AI 辅助的浏览器内 Postgres 沙箱(以前称为 postgres.new) =================================================== 自述文件内容: # database.build ([以前的 postgres.new](#why-rename-postgresnew)) 带有 AI 辅助的浏览器内 Postgres 沙箱。 ![github-repo-hero](https://github.com/user-attachments/assets/1ace0688-dfa7-4ddb-86bc-c976fa5b2f42) 使用 [database.build](https://database.build),您可以立即启动无限数量的直接在浏览器中运行的 Postgres 数据库(很快,将它们部署到 S3)。 每个数据库都与一个大型语言模型(LLM)配对,这为一些有趣的用例打开了大门: - 拖放 CSV 导入(动态生成表) - 生成和导出报告 - 生成图表 - 建立数据库图表 ## 它是如何工作的 database.build 中的所有查询都直接在浏览器中运行。没有远程 Postgres 容器或 WebSocket 代理。 这怎么可能? [PGlite](https://pglite.dev/),Postgres 的 WASM 版本,可以直接在浏览器中运行。您创建的每个数据库都会启动一个新的 PGlite 实例,该实例公开功能齐全的 Postgres 数据库。数据存储在 IndexedDB 中,以便刷新后更改仍然存在。 ## 单一仓库 这是一个 monorepo,分为以下项目: - [Web](./apps/web/):使用 Next.js 构建的主要 Web 应用程序 - [浏览器代理](./apps/browser-proxy/):使用 [pg-gateway](https://github.com/supabase-community/pg-gateway) 和 Web Sockets 将 Postgres TCP 连接代理回浏览器 - [部署worker](./apps/deploy-worker/):将浏览器内数据库部署到数据库平台(目前支持Supabase) ### 设置 从 monorepo 根: 1.安装依赖 ````外壳 尼普我 ```` 2. 启动本地 Supabase 堆栈: ````外壳 npx supabase 启动 ```` 3. 将本地 Supabase URL/匿名密钥存储在 `./apps/web/.env.local` 中: ````外壳 npx supabase 状态 -o env \ --override-name api.url=NEXT_PUBLIC_SUPABASE_URL \ --override-name auth.anon_key=NEXT_PUBLIC_SUPABASE_ANON_KEY | --override-name auth.anon_key=NEXT_PUBLIC_SUPABASE_ANON_KEY | grep NEXT_PUBLIC >> ./apps/web/.env.local ```` 4. 创建 [OpenAI API 密钥](https://platform.openai.com/api-keys) 并保存到 `./apps/web/.env.local`: ````外壳 echo 'OPENAI_API_KEY=""' >> ./apps/web/.env.local ```` 5. 存储本地KV(Redis)变量。使用这些精确值: ````外壳 echo 'KV_REST_API_URL="http://localhost:8080"' >> ./apps/web/.env.local echo 'KV_REST_API_TOKEN="local_token"' >> ./apps/web/.env.local ```` 6. 启动本地Redis容器(用于限速)。在端口 8080 上提供 API: ````外壳 docker compose -f ./apps/web/docker-compose.yml up -d ```` 7. 填写每个应用程序的剩余变量,如下所示: - `./apps/web/.env.example` - `./apps/browser-proxy/.env.example` - `./apps/deploy-worker/.env.example` ### 发展 从 monorepo 根: ````外壳 npm 运行开发 ```` _**重要:** 该命令在底层使用 `turbo`,它了解 monorepo 中依赖项之间的关系并自动相应地构建它们(即 `./packages/*`)。如果你绕过`turbo