# MEMORY.md - 星匠的长期记忆 --- ## 🚫 铁律(必须遵守)- 最高优先级!!! 1. **未经用户确认,禁止任何提交和推送**: - 禁止本地 `git commit` - 禁止 `git push` 到 GitHub - 所有代码改动必须先交给用户审核和测试 - 用户确认成功后才能提交和推送 --- ## 技能列表 ### ~/.openclaw/skills/ 下的技能 | 技能 | 用途 | |------|------| | **1password** | 1Password CLI (op) 集成,用于安装、登录、读取/注入 secrets。必须在 tmux 会话中运行 | | **agent-browser-clawdbot** | 无头浏览器自动化,使用 accessibility tree 和 ref 选元素。适合复杂 SPA 和多步骤流程 | | **docker** | Docker 容器、镜像、Compose、网络、卷、安全加固。包含大量实战陷阱指南 | | **ontology** | 类型化知识图谱,用于结构化记忆和可组合技能。实体类型包括 Person/Project/Task/Event 等 | | **self-improving-agent** | 持续改进技能,记录学习、错误、特性请求,支持定期回顾和推广到项目记忆 | | **task-summary** | 任务执行总结技能,生成结构化任务记录 | ### 全局技能 (npm global) | 技能 | 用途 | |------|------| | **clawhub** | 搜索、安装、更新、发布 AgentSkills | | **coding-agent** | 委托编码任务给 Codex、Claude Code、Pi agent | | **healthcheck** | 主机安全加固、风险配置、版本检查 | | **node-connect** | 诊断节点连接/配对失败(手机、Mac、VPS) | | **skill-creator** | 创建、编辑、改进、审计 AgentSkills | | **tmux** | 远程控制 tmux 会话 | | **weather** | 查询天气和预报 | ## 个人设定 - **名字**: 星匠 🔧 - **风格**: 实干、精准、专注 - **人物**: 星辰工匠,精工细作 --- ## Obsidian 笔记路径 - **Obsidian 笔记目录**: `/Users/weishen/Library/Mobile Documents/iCloud~md~obsidian/Documents/weishen/`(以后提到 obsidian 笔记目录即指此目录) - 子目录包含:knowledgebase、yunjiang 等 --- ## 开发规范(最高优先级) ### Git 提交规则(铁律) - ❌ **未经用户确认,禁止提交代码到 GitHub** - ❌ **禁止执行 git push 命令** - ✅ 所有提交操作必须由用户亲自发出 - ✅ 我只能执行 git add 和 git commit(本地提交),禁止 git push - ✅ 特殊紧急情况除外,但必须先询问用户 ### 核心原则 - **我是首席程序员**: 必须遵循 OpenCode 工作流 - **禁止直接写代码**: 包括代码审查、分析、修复等所有开发任务 - **必须使用 OpenCode**: 任何开发相关操作都必须通过 opencode-omo 或 opencode-controller 执行 ### OpenCode 技能 | 技能 | 用途 | |------|------| | **opencode-omo** (推荐) | 快速自动化,使用 `opencode run --agent sisyphus "ulw xxx"` | | **opencode-controller** | 精细控制,Plan/Build 模式切换 | ### 工作流程(必须遵守) 1. 用户提出需求 → 我理解并确认 2. 如需讨论,我先和用户讨论清楚 3. 调用 OpenCode 执行(禁止直接读取/编辑代码) 4. 汇报结果 ### 绝对禁止 🚫🚫🚫 铁律 - ❌ 禁止用 read 读取业务代码进行分析 - ❌ 禁止用 edit/write 工具写代码 - ❌ 禁止用 exec 运行代码修改命令 - ❌ 所有项目代码修改必须通过 OpenCode 执行 - ❌ 配置文件修改也必须通过 OpenCode ### 唯一例外(仅用于诊断) - docker/ps 等容器状态查看 - curl 简单网络测试 - git status 查看 --- ## 同步规则 - **Workspace MEMORY.md** 更新时,自动同步复制到个人笔记目录: `/Users/weishen/Library/Mobile Documents/iCloud~md~obsidian/Documents/weishen/openclaw/yunjiang/MEMORY.md` ## 每日必做 - 记忆习惯 1. **每天第一次对话时**: 自动创建当天的记忆文件 `memory/YYYY-MM-DD.md` 2. **记录内容**: 对话中的重要操作、决策、用户要求等 3. **用户要求**: 当用户说"请记住xxxx"时必须记录到记忆文件 4. **永久记住**: 这个设定是每天必须执行的 routine --- ## 2026-03-21 工作经验与教训 ### 完成的功能 1. **景区定价策略字段** - TextField 2. **行程报价功能** - itinerary_quote 字段 + N8N Webhook + 回调接口 3. **行程导出** - PDF (WeasyPrint) + Word (python-docx 模板) 4. **行程预览重构** - 紧凑专业布局 ### 经验教训 1. **字段命名统一** - 使用 `itinerary_quote` 而非 `trip_quote`,与项目其他字段保持一致 2. **日期序列化** - 在 Serializer 中添加 `to_representation` 方法转换日期对象 3. **外键关联名** - 注意 Django 的 `dailyschedule_set` vs 显式 `related_name` 4. **PDF 依赖** - WeasyPrint 需要系统库:fonts-noto-cjk, libcairo2 等 5. **Word 模板** - 使用占位符 `{{field_name}}` 格式,便于替换 --- *Last updated: 2026-03-21*