





















@@ -684,6 +684,65 @@ describe("trigger handling", () => {
684684});
685685});
686686687+it("applies native model changes to Telegram topic thread sessions", async () => {
688+await withTempHome(async (home) => {
689+const cfg = makeCfg(home);
690+cfg.agents = {
691+ ...cfg.agents,
692+defaults: {
693+ ...cfg.agents?.defaults,
694+models: {
695+ ...cfg.agents?.defaults?.models,
696+"deepseek/deepseek-v4-pro": {},
697+},
698+},
699+};
700+cfg.session = { ...cfg.session, store: join(home, "native-model-thread.sessions.json") };
701+const runEmbeddedPiAgentMock = getRunEmbeddedPiAgentMock();
702+runEmbeddedPiAgentMock.mockReset();
703+const storePath = requireSessionStorePath(cfg);
704+const slashSessionKey = "agent:main:telegram:slash:7595562691";
705+const targetSessionKey = "agent:main:main:thread:7595562691:12812";
706+707+await fs.writeFile(
708+storePath,
709+JSON.stringify({
710+[targetSessionKey]: {
711+sessionId: "session-target",
712+updatedAt: Date.now(),
713+providerOverride: "zai",
714+modelOverride: "glm-5.1",
715+},
716+}),
717+);
718+719+const res = await getReplyFromConfig(
720+makeNativeTelegramCommandMessage({
721+body: "/model deepseek/deepseek-v4-pro",
722+ slashSessionKey,
723+ targetSessionKey,
724+}),
725+{},
726+cfg,
727+);
728+729+expect(maybeReplyText(res)).toContain("Model set to deepseek/deepseek-v4-pro");
730+731+const store = loadSessionStore(storePath);
732+expect(store[targetSessionKey]?.providerOverride).toBe("deepseek");
733+expect(store[targetSessionKey]?.modelOverride).toBe("deepseek-v4-pro");
734+expect(store[slashSessionKey]).toBeUndefined();
735+736+await expectNextRunUsesTargetSession(
737+{ cfg, targetSessionKey, runEmbeddedPiAgentMock },
738+{
739+provider: "deepseek",
740+model: "deepseek-v4-pro",
741+},
742+);
743+});
744+});
745+687746it("applies native model auth profile overrides to the target session", async () => {
688747await withTempHome(async (home) => {
689748const cfg = makeCfg(home);
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。