{"_id":"@1start/ai-kit","_rev":"2-c8c685a45d32384d19b9cbb7375593d9","name":"@1start/ai-kit","dist-tags":{"latest":"0.3.1"},"versions":{"0.3.0":{"name":"@1start/ai-kit","version":"0.3.0","keywords":["llm","openai","ai","fallback","streaming","session","analytics","bun","hono"],"license":"MIT","_id":"@1start/ai-kit@0.3.0","maintainers":[{"name":"xiatiaoqaq","email":"wangyifan@404.fan"}],"homepage":"https://github.com/XiaTiaoQAQ/onestart-ai-kit#readme","bugs":{"url":"https://github.com/XiaTiaoQAQ/onestart-ai-kit/issues"},"dist":{"shasum":"11649560482476c4e6a92148899da367735bf7d6","tarball":"https://registry.npmjs.org/@1start/ai-kit/-/ai-kit-0.3.0.tgz","fileCount":98,"integrity":"sha512-2zsf5S8D2ITj5ZuoIeBzMjncWgQnwZMkMjRM2DQCaBnhWw9SVwFqSHSP1UWpPgEbYtULtunRU+HhCqVDH0tjPg==","signatures":[{"sig":"MEUCIE6MwdGq4qiWP9Bej1acplbG0TlDMFFeQp5/0jgKNdkLAiEAwlfOahjGBtyKR5V2rDrC8hkcg/YBLAmWWh5x8xWA9O4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185802},"main":"./dist/core/index.js","type":"module","types":"./dist/core/index.d.ts","module":"./dist/core/index.js","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./session":{"types":"./dist/session/index.d.ts","import":"./dist/session/index.js"},"./analytics":{"types":"./dist/analytics/index.d.ts","import":"./dist/analytics/index.js"},"./session/hono":{"types":"./dist/session/hono.d.ts","import":"./dist/session/hono.js"},"./analytics/sls":{"types":"./dist/analytics/sinks/sls.d.ts","import":"./dist/analytics/sinks/sls.js"},"./analytics/postgres":{"types":"./dist/analytics/sinks/postgres.d.ts","import":"./dist/analytics/sinks/postgres.js"}},"gitHead":"c9bc5ab50a5bcaa2d31a9503dbfcd95da766062f","scripts":{"lint":"biome check .","test":"bun test src","build":"tsc -p tsconfig.build.json","format":"biome format --write .","lint:fix":"biome check --write .","typecheck":"tsc --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"xiatiaoqaq","email":"wangyifan@404.fan"},"repository":{"url":"git+https://github.com/XiaTiaoQAQ/onestart-ai-kit.git","type":"git"},"workspaces":["packages/ai-client-front","examples/*"],"_npmVersion":"10.9.2","description":"1start.net 的 LLM 中间层 SDK：多 provider 客户端、turn buffer 会话层、请求记账。一个包、四个入口，模块间只靠接口耦合。","directories":{},"_nodeVersion":"22.15.0","dependencies":{"openai":"^6.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.23.8","hono":"^4.6.14","@types/bun":"^1.1.14","typescript":"^5.6.3","@biomejs/biome":"^1.9.4","zod-to-json-schema":"^3.24.1"},"peerDependencies":{"zod":"^3.23.0","hono":"^4.0.0","zod-to-json-schema":"^3.24.1"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"zod-to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai-kit_0.3.0_1783001365711_0.2584420953191393","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@1start/ai-kit","version":"0.3.1","description":"1start.net 的 LLM 中间层 SDK：多 provider 客户端、turn buffer 会话层、请求记账。一个包、四个入口，模块间只靠接口耦合。","type":"module","main":"./dist/core/index.js","module":"./dist/core/index.js","types":"./dist/core/index.d.ts","exports":{".":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./session":{"types":"./dist/session/index.d.ts","import":"./dist/session/index.js"},"./session/hono":{"types":"./dist/session/hono.d.ts","import":"./dist/session/hono.js"},"./analytics":{"types":"./dist/analytics/index.d.ts","import":"./dist/analytics/index.js"},"./analytics/sls":{"types":"./dist/analytics/sinks/sls.d.ts","import":"./dist/analytics/sinks/sls.js"},"./analytics/postgres":{"types":"./dist/analytics/sinks/postgres.d.ts","import":"./dist/analytics/sinks/postgres.js"}},"workspaces":["packages/ai-client-front","examples/*"],"scripts":{"build":"tsc -p tsconfig.build.json","test":"bun test src","typecheck":"tsc --noEmit","lint":"biome check .","lint:fix":"biome check --write .","format":"biome format --write .","prepublishOnly":"bun run build"},"dependencies":{"openai":"^6.16.0"},"peerDependencies":{"zod":"^3.23.0","zod-to-json-schema":"^3.24.1","hono":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"zod-to-json-schema":{"optional":true},"hono":{"optional":true}},"devDependencies":{"@biomejs/biome":"^1.9.4","@types/bun":"^1.1.14","hono":"^4.6.14","typescript":"^5.6.3","zod":"^3.23.8","zod-to-json-schema":"^3.24.1"},"license":"MIT","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/XiaTiaoQAQ/onestart-ai-kit.git"},"keywords":["llm","openai","ai","fallback","streaming","session","analytics","bun","hono"],"_id":"@1start/ai-kit@0.3.1","gitHead":"7bfd2f56140ae5dfc21738398b3ba6edf3b06f6a","bugs":{"url":"https://github.com/XiaTiaoQAQ/onestart-ai-kit/issues"},"homepage":"https://github.com/XiaTiaoQAQ/onestart-ai-kit#readme","_nodeVersion":"22.15.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-IPv2ne3fP86SMjkSiqwuonNHLBmlDZ87zUgdUnddHF39ATYSmpWQts3fJljaXZCK71CGCCbsa9jCyjPZ6QMkBw==","shasum":"02c8ffee7eceeeb45ef6ebeda88e0c41bd12ee1f","tarball":"https://registry.npmjs.org/@1start/ai-kit/-/ai-kit-0.3.1.tgz","fileCount":102,"unpackedSize":227875,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGROmJUo8YWn4wzIqlZYH/N31M157c7Ix+vL2ljb0UyEAiEAn738UuCvQTlIHAXWJiltHN9oLpwFUQEoQPWJXxZDNXk="}]},"_npmUser":{"name":"xiatiaoqaq","email":"wangyifan@404.fan"},"directories":{},"maintainers":[{"name":"xiatiaoqaq","email":"wangyifan@404.fan"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ai-kit_0.3.1_1783004162448_0.9011966757477896"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-02T14:09:25.529Z","modified":"2026-07-02T14:56:02.786Z","0.3.0":"2026-07-02T14:09:25.894Z","0.3.1":"2026-07-02T14:56:02.643Z"},"bugs":{"url":"https://github.com/XiaTiaoQAQ/onestart-ai-kit/issues"},"license":"MIT","homepage":"https://github.com/XiaTiaoQAQ/onestart-ai-kit#readme","keywords":["llm","openai","ai","fallback","streaming","session","analytics","bun","hono"],"repository":{"type":"git","url":"git+https://github.com/XiaTiaoQAQ/onestart-ai-kit.git"},"description":"1start.net 的 LLM 中间层 SDK：多 provider 客户端、turn buffer 会话层、请求记账。一个包、四个入口，模块间只靠接口耦合。","maintainers":[{"name":"xiatiaoqaq","email":"wangyifan@404.fan"}],"readme":"# onestart-ai-kit\n\n1start.net 的 LLM 中间层 SDK。管线不变、provider 可插、记账走 sink：一个包、四个入口，模块间只靠接口耦合，为下一个项目分钟级接入而设计。\n\n```bash\nbun add @1start/ai-kit        # 或 npm i @1start/ai-kit\n```\n\n## 包：一个，`@1start/ai-kit`\n\n后端侧只发一个包，subpath exports 暴露四个模块入口（决策依据：消费者是同栈项目，四包只剩发版协调成本；子入口 + optional peerDependencies 已给足按需加载与依赖隔离）：\n\n| 入口 | 职责 | 状态 |\n|---|---|---|\n| `@1start/ai-kit`（根，core） | 多 provider LLM 客户端：scenario 路由、fallback 链、circuit breaker、流式事件 | 开发中 |\n| `./session`（+ `./session/hono`） | Turn buffer 会话层：游标事件缓冲是唯一事实，轮询与 SSE 只是两种读取 transport | 开发中 |\n| `./analytics`（+ `./analytics/sls`、`./analytics/postgres`） | 请求记账：token / 成本 / 延迟记录，可插拔 sink（Console / SLS / Postgres） | 开发中 |\n\n前端半边 `@1start/ai-client-front`（路线图阶段 6）因运行环境不同（uni-app / 小程序）独立发包，仍在 `packages/ai-client-front`。\n\n模块依赖方向（严格单向，`src/deps.spec.ts` 断言守护）：`analytics` →（仅类型）→ `core`；`session` 与 `core` 互不依赖（事件 payload 泛型化，在业务侧组合）。`core` 运行时只依赖 `openai`；`zod` / `zod-to-json-schema` / `hono` 均为 optional peerDependencies，只在 import 对应入口时需要。\n\n## 设计血统\n\n提炼自三个经线上验证的实现，去其形取其神：\n\n- **dj-api**（PaceMate 服务端）：fallback 链 + 双超时（全量/首 token）+ 429 黑名单熔断 + “已输出内容即禁止 fallback”；usage/cost 细分记账字段\n- **m612-pet-api**：scenario→模型映射、turn buffer 游标缓冲（断点续传）、codex-proxy Responses API 踩坑经验\n- **pacemate_app_expo**：自适应退避轮询参数模型、Transport→Parser→Output 三层管道\n\n## 开发\n\n```bash\nbun install\nbun test            # 单包全量单测（bun test src）\nbun run build       # tsc -p tsconfig.build.json → dist（四个入口一次产出）\nbun run typecheck   # tsc --noEmit\ncd examples/bun-hono-demo && bun install && bun run dev   # 端到端样例（需先在根 bun run build）\n```\n\n## 运行时兼容\n\nBun 与 Node 双兼容：只用标准 API + openai SDK，不用 Bun 专属 API；redis / SLS / postgres 全部走结构化接口注入（`RedisLike` / producer / sql 执行函数），SDK 零驱动依赖。\n\n## 路线图\n\n见 [docs/ROADMAP.md](docs/ROADMAP.md)——含 rensheji、m612-pet-api 的接入计划（阶段 4–6），以及 2026-07-02 单包化决策记录。\n","readmeFilename":"README.md"}