@visiblebase/base
v0.1.2
Published
VisibleBase self-hosted AI gateway runtime.
Maintainers
Readme
@visiblebase/base
@visiblebase/base 是 VisibleBase 的服务端 Runtime。
它负责这些共用能力:
- 初始化默认数据库
products/models/tasks - 校验
user_token - 提供 Fetch 风格 HTTP handler
- 管理 Runtime
.env - 用
service.default()补齐 query fallback,再通过match()路由不同 provider
安装
pnpm add @visiblebase/base需要 Node >=22.13.0。
最小示例
import { Base } from "@visiblebase/base";
import { DatabaseSync } from "node:sqlite";
import path from "node:path";
const base = new Base();
const db = new DatabaseSync(path.join(process.cwd(), ".base", "visiblebase.sqlite"));
db.prepare(`
INSERT OR REPLACE INTO visiblebase_models (
model_id,
name,
provider,
upstream_model,
description,
is_primary,
status,
config_json,
created_at,
updated_at
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
`).run(
"gpt-5.4",
"GPT-5.4",
"openai",
"gpt-5.4",
"Primary text model",
"true",
"active",
JSON.stringify({ api_style: "responses" }),
new Date().toISOString(),
new Date().toISOString(),
);
base.text()
.default({ model: "gpt-5.4" })
.match((ctx) => ctx.model.provider === "openai", async (ctx) => {
return {
id: crypto.randomUUID(),
role: "assistant",
parts: [
{
type: "text",
text: `echo: ${ctx.query.prompt}`,
state: "done",
},
],
};
});
const server = await base.serve({
host: "127.0.0.1",
port: 3001,
});
console.log(`VisibleBase listening on http://${server.host}:${server.port}`);默认情况下,Base 会在第一次 serve()、handleRequest()、models() 或 invoke() 时自动初始化。只有你要替换内置表对象时,才需要显式调用 init()。
主要导出
BaseVisibleBase- 默认数据库 schema:
sqliteModels、sqliteProducts、sqliteTasks DotenvRuntimeEnv
文档
- 仓库首页:visiblebase
- 文档目录:homepage/content/docs
