feat(wechat): add admin-pluggable LLM intent router separate from H5.
Memind CI / Test, build, and release guards (push) Failing after 8s

Give WeChat MP its own chat.general→page.generate LLM refinement layer with memindadm toggles, shadow mode, and canary openids so service account routing stays independent of the H5 chatIntentRouter.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
john
2026-08-01 20:57:41 +08:00
parent cdc265d7e0
commit 91e140d402
14 changed files with 1145 additions and 4 deletions
@@ -33,6 +33,7 @@ export async function bootstrapPortalIntegrationServices({
scheduledTaskService = null,
sessionSnapshotService = null,
wechatScheduleLlmConfigService,
wechatIntentRouter = null,
llmProviderService,
chatIntentRouter,
systemDisclosurePolicyService,
@@ -165,6 +166,7 @@ export async function bootstrapPortalIntegrationServices({
wechatScheduleLlmConfigService,
llmProviderService,
chatIntentRouter,
wechatIntentRouter,
systemDisclosurePolicyService,
sessionIntentClassifier: ({ text }) =>
chatIntentRouter?.classifySessionAction({
@@ -11,6 +11,8 @@ import { isSessionStreamReplayEnabled } from '../session-stream.mjs';
import { createSkillRuntimeAdminConfigService } from '../skill-runtime-admin-config.mjs';
import { createSystemDisclosurePolicyService } from '../system-disclosure-policy.mjs';
import { createWechatScheduleLlmConfigService } from '../wechat-schedule-llm-config.mjs';
import { createWechatIntentRouterConfigService } from '../wechat-intent-router-config.mjs';
import { createManagedWechatIntentRouter } from '../wechat-intent-router.mjs';
export async function bootstrapPortalMemorySessionServices({
pool,
@@ -30,6 +32,10 @@ export async function bootstrapPortalMemorySessionServices({
createAgentCodeRunAdminConfigService,
createWechatScheduleLlmConfigServiceFn =
createWechatScheduleLlmConfigService,
createWechatIntentRouterConfigServiceFn =
createWechatIntentRouterConfigService,
createManagedWechatIntentRouterFn =
createManagedWechatIntentRouter,
createConversationMemoryServiceFn =
createConversationMemoryService,
createManagedMemoryV2RuntimeFn =
@@ -71,6 +77,15 @@ export async function bootstrapPortalMemorySessionServices({
createAgentCodeRunAdminConfigServiceFn(pool, { env });
const wechatScheduleLlmConfigService =
createWechatScheduleLlmConfigServiceFn(pool);
const wechatIntentRouterConfigService =
createWechatIntentRouterConfigServiceFn(pool, { env });
const wechatIntentRouter =
createManagedWechatIntentRouterFn({
llmProviderService,
configService: wechatIntentRouterConfigService,
env,
logger,
});
const getEffectiveEnv = async () => {
const state = await memoryV2ConfigService
@@ -140,6 +155,8 @@ export async function bootstrapPortalMemorySessionServices({
systemDisclosurePolicyService,
agentCodeRunPolicyService,
wechatScheduleLlmConfigService,
wechatIntentRouterConfigService,
wechatIntentRouter,
conversationMemoryService,
memoryV2,
episodicMemoryService,