diff --git a/README.md b/README.md index 3c6f1e7..fc3e365 100644 --- a/README.md +++ b/README.md @@ -145,7 +145,7 @@ In `openclaw.json`: "sequential-thinking": { "enabled": true, "config": { - "thoughtLogging": true, + "thoughtLogging": false, "models": [ "anthropic/claude-sonnet-4", "google/gemini-3-flash-preview", @@ -180,7 +180,7 @@ Facilitates a detailed, step-by-step thinking process for problem-solving and an ## Plugin Config -- `thoughtLogging` (boolean, default: `true`): Log formatted thoughts to console +- `thoughtLogging` (boolean, default: `false`): Log formatted thoughts to console - `models` (string[], default: `[]`): Model IDs that should receive a prompt injection encouraging preference for `sequential_thinking` on complex problems. Empty strings are automatically filtered out. ## Differences from MCP Original diff --git a/openclaw.plugin.json b/openclaw.plugin.json index ae8d9ae..aba0776 100644 --- a/openclaw.plugin.json +++ b/openclaw.plugin.json @@ -15,7 +15,7 @@ "thoughtLogging": { "type": "boolean", "description": "Log formatted thoughts to console", - "default": true + "default": false }, "models": { "type": "array", diff --git a/src/config.test.ts b/src/config.test.ts index 67fe58d..730fc5d 100644 --- a/src/config.test.ts +++ b/src/config.test.ts @@ -4,18 +4,18 @@ import { resolveConfig } from "./config.js"; describe("resolveConfig", () => { it("returns defaults when raw is empty", () => { const result = resolveConfig({}); - expect(result.thoughtLogging).toBe(true); + expect(result.thoughtLogging).toBe(false); expect(result.models).toBeUndefined(); }); it("returns defaults when raw is not an object", () => { - expect(resolveConfig(undefined)).toEqual({ thoughtLogging: true }); - expect(resolveConfig("invalid")).toEqual({ thoughtLogging: true }); + expect(resolveConfig(undefined)).toEqual({ thoughtLogging: false }); + expect(resolveConfig("invalid")).toEqual({ thoughtLogging: false }); }); - it("defaults thoughtLogging to true when not provided", () => { + it("defaults thoughtLogging to false when not provided", () => { const result = resolveConfig({ models: ["claude-sonnet-4"] }); - expect(result.thoughtLogging).toBe(true); + expect(result.thoughtLogging).toBe(false); expect(result.models).toEqual(["claude-sonnet-4"]); }); diff --git a/src/config.ts b/src/config.ts index b40c439..1d58da2 100644 --- a/src/config.ts +++ b/src/config.ts @@ -7,7 +7,7 @@ export type SequentialThinkingConfig = { const ConfigSchema = z .object({ - thoughtLogging: z.boolean().catch(true), + thoughtLogging: z.boolean().catch(false), models: z .array(z.unknown()) .transform((models) => @@ -20,7 +20,7 @@ const ConfigSchema = z .catch(undefined), }) .catch({ - thoughtLogging: true, + thoughtLogging: false, }); export function resolveConfig(raw: unknown): SequentialThinkingConfig { diff --git a/src/tool.ts b/src/tool.ts index 6ee8fc0..1721745 100644 --- a/src/tool.ts +++ b/src/tool.ts @@ -21,7 +21,7 @@ export class SequentialThinkingTool { private thoughtLogging: boolean; constructor(thoughtLogging?: boolean) { - this.thoughtLogging = thoughtLogging ?? true; + this.thoughtLogging = thoughtLogging ?? false; } private formatThought(thoughtData: ThoughtData): string {