ZH
测试版翻译

@core / ai

1.0.0 ▾
已验证MIT
GitHub

流式 AI 聊天:版本化提示词、工具调用、用量与成本记录,模型由环境变量指定

代码11 个文件上下文约 668 个 token扫描通过

应用 .genpmignore 后将被注入的确切目录树。固定于

src/lib/ai/adapters/hono.ts只读 · 5b1e62b
// Adaptador Hono: `app.route('/ai', aiRoutes())` → POST /ai/chat (stream para `useChat`).
// Si usas @core/auth, monta antes `sessionMiddleware` y pasa `getUserId` para registrar el uso por usuario.
import type { Context } from 'hono';
import { Hono } from 'hono';
import type { UIMessage } from 'ai';
import { streamChat } from '../index.js';

export function aiRoutes(opts: { getUserId?: (c: Context) => string | null | undefined; requireUser?: boolean } = {}) {
  return new Hono().post('/chat', async (c) => {
    const userId = opts.getUserId?.(c) ?? null;
    if (opts.requireUser && !userId) return c.json({ error: 'unauthorized' }, 401);
    const body = await c.req.json<{ messages?: UIMessage[] }>().catch(() => ({ messages: undefined }));
    if (!Array.isArray(body.messages)) return c.json({ error: 'messages required' }, 400);
    const result = await streamChat({ messages: body.messages, userId, abortSignal: c.req.raw.signal });
    return result.toUIMessageStreamResponse();
  });
}

举报 @core/ai

使用 GitHub 登录后才能举报包。