From ef5e9fc9ab172e3141855c8a7e587b9f2367a0d8 Mon Sep 17 00:00:00 2001 From: openclaw-314 Date: Fri, 17 Jul 2026 09:24:02 +0800 Subject: [PATCH] memory search & weekly report --- .gitignore | 1 + agents/main/agent/models.json | 39 +++++++ .../main/agent/plugins/deepseek/catalog.json | 44 ------- .../e48ace9814f0-im-bot.context-tokens.json | 2 +- .../accounts/e48ace9814f0-im-bot.sync.json | 2 +- openclaw.json | 11 +- ...1afbca7ad11b9646d0add12e68fed6b95.attested | 2 +- workspace-resume/MEMORY.md | 67 +++++------ workspace-resume/memory/2026-07-17.md | 50 ++++++++ .../weekly-reports/2026/2026-W29.md | 109 ++++++++++++++++++ 10 files changed, 241 insertions(+), 86 deletions(-) delete mode 100644 agents/main/agent/plugins/deepseek/catalog.json create mode 100644 workspace-resume/memory/2026-07-17.md create mode 100644 workspace-resume/weekly-reports/2026/2026-W29.md diff --git a/.gitignore b/.gitignore index d82286e..59d2809 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,4 @@ node_modules/ # workspace(由主工作区管理,不提交到配置仓库) # workspace/ +__pycache__/ diff --git a/agents/main/agent/models.json b/agents/main/agent/models.json index cad45a5..61fa05c 100644 --- a/agents/main/agent/models.json +++ b/agents/main/agent/models.json @@ -368,6 +368,45 @@ "apiKey": "sk-vaYyq9RwzyLlvAvHHUXzOTWkbioP76YW58vKuplq2npSkfZr", "api": "openai-completions", "models": [] + }, + "deepseek": { + "baseUrl": "https://api.deepseek.com/v1", + "apiKey": "DEEPSEEK_API_KEY", + "api": "openai-completions", + "models": [ + { + "id": "deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "reasoning": false, + "input": [ + "text" + ], + "cost": { + "input": 1, + "output": 2, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1000000, + "maxTokens": 384000 + }, + { + "id": "deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "reasoning": false, + "input": [ + "text" + ], + "cost": { + "input": 1, + "output": 2, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1000000, + "maxTokens": 384000 + } + ] } } } diff --git a/agents/main/agent/plugins/deepseek/catalog.json b/agents/main/agent/plugins/deepseek/catalog.json deleted file mode 100644 index 03e7f36..0000000 --- a/agents/main/agent/plugins/deepseek/catalog.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "generatedBy": "openclaw-plugin-model-catalog-v1", - "providers": { - "deepseek": { - "baseUrl": "https://api.deepseek.com/v1", - "models": [ - { - "id": "deepseek-v4-pro", - "name": "DeepSeek V4 Pro", - "reasoning": false, - "input": [ - "text" - ], - "cost": { - "input": 1, - "output": 2, - "cacheRead": 0, - "cacheWrite": 0 - }, - "contextWindow": 1000000, - "maxTokens": 384000 - }, - { - "id": "deepseek-v4-flash", - "name": "DeepSeek V4 Flash", - "reasoning": false, - "input": [ - "text" - ], - "cost": { - "input": 1, - "output": 2, - "cacheRead": 0, - "cacheWrite": 0 - }, - "contextWindow": 1000000, - "maxTokens": 384000 - } - ], - "api": "openai-completions", - "apiKey": "DEEPSEEK_API_KEY" - } - } -} diff --git a/openclaw-weixin/accounts/e48ace9814f0-im-bot.context-tokens.json b/openclaw-weixin/accounts/e48ace9814f0-im-bot.context-tokens.json index e322bbe..5263c79 100644 --- a/openclaw-weixin/accounts/e48ace9814f0-im-bot.context-tokens.json +++ b/openclaw-weixin/accounts/e48ace9814f0-im-bot.context-tokens.json @@ -1 +1 @@ -{"o9cq80w6ZnnPGItW-GGACkwd69bA@im.wechat":"AARzJWAFAAABAAAAAABNk7GAaiR7J8JnxG9ZaiAAAAB+9905Q6UiugPBawU3n3cyzQX+LkN8ofRzsCZYN0mt7rBYMe38cfNPnP59D7TFdThpGk+ZADFivdIs0Fnv7OubVMHHD6Uh"} \ No newline at end of file +{"o9cq80w6ZnnPGItW-GGACkwd69bA@im.wechat":"AARzJWAFAAABAAAAAAAZ0DG425ALcJVZP4BZaiAAAAB+9905Q6UiugPBawU3n3cyzQX+LkN8ofRzsCZYN0mt7iXCClCazZggZDgKcx6CID5h3ZYJGGHPtm+K0Rr+MIznwnSSuGdn"} \ No newline at end of file diff --git a/openclaw-weixin/accounts/e48ace9814f0-im-bot.sync.json b/openclaw-weixin/accounts/e48ace9814f0-im-bot.sync.json index 5826efa..06de097 100644 --- a/openclaw-weixin/accounts/e48ace9814f0-im-bot.sync.json +++ b/openclaw-weixin/accounts/e48ace9814f0-im-bot.sync.json @@ -1 +1 @@ -{"get_updates_buf":"ChAIGxD5s/Lq9jMYmp6chfYzEjplNDhhY2U5ODE0ZjBAaW0uYm90OjA2MDAwMGQ0ZmYwNzg5NWY2NDFlMmZjNmIzNGUzMzNkZDIwMjgx"} \ No newline at end of file +{"get_updates_buf":"ChAIHRCT8vPs9jMYmp6chfYzEjplNDhhY2U5ODE0ZjBAaW0uYm90OjA2MDAwMGQ0ZmYwNzg5NWY2NDFlMmZjNmIzNGUzMzNkZDIwMjgx"} \ No newline at end of file diff --git a/openclaw.json b/openclaw.json index f8dced2..153ebf1 100644 --- a/openclaw.json +++ b/openclaw.json @@ -67,8 +67,13 @@ "primary": "deepseek/deepseek-v4-flash" }, "memorySearch": { - "provider": "openai", - "model": "text-embedding-v4" + "enabled": true, + "provider": "openai-compatible", + "model": "BAAI/bge-m3", + "remote": { + "baseUrl": "https://api.siliconflow.cn/v1", + "apiKey": "$SILICONFLOW_API_KEY" + } }, "models": { "deepseek/deepseek-v4-pro": { @@ -495,4 +500,4 @@ "enabled": true } } -} +} \ No newline at end of file diff --git a/workspace-attestations/675ebd4bbbf5213802ade350a2fff111afbca7ad11b9646d0add12e68fed6b95.attested b/workspace-attestations/675ebd4bbbf5213802ade350a2fff111afbca7ad11b9646d0add12e68fed6b95.attested index c6c1ecb..b8ff897 100644 --- a/workspace-attestations/675ebd4bbbf5213802ade350a2fff111afbca7ad11b9646d0add12e68fed6b95.attested +++ b/workspace-attestations/675ebd4bbbf5213802ade350a2fff111afbca7ad11b9646d0add12e68fed6b95.attested @@ -1,2 +1,2 @@ openclaw-workspace-attestation:v1 -2026-07-16T03:35:24.185Z +2026-07-17T01:19:39.822Z diff --git a/workspace-resume/MEMORY.md b/workspace-resume/MEMORY.md index ddac450..ade4e6b 100644 --- a/workspace-resume/MEMORY.md +++ b/workspace-resume/MEMORY.md @@ -4,46 +4,41 @@ - **所有交互一律使用中文** - 技术术语可保留原文(API、HTML 等),但解释、对话、回复用中文 -## 周报格式(标准) +## 周报格式(标准)- 2026-07-17 最终确定 + +### 邮件头 - **主题**: `G5开发周报 (YYYY-MM-DD ~ YYYY-MM-DD)` - **收件人**: liuqiang@witsoft.cn - **抄送**: wurd@witsoft.cn, chenm@witsoft.cn, zengli@witsoft.cn - **发送人**: 杨轩 -- **正文格式(纯文本版)**: - ``` - 项目名称: 维云智造G5 - 主要任务: <本周主要任务> - 本周工作内容 - 周一(YYYY-MM-DD) - - ... - 周二(YYYY-MM-DD) - - ... - 周三(YYYY-MM-DD) - - ... - 周四(YYYY-MM-DD) - - ... - 周五(YYYY-MM-DD) - - ... +### 纯文本版正文(简洁直列式) +``` +项目名称: 维云智造G5 +主要任务: <本周主要任务> - 存在问题 - ... - ``` - > **注意:** 正文中不包含邮件主题行,不包含收件人/抄送信息,不包含尾部签名(问候语 + 地址手机邮箱) -#### 最终确认样式(2026-07-03 确认) -- **纯文本版**:以 `项目名称:` 开头 → `主要任务:` → `本周工作内容`(按日列出) → `存在问题` → **无签名** -- **HTML 版**:无顶部周报标题(不重复主题)、无签名;仅项目名称/主要任务表格 → 本周工作内容(emoji 每日列表) → 存在问题 -- **注意**:纯文本和 HTML **都不含主题标题行、不含签名** -- **发送方式**:存草稿箱,用邮件客户端发送多段邮件(同时含纯文本和 HTML) -- **发送方式**:通过 Python IMAP 存入钉邮草稿箱(`workspace-resume/send_weekly_report.py`) -- **流程**: - 1. 收集本周每日工作内容 - 2. 按标准格式生成正文(纯文本 + HTML) - 3. 通过 Python 脚本(IMAP APPEND)存入钉邮草稿箱 - 4. 通知用户去钉钉邮箱草稿箱确认并发送 +本周工作内容 +周一(YYYY-MM-DD) + - xxx + - xxx +周二(YYYY-MM-DD) + - xxx +... -## 周报主题格式(标准) -- **主题格式**:`G5开发周报 (YYYY-MM-DD ~ YYYY-MM-DD)` -- **收件人**:liuqiang@witsoft.cn -- **发送人**:杨轩 -- **周报结构**:按日列出(📅 周一 ~ 📅 周五),末尾附「存在问题」字段,签名包含姓名、地址、手机、邮箱 +存在问题 +无 +``` +- **不含**主题标题行、收件人/抄送信息、尾部签名 + +### HTML 版正文 +与纯文本版结构一致,使用 `` 呈现项目名称/主要任务,按日 `
    ` 列表,末尾「存在问题」,无签名、无 emoji、无多余修饰。 + +### 发送方式 +- 通过 Python IMAP 存入钉邮草稿箱(`workspace-resume/send_weekly_report.py`) +- 多段邮件(纯文本 + HTML) +- 流程:生成正文 → IMAP APPEND 存草稿箱 → 通知用户去钉钉邮箱草稿箱确认并发送 + +### 定时检查 +- 每周五 17:40,cron job 自动检查钉邮草稿箱 +- 草稿箱为空 → 已发送,忽略 +- 草稿箱有未发送草稿 → 通过 sessions_send 通知 main agent,由 main agent 钉钉通知用户 diff --git a/workspace-resume/memory/2026-07-17.md b/workspace-resume/memory/2026-07-17.md new file mode 100644 index 0000000..c8662b5 --- /dev/null +++ b/workspace-resume/memory/2026-07-17.md @@ -0,0 +1,50 @@ +# 2026-07-17 周五 + +## 周报格式最终确定 + +杨轩最终确认的周报格式(简洁直列式),以后不再变动: + +### 邮件头 +- **主题**:`G5开发周报 (YYYY-MM-DD ~ YYYY-MM-DD)` +- **收件人**:liuqiang@witsoft.cn +- **抄送**:wurd@witsoft.cn, chenm@witsoft.cn, zengli@witsoft.cn +- **发送人**:杨轩 + +### 正文格式 +``` +项目名称: 维云智造G5 +主要任务: <主要任务> + +本周工作内容 +周一(YYYY-MM-DD) + - xxx + - xxx +周二(YYYY-MM-DD) + - xxx +... + +存在问题 +无 +``` + +关键规则: +- ❌ **无**主题标题行、收件人/抄送信息、尾部签名 +- ❌ **无** 📅 emoji +- ❌ **无** `·` 项目符号(统一用 ` - `) +- ❌ HTML 版中 **无** `
` 表格(纯文字 `` + `
` + `  ` 缩进) + +## 清理旧版格式记录 +- MEMORY.md 中周报格式段完全重写,清除了之前多种格式混存的记录 +- 去掉了 2026-07-03 确认的含 emoji 和表格的样式 + +## 本周周报(W29)处理记录 +- 第一次存入:Message 135(格式带表格,不合要求) +- 第二次重存:Message 140(格式已改但 HTML 仍有表格) +- 第三次重存:Message 142(纯文本 + HTML 均为简洁直列式,无表格) +- 最终草稿:UID 144(草稿箱中唯一一封) + +## 定时检查配置 +- 创建 cron job:每周五 17:40 (Asia/Shanghai) 检查草稿箱 +- 为空 → 已发送,忽略 +- 非空 → 通过 sessions_send 通知 main agent 钉钉提醒杨轩 +- 已记录到 MEMORY.md diff --git a/workspace-resume/weekly-reports/2026/2026-W29.md b/workspace-resume/weekly-reports/2026/2026-W29.md new file mode 100644 index 0000000..e249051 --- /dev/null +++ b/workspace-resume/weekly-reports/2026/2026-W29.md @@ -0,0 +1,109 @@ +# G5开发周报 (2026-07-13 ~ 2026-07-17) + +## 纯文本版 + +``` + +项目名称: 维云智造G5 +主要任务: 库存出库/产品库存查询缺陷修复及版本发布支撑 + +本周工作内容 +周一(2026-07-13) + - 库存出库测试缺陷修复 + - 产品库存查询转测 + - 历史问题分析和处理 + +周二(2026-07-14) + - 库存需求测试完成 + - 历史问题分析需代码优化 + +周三(2026-07-15) + - 库存需求测试结束 + - 历史问题处理完成 + - 5.4.13版本上线支持 + +周四(2026-07-16) + - V5.4.14 版本需求评审 + - 模拟数据制造流程分析 + +周五(2026-07-17) + - 主数据需求开发方案 + - 库存需求工时评估 + +存在问题 +无 +``` + +## HTML 版 + +```html +
+ + + + + + + + +
项目名称维云智造G5
主要任务库存出库/产品库存查询缺陷修复及版本发布支撑
+ +

本周工作内容

+ + + + + + + + + + + + + + + + + + + + + + +
📅 周一(07-13) + · 库存出库测试缺陷修复
+ · 产品库存查询转测
+ · 历史问题分析和处理 +
📅 周二(07-14) + · 库存需求测试完成
+ · 历史问题分析需代码优化 +
📅 周三(07-15) + · 库存需求测试结束
+ · 历史问题处理完成
+ · 5.4.13版本上线支持 +
📅 周四(07-16) + · V5.4.14 版本需求评审
+ · 模拟数据制造流程分析 +
📅 周五(07-17) + · 主数据需求开发方案
+ · 库存需求工时评估 +
+ +

存在问题

+

+``` + +--- + +📝 **杨轩,以上为本次周报内容。** + +如需发送,我可以通过 Python 脚本存入钉邮草稿箱,请你确认后去草稿箱发送。 + +**邮件信息:** +- **主题**:`G5开发周报 (2026-07-13 ~ 2026-07-17)` +- **收件人**:liuqiang@witsoft.cn +- **抄送**:wurd@witsoft.cn, chenm@witsoft.cn, zengli@witsoft.cn +- **发送人**:杨轩 + +需要我现在存入草稿箱吗?🙂