feat: configure deep search llm models

This commit is contained in:
john
2026-07-23 22:46:10 +08:00
parent be1e4c18c0
commit 784a10a592
11 changed files with 360 additions and 35 deletions
+20
View File
@@ -198,6 +198,7 @@ import { createScheduleService } from './schedule-service.mjs';
import { createFeedbackService } from './user-feedback.mjs';
import { startScheduleReminderWorker } from './schedule-reminder-worker.mjs';
import { createLlmProviderService, RELAY_BOOTSTRAP } from './llm-providers.mjs';
import { executeDeepSearchLlmGateway } from './deep-search-llm-gateway.mjs';
import { createDirectChatService, isDirectChatSessionId, isPortalDirectChatSnapshot, sendDirectChatSessionEvents, shouldExpirePortalDirectChatSnapshot } from './direct-chat-service.mjs';
import {
filterUserVisibleConversation,
@@ -254,6 +255,7 @@ const API_TARGETS = parseApiTargets();
const API_TARGET = API_TARGETS[0] ?? 'https://127.0.0.1:18006';
const API_SECRET = process.env.TKMIND_SERVER__SECRET_KEY ?? 'local-dev-secret';
const INTERNAL_AGENT_SECRET = process.env.MINDSPACE_INTERNAL_AGENT_SECRET ?? API_SECRET;
const DEEP_SEARCH_INTERNAL_SECRET = process.env.TKMIND_DEEP_SEARCH_SECRET ?? INTERNAL_AGENT_SECRET;
const mindSpaceServerRuntime = resolveMindSpaceServerRuntimeOptions(__dirname, process.env);
const ACCESS_PASSWORD = process.env.H5_ACCESS_PASSWORD;
const WECHAT_MP_CONFIG = loadWechatMpConfig();
@@ -2741,6 +2743,24 @@ function requireInternalAgentSecret(req, res) {
return false;
}
api.post('/internal/deep-search/llm', async (req, res) => {
try {
const result = await executeDeepSearchLlmGateway({
llmProviderService,
expectedSecret: DEEP_SEARCH_INTERNAL_SECRET,
providedSecret: bearerToken(req) ?? req.get('x-secret-key'),
input: req.body ?? {},
});
return res.status(result.status).json(result.body);
} catch (error) {
console.warn('[deep-search] LLM gateway failed:', error);
return res.status(502).json({
ok: false,
message: error instanceof Error ? error.message : 'Deep Search LLM gateway failed',
});
}
});
api.post('/mindspace/v1/agent/jobs', async (req, res) => {
if (!mindSpaceAgentJobs || !ensureMindSpaceEnabled(res, req, { agent: true })) return;
try {