feat: implement AI agent for flowme-life interactions

- Add agent-run module to handle AI interactions with tools and messages.
- Create routes for proxying requests to OpenAI and Anthropic APIs.
- Implement flowme-life chat route for user queries and task management.
- Add services for retrieving and updating life records in the database.
- Implement logic for fetching today's tasks and marking tasks as done with next execution time calculation.
- Introduce tests for flowme-life functionalities.
This commit is contained in:
2026-03-11 01:44:29 +08:00
parent 027cbecab6
commit 66a19139b7
22 changed files with 5190 additions and 676 deletions

View File

@@ -7,7 +7,9 @@ import { BailianProvider } from '@kevisual/ai';
import * as schema from './db/schema.ts';
import { config } from './modules/config.ts'
import { db } from './modules/db.ts'
import { convexClient, convexApi } from './modules/convex.ts'
import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
export const router = useContextKey('router', () => new SimpleRouter());
export const runtime = useContextKey('runtime', () => {
return {
@@ -44,6 +46,24 @@ export const ai = useContextKey('ai', () => {
export { schema };
export const bailian = createOpenAICompatible({
baseURL: 'https://coding.dashscope.aliyuncs.com/v1',
name: 'custom-bailian',
apiKey: process.env.BAILIAN_CODE_API_KEY!,
});
export const convex = useContextKey('convex', () => convexClient);
export { convexApi };
export const cnb = createOpenAICompatible({
baseURL: 'https://api.cnb.cool/kevisual/kevisual/-/ai/',
name: 'custom-cnb',
apiKey: process.env.CNB_API_KEY!,
});
export const models = {
'doubao-ark-code-latest': 'doubao-ark-code-latest',
'GLM-4.7': 'GLM-4.7',
'MiniMax-M2.1': 'MiniMax-M2.1',
'qwen3-coder-plus': 'qwen3-coder-plus',
'hunyuan-a13b': 'hunyuan-a13b',
'qwen-plus': 'qwen-plus',
'auto': 'auto',
}