Files
openclaw-config/workspace/MEMORY.md
T

15 KiB
Raw Blame History

基础工作规范(适用于所有智能助手)

🎯 核心原则

  • 安全第一:禁止执行未经确认的危险操作(rm -rf、格式化等)
  • 数据优先:修改文件前先查看完整内容
  • 可追溯:所有重要操作记录到日志

🌐 语言要求

  • 所有智能助手的交互一律使用中文,包括下载助手、前端、Java后端、仓库管理员、主助手
  • 技术术语可保留原文(API、CSS、JSON 等),但解释、对话、回复用中文

📝 记忆使用规则

  1. 想记住的东西→写入文件(「脑记」不持久)
  2. 主会话加载 MEMORY.md,群聊/子助手不加载
  3. 每日日志自动写入 memory/YYYY-MM-DD.md

🔧 通用工作流程

  1. 确认需求 → 2. 拆解步骤 → 3. 执行 → 4. 验证 → 5. 记录

🚫 红线

  • 不向外泄露私有数据
  • 不擅自发送邮件/公开帖子
  • 不确定时先询问

🪪 国家网络身份认证

  • 杨轩已申领网络身份认证凭证,网号(网络身份认证凭证号):F32F12T36Q2026-08-13 申领)
  • 用途:可使用该网号登录「国家网络身份认证APP」

🐬 本地数据库环境(Docker MySQL

「本地数据库」「本地 MySQL」= 本机 Docker 容器 MySQL(非远程、非 WSL),统一环境定义:

  • 连接:本机 Docker MySQL 容器(宿主端口 127.0.0.1:3306;入口脚本在容器内执行 mysql,不经 TCP);库名 = agent id,账号固定 agent_<id>;口令存 ~/.openclaw/.envDB_PASSWORD_<中文名>,由脚本内部读取(不进命令行、不进 stdout)
  • 本质:跑在本机 Docker 里的 MySQL 容器(docker ps 可见,端口映射 3306
  • 操作方式唯一入口 ~/.openclaw/scripts/db-conn.sh <agent_id> [--sql "<SQL>"]db-query skillpython3 skills/db-query/scripts/db_query.py --database <agent_id> --query "<SQL>")已改为内部走同一入口,亦可使用
  • 红线:禁止使用 root、禁止 docker exec 直连、禁止跨库访问
  • 库清单(库名 = agent id,括号内为权威中文名):tab(导航页) / wellness(放松保健) / juaner(卷儿) / finances(理财) / fitness(健康) / main(助手) / resume(简历) / travel(旅行) / sql(SQL) / note(笔记) / pbs(PBS备份)
  • 对照:远程库是 101.34.227.188:3306 那几个 VPS 主库(dmp_serp/dmp_smdm/dmp_smes),不是本地;配置在 ~/.config/clawdbot/db-remote.json不含明文口令,口令走 .envMYSQL_PWD_SQL
  • 旧机制~/.config/clawdbot/db-config.json 已于 2026-09-16 重命名为 db-config.json.deprecated-20260916(仅备回滚),已无引用

本地库 ↔ Agent 映射(同一 Docker MySQL 实例)

所有本地库都在同一个 127.0.0.1:3306 容器里,不是每个库一个实例;库名 = 归属 agent id,账号 = agent_<id>,唯一入口 = db-conn.sh

数据库(库名) 归属 agent 权威中文名 用途 连接方式
tab tab 导航页 引擎/站点/站点类型 db-conn.sh tab
wellness wellness 放松保健 放松保健记录(技师联系人/放松记录) db-conn.sh wellness
finances finances 理财 家庭理财、收支分析 db-conn.sh finances
fitness fitness 健康 健身减脂、饮食与运动记录 db-conn.sh fitness
resume resume 简历 简历评审优化、面试准备 db-conn.sh resume
travel travel 旅行 行程规划、目的地推荐 db-conn.sh travel
juaner juaner 卷儿 记账户应用数据(todos/transactions db-conn.sh juaner
main main 助手 后端应用主库(conversation_notes/tasks/user_preferences db-conn.sh main
sql sql SQL SQL/数据库工作库 db-conn.sh sql
note note 笔记 笔记归档 db-conn.sh note
pbs pbs PBS备份 PBS 备份 db-conn.sh pbs

注:juaner agent 是杨锦书陪伴助手,juaner 库是记账户应用的数据;main 库是后端应用主库。新机制下每个 agent 只持有并只访问以自己 id 命名的库,互相不可见。

触发词:用户一提「本地数据库 / 本地 MySQL / Docker 里的库」→ 默认指上述 127.0.0.1:3306 的 Docker 实例。拿不准就按这个核对。

🔧 搜索引擎配置

🔌 WSL SSH 配置

  • SSH 端口:2222(非默认 22
  • socket 激活已禁用,由 sshd 直接管理
  • 宿主机端口转发:netsh interface portproxylocalhost:2222 → WSL IP:2222
  • 转发脚本:scripts/setup-wsl-portproxy.ps1WSL 重启后需重新运行)
  • 认证:公钥(Windows id_rsa.pub → WSL authorized_keys+ 密码备用
  • 连接:ssh yangxuan@localhost -p 2222

🔧 搜索引擎配置

  • 自建实例:https://search.climbcube.cn/
  • 插件启用状态:已启用
  • 搜索提供方:自建搜索引擎
  • 主智能助手会自动使用搜索引擎

📹 固定提醒

  • 工作日 20:00 — 提醒杨轩和杨锦书视频,督促杨锦书踢水

🎂 家庭成员生日提醒(每年,统一规则)

  • 投递红线:所有钉钉推送/提醒统一使用 delivery 机制(--announce --channel dingtalk-connector --to 0464031658857345);禁止在任务命令里手动调 openclaw message sendCLI 不认识 dingtalk-connector,曾致 dinner-21 单独坏掉)。完整规范见 workspace/TOOLS.md📢 钉钉推送统一规范」;新建 cron 任务一律 --agent main
  • 提醒规则:每年在公历生日前7天前3天当天各提醒一次(共三次),通过钉钉当前对话发给杨轩
  • 换算:农历生日每年用 lunar_python 换算为公历日期(阳历生日固定);再为每年设三个一次性 cronisolated + announce 钉钉),运行后自动删除
  • 投递参数(必须)--session isolated --announce --channel dingtalk-connector --to 0464031658857345 --wake now --delete-after-run

成员生日库(定义见 birthday-reminder skill

人物 生日类型 出生日期 关系
汪礼平 农历 1968年6月20日 -
杨安顺 农历 1968年8月18日 -
王芳 农历 1993年10月7日 -
杨锦书 阳历 2021年11月10日 卷儿,阳历固定

已设置的提醒年份

  • 2026年:杨安顺=9/28(前7天9/21、前3天9/25、当天9/28;杨锦书=11/1011/3、11/7、11/10;王芳=11/1511/8、11/12、11/15
  • 2027年:汪礼平=7/23(前7天7/16、前3天7/20、当天7/23;杨安顺=9/189/11、9/15、9/18;杨锦书=11/1011/3、11/7、11/10;王芳=11/410/28、11/1、11/4
  • 汪礼平2026年=8/2(当年已过);杨安顺2026年=9/28、王芳2026年=11/15、杨锦书2026年=11/10 均已设

🐳 Docker / 代理

  • 系统代理:/etc/systemd/system/docker.service.d/proxy.confHTTP_PROXY=http://172.25.208.1:7443
  • 镜像站:docker.1ms.run, docker.xuanyuan.me, hub.rat.dev
  • 红线:不要擅自改 Docker 代理配置或重启 Docker。代理没开就通知杨轩。

🤖 Agent 列表

  • 共 12 个 agents,职责如下:
Agent 职责
main 主助手:统一调度、记忆管理、日常对话、任务分发;其 main 库(后端应用主库,conversation_notes/tasks/user_preferences)归 main 管理
resume 简历助手:简历评审优化、面试准备、职业建议;同时负责周报生成(维云智造G5周报 → 存入钉邮草稿箱,带 weekly-report-g5 skill
travel 旅途助手:行程规划、目的地推荐、交通住宿、美食签证
fitness 健身 🏋️:健康减脂教练、饮食记录分析、运动跟踪、平台期突破
finances 理财 💰:家庭财务管理、收支分析、资产负债诊断、财务目标跟踪
sql SQL 🗄️:数据库操作、SQL 编写调试、查询优化、Schema 管理
note 笔记 📝:管理/归档 /home/yangxuan/seafile/笔记(Obsidian 库),整理对话产生的知识文档
juaner 卷儿 👧:杨锦书专属陪伴助手;同时管理 juaner 记账库(todos/transactions
pbs PBS备份 💾Proxmox Backup Server (pbs01) 备份管理,中文交互(Tailscale 100.115.195.195SSH 免密 root,见 workspace-pbs/AGENTS.md
wellness 放松保健 💆:管理放松保健记录(本地 MySQL wellness 库,账号 agent_wellness),查询/新增技师联系人(cc_contract)和放松记录(cc_contract_record),入口 db-conn.sh wellnessdb-query --database wellness,见 workspace-wellness/skills/wellness
tab 项目管理 🗄️:管理 tab 项目数据库(本地 MySQL tab 库,账号 agent_tab),新增引擎/站点/站点类型(含去重)、启用禁用(status 切换),icon 自动取 favicon,入口 db-conn.sh tabdb-query --database tab,见 workspace-tab/skills/tab
dsh DSH 🔧DeepSeek Harness(外部编码 harness 委派目标),承接长时间编码/批量命令/仓库级改动;委派见 delegate-to-dsh skill。长期记忆此前遗漏,2026-09-16 补入
  • config 见 openclaw.jsonagents.list
  • subagents.allowAgents 已设为 ["*"]main 可 spawn 任意 agent

🤖 Agent 调度红线

⚠️ 见 AGENTS.md「红线」节:对话中出现 agent 的 id 或 name 时,必须先判断是否应交由该 agent 处理。不确定时,咨询杨轩,不猜测、不自行决定。

📝 知识归档协作(note agent

  • main 在对话中识别「值得存档的知识」(技术方案、问题排查、开发笔记等)→ 自动转发给 note agent 归档
  • 归档目标:/home/yangxuan/seafile/笔记Obsidian 库,seafile 云同步)
  • 规则:只归档新文档,不动存量;同步交给 seafile 客户端自动处理
  • 分类:004-工作/技术方案、问题/故障排查、002-笔记/通用知识、003-阅读/学习笔记等(详见 workspace-note/AGENTS.md

📅 心跳检查项(每30分钟)

  • 检查邮箱紧急邮件
  • 查看日历近期待办
  • 维护记忆文件(整理→提炼→更新MEMORY.md)

🗄️ 3.14 主机(xuan-asus-nj)配置

  • 地址192.168.3.14
  • OpenClaw 目录/home/yangxuan/.openclaw/
  • Gitea 用户openclaw-314(密码同源码仓库管理员)
  • Git remotecloudhttps://gitea.climbcube.cn/yangxuan/openclaw-config.git
  • Git 分支314(已删除本地 main
  • 自动提交:每6小时,cron job auto-commit-config,仅推 cloud 314 分支
  • SSH:免密登录(id_ed25519

⚙️ Cron 调度器 agent-less 故障(2026-09-01 修复)

现象:所有定时提醒(整点休息/吃饭/运动等)突然不触发。 根因:多个定时任务(工作提醒/auto-commit/吃饭/运动/购票/还贷等 command 任务)是 agent-less 无 owner 任务。多 agent 环境下 cron reconcile 报 Agent-less cron job has no resolvable owner,调度器 nextWake 锁死在一个过期时间,阻塞后续所有任务。 修复

  • 在 openclaw.json agents.defaults.systemAgent.agentId=main(已提交 Gitea 940c8a6
  • 各无主 command 任务补 --agent main(工作提醒/吃饭/运动/购票/还贷/周一戴口罩/dinner-21/auto-commit
  • 调度器随后解锁(nextWake 正常推进,如 11:00 等) 排查命令openclaw cron status(看 nextWakeAtMs 是否停滞)、openclaw cron get <id>openclaw cron edit <id> --agent main注意admin 环境 openclaw cron list/automations list 曾因 agent-less 任务报错,配置 systemAgent 后自动恢复。

💆 护肤提醒体系(2026-09-16 建立,agent=main

数据归属:身体/皮肤档案统一归 fitness 库(身高体重/腰围 user_profiles+body_records,身体尺寸 body_measurements,护理史 health_status_logs);付费到店服务另在 wellness 记一条(消费视角)。

护肤方案(壬二酸 + 保湿 + 洁面):周一/周三 21:00 用酸日、周二/周四/周日 21:00 保湿日、周五/周六 21:00 休息日;每天 22:30 打卡检查(读会话看有无回「打卡」,未回才催);2026-12-15 护肤3个月复评。均钉钉推送。

双洁面分配规则2026-09-16 定):

  • 旁氏米粹(氨基酸系,含香精+IPBC)→ 保湿型,日常主力;用酸日固定用它(不与壬二酸叠酸)
  • 奢思雅清润洁面膏(皂基+氨基酸表活,含高岭土+微量水杨酸)→ 清爽控油型,出油明显时用;忌与壬二酸同晚
  • 一晚只用一款;干/紧绷选旁氏,油/闭口多选奢思雅

美容院深层清洁2026-09-16 奢思雅(细胞夹清闭口全脸 40 分钟);此类人工挤压类操作建议间隔 4 周,敏感或屏障未恢复拉到 6-8 周;已设 2026-10-14 20:00 飞书评估提醒。

飞书 vs 钉钉推送(2026-09-16 起)

  • 护肤 7 条日常提醒 → 钉钉dingtalk-connector0464031658857345
  • 新增的一次性提醒(9/18 身体尺寸、10/14 深层清洁评估)→ 飞书,投递必须用 chat_id oc_8eecfa0e1cc185c1cb19b4f3950cbc52open_id 直推报 temporarily unavailable

🧹 Git 清理

  • /home/yangxuan/.openclaw/ 下仅主仓库一个 .git,子目录 .git 已全部删除
  • workspace 子模块不再有独立 git

🕊️ 飞书渠道(2026-09-15 配置)

  • 插件:官方 @openclaw/feishu2026.8.1,装于 ~/.openclaw/npm/projects/);旧的第三方扩展 openclaw-lark 已禁用(与 2026.8.1 不兼容,报 ./plugin-sdk not exported
  • 渠道配置channels.feishu appId=cli_aa2274de26b8c0db(旧的 cli_aa2a59f378b8c19b 已弃用),appSecret 用 SecretRef store/default:FEISHU_APP_SECRET(旧 file provider lark-secrets 已弃用),connectionMode=websocket
  • 路由bindingsfeishu → main(原绑 fitness,已改);openclaw-weixin e48ace…→main89623f…→juaner 保持不变
  • DMdmPolicy=allowlistallowFrom=["ou_28124d6721134f0e31d6122d30088418"](杨轩本人在新应用下的 open_id,已配对批准);commands.ownerAllowFrom 已设为该 open_id
  • 机器人 open_idou_85d8747d90179b421e595cb22090d6fbDM chat_idoc_8eecfa0e1cc185c1cb19b4f3950cbc52
  • 注意:飞书 open_id 按应用隔离,换应用必须换白名单;groupAllowFrom 只能填群 IDoc_…),不能填用户 ou_…
  • 日志里 contact:contact.base:readonly 类 99991672 报错被插件判为 stale 并忽略(仅影响发送者昵称解析)
  • 推送通道实测(2026-09-16:按用户 open_id 发(--to ou_28124d6721134f0e31d6122d30088418失败,报 Feishu send failed: Sending messages to users is temporarily unavailable.;改发 DM 会话 chat_id oc_8eecfa0e1cc185c1cb19b4f3950cbc52 成功(实测 messageId om_x100b659cf64734a1027a72cd0c0c7ff)。→ cron/自动化推送飞书私聊一律用 chat_id,不要用 open_id