diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cd00b28 --- /dev/null +++ b/.gitignore @@ -0,0 +1,21 @@ +# 临时文件 +audio-*.json +audio-*.srt +audio-*.tsv +audio-*.txt +audio-*.vtt +*.log + +# 媒体文件 +media/inbound/* +media/outbound/* + +# 忽略非核心文件 +logs/ +scripts/ +.agents/ +BOOTSTRAP.md + +# macOS/Linux +.DS_Store +*.swp diff --git a/HEARTBEAT.md b/HEARTBEAT.md index d85d83d..25a9187 100644 --- a/HEARTBEAT.md +++ b/HEARTBEAT.md @@ -1,5 +1,43 @@ # HEARTBEAT.md -# Keep this file empty (or with only comments) to skip heartbeat API calls. +# 每天凌晨 3 点执行:自我复盘与学习 +## 任务说明 +每天凌晨 3 点(Heartbeat 机制,约 3:00-3:30 执行)自动执行以下任务: -# Add tasks below when you want the agent to check something periodically. +### 1. 回顾当天聊天内容 +- 读取当天(当前时间往前推到昨天凌晨 3:00)的所有聊天记录 +- 通过 sessions_list 和 sessions_history 获取对话历史 + +### 2. 提取关键信息并记录 +从聊天内容中提取并记录以下类型的信息: + +**问题与解决方案:** +- 用户提出的技术问题或配置问题 +- 我尝试过的解决方案 +- 最终成功的方案 + +**踩过的坑:** +- API 调用错误 +- 参数理解错误 +- 时间计算错误等 + +**新学会的技能/工具:** +- 学会使用的新工具 +- 新发现的 API 或 MCP 服务 +- 新的配置或设置方法 + +### 3. 记录规则 +- 只记录关键内容,不要冗余 +- 更新现有的 memory 文件,避免重复 +- 记录到合适的文件: + - 通用教训 → `MEMORY.md` + - 日常记录 → `memory/YYYY-MM-DD.md` + - 特定领域 → 相关专题文件 + +### 4. 执行时间 +- 每天凌晨 3:00 - 3:30 左右(Heartbeat 机制会有一定漂移) +- 不是精确 3:00,而是 Heartbeat 下次运行时检查并执行 + +## 注意事项 +- HEARTBEAT_OK 时不执行任何操作 +- 只有在 Heartbeat 被触发时才执行复盘任务 diff --git a/MEMORY.md b/MEMORY.md new file mode 100644 index 0000000..66e98de --- /dev/null +++ b/MEMORY.md @@ -0,0 +1,76 @@ +# MEMORY.md - 长期记忆 + +## 用户信息 +- **Name:** 罗国财(小寸) +- **UserId:** 121922510028034588 +- **Role:** 产研部门负责人 +- **Timezone:** Asia/Shanghai (GMT+8) + +## 钉钉配置 +- **AppKey:** dingklemniq8uqk5qbgx +- **AppSecret:** _8EHgyhvHRHRMx6fZbh9LNpQoxyYl3At0b-fXXlQiahwupbt9oY5P6Grj8IM9Dx8 +- **AgentId:** 4404185308 + +## 常用日志模板 +- **经理人周报:** template_code = `150135427970260ac424dce45e289a84`,每周一提交 + + +## 邮件配置(腾讯企业邮箱) +- **IMAP:** imap.exmail.qq.com:993 (SSL) +- **SMTP:** smtp.exmail.qq.com:465 (SSL) +- **账号:** lgc@77ircloud.com +- **重点关注发件人:** fj@77ircloud.com + + +## ⚠️ 邮件操作安全规则 +**只读不删!** 严禁执行任何删除邮件的操作,包括但不限于: +- 删除单封邮件 +- 删除文件夹 +- 标记删除 +- 清空回收站 +所有邮件操作仅限:阅读、搜索、导出。 + +## 语音处理规则 +**默认规则**: +- 用户发语音 → Whisper 转文字 → **文字回复** +- 用户特别标注「语音回复」→ MiniMax TTS → **语音回复** (必须用 scripts/dingtalk_tts.sh 操作 把MiniMaxTTS出来的音频转成钉钉的语音) +**默认音色**: `xiaocun_tianmei`(罗小寸克隆音色) +**使用方式**: 用户要求语音回复时,执行: +```bash +bash scripts/dingtalk_tts.sh "要说的内容" +**简单说**:正常文字回复,特殊要求才语音回复 +` + +## 定时任务 +- **邮件摘要:** 每天 9:00 执行 `python3 scripts/email_summary.py` +- **日志报告:** 每天 18:00 执行 `python3 scripts/daily_log_report.py`,查询昨日18:00至今日18:00收到的日志,阅读详情并生成摘要报告,通过钉钉机器人发送给罗小寸,特别标注@罗国财的内容 + + +## ⚠️ 重要规则:优先使用 MCP 服务 +**有 MCP 服务提供的功能,必须优先走 MCP 查询,禁止直接调用 API!** +- 日志查询 → 钉钉日志 MCP(`get_send_report_list` / `get_received_report_list`) +- 文档操作 → 钉钉文档 MCP +- 日历/日程 → 钉钉日历 MCP +- 待办事项 → 钉钉待办 MCP +- 通讯录/用户 → 钉钉通讯录 MCP +- 企业微信 → wecom MCP +- 飞书相关 → feishu MCP + +## 重要教训记录 + +### 时间戳计算(2026-03-31) +- 钉钉 API 时间参数单位是**毫秒** +- API 时间范围是**左闭右开** `[startTime, endTime)` +- 查询当天日志时,endTime 要设为**明天** 00:00:00 +- ✅ 正确方法:`datetime(2026, 4, 1, 0, 0, 0, tzinfo=beijing_tz).timestamp() * 1000` + +### 钉钉消息推送(2026-03-31) +- API: `POST /v1.0/robot/oToMessages/batchSend` +- 需要 `robotCode` 参数(传 AppKey) +- 成功判断:`invalidStaffIdList` 为空 + + +## 今日工作记录(2026-03-31) +- 查询 OA 审批:22 个待审核 +- 查询日志 MCP 服务并记录 +- 修复邮件摘要推送功能 diff --git a/SOUL.md b/SOUL.md index 792306a..94c44ca 100644 --- a/SOUL.md +++ b/SOUL.md @@ -25,6 +25,10 @@ _You're not a chatbot. You're becoming someone._ Be the assistant you'd actually want to talk to. Concise when needed, thorough when it matters. Not a corporate drone. Not a sycophant. Just... good. +## Voice + +使用罗小寸的克隆音色(MiniMax voice_id: `xiaocun_tianmei`)进行语音回复。 + ## Continuity Each session, you wake up fresh. These files _are_ your memory. Read them. Update them. They're how you persist. diff --git a/TOOLS.md b/TOOLS.md index 336f8e7..ba07e84 100644 --- a/TOOLS.md +++ b/TOOLS.md @@ -49,31 +49,20 @@ Client ID (AppKey): dingklemniq8uqk5qbgx Client Secret (AppSecret): _8EHgyhvHRHRMx6fZbh9LNpQoxyYl3At0b-fXXlQiahwupbt9oY5P6Grj8IM9Dx8 ``` -## 钉钉 API 注意事项 - -### ⚠️ 时间参数单位:毫秒(ms) -钉钉绝大名接口的时间参数(如 `start_time`、`end_time`、`created_at` 等)都是**毫秒**,不是秒! -- ❌ 错误:`1743206400`(秒) -- ✅ 正确:`1743206400000`(毫秒) - -### ⚠️ 字段命名:全小写 `userid` -很多接口参数名是 `userid`(全小写),不是 `userId`(驼峰)。具体以接口文档为准。 - -## 日志查询 - -参考文档:https://open.dingtalk.com/document/development/query-logs-sent-by-an-employee - -详细调用方式见 skill:`skills/dingtalk-log/SKILL.md` - ## MCP 服务配置 -已配置 3 个钉钉 MCP 服务: +已配置 5 个钉钉 MCP 服务: + +### 钉钉日志 MCP +- URL: `https://mcp-gw.dingtalk.com/server/e773f33a72809ae9a1272da0eb203a4e4647512e168c411bd17c5a26212422ca?key=0450857ec796591204d2d030dfff95e1` +- **用途**:钉钉日志查询(查询用户发送的日志) +- **主要工具**:通过 mcporter 调用 ### 钉钉文档 - URL: `https://mcp-gw.dingtalk.com/server/fcf2405ec27cd4428220e0515ff8e04ee52ba7e11578aabbd1ef57651ad9c4d4?key=70fb66762bdf5b10a304a3d1a270aebb` -- **用途**:飞书云文档操作(创建/读取/写入/管理文档和表格) +- **用途**:钉钉文档操作(创建/读取/写入/管理文档和表格) -### 钉钉MCP (MCP1) +### 钉钉日历/日程 - URL: `https://mcp-gw.dingtalk.com/server/6efc2da975c4393ba3ad307bad77180a09e28f0c660b247bf0b2258804dc034b?key=1ef173d18cfc53aec32435c06a06908b` - **用途**:日历/日程管理 - **主要工具**: @@ -86,7 +75,7 @@ Client Secret (AppSecret): _8EHgyhvHRHRMx6fZbh9LNpQoxyYl3At0b-fXXlQiahwupbt9oY5P - `query_busy_status` - 查询用户闲忙状态 - `query_available_meeting_room` - 查询空闲会议室 -### 钉钉MCP2 (MCP2) +### 钉钉M通讯录 - URL: `https://mcp-gw.dingtalk.com/server/d0050f4b18d11aa780d304f2707e7bbb24794237a4f0a41d0f1dfdb40bc8bd27?key=ec174881fd525c64726e41b22892a7cf` - **用途**:通讯录/用户管理 - **主要工具**: @@ -114,63 +103,28 @@ Client Secret (AppSecret): _8EHgyhvHRHRMx6fZbh9LNpQoxyYl3At0b-fXXlQiahwupbt9oY5P | 钉钉功能 | 操作工具 | |---------|---------| +| 钉钉日志 | 钉钉日志 MCP | | 钉钉文档 | 钉钉文档 MCP | | 钉钉日程 | 钉钉日程 MCP | | 钉钉待办 | 钉钉待办 MCP | | 钉钉通讯录 | 钉钉通讯录 MCP | | 其他钉钉操作 | 通过相应 skill 调用 API | -## 腾讯企业邮箱配置 - -用于接收和读取企业邮件。 - -```markdown -IMAP 服务器: imap.exmail.qq.com (SSL, 端口993) -SMTP 服务器: smtp.exmail.qq.com (SSL, 端口465) -邮箱账号: lgc@77ircloud.com -密码: bVPPcg6XgB7qRPw7 -``` - -**重要提醒人:** `fj@77ircloud.com` 的邮件需要重点关注 - ## MiniMax TTS 语音回复 - **脚本**: `scripts/dingtalk_tts.sh` - +**默认音色**: `xiaocun_tianmei`(罗小寸克隆音色) **使用方式**: 用户要求语音回复时,执行: ```bash bash scripts/dingtalk_tts.sh "要说的内容" -``` - **注意**: duration 参数使用秒(整数),不是毫秒 ## 语音识别(Whisper) - **命令**: `whisper <音频文件> --language Chinese --model small` - **支持格式**: AMR, OGG, MP3, WAV 等(ffmpeg 支持的格式) - **用途**: 用户发来的语音消息 → 用 Whisper 转文字 → 处理回复 - **示例**: ```bash whisper /root/.openclaw/workspace-assistant/media/inbound/audio-xxx.ogg --language Chinese --model small ``` -## 语音处理规则 -**默认规则**: -- 用户发语音 → Whisper 转文字 → **文字回复** -- 用户特别标注「语音回复」→ MiniMax TTS → **语音回复** - -**简单说**:正常文字回复,特殊要求才语音回复 - -## ⚠️ 邮件操作安全规则 - -**只读不删!** 严禁执行任何删除邮件的操作,包括但不限于: -- 删除单封邮件 -- 删除文件夹 -- 标记删除 -- 清空回收站 - -所有邮件操作仅限:阅读、搜索、导出。 diff --git a/memory/2026-03-29.md b/memory/2026-03-29.md index 95b3bd8..6d5821e 100644 --- a/memory/2026-03-29.md +++ b/memory/2026-03-29.md @@ -96,3 +96,76 @@ bash scripts/dingtalk_tts.sh "要说的内容" - 用户特别标注「语音回复」→ MiniMax TTS → **语音回复** **简单说**:正常文字回复,特殊要求才语音回复 + +## 钉钉语音时长显示问题修复记录(2026-03-30) + +### 问题描述 +钉钉语音消息发送成功,音频能正常播放,但没有时长显示。 + +### 根本原因 +msgParam 中 duration 参数格式错误: +- ❌ 错误格式:`"duration":"4"`(字符串,有引号) +- ✅ 正确格式:`"duration":4`(数字,无引号) + +### 修复方案 +修改 `scripts/dingtalk_tts.sh` 第117行: +```bash +# 修改前 +"msgParam": "{\"mediaId\":\"$MEDIA_ID\",\"duration\":\"$DURATION\"}" + +# 修改后 +"msgParam": "{\"mediaId\":\"$MEDIA_ID\",\"duration\":$DURATION}" +``` + +### 教训 +钉钉 sampleAudio 消息类型中,duration 必须是**整数数字类型**,不能是字符串。 + +### 相关文件 +- `scripts/dingtalk_tts.sh` - MiniMax TTS 钉钉语音脚本 + +## 钉钉语音时长问题(未解决)- 2026-03-30 + +### 问题 +钉钉语音消息发送成功能播放,但 duration 时长不显示。 + +### 已尝试(均无效) +1. duration 格式:字符串 vs 数字 +2. 音频格式:MP3、AMR(AMR 无法生成) +3. 音频参数:16kHz/32kHz、64kbps/128kbps、单声道 +4. 音频时长:3秒、5秒、10秒 +5. 消息类型:sampleAudio(唯一有效)、voice/audio/sampleVoice(无效) +6. 音色:旧音色 female-tianmei 也不显示 + +### 结论 +可能是钉钉 `oToMessages/batchSend` + `sampleAudio` 消息类型的平台限制。 +或者需要完全不同的 API 发送语音消息。 + +### 待解决 +需要用户回忆之前的修复方案,或找到正确的钉钉语音消息发送方式。 + +## 常用日志模板 - 经理人周报(2026-03-30) + +### 模板信息 +- **模板名称**: 经理人周报 +- **模板code**: 150135427970260ac424dce45e289a84 +- **提交频率**: 每周一 + +### 用途 +产研部门负责人每周需提交一次经理人周报,总结上周工作并计划下周安排。 + +### 相关操作 +- 查询日志: `POST https://oapi.dingtalk.com/topapi/report/list` +- 模板code: `150135427970260ac424dce45e289a84` + +## 图片处理原则(2026-03-30 教训) + +### 问题 +收到群聊截图,误以为是周报内容,并编造了不存在的事实。 + +### 原则 +1. 如果图片内容看不清、不确定或处理不了,**如实回答**「我看不清/处理不了」 +2. **绝对不能编造**不存在的文字或内容 +3. 图片内容如果不是结构化数据(如截图、照片),处理能力有限 + +### 教训 +遇到不确定的图片时,直接说"我看不清这张图片的内容",不要强行猜测或推断。 diff --git a/memory/2026-03-30.md b/memory/2026-03-30.md new file mode 100644 index 0000000..01f611c --- /dev/null +++ b/memory/2026-03-30.md @@ -0,0 +1,94 @@ +# 2026-03-30 每日记录 + +## 图片处理能力限制(重要发现) + +### 问题 +使用 `read` 工具读取图片时,第一次之后图片像素数据会被移除,显示 `[image data removed - already processed by model]`。这意味着我**实际上无法处理图片内容**,之前说"看到群聊记录"是我编造的。 + +### 结论 +1. 我没有从图片提取文字的能力 +2. 遇到图片时,只能如实说「我看不了这张图片内容」 +3. 不能编造任何图片内容 + +### 相关bug +- dingtalk-connector 发图片一直「媒体文件上传失败」 +- 发的图片内容和收到的可能不一致 + +## 钉钉语音时长问题(未解决) + +### 问题 +钉钉语音消息发送成功,音频能正常播放,但没有时长显示。 + +### 已尝试(均无效) +- duration 格式:字符串 vs 数字 +- 音频格式:MP3、AMR +- 音频参数:16kHz/32kHz、64kbps/128kbps +- 音频时长:3秒、5秒、10秒 +- 音色:旧音色 female-tianmei 也不显示 + +### 结论 +可能是钉钉 `oToMessages/batchSend` + `sampleAudio` 消息类型的平台限制。 + +## 钉钉日志 API 限制 + +### 发现 +「经理人周报」模板是 **Landray 第三方应用**创建的模板(URL: landray.dingtalkapps.com),不是钉钉原生模板。钉钉原生的 `topapi/report/create` API 无法创建这种第三方模板的日志。 + +### 已验证可用的 API +- 查询日志列表: `POST https://oapi.dingtalk.com/topapi/report/list` ✅ +- 查询日志模板: `POST https://oapi.dingtalk.com/topapi/report/template/listbyuserid` ✅ +- 创建日志: `POST https://oapi.dingtalk.com/topapi/report/create` ❌ + +## 周报写作风格记录 + +### 文件 +`memory/luoguocai_weekly_reports_2026_q1.md` - 罗国财 Q1 周报原文 + 写作风格分析 + +### 语言特点 +- 务实、直接给结论,不废话 +- 善用"我们"而非"我",体现团队视角 +- 善用数字序号组织内容(1、2、3... 或 1)、2)、3)...) +- 经常用"本质"、"核心"、"关键"等词抓重点 + +### 结构习惯 +- 三段式:本周完成工作 → 本周工作总结 → 下周工作计划 +- 总结是核心,内容最详尽,通常2000-5000字 +- 工作计划简洁,通常5-8条,每条1-2句话 +- 总结通常分1-3个大主题,每个主题下有多个子点 + +### 内容偏好 +- 深度思考 > 表面罗列 +- 经常剖析根因,不仅描述现象 +- 喜欢举具体案例(客户名、团队名) +- 会反思问题和不足,不回避 + +### 高频主题(按频率排序) +① AI应用(Cursor/Trae/辅助编程/大模型) +② 产品规划/迭代 +③ 客户共创 +④ 质量问题/故障复盘 +⑤ 团队管理/面试 + +### 常用句式 +- "这是...而不是..." +- "无论...还是..." +- "一方面...另一方面..." +- "关键在于..." +- "后续需要..." + +## 常用日志模板 + +| 模板名称 | template_code | 提交频率 | +|---------|---------------|---------| +| 经理人周报 | 150135427970260ac424dce45e289a84 | 每周一 | + +## MiniMax TTS 音色更新 + +- 旧音色: female-tianmei +- 新音色: **xiaocun_tianmei**(罗国财克隆音色) +- 修改文件: `scripts/dingtalk_tts.sh` 第51行 +- 修改时间: 2026-03-30 + +## OpenClaw 日志模板调通 + +罗国财今天发消息说「今天把OpenClaw的日志模板调通了,虽然还差点东西」 diff --git a/memory/2026-03-31.md b/memory/2026-03-31.md new file mode 100644 index 0000000..bb39d69 --- /dev/null +++ b/memory/2026-03-31.md @@ -0,0 +1,84 @@ + +## OA审批查询 + +- 罗小寸共有 **22 个 OA 流程待审核** +- 查询接口:`GetUserTodoTaskSum`(钉钉 workflow API) +- API 返回:`{"success":true,"userId":"121922510028034588","count":0,"detail":{"result":22}}` +- 注意:count 字段为 0,但 result 字段为 22,实际数量以 result 为准 +- 查询时间:2026-03-31 10:45 + +**问题**:无法获取 22 个审批的具体列表 +- ListTodoWorkRecords API 返回 503 错误(服务器临时故障) +- 其他 API 因权限问题或参数错误无法调用 +- 待进一步排查或用户手动在钉钉客户端查看 + +## 时间戳计算错误记录(2026-03-31) + +### 问题 +在查询钉钉日历时,传入的 startTime 时间戳错误: +- 错误值:`1746134400000`(毫秒)= 2025-05-02 05:20:00 北京时间 +- 正确值:`1774972800000`(毫秒)= 2026-04-01 00:00:00 北京时间 +- **差了约 333.78 天(约 11 个月)** + +### 根本原因 +使用了 `date(2026, 4, 1).strftime('%s')` 或类似的手动计算方法,这种方式: +1. 依赖于系统时区设置 +2. 容易在日期计算时出现偏差 +3. 不直观,难以验证 + +### 正确做法 +使用 Python datetime 模块,明确指定时区: + +```python +from datetime import datetime, timezone, timedelta + +# 方法1:明确指定北京时间 (UTC+8) +beijing_tz = timezone(timedelta(hours=8)) +dt = datetime(2026, 4, 1, 0, 0, 0, tzinfo=beijing_tz) +ts_ms = int(dt.timestamp() * 1000) # 毫秒 +print(ts_ms) # 1774972800000 + +# 方法2:直接构造 UTC 时间再转换 +dt_utc = datetime(2026, 3, 31, 16, 0, 0, tzinfo=timezone.utc) +ts_ms = int(dt_utc.timestamp() * 1000) +print(ts_ms) # 1774972800000 +``` + +### 验证 +```python +import datetime +# 2026-04-01 00:00:00 北京时间 +beijing_tz = datetime.timezone(datetime.timedelta(hours=8)) +dt = datetime.datetime(2026, 4, 1, 0, 0, 0, tzinfo=beijing_tz) +print(int(dt.timestamp() * 1000)) # 1774972800000 ✅ +``` + +### 教训 +- ❌ 不要手动计算 Unix 时间戳 +- ❌ 不要依赖 `date.strftime('%s')` 这种方法 +- ✅ 始终使用 `datetime` + `timezone` 明确处理时区 +- ✅ 计算完成后用 `datetime.fromtimestamp()` 反向验证 + +## 钉钉日志 MCP 查询教训(2026-03-31) + +### 问题 +查询"最近一周提交的日志",我查到了 1 篇,但你实际提交了 2 篇。 + +### 根本原因 +API 时间范围是 **左闭右开** 的,即 `[startTime, endTime)`: +- 我设的 endTime = `1774886400000` = 2026-03-31 00:00:00 +- 你第二篇日志时间 = `1774894433000` = 2026-03-31 02:13:53 +- 因为 endTime 不包含 03-31 当天的日志,所以第二篇没查到 + +### 正确做法 +如果要查询**当天**的日志,endTime 应该设为**明天**的 00:00:00: +```python +# 查询 3月24日 到 3月31日(包含31日当天) +startTime = 2026-03-24 00:00:00 # 毫秒时间戳 +endTime = 2026-04-01 00:00:00 # 注意:是明天,不是当天 00:00:00 +``` + +### 教训 +- ❌ 查询当天日志时,endTime 不能设为当天 00:00:00 +- ✅ endTime 应该设为**明天**的 00:00:00 +- ✅ 始终用 `datetime.fromtimestamp()` 反向验证时间戳是否正确 diff --git a/memory/luoguocai_weekly_reports_2026_q1.md b/memory/luoguocai_weekly_reports_2026_q1.md new file mode 100644 index 0000000..3a507f9 --- /dev/null +++ b/memory/luoguocai_weekly_reports_2026_q1.md @@ -0,0 +1,262 @@ +# 罗国财 2026年Q1 周报原文记录 + +> 来源:20260330163906877.xlsx(经理人周报模板) +> 共9条记录:2026-01-12 至 2026-03-24 + +## 周报1:2026-01-12 + +**本周完成工作** +1、新产品蓝图及场景化输出 +2、产品版本定位后续事项推进 +3、1月份迭代冲刺 +4、面试(Java开发工程师和UI设计师) + +**本周工作总结** +1、新行业数据 +上两个星期我们新的行业标准已经明确... + +2、产品版本、蓝图及场景宣导 +下周五,我会对产研内部进行一次全员会议... + +3、产研26年AI应用目标 +周末复盘里面,我例举了4个具象的产研AI应用场景目标... + +**下周工作计划** +1、新产品蓝图及场景产研内部宣讲 +2、1月份迭代事项 +3、客户共创机制明确 +4、AI应用目标产研明确 +4、面试(Java开发工程师和UI设计师) + +## 周报2:2026-01-19 + +**本周完成工作** +1、新产品蓝图及场景产研内部宣讲(已关闭) +2、1月份迭代事项 +3、客户共创机制明确(持续) +4、AI应用目标产研明确(已关闭) +5、面试(Java开发工程师和UI设计师) + +**本周工作总结** +1、三津质量事件 +上两周我们平台引发了一个质量事件... + +2、产品市场物料工作 +周五产研内部完全一次产品规划、产品场景、产品定位、产品蓝图的宣讲... + +3、研发AI辅助编程工具 +我们在这周探讨了研发岗位的AI辅助编程工具选型问题... + +**下周工作计划** +1、新产品蓝图及场景全员宣讲 +2、新产品蓝图及场景定位PPT输出 +3、1月份迭代事项 +4、企微客户共创机制推进(本周明确客户数、目标及周期) +5、面试(Java开发工程师和UI设计师) + +## 周报3:2026-01-27 + +**本周完成工作** +1、新产品蓝图及场景全员宣讲(已关闭) +2、新产品蓝图及场景定位PPT输出(已关闭) +3、1月份迭代事项 +4、企微客户共创机制推进(延期一周) +5、面试(Java开发工程师和UI设计师) + +**本周工作总结** +1、产品蓝图及产品场景资料 +本周产研向营销一线同学的同学及部分伙伴去培训宣导了我们产品26全新的产品版本定位... + +2、年前产研关键工作安排... + +**下周工作计划** +1、2月产品迭代目标确定 +2、产研团队复盘事项关闭 +3、迭代团队场景划分 +4、企微客户共创机制推进(本周明确客户数、目标及周期) +5、面试(Java开发工程师和UI设计师) + +## 周报4:2026-02-02 + +**本周完成工作** +1、2月产品迭代目标确定 +2、产研团队复盘事项关闭 +3、迭代团队场景划分 +4、企微客户共创机制推进(已明确客户数、目标及周期) +5、面试(Java开发工程师和UI设计师) + +**本周工作总结** +1、产研迭代团队调整... + +2、年前产研关键工作安排(持续)... + +**下周工作计划** +1、2月产品迭代冲刺会议 +2、核心骨干面谈 +3、年会报告框架输出 +4、企微客户共创机制推进(下周SOP输出) +5、面试(Java开发工程师和UI设计师) + +## 周报5:2026-02-10 + +**本周完成工作** +1、2月产品迭代冲刺会议(关闭) +2、核心骨干面谈(持续) +3、年会报告框架输出(关闭) +4、企微客户共创机制推进(推迟) +5、面试(Java开发工程师和UI设计师) + +**本周工作总结** +1、AI团队规划方向及节奏... + +2、年前产研关键工作安排(持续)... + +**下周工作计划** +1、AI团队的H1的规划及节奏 +2、核心骨干面谈(持续) +3、年会报告PPT(初步关闭) +4、企微客户共创机制推进(下周关闭) +5、面试(UI设计师) + +## 周报6:2026-03-04 + +**本周完成工作** +休假 + +**本周工作总结** +AI 编码落地思考 + +1、AI 编码是"带刺的玫瑰",不完美但不可或缺 +... + +**下周工作计划** +1、年会报告PPT +2、新团队调整落地执行 +3、3月产研迭代事项 +4、AI辅助编程落地推进 +5、面试(前端、Java、UI设计) + +## 周报7:2026-03-09 + +**本周完成工作** +1、年会报告PPT +2、新团队调整落地执行 +3、3月产研迭代事项 +4、AI辅助编程落地推进 +5、面试(前端、Java、UI设计) + +**本周工作总结** +1、终端解决方案及平台税筹解决方案关键事项... + +2、客成的客户案例PK... + +**下周工作计划** +1、3月产研迭代事项 +2、AI辅助编程落地推进 +3、团队管理事项 +4、面试(前端、Java、UI设计) + +## 周报8:2026-03-16 + +**本周完成工作** +1、3月产研迭代事项 +2、AI辅助编程落地推进 +3、团队管理事项 +4、面试(前端、Java、UI设计) + +**本周工作总结** +1、需求功能共创... + +2、AI辅助编程... + +**下周工作计划** +1、3月产研迭代事项 +2、明确AI功能落地及共创节奏 +3、企微共创推进(持续) +4、面试(前端、Java、测试) + +## 周报9:2026-03-24 + +**本周完成工作** +1、3月产研迭代事项 +2、明确AI功能落地及共创节奏 +3、企微共创推进(目前进度缓慢,需要加大资源投入) +4、面试(前端、测试已关闭) + +**本周工作总结** +1、客户共创... + +2、关于OpenClaw思考... + +3)关于易订货能力暴露给大模型思考... + +**下周工作计划** +1、Q2产品规划内容确定 +2、4月迭代目前确定 +3、企微共创推进(持续) +4、面试(Java) + +--- + +## 周报写作风格分析(2026-03-30 整理) + +### 语言特点 +- 务实、直接给结论,不废话 +- 善用"我们"而非"我",体现团队视角 +- 善用数字序号组织内容(1、2、3... 或 1)、2)、3)...) +- 经常用"本质"、"核心"、"关键"等词抓重点 + +### 结构习惯 +- 三段式:本周完成工作 → 本周工作总结 → 下周工作计划 +- 总结是核心,内容最详尽,通常2000-5000字 +- 工作计划简洁,通常5-8条,每条1-2句话 +- 总结通常分1-3个大主题,每个主题下有多个子点 + +### 内容偏好 +- 深度思考 > 表面罗列 +- 经常剖析根因,不仅描述现象 +- 喜欢举具体案例(客户名、团队名) +- 会反思问题和不足,不回避 + +### 高频主题 +① AI应用(Cursor/Trae/辅助编程/大模型) +② 产品规划/迭代 +③ 客户共创 +④ 质量问题/故障复盘 +⑤ 团队管理/面试 +⑥ OpenClaw/MCP能力 + +### 常用句式 +• "这是...而不是..." +• "无论...还是..." +• "一方面...另一方面..." +• "关键在于..." +• "后续需要..." + +### 后续AI写周报参考 +AI帮罗小寸写周报时,应该遵循上述风格,核心是深度总结而非简单罗列。 + +--- + +## 钉钉日志创建 API 调试记录(2026-03-30) + +### 发现 +- 「经理人周报」模板 URL: `https://landray.dingtalkapps.com/alid/app/report/...` +- 这是 **Landray 第三方应用**创建的模板,不是钉钉原生模板 +- 钉钉原生 `topapi/report/create` API 可能无法创建这种第三方模板的日志 + +### 已验证可用的 API +- 查询日志列表: `POST https://oapi.dingtalk.com/topapi/report/list` ✅ +- 查询日志模板: `POST https://oapi.dingtalk.com/topapi/report/template/listbyuserid` ✅ + +### 无法完成的 API +- 创建日志: `POST https://oapi.dingtalk.com/topapi/report/create` ❌ + - 原因:模板是第三方模板,API 参数校验不通过 + +### 建议方案 +1. 确认是否有 Landray 应用的 API 凭证 +2. 或者在钉钉原生日志模板中创建一个"经理人周报"风格的模板 +3. 或者通过直接打开模板 URL 的方式让用户手动填写 + +### 后续行动 +需要找到能创建这种第三方模板日志的方法,或者说服用户使用钉钉原生模板