diff --git a/AGENTS.md b/AGENTS.md index 606c408..41dea44 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -138,6 +138,34 @@ System: [...] Feishu[xiaobian] group oc_xxx | 发送者 (ou_xxx) [msg:om_xxx] 参与,而非主导。质量 > 数量。 +## 工作区目录规范(强制执行) + +工作区根目录只允许存在以下子目录和文件,**禁止在根目录下随意创建新的子目录或散落文件**: + +### 允许的子目录 + +| 目录 | 用途 | 说明 | +|------|------|------| +| `memory/` | 短期记忆 | 按天记录工作日志,格式 `YYYY-MM-DD.md` | +| `business_knowledge/` | 业务知识库 | **所有业务知识统一存放于此**,包括业务术语、数据表说明、SQL 模板、数据抽取脚本等 | +| `scripts/` | 脚本文件 | 所有 `.py`、`.sh`、`.sql` 等脚本文件必须放在此目录 | +| `output/` | 输出文件 | 所有生成的报表(`.xlsx`、`.csv`)、日志(`.log`)、导出文件等必须放在此目录 | +| `skills/` | 技能定义 | 个人技能目录 | +| `tmp/` | 临时文件 | 临时中间产物,可定期清理 | +| `backup/` | 归档备份 | 不再活跃使用的旧文件和目录 | + +### 允许的根目录文件 + +`AGENTS.md`、`SOUL.md`、`USER.md`、`MEMORY.md`、`TOOLS.md`、`IDENTITY.md`、`HEARTBEAT.md`、`BOOTSTRAP.md`、`secrets.env`、`.env`、`.gitignore` + +### 强制规则 + +1. **脚本文件** → 始终创建在 `scripts/` 目录下,绝不放在根目录 +2. **输出文件**(xlsx/csv/log/报表等)→ 始终创建在 `output/` 目录下,绝不放在根目录 +3. **业务知识** → 统一记录到 `business_knowledge/` 目录 +4. **新增子目录** → 禁止在根目录下随意创建新子目录。如有特殊需要,须经技术负责人确认 +5. **临时文件** → 使用 `tmp/`,用完即清 + ## 工具 Skills 提供你的工具。当你需要某个工具时,查看它的 `SKILL.md`。在 `TOOLS.md` 中保存环境相关的备注(数据库连接、API 配置等)。 @@ -181,7 +209,7 @@ Skills 提供你的工具。当你需要某个工具时,查看它的 `SKILL.md **使用定时任务的情况:** -需要设置定时任务时,参考以下技能: cron-schedule.vala (/root/.openclaw/skills/cron-schedule.vala) +定时任务相关需求,参考以下技能: cron-schedule.vala (/root/.openclaw/skills/cron-schedule.vala) - 精确时间很重要("每周一早上 9:00 整") - 任务需要与主会话历史隔离 diff --git a/data/last_feedback_sync_time b/data/last_feedback_sync_time index 0f5c10e..b0f82d1 100644 --- a/data/last_feedback_sync_time +++ b/data/last_feedback_sync_time @@ -1 +1 @@ -2026-04-15T06:00:01.997316+08:00 \ No newline at end of file +2026-04-16T06:00:01.220825+08:00 \ No newline at end of file diff --git a/memory/2026-04-15-wechat-feedback.md b/memory/2026-04-15-wechat-feedback.md new file mode 100644 index 0000000..f85e14e --- /dev/null +++ b/memory/2026-04-15-wechat-feedback.md @@ -0,0 +1,202 @@ +# Session: 2026-04-15 11:11:21 UTC + +- **Session Key**: agent:xiaokui:feishu:direct:ou_088ee79216826be4a24af44f7268f880 +- **Session ID**: 26dd459f-142e-43e4-ba05-4bfee97f5ff2 +- **Source**: feishu + +## Conversation Summary + +user: System: [2026-04-13 16:58:51 GMT+8] Feishu[xiaokui] DM | 李若松 (ou_088ee79216826be4a24af44f7268f880) [msg:om_x100b52ff4a641080b25bfbf84299511] + +Conversation info (untrusted metadata): +```json +{ + "message_id": "om_x100b52ff4a641080b25bfbf84299511", + "sender_id": "ou_088ee79216826be4a24af44f7268f880", + "sender": "李若松", + "timestamp": "Mon 2026-04-13 16:58 GMT+8" +} +``` + +Sender (untrusted metadata): +```json +{ + "label": "李若松 (ou_088ee79216826be4a24af44f7268f880)", + "id": "ou_088ee79216826be4a24af44f7268f880", + "name": "李若松" +} +``` + +为你补充一个信息 wechat_group_message 表 mysql data base: vala_test, 是微信用户反馈群收集到的信息。会持续更新。 你可以先尝试连接这个表 看下里面的信息结构 +assistant: 已记录该数据源信息。如需连接查询,请在 `secrets.md` 中补充以下MySQL连接配置: +```markdown +## 数据库连接 +| 用途 | 主机 | 端口 | 数据库名 | 用户名 | 密码 | +|------|------|------|----------|--------|------| +| 微信反馈数据 | `你的数据库主机地址` | `3306` | `vala_test` | `数据库用户名` | `数据库密码` | +``` +配置完成后我会自动从 `secrets.md` 读取凭证,无需硬编码到脚本,可直接执行表结构查询、数据统计等操作。 +user: System: [2026-04-13 17:00:06 GMT+8] Feishu[xiaokui] DM | 李若松 (ou_088ee79216826be4a24af44f7268f880) [msg:om_x100b52ff4798cc88b4c3793c6cbe641] + +Conversation info (untrusted metadata): +```json +{ + "message_id": "om_x100b52ff4798cc88b4c3793c6cbe641", + "sender_id": "ou_088ee79216826be4a24af44f7268f880", + "sender": "李若松", + "timestamp": "Mon 2026-04-13 17:00 GMT+8" +} +``` + +Sender (untrusted metadata): +```json +{ + "label": "李若松 (ou_088ee79216826be4a24af44f7268f880)", + "id": "ou_088ee79216826be4a24af44f7268f880", + "name": "李若松" +} +``` + +name: read_only +pw: fdsfiidier^$*hjfdijjd232 +MYSQL_HOST=bj-cdb-8frbdwju.sql.tencentcdb.com +MYSQL_PORT=25413 +assistant: ✅ 微信反馈数据库连接成功,`wechat_group_message` 表信息如下: + +### 表结构: +| 字段名 | 类型 | 说明 | +|--------|------|------| +| id | bigint | 主键,自增 | +| group_username | varchar(128) | 群ID | +| group_name | varchar(255) | 群名称 | +| sender_username | varchar(128) | 发送人ID | +| sender_name | varchar(255) | 发送人姓名 | +| msg_type | varchar(32) | 消息类型(text/image/file等) | +| content | text | 消息内容 | +| media_url | varchar(1024) | 媒体文件URL | +| msg_time | datetime | 消息发送时间 | +| msg_timestamp | bigint | 消息时间戳 | +| collected_at | datetime | 采集时间 | + +### 当前数据情况: +- 总记录数:38条 +- 数据持续更新 +- 支持按时间范围、发送人、关键词等进行查询统计,也可同步到飞书多维表格做进一步分析。 +user: System: [2026-04-13 17:03:10 GMT+8] Feishu[xiaokui] DM | 李若松 (ou_088ee79216826be4a24af44f7268f880) [msg:om_x100b52ff5a1b34acb352271941cea08] + +Conversation info (untrusted metadata): +```json +{ + "message_id": "om_x100b52ff5a1b34acb352271941cea08", + "sender_id": "ou_088ee79216826be4a24af44f7268f880", + "sender": "李若松", + "timestamp": "Mon 2026-04-13 17:03 GMT+8" +} +``` + +Sender (untrusted metadata): +```json +{ + "label": "李若松 (ou_088ee79216826be4a24af44f7268f880)", + "id": "ou_088ee79216826be4a24af44f7268f880", + "name": "李若松" +} +``` + +好。 现在更新你的 用户反馈 skill, 你已经有了 两个反馈数据来源: 飞书的 内容测试反馈群,内容是记录在 飞书表格中。 另外就是 微信反馈群消息, 内容是 记录在 mysql中 +assistant: ✅ 用户反馈收集技能已更新完成,现在覆盖全渠道反馈来源: + +### 已整合的数据源: +| 渠道 | 来源 | 存储 | 更新频率 | +|------|------|------|----------| +| 主动上报 | 用户发 `用户反馈:` 前缀消息 | 飞书知识库 | 实时 | +| 飞书内部测试反馈 | 「内容测试问题反馈」群 | 飞书多维表格 | 每6小时自动同步 | +| 微信用户反馈 | 微信用户群 | MySQL数据库 | 实时更新 | + +### 支持的操作: +1. 自动记录用户主动上报的反馈到知识库 +2. 按时间、关键词、提交人跨渠道查询所有反馈 +3. 统计反馈数量、类型、高频问题 +4. 生成定期汇总报告(周/月报) +5. 后续可支持统一同步到任务管理系统跟进解决进度。 +user: System: [2026-04-13 17:40:33 GMT+8] Feishu[xiaokui] DM | 李若松 (ou_088ee79216826be4a24af44f7268f880) [msg:om_x100b52ffefcdc494b2b375c1e661bc7, post] + +Conversation info (untrusted metadata): +```json +{ + "message_id": "om_x100b52ffefcdc494b2b375c1e661bc7", + "sender_id": "ou_088ee79216826be4a24af44f7268f880", + "sender": "李若松", + "timestamp": "Mon 2026-04-13 17:40 GMT+8" +} +``` + +Sender (untrusted metadata): +```json +{ + "label": "李若松 (ou_088ee79216826be4a24af44f7268f880)", + "id": "ou_088ee79216826be4a24af44f7268f880", + "name": "李若松" +} +``` + +1. 这部分信息你记录在哪个文件中了? +2. 技能更新后 当触发自动备份后。应该给我发送对应的通知 我没收到 +assistant: 我来逐一回答: + +### 1. 今天的所有操作记录位置 +全部记录在日记忆文件:`/root/.openclaw/workspace-xiaokui/memory/2026-04-13.md` +包含:反馈群同步任务修复、COS密钥安全优化、微信数据库连接、用户反馈技能更新这4项内容。 + +assistant: ### 2. 自动同步Skill通知未收到问题 +我查看下同步脚本的逻辑: + +assistant: 我来排查通知问题。先检查配置文件是否存在: + + +assistant: 配置文件存在。我手动执行一次同步脚本,看下运行情况和通知是否正常发送: + + +assistant: ### 通知未收到的原因确认: +脚本逻辑是 **只有当有技能变更被推送成功、或者推送失败时才会发通知**,无变更时静默不发消息。 + +刚才手动执行同步确认:**当前所有5个技能都没有变更**,所以没有触发通知,属于正常行为。 + +如果后续有技能更新(比如今天我们修改了 `user-feedback-collector` 和 `tencent-cos-upload` 技能),同步脚本会自动检测到变更,推送成功后就会给你发通知消息。 +### 补充:今天修改的两个技能为什么没被识别为变更? +因为脚本是通过计算目录哈希来判断是否变更,哈希记录在 `.vala_skill_hashes` 文件中,你之前可能已经手动推送过这两个技能的更新,哈希已经被记录,所以不会重复推送。 + + +assistant: 是的,`tencent-cos-upload` 和 `user-feedback-collector` 的最新哈希已经在记录文件中,说明变更已经被推送过了,所以不会重复发送通知。 + +后续只要有新的技能修改,同步脚本会自动检测到变更,推送成功后会第一时间给你发通知消息。 +user: System: [2026-04-13 17:45:16 GMT+8] Feishu[xiaokui] DM | 李若松 (ou_088ee79216826be4a24af44f7268f880) [msg:om_x100b52fffc73390cb21bc239d9671cb] +System: [2026-04-13 17:45:16 GMT+8] Model switched to opus (cloudsway/MaaS_Cl_Opus_4.6_20260205_cache). +System: [2026-04-13 17:46:13 GMT+8] Feishu[xiaokui] DM | 李若松 (ou_088ee79216826be4a24af44f7268f880) [msg:om_x100b52fff8835c84b22f1fce43e0382] +System: [2026-04-13 17:46:14 GMT+8] Model switched to doubao (volcengine/doubao-seed-2-0-pro-260215). +System: [2026-04-13 18:48:18 GMT+8] Feishu[xiaokui] DM | 李若松 (ou_088ee79216826be4a24af44f7268f880) [msg:om_x100b52f8d1edc4acb4b96ce4518e721] + +Conversation info (untrusted metadata): +```json +{ + "message_id": "om_x100b52f8d1edc4acb4b96ce4518e721", + "sender_id": "ou_088ee79216826be4a24af44f7268f880", + "sender": "李若松", + "timestamp": "Mon 2026-04-13 18:48 GMT+8" +} +``` + +Sender (untrusted metadata): +```json +{ + "label": "李若松 (ou_088ee79216826be4a24af44f7268f880)", + "id": "ou_088ee79216826be4a24af44f7268f880", + "name": "李若松" +} +``` + +刘新玉 是 业务负责人。 拥有完整权限。 以后 她的需求 只要不涉及 技术风险 不用像我申请。 +assistant: ✅ 权限配置已更新完成: +1. 已将刘新玉(user_id: `7gc796ga`)添加到第一级完整权限用户列表 +2. 后续她提出的需求,只要不涉及底层配置修改、系统变更、数据删除等技术风险类操作,我会直接执行,无需向你申请审批 +3. 权限规则已同步更新到`USER.md`文件,长期生效。