From 74a000591cf4392bedab0e0d1ac91bb66df48eca Mon Sep 17 00:00:00 2001 From: starmen1265 Date: Sun, 10 May 2026 02:10:03 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=90=8C=E6=AD=A5:=202026-05?= =?UTF-8?q?-10=2002:10?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- agents/haonan/sessions/sessions.json | 1617 ++++++++++----------- agents/ui-designer/sessions/sessions.json | 778 +--------- cron/jobs.json | 76 +- cron/logs/daily-review.log | 3 + cron/scripts/daily-review.sh | 63 +- tasks/runs.sqlite | Bin 155648 -> 155648 bytes tasks/runs.sqlite-shm | Bin 32768 -> 32768 bytes tasks/runs.sqlite-wal | Bin 4157112 -> 4157112 bytes 8 files changed, 888 insertions(+), 1649 deletions(-) create mode 100644 cron/logs/daily-review.log diff --git a/agents/haonan/sessions/sessions.json b/agents/haonan/sessions/sessions.json index f10263f..9502e4b 100644 --- a/agents/haonan/sessions/sessions.json +++ b/agents/haonan/sessions/sessions.json @@ -754,11 +754,11 @@ "memoryFlushCompactionCount": 0 }, "agent:haonan:cron:41396aeb-6e3a-47b2-9bd3-9156a348c1dc": { - "sessionId": "acd2a34a-b2a9-4d7e-b763-034b9ef1ba34", - "updatedAt": 1778263200014, + "sessionId": "d1226954-06c9-4dbf-acf5-7548c3f55f07", + "updatedAt": 1778349600011, "systemSent": true, - "model": "glm-5", - "contextTokens": 200000, + "model": "MiniMax-M2.7-highspeed", + "contextTokens": 204800, "label": "Cron: backup-openclaw-json", "skillsSnapshot": { "prompt": "\n\nThe following skills provide specialized instructions for specific tasks.\nUse the read tool to load a skill's file when the task matches its description.\nWhen a skill file references a relative path, resolve it against the skill directory (parent of SKILL.md / dirname of the path) and use that absolute path in tool commands.\n\n\n \n capability-evolver\n A self-evolution engine for AI agents. Analyzes runtime history to identify improvements and applies protocol-constrained evolution.\n ~/.openclaw/skills/capability-evolver/SKILL.md\n \n \n clawlist\n MUST use for any multi-step project, long-running task, or infinite monitoring workflow. Plan, execute, track, and verify tasks with checkpoint validation. For projects, automation, and ongoing operations.\n ~/.openclaw/skills/clawlist/SKILL.md\n \n", @@ -795,23 +795,23 @@ ], "version": 0 }, - "modelProvider": "zhipu", - "inputTokens": 11592, - "outputTokens": 71, - "totalTokens": 18627, + "modelProvider": "minimax", + "inputTokens": 437, + "outputTokens": 98, + "totalTokens": 18903, "totalTokensFresh": true, - "cacheRead": 25600, - "cacheWrite": 0, + "cacheRead": 18564, + "cacheWrite": 18700, "authProfileOverride": "minimax:cn", "authProfileOverrideSource": "auto", "authProfileOverrideCompactionCount": 0, "systemPromptReport": { "source": "run", - "generatedAt": 1778263260359, - "sessionId": "acd2a34a-b2a9-4d7e-b763-034b9ef1ba34", + "generatedAt": 1778349600253, + "sessionId": "d1226954-06c9-4dbf-acf5-7548c3f55f07", "sessionKey": "agent:haonan:cron:41396aeb-6e3a-47b2-9bd3-9156a348c1dc", - "provider": "zhipu", - "model": "glm-5", + "provider": "minimax", + "model": "MiniMax-M2.7-highspeed", "workspaceDir": "/home/starmen1265/.openclaw/agents/haonan/workspace", "bootstrapMaxChars": 20000, "bootstrapTotalMaxChars": 150000, @@ -827,9 +827,9 @@ "sandboxed": false }, "systemPrompt": { - "chars": 23534, - "projectContextChars": 14014, - "nonProjectContextChars": 9520 + "chars": 24034, + "projectContextChars": 14033, + "nonProjectContextChars": 10001 }, "injectedWorkspaceFiles": [ { @@ -1133,13 +1133,13 @@ ] } }, - "estimatedCostUsd": 0.050374140000000005 + "estimatedCostUsd": 0.058749180000000005 }, "agent:haonan:cron:f03b184f-5f1d-4093-ae1b-fc9fe0b59eef": { "sessionId": "690af9c9-c85e-46e0-9891-5c005951ff93", - "updatedAt": 1778264401852, + "updatedAt": 1778264400011, "systemSent": true, - "model": "glm-4.7-FlashX", + "model": "glm-5", "contextTokens": 200000, "label": "Cron: capability-evolver-daily", "skillsSnapshot": { @@ -1178,9 +1178,9 @@ "version": 0 }, "modelProvider": "zhipu", - "inputTokens": 32276, - "outputTokens": 563, - "totalTokens": 33925, + "inputTokens": 7579, + "outputTokens": 570, + "totalTokens": 25918, "deliveryContext": { "channel": "webchat" }, @@ -1189,12 +1189,12 @@ "sessionFile": "/home/starmen1265/.openclaw/agents/haonan/sessions/ccc40ca7-7876-4d82-ab84-7b790feddc19.jsonl", "abortedLastRun": false, "totalTokensFresh": true, - "cacheRead": 65408, + "cacheRead": 56192, "cacheWrite": 0, "systemPromptReport": { "source": "run", - "generatedAt": 1778178021471, - "sessionId": "c964212a-b244-4fe7-9a07-fb02582799af", + "generatedAt": 1778264421107, + "sessionId": "690af9c9-c85e-46e0-9891-5c005951ff93", "sessionKey": "agent:haonan:cron:f03b184f-5f1d-4093-ae1b-fc9fe0b59eef", "provider": "zhipu", "model": "glm-5", @@ -1520,10 +1520,8 @@ } }, "estimatedCostUsd": 0, - "status": "failed", - "startedAt": 1778264400194, - "endedAt": 1778264401850, - "runtimeMs": 1656 + "status": "running", + "startedAt": 1775931600223 }, "agent:haonan:cron:3245fca7-045b-4977-8fab-020f6df2e453": { "sessionId": "8debcda0-e8fd-44c3-8c30-da668f3efab2", @@ -1565,8 +1563,8 @@ "cacheWrite": 0 }, "agent:haonan:cron:aa4d2de9-79be-4262-83ee-af8824793bfc": { - "sessionId": "359c1567-62c7-40a9-89c3-524f66f7f724", - "updatedAt": 1778263800011, + "sessionId": "27999f85-a0e9-4048-b5ff-02815067486b", + "updatedAt": 1778350200291, "systemSent": true, "label": "Cron: openclaw-git-sync", "skillsSnapshot": { @@ -1944,777 +1942,10 @@ ] } }, - "estimatedCostUsd": 0.32935932 - }, - "agent:haonan:cron:f03b184f-5f1d-4093-ae1b-fc9fe0b59eef:run:c964212a-b244-4fe7-9a07-fb02582799af": { - "sessionId": "c964212a-b244-4fe7-9a07-fb02582799af", - "updatedAt": 1778178000011, - "systemSent": true, - "model": "glm-5", - "contextTokens": 200000, - "label": "Cron: capability-evolver-daily", - "skillsSnapshot": { - "prompt": "\n\nThe following skills provide specialized instructions for specific tasks.\nUse the read tool to load a skill's file when the task matches its description.\nWhen a skill file references a relative path, resolve it against the skill directory (parent of SKILL.md / dirname of the path) and use that absolute path in tool commands.\n\n\n \n capability-evolver\n A self-evolution engine for AI agents. Analyzes runtime history to identify improvements and applies protocol-constrained evolution.\n ~/.openclaw/skills/capability-evolver/SKILL.md\n \n \n clawlist\n MUST use for any multi-step project, long-running task, or infinite monitoring workflow. Plan, execute, track, and verify tasks with checkpoint validation. For projects, automation, and ongoing operations.\n ~/.openclaw/skills/clawlist/SKILL.md\n \n", - "skills": [ - { - "name": "capability-evolver" - }, - { - "name": "clawlist" - } - ], - "skillFilter": [ - "clawlist", - "capability-evolver", - "self-improving-agent" - ], - "resolvedSkills": [ - { - "name": "capability-evolver", - "description": "A self-evolution engine for AI agents. Analyzes runtime history to identify improvements and applies protocol-constrained evolution.", - "filePath": "/home/starmen1265/.openclaw/skills/capability-evolver/SKILL.md", - "baseDir": "/home/starmen1265/.openclaw/skills/capability-evolver", - "source": "openclaw-managed", - "disableModelInvocation": false - }, - { - "name": "clawlist", - "description": "MUST use for any multi-step project, long-running task, or infinite monitoring workflow. Plan, execute, track, and verify tasks with checkpoint validation. For projects, automation, and ongoing operations.", - "filePath": "/home/starmen1265/.openclaw/skills/clawlist/SKILL.md", - "baseDir": "/home/starmen1265/.openclaw/skills/clawlist", - "source": "openclaw-managed", - "disableModelInvocation": false - } - ], - "version": 0 - }, - "modelProvider": "zhipu", - "inputTokens": 32276, - "outputTokens": 563, - "totalTokens": 33925, - "deliveryContext": { - "channel": "webchat" - }, - "lastChannel": "webchat", - "channel": "webchat", - "sessionFile": "/home/starmen1265/.openclaw/agents/haonan/sessions/ccc40ca7-7876-4d82-ab84-7b790feddc19.jsonl", - "abortedLastRun": false, - "totalTokensFresh": true, - "cacheRead": 65408, - "cacheWrite": 0, - "systemPromptReport": { - "source": "run", - "generatedAt": 1778178021471, - "sessionId": "c964212a-b244-4fe7-9a07-fb02582799af", - "sessionKey": "agent:haonan:cron:f03b184f-5f1d-4093-ae1b-fc9fe0b59eef", - "provider": "zhipu", - "model": "glm-5", - "workspaceDir": "/home/starmen1265/.openclaw/agents/haonan/workspace", - "bootstrapMaxChars": 20000, - "bootstrapTotalMaxChars": 150000, - "bootstrapTruncation": { - "warningMode": "once", - "warningShown": false, - "truncatedFiles": 0, - "nearLimitFiles": 0, - "totalNearLimit": false - }, - "sandbox": { - "mode": "off", - "sandboxed": false - }, - "systemPrompt": { - "chars": 23534, - "projectContextChars": 14014, - "nonProjectContextChars": 9520 - }, - "injectedWorkspaceFiles": [ - { - "name": "AGENTS.md", - "path": "/home/starmen1265/.openclaw/agents/haonan/workspace/AGENTS.md", - "missing": false, - "rawChars": 11295, - "injectedChars": 11295, - "truncated": false - }, - { - "name": "SOUL.md", - "path": "/home/starmen1265/.openclaw/agents/haonan/workspace/SOUL.md", - "missing": false, - "rawChars": 285, - "injectedChars": 285, - "truncated": false - }, - { - "name": "TOOLS.md", - "path": "/home/starmen1265/.openclaw/agents/haonan/workspace/TOOLS.md", - "missing": false, - "rawChars": 572, - "injectedChars": 572, - "truncated": false - }, - { - "name": "IDENTITY.md", - "path": "/home/starmen1265/.openclaw/agents/haonan/workspace/IDENTITY.md", - "missing": false, - "rawChars": 130, - "injectedChars": 130, - "truncated": false - }, - { - "name": "USER.md", - "path": "/home/starmen1265/.openclaw/agents/haonan/workspace/USER.md", - "missing": false, - "rawChars": 132, - "injectedChars": 132, - "truncated": false - }, - { - "path": "SELF_IMPROVEMENT_REMINDER.md", - "rawChars": 616, - "injectedChars": 616, - "truncated": false - } - ], - "skills": { - "promptChars": 1005, - "entries": [ - { - "name": "capability-evolver", - "blockChars": 290 - }, - { - "name": "clawlist", - "blockChars": 343 - } - ] - }, - "tools": { - "listChars": 4054, - "schemaChars": 30173, - "entries": [ - { - "name": "read", - "summaryChars": 298, - "schemaChars": 574, - "propertiesCount": 6 - }, - { - "name": "edit", - "summaryChars": 326, - "schemaChars": 1103, - "propertiesCount": 5 - }, - { - "name": "write", - "summaryChars": 127, - "schemaChars": 497, - "propertiesCount": 5 - }, - { - "name": "exec", - "summaryChars": 181, - "schemaChars": 1098, - "propertiesCount": 12 - }, - { - "name": "process", - "summaryChars": 85, - "schemaChars": 961, - "propertiesCount": 12 - }, - { - "name": "canvas", - "summaryChars": 106, - "schemaChars": 661, - "propertiesCount": 18 - }, - { - "name": "nodes", - "summaryChars": 118, - "schemaChars": 1589, - "propertiesCount": 32 - }, - { - "name": "cron", - "summaryChars": 3570, - "schemaChars": 690, - "propertiesCount": 13 - }, - { - "name": "message", - "summaryChars": 203, - "schemaChars": 5628, - "propertiesCount": 104 - }, - { - "name": "tts", - "summaryChars": 152, - "schemaChars": 223, - "propertiesCount": 2 - }, - { - "name": "image_generate", - "summaryChars": 435, - "schemaChars": 1195, - "propertiesCount": 10 - }, - { - "name": "gateway", - "summaryChars": 464, - "schemaChars": 497, - "propertiesCount": 12 - }, - { - "name": "agents_list", - "summaryChars": 118, - "schemaChars": 33, - "propertiesCount": 0 - }, - { - "name": "sessions_list", - "summaryChars": 54, - "schemaChars": 212, - "propertiesCount": 4 - }, - { - "name": "sessions_history", - "summaryChars": 36, - "schemaChars": 161, - "propertiesCount": 3 - }, - { - "name": "sessions_send", - "summaryChars": 84, - "schemaChars": 274, - "propertiesCount": 5 - }, - { - "name": "sessions_yield", - "summaryChars": 97, - "schemaChars": 60, - "propertiesCount": 1 - }, - { - "name": "sessions_spawn", - "summaryChars": 198, - "schemaChars": 1179, - "propertiesCount": 17 - }, - { - "name": "subagents", - "summaryChars": 105, - "schemaChars": 191, - "propertiesCount": 4 - }, - { - "name": "session_status", - "summaryChars": 262, - "schemaChars": 89, - "propertiesCount": 2 - }, - { - "name": "web_search", - "summaryChars": 175, - "schemaChars": 1084, - "propertiesCount": 9 - }, - { - "name": "web_fetch", - "summaryChars": 129, - "schemaChars": 374, - "propertiesCount": 3 - }, - { - "name": "image", - "summaryChars": 201, - "schemaChars": 342, - "propertiesCount": 6 - }, - { - "name": "browser", - "summaryChars": 1066, - "schemaChars": 2799, - "propertiesCount": 48 - }, - { - "name": "feishu_doc", - "summaryChars": 321, - "schemaChars": 2898, - "propertiesCount": 27 - }, - { - "name": "feishu_app_scopes", - "summaryChars": 102, - "schemaChars": 33, - "propertiesCount": 0 - }, - { - "name": "feishu_chat", - "summaryChars": 59, - "schemaChars": 606, - "propertiesCount": 6 - }, - { - "name": "feishu_wiki", - "summaryChars": 83, - "schemaChars": 971, - "propertiesCount": 10 - }, - { - "name": "feishu_drive", - "summaryChars": 81, - "schemaChars": 486, - "propertiesCount": 5 - }, - { - "name": "feishu_bitable_get_meta", - "summaryChars": 114, - "schemaChars": 170, - "propertiesCount": 1 - }, - { - "name": "feishu_bitable_list_fields", - "summaryChars": 76, - "schemaChars": 255, - "propertiesCount": 2 - }, - { - "name": "feishu_bitable_list_records", - "summaryChars": 64, - "schemaChars": 462, - "propertiesCount": 4 - }, - { - "name": "feishu_bitable_get_record", - "summaryChars": 46, - "schemaChars": 335, - "propertiesCount": 3 - }, - { - "name": "feishu_bitable_create_record", - "summaryChars": 44, - "schemaChars": 549, - "propertiesCount": 3 - }, - { - "name": "feishu_bitable_update_record", - "summaryChars": 50, - "schemaChars": 473, - "propertiesCount": 4 - }, - { - "name": "feishu_bitable_create_app", - "summaryChars": 57, - "schemaChars": 243, - "propertiesCount": 2 - }, - { - "name": "feishu_bitable_create_field", - "summaryChars": 46, - "schemaChars": 911, - "propertiesCount": 5 - }, - { - "name": "memory_search", - "summaryChars": 334, - "schemaChars": 139, - "propertiesCount": 3 - }, - { - "name": "memory_get", - "summaryChars": 151, - "schemaChars": 128, - "propertiesCount": 3 - } - ] - } - }, - "estimatedCostUsd": 0, + "estimatedCostUsd": 0.32935932, "status": "running", - "startedAt": 1775931600223 - }, - "agent:haonan:cron:41396aeb-6e3a-47b2-9bd3-9156a348c1dc:run:acd2a34a-b2a9-4d7e-b763-034b9ef1ba34": { - "sessionId": "acd2a34a-b2a9-4d7e-b763-034b9ef1ba34", - "updatedAt": 1778263200014, - "systemSent": true, - "model": "glm-5", - "contextTokens": 200000, - "label": "Cron: backup-openclaw-json", - "skillsSnapshot": { - "prompt": "\n\nThe following skills provide specialized instructions for specific tasks.\nUse the read tool to load a skill's file when the task matches its description.\nWhen a skill file references a relative path, resolve it against the skill directory (parent of SKILL.md / dirname of the path) and use that absolute path in tool commands.\n\n\n \n capability-evolver\n A self-evolution engine for AI agents. Analyzes runtime history to identify improvements and applies protocol-constrained evolution.\n ~/.openclaw/skills/capability-evolver/SKILL.md\n \n \n clawlist\n MUST use for any multi-step project, long-running task, or infinite monitoring workflow. Plan, execute, track, and verify tasks with checkpoint validation. For projects, automation, and ongoing operations.\n ~/.openclaw/skills/clawlist/SKILL.md\n \n", - "skills": [ - { - "name": "capability-evolver" - }, - { - "name": "clawlist" - } - ], - "skillFilter": [ - "clawlist", - "capability-evolver", - "self-improving-agent" - ], - "resolvedSkills": [ - { - "name": "capability-evolver", - "description": "A self-evolution engine for AI agents. Analyzes runtime history to identify improvements and applies protocol-constrained evolution.", - "filePath": "/home/starmen1265/.openclaw/skills/capability-evolver/SKILL.md", - "baseDir": "/home/starmen1265/.openclaw/skills/capability-evolver", - "source": "openclaw-managed", - "disableModelInvocation": false - }, - { - "name": "clawlist", - "description": "MUST use for any multi-step project, long-running task, or infinite monitoring workflow. Plan, execute, track, and verify tasks with checkpoint validation. For projects, automation, and ongoing operations.", - "filePath": "/home/starmen1265/.openclaw/skills/clawlist/SKILL.md", - "baseDir": "/home/starmen1265/.openclaw/skills/clawlist", - "source": "openclaw-managed", - "disableModelInvocation": false - } - ], - "version": 0 - }, - "modelProvider": "zhipu", - "inputTokens": 11592, - "outputTokens": 71, - "totalTokens": 18627, - "totalTokensFresh": true, - "cacheRead": 25600, - "cacheWrite": 0, - "authProfileOverride": "minimax:cn", - "authProfileOverrideSource": "auto", - "authProfileOverrideCompactionCount": 0, - "systemPromptReport": { - "source": "run", - "generatedAt": 1778263260359, - "sessionId": "acd2a34a-b2a9-4d7e-b763-034b9ef1ba34", - "sessionKey": "agent:haonan:cron:41396aeb-6e3a-47b2-9bd3-9156a348c1dc", - "provider": "zhipu", - "model": "glm-5", - "workspaceDir": "/home/starmen1265/.openclaw/agents/haonan/workspace", - "bootstrapMaxChars": 20000, - "bootstrapTotalMaxChars": 150000, - "bootstrapTruncation": { - "warningMode": "once", - "warningShown": false, - "truncatedFiles": 0, - "nearLimitFiles": 0, - "totalNearLimit": false - }, - "sandbox": { - "mode": "off", - "sandboxed": false - }, - "systemPrompt": { - "chars": 23534, - "projectContextChars": 14014, - "nonProjectContextChars": 9520 - }, - "injectedWorkspaceFiles": [ - { - "name": "AGENTS.md", - "path": "/home/starmen1265/.openclaw/agents/haonan/workspace/AGENTS.md", - "missing": false, - "rawChars": 11295, - "injectedChars": 11295, - "truncated": false - }, - { - "name": "SOUL.md", - "path": "/home/starmen1265/.openclaw/agents/haonan/workspace/SOUL.md", - "missing": false, - "rawChars": 285, - "injectedChars": 285, - "truncated": false - }, - { - "name": "TOOLS.md", - "path": "/home/starmen1265/.openclaw/agents/haonan/workspace/TOOLS.md", - "missing": false, - "rawChars": 572, - "injectedChars": 572, - "truncated": false - }, - { - "name": "IDENTITY.md", - "path": "/home/starmen1265/.openclaw/agents/haonan/workspace/IDENTITY.md", - "missing": false, - "rawChars": 130, - "injectedChars": 130, - "truncated": false - }, - { - "name": "USER.md", - "path": "/home/starmen1265/.openclaw/agents/haonan/workspace/USER.md", - "missing": false, - "rawChars": 132, - "injectedChars": 132, - "truncated": false - }, - { - "path": "SELF_IMPROVEMENT_REMINDER.md", - "rawChars": 616, - "injectedChars": 616, - "truncated": false - } - ], - "skills": { - "promptChars": 1005, - "entries": [ - { - "name": "capability-evolver", - "blockChars": 290 - }, - { - "name": "clawlist", - "blockChars": 343 - } - ] - }, - "tools": { - "listChars": 4054, - "schemaChars": 30173, - "entries": [ - { - "name": "read", - "summaryChars": 298, - "schemaChars": 574, - "propertiesCount": 6 - }, - { - "name": "edit", - "summaryChars": 326, - "schemaChars": 1103, - "propertiesCount": 5 - }, - { - "name": "write", - "summaryChars": 127, - "schemaChars": 497, - "propertiesCount": 5 - }, - { - "name": "exec", - "summaryChars": 181, - "schemaChars": 1098, - "propertiesCount": 12 - }, - { - "name": "process", - "summaryChars": 85, - "schemaChars": 961, - "propertiesCount": 12 - }, - { - "name": "canvas", - "summaryChars": 106, - "schemaChars": 661, - "propertiesCount": 18 - }, - { - "name": "nodes", - "summaryChars": 118, - "schemaChars": 1589, - "propertiesCount": 32 - }, - { - "name": "cron", - "summaryChars": 3570, - "schemaChars": 690, - "propertiesCount": 13 - }, - { - "name": "message", - "summaryChars": 203, - "schemaChars": 5628, - "propertiesCount": 104 - }, - { - "name": "tts", - "summaryChars": 152, - "schemaChars": 223, - "propertiesCount": 2 - }, - { - "name": "image_generate", - "summaryChars": 435, - "schemaChars": 1195, - "propertiesCount": 10 - }, - { - "name": "gateway", - "summaryChars": 464, - "schemaChars": 497, - "propertiesCount": 12 - }, - { - "name": "agents_list", - "summaryChars": 118, - "schemaChars": 33, - "propertiesCount": 0 - }, - { - "name": "sessions_list", - "summaryChars": 54, - "schemaChars": 212, - "propertiesCount": 4 - }, - { - "name": "sessions_history", - "summaryChars": 36, - "schemaChars": 161, - "propertiesCount": 3 - }, - { - "name": "sessions_send", - "summaryChars": 84, - "schemaChars": 274, - "propertiesCount": 5 - }, - { - "name": "sessions_yield", - "summaryChars": 97, - "schemaChars": 60, - "propertiesCount": 1 - }, - { - "name": "sessions_spawn", - "summaryChars": 198, - "schemaChars": 1179, - "propertiesCount": 17 - }, - { - "name": "subagents", - "summaryChars": 105, - "schemaChars": 191, - "propertiesCount": 4 - }, - { - "name": "session_status", - "summaryChars": 262, - "schemaChars": 89, - "propertiesCount": 2 - }, - { - "name": "web_search", - "summaryChars": 175, - "schemaChars": 1084, - "propertiesCount": 9 - }, - { - "name": "web_fetch", - "summaryChars": 129, - "schemaChars": 374, - "propertiesCount": 3 - }, - { - "name": "image", - "summaryChars": 201, - "schemaChars": 342, - "propertiesCount": 6 - }, - { - "name": "browser", - "summaryChars": 1066, - "schemaChars": 2799, - "propertiesCount": 48 - }, - { - "name": "feishu_doc", - "summaryChars": 321, - "schemaChars": 2898, - "propertiesCount": 27 - }, - { - "name": "feishu_app_scopes", - "summaryChars": 102, - "schemaChars": 33, - "propertiesCount": 0 - }, - { - "name": "feishu_chat", - "summaryChars": 59, - "schemaChars": 606, - "propertiesCount": 6 - }, - { - "name": "feishu_wiki", - "summaryChars": 83, - "schemaChars": 971, - "propertiesCount": 10 - }, - { - "name": "feishu_drive", - "summaryChars": 81, - "schemaChars": 486, - "propertiesCount": 5 - }, - { - "name": "feishu_bitable_get_meta", - "summaryChars": 114, - "schemaChars": 170, - "propertiesCount": 1 - }, - { - "name": "feishu_bitable_list_fields", - "summaryChars": 76, - "schemaChars": 255, - "propertiesCount": 2 - }, - { - "name": "feishu_bitable_list_records", - "summaryChars": 64, - "schemaChars": 462, - "propertiesCount": 4 - }, - { - "name": "feishu_bitable_get_record", - "summaryChars": 46, - "schemaChars": 335, - "propertiesCount": 3 - }, - { - "name": "feishu_bitable_create_record", - "summaryChars": 44, - "schemaChars": 549, - "propertiesCount": 3 - }, - { - "name": "feishu_bitable_update_record", - "summaryChars": 50, - "schemaChars": 473, - "propertiesCount": 4 - }, - { - "name": "feishu_bitable_create_app", - "summaryChars": 57, - "schemaChars": 243, - "propertiesCount": 2 - }, - { - "name": "feishu_bitable_create_field", - "summaryChars": 46, - "schemaChars": 911, - "propertiesCount": 5 - }, - { - "name": "memory_search", - "summaryChars": 334, - "schemaChars": 139, - "propertiesCount": 3 - }, - { - "name": "memory_get", - "summaryChars": 151, - "schemaChars": 128, - "propertiesCount": 3 - } - ] - } - }, - "estimatedCostUsd": 0.050374140000000005 + "startedAt": 1778350200286, + "abortedLastRun": false }, "agent:haonan:cron:aa4d2de9-79be-4262-83ee-af8824793bfc:run:359c1567-62c7-40a9-89c3-524f66f7f724": { "sessionId": "359c1567-62c7-40a9-89c3-524f66f7f724", @@ -3100,9 +2331,9 @@ }, "agent:haonan:cron:f03b184f-5f1d-4093-ae1b-fc9fe0b59eef:run:690af9c9-c85e-46e0-9891-5c005951ff93": { "sessionId": "690af9c9-c85e-46e0-9891-5c005951ff93", - "updatedAt": 1778264421118, + "updatedAt": 1778264400011, "systemSent": true, - "model": "glm-4.7-FlashX", + "model": "glm-5", "contextTokens": 200000, "label": "Cron: capability-evolver-daily", "skillsSnapshot": { @@ -3141,9 +2372,9 @@ "version": 0 }, "modelProvider": "zhipu", - "inputTokens": 32276, - "outputTokens": 563, - "totalTokens": 33925, + "inputTokens": 7579, + "outputTokens": 570, + "totalTokens": 25918, "deliveryContext": { "channel": "webchat" }, @@ -3152,12 +2383,12 @@ "sessionFile": "/home/starmen1265/.openclaw/agents/haonan/sessions/ccc40ca7-7876-4d82-ab84-7b790feddc19.jsonl", "abortedLastRun": false, "totalTokensFresh": true, - "cacheRead": 65408, + "cacheRead": 56192, "cacheWrite": 0, "systemPromptReport": { "source": "run", - "generatedAt": 1778178021471, - "sessionId": "c964212a-b244-4fe7-9a07-fb02582799af", + "generatedAt": 1778264421107, + "sessionId": "690af9c9-c85e-46e0-9891-5c005951ff93", "sessionKey": "agent:haonan:cron:f03b184f-5f1d-4093-ae1b-fc9fe0b59eef", "provider": "zhipu", "model": "glm-5", @@ -3484,6 +2715,770 @@ }, "estimatedCostUsd": 0, "status": "running", - "startedAt": 1778264421114 + "startedAt": 1775931600223 + }, + "agent:haonan:cron:41396aeb-6e3a-47b2-9bd3-9156a348c1dc:run:d1226954-06c9-4dbf-acf5-7548c3f55f07": { + "sessionId": "d1226954-06c9-4dbf-acf5-7548c3f55f07", + "updatedAt": 1778349600011, + "systemSent": true, + "model": "MiniMax-M2.7-highspeed", + "contextTokens": 204800, + "label": "Cron: backup-openclaw-json", + "skillsSnapshot": { + "prompt": "\n\nThe following skills provide specialized instructions for specific tasks.\nUse the read tool to load a skill's file when the task matches its description.\nWhen a skill file references a relative path, resolve it against the skill directory (parent of SKILL.md / dirname of the path) and use that absolute path in tool commands.\n\n\n \n capability-evolver\n A self-evolution engine for AI agents. Analyzes runtime history to identify improvements and applies protocol-constrained evolution.\n ~/.openclaw/skills/capability-evolver/SKILL.md\n \n \n clawlist\n MUST use for any multi-step project, long-running task, or infinite monitoring workflow. Plan, execute, track, and verify tasks with checkpoint validation. For projects, automation, and ongoing operations.\n ~/.openclaw/skills/clawlist/SKILL.md\n \n", + "skills": [ + { + "name": "capability-evolver" + }, + { + "name": "clawlist" + } + ], + "skillFilter": [ + "clawlist", + "capability-evolver", + "self-improving-agent" + ], + "resolvedSkills": [ + { + "name": "capability-evolver", + "description": "A self-evolution engine for AI agents. Analyzes runtime history to identify improvements and applies protocol-constrained evolution.", + "filePath": "/home/starmen1265/.openclaw/skills/capability-evolver/SKILL.md", + "baseDir": "/home/starmen1265/.openclaw/skills/capability-evolver", + "source": "openclaw-managed", + "disableModelInvocation": false + }, + { + "name": "clawlist", + "description": "MUST use for any multi-step project, long-running task, or infinite monitoring workflow. Plan, execute, track, and verify tasks with checkpoint validation. For projects, automation, and ongoing operations.", + "filePath": "/home/starmen1265/.openclaw/skills/clawlist/SKILL.md", + "baseDir": "/home/starmen1265/.openclaw/skills/clawlist", + "source": "openclaw-managed", + "disableModelInvocation": false + } + ], + "version": 0 + }, + "modelProvider": "minimax", + "inputTokens": 437, + "outputTokens": 98, + "totalTokens": 18903, + "totalTokensFresh": true, + "cacheRead": 18564, + "cacheWrite": 18700, + "authProfileOverride": "minimax:cn", + "authProfileOverrideSource": "auto", + "authProfileOverrideCompactionCount": 0, + "systemPromptReport": { + "source": "run", + "generatedAt": 1778349600253, + "sessionId": "d1226954-06c9-4dbf-acf5-7548c3f55f07", + "sessionKey": "agent:haonan:cron:41396aeb-6e3a-47b2-9bd3-9156a348c1dc", + "provider": "minimax", + "model": "MiniMax-M2.7-highspeed", + "workspaceDir": "/home/starmen1265/.openclaw/agents/haonan/workspace", + "bootstrapMaxChars": 20000, + "bootstrapTotalMaxChars": 150000, + "bootstrapTruncation": { + "warningMode": "once", + "warningShown": false, + "truncatedFiles": 0, + "nearLimitFiles": 0, + "totalNearLimit": false + }, + "sandbox": { + "mode": "off", + "sandboxed": false + }, + "systemPrompt": { + "chars": 24034, + "projectContextChars": 14033, + "nonProjectContextChars": 10001 + }, + "injectedWorkspaceFiles": [ + { + "name": "AGENTS.md", + "path": "/home/starmen1265/.openclaw/agents/haonan/workspace/AGENTS.md", + "missing": false, + "rawChars": 11295, + "injectedChars": 11295, + "truncated": false + }, + { + "name": "SOUL.md", + "path": "/home/starmen1265/.openclaw/agents/haonan/workspace/SOUL.md", + "missing": false, + "rawChars": 285, + "injectedChars": 285, + "truncated": false + }, + { + "name": "TOOLS.md", + "path": "/home/starmen1265/.openclaw/agents/haonan/workspace/TOOLS.md", + "missing": false, + "rawChars": 572, + "injectedChars": 572, + "truncated": false + }, + { + "name": "IDENTITY.md", + "path": "/home/starmen1265/.openclaw/agents/haonan/workspace/IDENTITY.md", + "missing": false, + "rawChars": 130, + "injectedChars": 130, + "truncated": false + }, + { + "name": "USER.md", + "path": "/home/starmen1265/.openclaw/agents/haonan/workspace/USER.md", + "missing": false, + "rawChars": 132, + "injectedChars": 132, + "truncated": false + }, + { + "path": "SELF_IMPROVEMENT_REMINDER.md", + "rawChars": 616, + "injectedChars": 616, + "truncated": false + } + ], + "skills": { + "promptChars": 1005, + "entries": [ + { + "name": "capability-evolver", + "blockChars": 290 + }, + { + "name": "clawlist", + "blockChars": 343 + } + ] + }, + "tools": { + "listChars": 4054, + "schemaChars": 30173, + "entries": [ + { + "name": "read", + "summaryChars": 298, + "schemaChars": 574, + "propertiesCount": 6 + }, + { + "name": "edit", + "summaryChars": 326, + "schemaChars": 1103, + "propertiesCount": 5 + }, + { + "name": "write", + "summaryChars": 127, + "schemaChars": 497, + "propertiesCount": 5 + }, + { + "name": "exec", + "summaryChars": 181, + "schemaChars": 1098, + "propertiesCount": 12 + }, + { + "name": "process", + "summaryChars": 85, + "schemaChars": 961, + "propertiesCount": 12 + }, + { + "name": "canvas", + "summaryChars": 106, + "schemaChars": 661, + "propertiesCount": 18 + }, + { + "name": "nodes", + "summaryChars": 118, + "schemaChars": 1589, + "propertiesCount": 32 + }, + { + "name": "cron", + "summaryChars": 3570, + "schemaChars": 690, + "propertiesCount": 13 + }, + { + "name": "message", + "summaryChars": 203, + "schemaChars": 5628, + "propertiesCount": 104 + }, + { + "name": "tts", + "summaryChars": 152, + "schemaChars": 223, + "propertiesCount": 2 + }, + { + "name": "image_generate", + "summaryChars": 435, + "schemaChars": 1195, + "propertiesCount": 10 + }, + { + "name": "gateway", + "summaryChars": 464, + "schemaChars": 497, + "propertiesCount": 12 + }, + { + "name": "agents_list", + "summaryChars": 118, + "schemaChars": 33, + "propertiesCount": 0 + }, + { + "name": "sessions_list", + "summaryChars": 54, + "schemaChars": 212, + "propertiesCount": 4 + }, + { + "name": "sessions_history", + "summaryChars": 36, + "schemaChars": 161, + "propertiesCount": 3 + }, + { + "name": "sessions_send", + "summaryChars": 84, + "schemaChars": 274, + "propertiesCount": 5 + }, + { + "name": "sessions_yield", + "summaryChars": 97, + "schemaChars": 60, + "propertiesCount": 1 + }, + { + "name": "sessions_spawn", + "summaryChars": 198, + "schemaChars": 1179, + "propertiesCount": 17 + }, + { + "name": "subagents", + "summaryChars": 105, + "schemaChars": 191, + "propertiesCount": 4 + }, + { + "name": "session_status", + "summaryChars": 262, + "schemaChars": 89, + "propertiesCount": 2 + }, + { + "name": "web_search", + "summaryChars": 175, + "schemaChars": 1084, + "propertiesCount": 9 + }, + { + "name": "web_fetch", + "summaryChars": 129, + "schemaChars": 374, + "propertiesCount": 3 + }, + { + "name": "image", + "summaryChars": 201, + "schemaChars": 342, + "propertiesCount": 6 + }, + { + "name": "browser", + "summaryChars": 1066, + "schemaChars": 2799, + "propertiesCount": 48 + }, + { + "name": "feishu_doc", + "summaryChars": 321, + "schemaChars": 2898, + "propertiesCount": 27 + }, + { + "name": "feishu_app_scopes", + "summaryChars": 102, + "schemaChars": 33, + "propertiesCount": 0 + }, + { + "name": "feishu_chat", + "summaryChars": 59, + "schemaChars": 606, + "propertiesCount": 6 + }, + { + "name": "feishu_wiki", + "summaryChars": 83, + "schemaChars": 971, + "propertiesCount": 10 + }, + { + "name": "feishu_drive", + "summaryChars": 81, + "schemaChars": 486, + "propertiesCount": 5 + }, + { + "name": "feishu_bitable_get_meta", + "summaryChars": 114, + "schemaChars": 170, + "propertiesCount": 1 + }, + { + "name": "feishu_bitable_list_fields", + "summaryChars": 76, + "schemaChars": 255, + "propertiesCount": 2 + }, + { + "name": "feishu_bitable_list_records", + "summaryChars": 64, + "schemaChars": 462, + "propertiesCount": 4 + }, + { + "name": "feishu_bitable_get_record", + "summaryChars": 46, + "schemaChars": 335, + "propertiesCount": 3 + }, + { + "name": "feishu_bitable_create_record", + "summaryChars": 44, + "schemaChars": 549, + "propertiesCount": 3 + }, + { + "name": "feishu_bitable_update_record", + "summaryChars": 50, + "schemaChars": 473, + "propertiesCount": 4 + }, + { + "name": "feishu_bitable_create_app", + "summaryChars": 57, + "schemaChars": 243, + "propertiesCount": 2 + }, + { + "name": "feishu_bitable_create_field", + "summaryChars": 46, + "schemaChars": 911, + "propertiesCount": 5 + }, + { + "name": "memory_search", + "summaryChars": 334, + "schemaChars": 139, + "propertiesCount": 3 + }, + { + "name": "memory_get", + "summaryChars": 151, + "schemaChars": 128, + "propertiesCount": 3 + } + ] + } + }, + "estimatedCostUsd": 0.058749180000000005 + }, + "agent:haonan:cron:aa4d2de9-79be-4262-83ee-af8824793bfc:run:27999f85-a0e9-4048-b5ff-02815067486b": { + "sessionId": "27999f85-a0e9-4048-b5ff-02815067486b", + "updatedAt": 1778350200036, + "systemSent": true, + "label": "Cron: openclaw-git-sync", + "skillsSnapshot": { + "prompt": "\n\nThe following skills provide specialized instructions for specific tasks.\nUse the read tool to load a skill's file when the task matches its description.\nWhen a skill file references a relative path, resolve it against the skill directory (parent of SKILL.md / dirname of the path) and use that absolute path in tool commands.\n\n\n \n capability-evolver\n A self-evolution engine for AI agents. Analyzes runtime history to identify improvements and applies protocol-constrained evolution.\n ~/.openclaw/skills/capability-evolver/SKILL.md\n \n \n clawlist\n MUST use for any multi-step project, long-running task, or infinite monitoring workflow. Plan, execute, track, and verify tasks with checkpoint validation. For projects, automation, and ongoing operations.\n ~/.openclaw/skills/clawlist/SKILL.md\n \n", + "skills": [ + { + "name": "capability-evolver" + }, + { + "name": "clawlist" + } + ], + "skillFilter": [ + "clawlist", + "capability-evolver", + "self-improving-agent" + ], + "resolvedSkills": [ + { + "name": "capability-evolver", + "description": "A self-evolution engine for AI agents. Analyzes runtime history to identify improvements and applies protocol-constrained evolution.", + "filePath": "/home/starmen1265/.openclaw/skills/capability-evolver/SKILL.md", + "baseDir": "/home/starmen1265/.openclaw/skills/capability-evolver", + "source": "openclaw-managed", + "disableModelInvocation": false + }, + { + "name": "clawlist", + "description": "MUST use for any multi-step project, long-running task, or infinite monitoring workflow. Plan, execute, track, and verify tasks with checkpoint validation. For projects, automation, and ongoing operations.", + "filePath": "/home/starmen1265/.openclaw/skills/clawlist/SKILL.md", + "baseDir": "/home/starmen1265/.openclaw/skills/clawlist", + "source": "openclaw-managed", + "disableModelInvocation": false + } + ], + "version": 0 + }, + "modelProvider": "minimax", + "model": "MiniMax-M2.7-highspeed", + "contextTokens": 204800, + "inputTokens": 519, + "outputTokens": 144, + "totalTokens": 18985, + "totalTokensFresh": true, + "cacheRead": 18564, + "cacheWrite": 18694, + "authProfileOverride": "minimax:cn", + "authProfileOverrideSource": "auto", + "authProfileOverrideCompactionCount": 0, + "systemPromptReport": { + "source": "run", + "generatedAt": 1778263800256, + "sessionId": "359c1567-62c7-40a9-89c3-524f66f7f724", + "sessionKey": "agent:haonan:cron:aa4d2de9-79be-4262-83ee-af8824793bfc", + "provider": "minimax", + "model": "MiniMax-M2.7-highspeed", + "workspaceDir": "/home/starmen1265/.openclaw/agents/haonan/workspace", + "bootstrapMaxChars": 20000, + "bootstrapTotalMaxChars": 150000, + "bootstrapTruncation": { + "warningMode": "once", + "warningShown": false, + "truncatedFiles": 0, + "nearLimitFiles": 0, + "totalNearLimit": false + }, + "sandbox": { + "mode": "off", + "sandboxed": false + }, + "systemPrompt": { + "chars": 24034, + "projectContextChars": 14033, + "nonProjectContextChars": 10001 + }, + "injectedWorkspaceFiles": [ + { + "name": "AGENTS.md", + "path": "/home/starmen1265/.openclaw/agents/haonan/workspace/AGENTS.md", + "missing": false, + "rawChars": 11295, + "injectedChars": 11295, + "truncated": false + }, + { + "name": "SOUL.md", + "path": "/home/starmen1265/.openclaw/agents/haonan/workspace/SOUL.md", + "missing": false, + "rawChars": 285, + "injectedChars": 285, + "truncated": false + }, + { + "name": "TOOLS.md", + "path": "/home/starmen1265/.openclaw/agents/haonan/workspace/TOOLS.md", + "missing": false, + "rawChars": 572, + "injectedChars": 572, + "truncated": false + }, + { + "name": "IDENTITY.md", + "path": "/home/starmen1265/.openclaw/agents/haonan/workspace/IDENTITY.md", + "missing": false, + "rawChars": 130, + "injectedChars": 130, + "truncated": false + }, + { + "name": "USER.md", + "path": "/home/starmen1265/.openclaw/agents/haonan/workspace/USER.md", + "missing": false, + "rawChars": 132, + "injectedChars": 132, + "truncated": false + }, + { + "path": "SELF_IMPROVEMENT_REMINDER.md", + "rawChars": 616, + "injectedChars": 616, + "truncated": false + } + ], + "skills": { + "promptChars": 1005, + "entries": [ + { + "name": "capability-evolver", + "blockChars": 290 + }, + { + "name": "clawlist", + "blockChars": 343 + } + ] + }, + "tools": { + "listChars": 4054, + "schemaChars": 30173, + "entries": [ + { + "name": "read", + "summaryChars": 298, + "schemaChars": 574, + "propertiesCount": 6 + }, + { + "name": "edit", + "summaryChars": 326, + "schemaChars": 1103, + "propertiesCount": 5 + }, + { + "name": "write", + "summaryChars": 127, + "schemaChars": 497, + "propertiesCount": 5 + }, + { + "name": "exec", + "summaryChars": 181, + "schemaChars": 1098, + "propertiesCount": 12 + }, + { + "name": "process", + "summaryChars": 85, + "schemaChars": 961, + "propertiesCount": 12 + }, + { + "name": "canvas", + "summaryChars": 106, + "schemaChars": 661, + "propertiesCount": 18 + }, + { + "name": "nodes", + "summaryChars": 118, + "schemaChars": 1589, + "propertiesCount": 32 + }, + { + "name": "cron", + "summaryChars": 3570, + "schemaChars": 690, + "propertiesCount": 13 + }, + { + "name": "message", + "summaryChars": 203, + "schemaChars": 5628, + "propertiesCount": 104 + }, + { + "name": "tts", + "summaryChars": 152, + "schemaChars": 223, + "propertiesCount": 2 + }, + { + "name": "image_generate", + "summaryChars": 435, + "schemaChars": 1195, + "propertiesCount": 10 + }, + { + "name": "gateway", + "summaryChars": 464, + "schemaChars": 497, + "propertiesCount": 12 + }, + { + "name": "agents_list", + "summaryChars": 118, + "schemaChars": 33, + "propertiesCount": 0 + }, + { + "name": "sessions_list", + "summaryChars": 54, + "schemaChars": 212, + "propertiesCount": 4 + }, + { + "name": "sessions_history", + "summaryChars": 36, + "schemaChars": 161, + "propertiesCount": 3 + }, + { + "name": "sessions_send", + "summaryChars": 84, + "schemaChars": 274, + "propertiesCount": 5 + }, + { + "name": "sessions_yield", + "summaryChars": 97, + "schemaChars": 60, + "propertiesCount": 1 + }, + { + "name": "sessions_spawn", + "summaryChars": 198, + "schemaChars": 1179, + "propertiesCount": 17 + }, + { + "name": "subagents", + "summaryChars": 105, + "schemaChars": 191, + "propertiesCount": 4 + }, + { + "name": "session_status", + "summaryChars": 262, + "schemaChars": 89, + "propertiesCount": 2 + }, + { + "name": "web_search", + "summaryChars": 175, + "schemaChars": 1084, + "propertiesCount": 9 + }, + { + "name": "web_fetch", + "summaryChars": 129, + "schemaChars": 374, + "propertiesCount": 3 + }, + { + "name": "image", + "summaryChars": 201, + "schemaChars": 342, + "propertiesCount": 6 + }, + { + "name": "browser", + "summaryChars": 1066, + "schemaChars": 2799, + "propertiesCount": 48 + }, + { + "name": "feishu_doc", + "summaryChars": 321, + "schemaChars": 2898, + "propertiesCount": 27 + }, + { + "name": "feishu_app_scopes", + "summaryChars": 102, + "schemaChars": 33, + "propertiesCount": 0 + }, + { + "name": "feishu_chat", + "summaryChars": 59, + "schemaChars": 606, + "propertiesCount": 6 + }, + { + "name": "feishu_wiki", + "summaryChars": 83, + "schemaChars": 971, + "propertiesCount": 10 + }, + { + "name": "feishu_drive", + "summaryChars": 81, + "schemaChars": 486, + "propertiesCount": 5 + }, + { + "name": "feishu_bitable_get_meta", + "summaryChars": 114, + "schemaChars": 170, + "propertiesCount": 1 + }, + { + "name": "feishu_bitable_list_fields", + "summaryChars": 76, + "schemaChars": 255, + "propertiesCount": 2 + }, + { + "name": "feishu_bitable_list_records", + "summaryChars": 64, + "schemaChars": 462, + "propertiesCount": 4 + }, + { + "name": "feishu_bitable_get_record", + "summaryChars": 46, + "schemaChars": 335, + "propertiesCount": 3 + }, + { + "name": "feishu_bitable_create_record", + "summaryChars": 44, + "schemaChars": 549, + "propertiesCount": 3 + }, + { + "name": "feishu_bitable_update_record", + "summaryChars": 50, + "schemaChars": 473, + "propertiesCount": 4 + }, + { + "name": "feishu_bitable_create_app", + "summaryChars": 57, + "schemaChars": 243, + "propertiesCount": 2 + }, + { + "name": "feishu_bitable_create_field", + "summaryChars": 46, + "schemaChars": 911, + "propertiesCount": 5 + }, + { + "name": "memory_search", + "summaryChars": 334, + "schemaChars": 139, + "propertiesCount": 3 + }, + { + "name": "memory_get", + "summaryChars": 151, + "schemaChars": 128, + "propertiesCount": 3 + } + ] + } + }, + "estimatedCostUsd": 0.32935932 } } \ No newline at end of file diff --git a/agents/ui-designer/sessions/sessions.json b/agents/ui-designer/sessions/sessions.json index 9fe1586..e2e2052 100644 --- a/agents/ui-designer/sessions/sessions.json +++ b/agents/ui-designer/sessions/sessions.json @@ -1193,8 +1193,8 @@ "runtimeMs": 2143 }, "agent:ui-designer:cron:c3d4e5f6-a7b8-9012-cdef-234567890123": { - "sessionId": "ffd42f99-f46b-4ca4-8adf-f3e0c906ca45", - "updatedAt": 1778198479210, + "sessionId": "188bc0b6-2e40-43e5-8935-b477289033bf", + "updatedAt": 1778284817112, "systemSent": true, "label": "Cron: 每日热点新闻追踪", "skillsSnapshot": { @@ -1223,11 +1223,11 @@ "modelProvider": "zhipu", "model": "glm-5", "contextTokens": 200000, - "inputTokens": 21856, - "outputTokens": 3195, - "totalTokens": 318496, + "inputTokens": 29852, + "outputTokens": 3309, + "totalTokens": 34795, "totalTokensFresh": true, - "cacheRead": 296640, + "cacheRead": 323520, "cacheWrite": 0, "sessionFile": "/home/starmen1265/.openclaw/agents/ui-designer/sessions/3795c952-0d99-470a-8bee-9f63b83abedd.jsonl", "abortedLastRun": false, @@ -1236,8 +1236,8 @@ "authProfileOverrideCompactionCount": 0, "systemPromptReport": { "source": "run", - "generatedAt": 1778198539547, - "sessionId": "ffd42f99-f46b-4ca4-8adf-f3e0c906ca45", + "generatedAt": 1778284877438, + "sessionId": "188bc0b6-2e40-43e5-8935-b477289033bf", "sessionKey": "agent:ui-designer:cron:c3d4e5f6-a7b8-9012-cdef-234567890123", "provider": "zhipu", "model": "glm-5", @@ -2201,9 +2201,9 @@ "cacheWrite": 13572, "estimatedCostUsd": 0.0646701 }, - "agent:ui-designer:cron:c3d4e5f6-a7b8-9012-cdef-234567890123:run:ffd42f99-f46b-4ca4-8adf-f3e0c906ca45": { - "sessionId": "ffd42f99-f46b-4ca4-8adf-f3e0c906ca45", - "updatedAt": 1778198479210, + "agent:ui-designer:cron:c3d4e5f6-a7b8-9012-cdef-234567890123:run:188bc0b6-2e40-43e5-8935-b477289033bf": { + "sessionId": "188bc0b6-2e40-43e5-8935-b477289033bf", + "updatedAt": 1778284817112, "systemSent": true, "label": "Cron: 每日热点新闻追踪", "skillsSnapshot": { @@ -2232,11 +2232,11 @@ "modelProvider": "zhipu", "model": "glm-5", "contextTokens": 200000, - "inputTokens": 21856, - "outputTokens": 3195, - "totalTokens": 318496, + "inputTokens": 29852, + "outputTokens": 3309, + "totalTokens": 34795, "totalTokensFresh": true, - "cacheRead": 296640, + "cacheRead": 323520, "cacheWrite": 0, "sessionFile": "/home/starmen1265/.openclaw/agents/ui-designer/sessions/3795c952-0d99-470a-8bee-9f63b83abedd.jsonl", "abortedLastRun": false, @@ -2245,8 +2245,8 @@ "authProfileOverrideCompactionCount": 0, "systemPromptReport": { "source": "run", - "generatedAt": 1778198539547, - "sessionId": "ffd42f99-f46b-4ca4-8adf-f3e0c906ca45", + "generatedAt": 1778284877438, + "sessionId": "188bc0b6-2e40-43e5-8935-b477289033bf", "sessionKey": "agent:ui-designer:cron:c3d4e5f6-a7b8-9012-cdef-234567890123", "provider": "zhipu", "model": "glm-5", @@ -2572,749 +2572,5 @@ "startedAt": 1777939391912, "endedAt": 1777939393611, "runtimeMs": 1699 - }, - "agent:ui-designer:cron:a1b2c3d4-e5f6-7890-abcd-ef1234567890:run:913e9e26-90ac-42f4-9d43-b68c07497623": { - "sessionId": "913e9e26-90ac-42f4-9d43-b68c07497623", - "updatedAt": 1778225400012, - "systemSent": true, - "label": "Cron: 中国核建每日跟踪", - "skillsSnapshot": { - "prompt": "\n\nThe following skills provide specialized instructions for specific tasks.\nUse the read tool to load a skill's file when the task matches its description.\nWhen a skill file references a relative path, resolve it against the skill directory (parent of SKILL.md / dirname of the path) and use that absolute path in tool commands.\n\n\n \n capability-evolver\n A self-evolution engine for AI agents. Analyzes runtime history to identify improvements and applies protocol-constrained evolution.\n ~/.openclaw/skills/capability-evolver/SKILL.md\n \n", - "skills": [ - { - "name": "capability-evolver" - } - ], - "skillFilter": [ - "capability-evolver", - "self-improving-agent" - ], - "resolvedSkills": [ - { - "name": "capability-evolver", - "description": "A self-evolution engine for AI agents. Analyzes runtime history to identify improvements and applies protocol-constrained evolution.", - "filePath": "/home/starmen1265/.openclaw/skills/capability-evolver/SKILL.md", - "baseDir": "/home/starmen1265/.openclaw/skills/capability-evolver", - "source": "openclaw-managed", - "disableModelInvocation": false - } - ], - "version": 0 - }, - "modelProvider": "zhipu", - "model": "glm-5", - "contextTokens": 200000, - "inputTokens": 21305, - "outputTokens": 2350, - "totalTokens": 21279, - "totalTokensFresh": true, - "cacheRead": 93760, - "cacheWrite": 0, - "sessionFile": "/home/starmen1265/.openclaw/agents/ui-designer/sessions/20442854-3eb2-4c4f-bc84-74533d3faad4.jsonl", - "abortedLastRun": false, - "authProfileOverride": "minimax:cn", - "authProfileOverrideSource": "auto", - "authProfileOverrideCompactionCount": 0, - "systemPromptReport": { - "source": "run", - "generatedAt": 1778225460354, - "sessionId": "913e9e26-90ac-42f4-9d43-b68c07497623", - "sessionKey": "agent:ui-designer:cron:a1b2c3d4-e5f6-7890-abcd-ef1234567890", - "provider": "zhipu", - "model": "glm-5", - "workspaceDir": "/home/starmen1265/.openclaw/agents/ui-designer/workspace", - "bootstrapMaxChars": 20000, - "bootstrapTotalMaxChars": 150000, - "bootstrapTruncation": { - "warningMode": "once", - "warningShown": false, - "truncatedFiles": 0, - "nearLimitFiles": 0, - "totalNearLimit": false - }, - "sandbox": { - "mode": "off", - "sandboxed": false - }, - "systemPrompt": { - "chars": 14708, - "projectContextChars": 5529, - "nonProjectContextChars": 9179 - }, - "injectedWorkspaceFiles": [ - { - "name": "AGENTS.md", - "path": "/home/starmen1265/.openclaw/agents/ui-designer/workspace/AGENTS.md", - "missing": false, - "rawChars": 2663, - "injectedChars": 2663, - "truncated": false - }, - { - "name": "SOUL.md", - "path": "/home/starmen1265/.openclaw/agents/ui-designer/workspace/SOUL.md", - "missing": false, - "rawChars": 96, - "injectedChars": 96, - "truncated": false - }, - { - "name": "TOOLS.md", - "path": "/home/starmen1265/.openclaw/agents/ui-designer/workspace/TOOLS.md", - "missing": false, - "rawChars": 850, - "injectedChars": 850, - "truncated": false - }, - { - "name": "IDENTITY.md", - "path": "/home/starmen1265/.openclaw/agents/ui-designer/workspace/IDENTITY.md", - "missing": false, - "rawChars": 123, - "injectedChars": 123, - "truncated": false - }, - { - "name": "USER.md", - "path": "/home/starmen1265/.openclaw/agents/ui-designer/workspace/USER.md", - "missing": false, - "rawChars": 191, - "injectedChars": 191, - "truncated": false - }, - { - "path": "SELF_IMPROVEMENT_REMINDER.md", - "rawChars": 616, - "injectedChars": 616, - "truncated": false - } - ], - "skills": { - "promptChars": 659, - "entries": [ - { - "name": "capability-evolver", - "blockChars": 290 - } - ] - }, - "tools": { - "listChars": 4054, - "schemaChars": 30173, - "entries": [ - { - "name": "read", - "summaryChars": 298, - "schemaChars": 574, - "propertiesCount": 6 - }, - { - "name": "edit", - "summaryChars": 326, - "schemaChars": 1103, - "propertiesCount": 5 - }, - { - "name": "write", - "summaryChars": 127, - "schemaChars": 497, - "propertiesCount": 5 - }, - { - "name": "exec", - "summaryChars": 181, - "schemaChars": 1098, - "propertiesCount": 12 - }, - { - "name": "process", - "summaryChars": 85, - "schemaChars": 961, - "propertiesCount": 12 - }, - { - "name": "canvas", - "summaryChars": 106, - "schemaChars": 661, - "propertiesCount": 18 - }, - { - "name": "nodes", - "summaryChars": 118, - "schemaChars": 1589, - "propertiesCount": 32 - }, - { - "name": "cron", - "summaryChars": 3570, - "schemaChars": 690, - "propertiesCount": 13 - }, - { - "name": "message", - "summaryChars": 203, - "schemaChars": 5628, - "propertiesCount": 104 - }, - { - "name": "tts", - "summaryChars": 152, - "schemaChars": 223, - "propertiesCount": 2 - }, - { - "name": "image_generate", - "summaryChars": 435, - "schemaChars": 1195, - "propertiesCount": 10 - }, - { - "name": "gateway", - "summaryChars": 464, - "schemaChars": 497, - "propertiesCount": 12 - }, - { - "name": "agents_list", - "summaryChars": 118, - "schemaChars": 33, - "propertiesCount": 0 - }, - { - "name": "sessions_list", - "summaryChars": 54, - "schemaChars": 212, - "propertiesCount": 4 - }, - { - "name": "sessions_history", - "summaryChars": 36, - "schemaChars": 161, - "propertiesCount": 3 - }, - { - "name": "sessions_send", - "summaryChars": 84, - "schemaChars": 274, - "propertiesCount": 5 - }, - { - "name": "sessions_yield", - "summaryChars": 97, - "schemaChars": 60, - "propertiesCount": 1 - }, - { - "name": "sessions_spawn", - "summaryChars": 198, - "schemaChars": 1179, - "propertiesCount": 17 - }, - { - "name": "subagents", - "summaryChars": 105, - "schemaChars": 191, - "propertiesCount": 4 - }, - { - "name": "session_status", - "summaryChars": 262, - "schemaChars": 89, - "propertiesCount": 2 - }, - { - "name": "web_search", - "summaryChars": 175, - "schemaChars": 1084, - "propertiesCount": 9 - }, - { - "name": "web_fetch", - "summaryChars": 129, - "schemaChars": 374, - "propertiesCount": 3 - }, - { - "name": "image", - "summaryChars": 201, - "schemaChars": 342, - "propertiesCount": 6 - }, - { - "name": "browser", - "summaryChars": 1066, - "schemaChars": 2799, - "propertiesCount": 48 - }, - { - "name": "feishu_doc", - "summaryChars": 321, - "schemaChars": 2898, - "propertiesCount": 27 - }, - { - "name": "feishu_app_scopes", - "summaryChars": 102, - "schemaChars": 33, - "propertiesCount": 0 - }, - { - "name": "feishu_chat", - "summaryChars": 59, - "schemaChars": 606, - "propertiesCount": 6 - }, - { - "name": "feishu_wiki", - "summaryChars": 83, - "schemaChars": 971, - "propertiesCount": 10 - }, - { - "name": "feishu_drive", - "summaryChars": 81, - "schemaChars": 486, - "propertiesCount": 5 - }, - { - "name": "feishu_bitable_get_meta", - "summaryChars": 114, - "schemaChars": 170, - "propertiesCount": 1 - }, - { - "name": "feishu_bitable_list_fields", - "summaryChars": 76, - "schemaChars": 255, - "propertiesCount": 2 - }, - { - "name": "feishu_bitable_list_records", - "summaryChars": 64, - "schemaChars": 462, - "propertiesCount": 4 - }, - { - "name": "feishu_bitable_get_record", - "summaryChars": 46, - "schemaChars": 335, - "propertiesCount": 3 - }, - { - "name": "feishu_bitable_create_record", - "summaryChars": 44, - "schemaChars": 549, - "propertiesCount": 3 - }, - { - "name": "feishu_bitable_update_record", - "summaryChars": 50, - "schemaChars": 473, - "propertiesCount": 4 - }, - { - "name": "feishu_bitable_create_app", - "summaryChars": 57, - "schemaChars": 243, - "propertiesCount": 2 - }, - { - "name": "feishu_bitable_create_field", - "summaryChars": 46, - "schemaChars": 911, - "propertiesCount": 5 - }, - { - "name": "memory_search", - "summaryChars": 334, - "schemaChars": 139, - "propertiesCount": 3 - }, - { - "name": "memory_get", - "summaryChars": 151, - "schemaChars": 128, - "propertiesCount": 3 - } - ] - } - }, - "estimatedCostUsd": 0.0063183, - "status": "failed", - "startedAt": 1777361460383, - "endedAt": 1777361462485, - "runtimeMs": 2102 - }, - "agent:ui-designer:cron:b2c3d4e5-f6a7-8901-bcde-f12345678901:run:d76eab77-12ca-4df5-bda1-67366cf8b0d1": { - "sessionId": "d76eab77-12ca-4df5-bda1-67366cf8b0d1", - "updatedAt": 1778225541263, - "systemSent": true, - "label": "Cron: 中国海油每日跟踪", - "skillsSnapshot": { - "prompt": "\n\nThe following skills provide specialized instructions for specific tasks.\nUse the read tool to load a skill's file when the task matches its description.\nWhen a skill file references a relative path, resolve it against the skill directory (parent of SKILL.md / dirname of the path) and use that absolute path in tool commands.\n\n\n \n capability-evolver\n A self-evolution engine for AI agents. Analyzes runtime history to identify improvements and applies protocol-constrained evolution.\n ~/.openclaw/skills/capability-evolver/SKILL.md\n \n", - "skills": [ - { - "name": "capability-evolver" - } - ], - "skillFilter": [ - "capability-evolver", - "self-improving-agent" - ], - "resolvedSkills": [ - { - "name": "capability-evolver", - "description": "A self-evolution engine for AI agents. Analyzes runtime history to identify improvements and applies protocol-constrained evolution.", - "filePath": "/home/starmen1265/.openclaw/skills/capability-evolver/SKILL.md", - "baseDir": "/home/starmen1265/.openclaw/skills/capability-evolver", - "source": "openclaw-managed", - "disableModelInvocation": false - } - ], - "version": 0 - }, - "modelProvider": "minimax", - "model": "MiniMax-M2.7-highspeed", - "contextTokens": 204800, - "inputTokens": 296190, - "outputTokens": 6271, - "totalTokens": 41779, - "totalTokensFresh": true, - "cacheRead": 278647, - "cacheWrite": 16641, - "authProfileOverride": "minimax:cn", - "authProfileOverrideSource": "auto", - "authProfileOverrideCompactionCount": 0, - "systemPromptReport": { - "source": "run", - "generatedAt": 1778225541495, - "sessionId": "d76eab77-12ca-4df5-bda1-67366cf8b0d1", - "sessionKey": "agent:ui-designer:cron:b2c3d4e5-f6a7-8901-bcde-f12345678901", - "provider": "minimax", - "model": "MiniMax-M2.7-highspeed", - "workspaceDir": "/home/starmen1265/.openclaw/agents/ui-designer/workspace", - "bootstrapMaxChars": 20000, - "bootstrapTotalMaxChars": 150000, - "bootstrapTruncation": { - "warningMode": "once", - "warningShown": false, - "truncatedFiles": 0, - "nearLimitFiles": 0, - "totalNearLimit": false - }, - "sandbox": { - "mode": "off", - "sandboxed": false - }, - "systemPrompt": { - "chars": 15208, - "projectContextChars": 5548, - "nonProjectContextChars": 9660 - }, - "injectedWorkspaceFiles": [ - { - "name": "AGENTS.md", - "path": "/home/starmen1265/.openclaw/agents/ui-designer/workspace/AGENTS.md", - "missing": false, - "rawChars": 2663, - "injectedChars": 2663, - "truncated": false - }, - { - "name": "SOUL.md", - "path": "/home/starmen1265/.openclaw/agents/ui-designer/workspace/SOUL.md", - "missing": false, - "rawChars": 96, - "injectedChars": 96, - "truncated": false - }, - { - "name": "TOOLS.md", - "path": "/home/starmen1265/.openclaw/agents/ui-designer/workspace/TOOLS.md", - "missing": false, - "rawChars": 850, - "injectedChars": 850, - "truncated": false - }, - { - "name": "IDENTITY.md", - "path": "/home/starmen1265/.openclaw/agents/ui-designer/workspace/IDENTITY.md", - "missing": false, - "rawChars": 123, - "injectedChars": 123, - "truncated": false - }, - { - "name": "USER.md", - "path": "/home/starmen1265/.openclaw/agents/ui-designer/workspace/USER.md", - "missing": false, - "rawChars": 191, - "injectedChars": 191, - "truncated": false - }, - { - "path": "SELF_IMPROVEMENT_REMINDER.md", - "rawChars": 616, - "injectedChars": 616, - "truncated": false - } - ], - "skills": { - "promptChars": 659, - "entries": [ - { - "name": "capability-evolver", - "blockChars": 290 - } - ] - }, - "tools": { - "listChars": 4054, - "schemaChars": 30173, - "entries": [ - { - "name": "read", - "summaryChars": 298, - "schemaChars": 574, - "propertiesCount": 6 - }, - { - "name": "edit", - "summaryChars": 326, - "schemaChars": 1103, - "propertiesCount": 5 - }, - { - "name": "write", - "summaryChars": 127, - "schemaChars": 497, - "propertiesCount": 5 - }, - { - "name": "exec", - "summaryChars": 181, - "schemaChars": 1098, - "propertiesCount": 12 - }, - { - "name": "process", - "summaryChars": 85, - "schemaChars": 961, - "propertiesCount": 12 - }, - { - "name": "canvas", - "summaryChars": 106, - "schemaChars": 661, - "propertiesCount": 18 - }, - { - "name": "nodes", - "summaryChars": 118, - "schemaChars": 1589, - "propertiesCount": 32 - }, - { - "name": "cron", - "summaryChars": 3570, - "schemaChars": 690, - "propertiesCount": 13 - }, - { - "name": "message", - "summaryChars": 203, - "schemaChars": 5628, - "propertiesCount": 104 - }, - { - "name": "tts", - "summaryChars": 152, - "schemaChars": 223, - "propertiesCount": 2 - }, - { - "name": "image_generate", - "summaryChars": 435, - "schemaChars": 1195, - "propertiesCount": 10 - }, - { - "name": "gateway", - "summaryChars": 464, - "schemaChars": 497, - "propertiesCount": 12 - }, - { - "name": "agents_list", - "summaryChars": 118, - "schemaChars": 33, - "propertiesCount": 0 - }, - { - "name": "sessions_list", - "summaryChars": 54, - "schemaChars": 212, - "propertiesCount": 4 - }, - { - "name": "sessions_history", - "summaryChars": 36, - "schemaChars": 161, - "propertiesCount": 3 - }, - { - "name": "sessions_send", - "summaryChars": 84, - "schemaChars": 274, - "propertiesCount": 5 - }, - { - "name": "sessions_yield", - "summaryChars": 97, - "schemaChars": 60, - "propertiesCount": 1 - }, - { - "name": "sessions_spawn", - "summaryChars": 198, - "schemaChars": 1179, - "propertiesCount": 17 - }, - { - "name": "subagents", - "summaryChars": 105, - "schemaChars": 191, - "propertiesCount": 4 - }, - { - "name": "session_status", - "summaryChars": 262, - "schemaChars": 89, - "propertiesCount": 2 - }, - { - "name": "web_search", - "summaryChars": 175, - "schemaChars": 1084, - "propertiesCount": 9 - }, - { - "name": "web_fetch", - "summaryChars": 129, - "schemaChars": 374, - "propertiesCount": 3 - }, - { - "name": "image", - "summaryChars": 201, - "schemaChars": 342, - "propertiesCount": 6 - }, - { - "name": "browser", - "summaryChars": 1066, - "schemaChars": 2799, - "propertiesCount": 48 - }, - { - "name": "feishu_doc", - "summaryChars": 321, - "schemaChars": 2898, - "propertiesCount": 27 - }, - { - "name": "feishu_app_scopes", - "summaryChars": 102, - "schemaChars": 33, - "propertiesCount": 0 - }, - { - "name": "feishu_chat", - "summaryChars": 59, - "schemaChars": 606, - "propertiesCount": 6 - }, - { - "name": "feishu_wiki", - "summaryChars": 83, - "schemaChars": 971, - "propertiesCount": 10 - }, - { - "name": "feishu_drive", - "summaryChars": 81, - "schemaChars": 486, - "propertiesCount": 5 - }, - { - "name": "feishu_bitable_get_meta", - "summaryChars": 114, - "schemaChars": 170, - "propertiesCount": 1 - }, - { - "name": "feishu_bitable_list_fields", - "summaryChars": 76, - "schemaChars": 255, - "propertiesCount": 2 - }, - { - "name": "feishu_bitable_list_records", - "summaryChars": 64, - "schemaChars": 462, - "propertiesCount": 4 - }, - { - "name": "feishu_bitable_get_record", - "summaryChars": 46, - "schemaChars": 335, - "propertiesCount": 3 - }, - { - "name": "feishu_bitable_create_record", - "summaryChars": 44, - "schemaChars": 549, - "propertiesCount": 3 - }, - { - "name": "feishu_bitable_update_record", - "summaryChars": 50, - "schemaChars": 473, - "propertiesCount": 4 - }, - { - "name": "feishu_bitable_create_app", - "summaryChars": 57, - "schemaChars": 243, - "propertiesCount": 2 - }, - { - "name": "feishu_bitable_create_field", - "summaryChars": 46, - "schemaChars": 911, - "propertiesCount": 5 - }, - { - "name": "memory_search", - "summaryChars": 334, - "schemaChars": 139, - "propertiesCount": 3 - }, - { - "name": "memory_get", - "summaryChars": 151, - "schemaChars": 128, - "propertiesCount": 3 - } - ] - } - }, - "estimatedCostUsd": 2.0565731100000004, - "status": "failed", - "startedAt": 1777361564069, - "abortedLastRun": false, - "sessionFile": "/home/starmen1265/.openclaw/agents/ui-designer/sessions/2043f514-950c-4ba1-9eca-b9762325c3c6.jsonl", - "endedAt": 1777361566212, - "runtimeMs": 2143 } } \ No newline at end of file diff --git a/cron/jobs.json b/cron/jobs.json index bee96b8..0bccb97 100644 --- a/cron/jobs.json +++ b/cron/jobs.json @@ -7,7 +7,7 @@ "name": "backup-openclaw-json", "enabled": true, "createdAtMs": 1772261581796, - "updatedAtMs": 1778263277304, + "updatedAtMs": 1778349605933, "schedule": { "kind": "cron", "expr": "0 2 * * *", @@ -23,10 +23,10 @@ "mode": "announce" }, "state": { - "nextRunAtMs": 1778349600000, - "lastRunAtMs": 1778263200006, + "nextRunAtMs": 1778436000000, + "lastRunAtMs": 1778349600004, "lastStatus": "ok", - "lastDurationMs": 77298, + "lastDurationMs": 5929, "consecutiveErrors": 0, "lastRunStatus": "ok", "lastDelivered": true, @@ -59,7 +59,8 @@ "consecutiveErrors": 0, "lastRunStatus": "ok", "lastDeliveryStatus": "delivered", - "lastDelivered": true + "lastDelivered": true, + "runningAtMs": 1778350200005 }, "delivery": { "mode": "announce" @@ -71,7 +72,7 @@ "name": "capability-evolver-daily", "enabled": true, "createdAtMs": 1772550743528, - "updatedAtMs": 1778178076708, + "updatedAtMs": 1778264446939, "schedule": { "kind": "cron", "expr": "20 2 * * *", @@ -92,14 +93,14 @@ "to": "feishu-pm" }, "state": { - "nextRunAtMs": 1778264400000, - "lastRunAtMs": 1778178000005, + "nextRunAtMs": 1778350800000, + "lastRunAtMs": 1778264400005, "lastStatus": "error", - "lastDurationMs": 76703, - "consecutiveErrors": 37, + "lastDurationMs": 46934, + "consecutiveErrors": 38, "lastRunStatus": "error", "lastDeliveryStatus": "unknown", - "runningAtMs": 1778264400003 + "lastError": "AxiosError: Request failed with status code 400" } }, { @@ -109,7 +110,7 @@ "description": "每天凌晨2:30整理昨天的已完成任务到每日回顾", "enabled": true, "createdAtMs": 1741484880000, - "updatedAtMs": 1778178720037, + "updatedAtMs": 1778265114037, "schedule": { "kind": "cron", "expr": "30 2 * * *", @@ -127,15 +128,14 @@ "channel": "last" }, "state": { - "nextRunAtMs": 1778265000000, - "lastRunAtMs": 1778178600003, - "lastRunStatus": "error", - "lastStatus": "error", - "lastDurationMs": 120034, - "lastDeliveryStatus": "unknown", - "consecutiveErrors": 1, - "lastError": "cron: job execution timed out", - "lastErrorReason": "timeout" + "nextRunAtMs": 1778351400000, + "lastRunAtMs": 1778265000006, + "lastRunStatus": "ok", + "lastStatus": "ok", + "lastDurationMs": 114031, + "lastDeliveryStatus": "delivered", + "consecutiveErrors": 0, + "lastDelivered": true } }, { @@ -144,7 +144,7 @@ "name": "zq_workspace_sync", "enabled": true, "createdAtMs": 1772551807455, - "updatedAtMs": 1778179200010, + "updatedAtMs": 1778265600008, "schedule": { "expr": "40 2 * * *", "kind": "cron", @@ -157,10 +157,10 @@ "text": "执行 zq 工作区同步:bash ~/.openclaw/cron/scripts/zq_workspace_sync.sh" }, "state": { - "nextRunAtMs": 1778265600000, - "lastRunAtMs": 1778179200007, + "nextRunAtMs": 1778352000000, + "lastRunAtMs": 1778265600003, "lastStatus": "skipped", - "lastDurationMs": 3, + "lastDurationMs": 5, "consecutiveErrors": 0, "lastRunStatus": "skipped", "lastDeliveryStatus": "not-requested", @@ -174,7 +174,7 @@ "description": "每天早上8点整理与各个 AI 代理的对话记录", "enabled": true, "createdAtMs": 1772776369645, - "updatedAtMs": 1778198479202, + "updatedAtMs": 1778284817105, "schedule": { "kind": "cron", "expr": "0 8 * * *", @@ -192,11 +192,11 @@ "channel": "last" }, "state": { - "nextRunAtMs": 1778284800000, - "lastRunAtMs": 1778198400010, + "nextRunAtMs": 1778371200000, + "lastRunAtMs": 1778284800007, "lastRunStatus": "ok", "lastStatus": "ok", - "lastDurationMs": 79192, + "lastDurationMs": 17098, "lastDelivered": true, "lastDeliveryStatus": "delivered", "consecutiveErrors": 0 @@ -209,7 +209,7 @@ "description": "每天7点同步提醒到CalDAV日历", "enabled": true, "createdAtMs": 1772791528528, - "updatedAtMs": 1778194881520, + "updatedAtMs": 1778281278100, "schedule": { "kind": "cron", "expr": "0 7 * * *", @@ -227,11 +227,11 @@ "channel": "last" }, "state": { - "nextRunAtMs": 1778281200000, - "lastRunAtMs": 1778194800003, + "nextRunAtMs": 1778367600000, + "lastRunAtMs": 1778281200006, "lastRunStatus": "ok", "lastStatus": "ok", - "lastDurationMs": 81517, + "lastDurationMs": 78094, "lastDeliveryStatus": "delivered", "consecutiveErrors": 0, "lastDelivered": true @@ -350,7 +350,7 @@ "description": "每天早上8点追踪热点新闻并推送", "enabled": true, "createdAtMs": 1774274400000, - "updatedAtMs": 1778198659947, + "updatedAtMs": 1778285017396, "schedule": { "kind": "cron", "expr": "0 8 * * *", @@ -368,13 +368,13 @@ "to": "user:ou_9847ce84b960736c14554730b41e4957" }, "state": { - "nextRunAtMs": 1778284800000, - "lastRunAtMs": 1778198479202, + "nextRunAtMs": 1778371200000, + "lastRunAtMs": 1778284817105, "lastRunStatus": "error", "lastStatus": "error", - "lastDurationMs": 180745, + "lastDurationMs": 200291, "lastDeliveryStatus": "delivered", - "consecutiveErrors": 2, + "consecutiveErrors": 3, "lastDelivered": true, "lastError": "⚠️ ✉️ Message failed" } diff --git a/cron/logs/daily-review.log b/cron/logs/daily-review.log new file mode 100644 index 0000000..272cae8 --- /dev/null +++ b/cron/logs/daily-review.log @@ -0,0 +1,3 @@ +[2026-05-09 02:31:43] === 每日回顾整理开始 === +[2026-05-09 02:31:43] 处理日期: 2026-05-08 +[2026-05-09 02:31:43] 没有已完成的任务,跳过 diff --git a/cron/scripts/daily-review.sh b/cron/scripts/daily-review.sh index 562ef9e..4415f6d 100755 --- a/cron/scripts/daily-review.sh +++ b/cron/scripts/daily-review.sh @@ -1,21 +1,22 @@ #!/bin/bash # 每日回顾整理脚本 -# 流程:NAS pull → 整理任务 → Git commit/push → NAS sync +# ~/work/zq 是 rclone mount 挂载点,直接读写即可,禁止 rclone sync +# 无需 git 操作,挂载点会自动同步到 NAS set -e WORK_DIR="/home/starmen1265/work/zq" TODO_FILE="$WORK_DIR/01.待办/TODO.md" REVIEW_DIR="$WORK_DIR/40.归档/每日回顾" -LOG_FILE="$HOME/work/backup/daily-review.log" +LOG_FILE="$HOME/.openclaw/cron/logs/daily-review.log" # 获取昨天的日期(格式:YYYY-MM-DD) YESTERDAY=$(date -d "yesterday" +%Y-%m-%d) REVIEW_FILE="$REVIEW_DIR/$YESTERDAY.md" -# 确保日志目录存在 -mkdir -p "$(dirname "$LOG_FILE")" +# 确保目录存在 mkdir -p "$REVIEW_DIR" +mkdir -p "$(dirname "$LOG_FILE")" log() { echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE" @@ -24,15 +25,11 @@ log() { log "=== 每日回顾整理开始 ===" log "处理日期: $YESTERDAY" -# 切换到工作目录 -cd "$WORK_DIR" - -# 1. 先从 NAS 拉取最新内容 -log "1. 从 NAS 拉取更新..." -rclone sync "nas-webdav:/home/Drive/工作区/张青/工作区/" "$WORK_DIR/" \ - --exclude ".git/" \ - --exclude ".gitignore" \ - --log-level INFO >> "$LOG_FILE" 2>&1 +# 检查 TODO 文件是否存在且可读 +if [ ! -f "$TODO_FILE" ]; then + log "TODO 文件不存在,跳过" + exit 0 +fi # 如果没有已完成的任务,直接退出 if ! grep -q "\[x\]" "$TODO_FILE"; then @@ -40,10 +37,9 @@ if ! grep -q "\[x\]" "$TODO_FILE"; then exit 0 fi -log "2. 发现已完成的任务,开始整理..." +log "1. 发现已完成的任务,开始整理..." # 提取已完成的任务(保留标题结构) -# 读取TODO.md,提取所有包含[x]的行及其所属标题 COMPLETED_TASKS=$(awk ' /^#/ { current_section = $0 } /\[x\]/ { @@ -55,20 +51,16 @@ COMPLETED_TASKS=$(awk ' } ' "$TODO_FILE") -# 如果每日回顾文件不存在,创建它 -if [ ! -f "$REVIEW_FILE" ]; then - touch "$REVIEW_FILE" - log "创建每日回顾文件: $REVIEW_FILE" -fi - -# 将完成的任务追加到每日回顾文件(去掉✅及后面的日期) +# 创建每日回顾文件并写入 +log "2. 写入每日回顾: $REVIEW_FILE" echo "$COMPLETED_TASKS" | sed 's/ ✅ [0-9-]*$//' >> "$REVIEW_FILE" -log "已添加任务到每日回顾" -# 从TODO.md中删除已完成的任务行 -sed -i '/\[x\]/d' "$TODO_FILE" +# 从 TODO.md 中删除已完成的任务行(使用临时文件避免 sed -i 在挂载点的问题) +log "3. 清理 TODO.md 中的已完成任务..." +TEMP_FILE=$(mktemp) +grep -v '\[x\]' "$TODO_FILE" > "$TEMP_FILE" -# 清理TODO.md中的空标题(标题下没有任务的情况) +# 清理空标题段(标题下没有非空行的) awk ' /^#/ { if (section_content != "") { @@ -88,20 +80,13 @@ awk ' print section_content } } -' "$TODO_FILE" > "$TODO_FILE.tmp" && mv "$TODO_FILE.tmp" "$TODO_FILE" +' "$TEMP_FILE" > "$TEMP_FILE.cleaned" -# 3. 提交并推送到 Gitea -log "3. 提交并推送到 Gitea..." -git add "$TODO_FILE" "$REVIEW_FILE" -git commit -m "每日回顾整理:$YESTERDAY" >> "$LOG_FILE" 2>&1 || log "Git提交无变更" -git push origin main >> "$LOG_FILE" 2>&1 || log "警告:Git推送失败" - -# 4. 全量同步回 NAS -log "4. 同步回 NAS..." -rclone sync "$WORK_DIR/" "nas-webdav:/home/Drive/工作区/张青/工作区/" \ - --exclude ".git/" \ - --exclude ".gitignore" \ - --log-level INFO >> "$LOG_FILE" 2>&1 || log "警告:rclone 推送失败" +# 原子替换 +cat "$TEMP_FILE.cleaned" > "$TODO_FILE" +rm -f "$TEMP_FILE" "$TEMP_FILE.cleaned" +# 挂载点自动同步,无需 rclone sync 或 git push +log "4. 挂载点自动同步到 NAS,无需手动操作" log "=== 每日回顾整理完成 ===" echo "Daily review completed for $YESTERDAY" diff --git a/tasks/runs.sqlite b/tasks/runs.sqlite index 975c5bd0d6b57454e60b48d0b99df3a9af0dee0b..b88281082098918b064b4a7b96be0bbb0f3a432e 100644 GIT binary patch delta 21990 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 K8WHhjDp@eFQ^4foe8J?E9vFGtUJ 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 delta 23882 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 HJ_7#%tm6W5 diff --git a/tasks/runs.sqlite-wal b/tasks/runs.sqlite-wal index cdcfb80007b9429e0602599f9094610e3755e5c0..0cc752fcad538608d4b26821f7f45018d2316bcd 100644 GIT binary patch delta 52971 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 delta 17158 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