feat: 添加cnb智能对话接口,支持用户提问和消息列表处理

This commit is contained in:
2026-03-11 13:49:07 +08:00
parent 38ee73e48f
commit 813005ab9c
5 changed files with 214 additions and 41 deletions

View File

@@ -3,6 +3,9 @@ import { useContextKey } from '@kevisual/context'
import { useKey } from '@kevisual/use-config'
import { CNB } from '../src/index.ts';
import { CNBManager } from './modules/cnb-manager.ts'
import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
export const cnbManager = new CNBManager()
// CNB_TOKEN是降级兼容变量推荐使用CNB_API_KEY
@@ -28,7 +31,13 @@ export const app = await useContextKey<App>('app', () => {
export const notCNBCheck = (ctx: any) => {
const isCNB = useKey('CNB');
if (!isCNB) {
ctx.throw(400, '当前环境非 cnb-board 环境,无法获取 live 内容');
ctx.throw(400, '当前环境非 cnb-board 环境,无法获取内容');
}
return false;
}
}
const repo = useKey('CNB_REPO_SLUG_LOWERCASE') as string || 'kevision/kevision';
export const cnbAi = createOpenAICompatible({
baseURL: `https://api.cnb.cool/${repo}/-/ai/`,
name: 'custom-cnb',
apiKey: token,
});