



























@@ -256,6 +256,73 @@ describe("cli session history", () => {
256256});
257257});
258258259+it("augments anthropic-routed chat history when a Claude CLI binding has local messages", async () => {
260+await withClaudeProjectsDir(async ({ homeDir, sessionId }) => {
261+const messages = augmentChatHistoryWithCliSessionImports({
262+entry: {
263+sessionId: "openclaw-session",
264+updatedAt: Date.now(),
265+cliSessionBindings: {
266+"claude-cli": {
267+ sessionId,
268+},
269+},
270+},
271+provider: "anthropic",
272+localMessages: [
273+{
274+role: "assistant",
275+content: "local assistant turn",
276+timestamp: Date.parse("2026-03-26T16:29:57.000Z"),
277+},
278+],
279+ homeDir,
280+});
281+282+expect(messages).toHaveLength(4);
283+expect(messages).toContainEqual(
284+expect.objectContaining({
285+role: "assistant",
286+content: "local assistant turn",
287+}),
288+);
289+expect(messages).toContainEqual(
290+expect.objectContaining({
291+role: "user",
292+__openclaw: expect.objectContaining({ cliSessionId: sessionId }),
293+}),
294+);
295+});
296+});
297+298+it("does not import stale Claude CLI history for unrelated providers with local messages", async () => {
299+await withClaudeProjectsDir(async ({ homeDir, sessionId }) => {
300+const localMessages = [
301+{
302+role: "assistant",
303+content: "local OpenAI turn",
304+timestamp: Date.parse("2026-03-26T16:29:57.000Z"),
305+},
306+];
307+const messages = augmentChatHistoryWithCliSessionImports({
308+entry: {
309+sessionId: "openclaw-session",
310+updatedAt: Date.now(),
311+cliSessionBindings: {
312+"claude-cli": {
313+ sessionId,
314+},
315+},
316+},
317+provider: "openai",
318+ localMessages,
319+ homeDir,
320+});
321+322+expect(messages).toBe(localMessages);
323+});
324+});
325+259326it("falls back to legacy cliSessionIds when bindings are absent", async () => {
260327await withClaudeProjectsDir(async ({ homeDir, sessionId }) => {
261328const messages = augmentChatHistoryWithCliSessionImports({
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。