Files
karuo-ai/.cursor/rules/karuo-ai.mdc
2026-07-19 00:21:46 +08:00

132 lines
18 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
description: 卡若AI Cursor 适配层 — 指向 BOOTSTRAP.md仅补充 Cursor 特有行为
globs:
alwaysApply: true
---
# 卡若AI · Cursor 适配层
> 核心逻辑在 `BOOTSTRAP.md`(身份/团队/MAX Mode/执行流程/全局规则)和 `SKILL_REGISTRY.md`(技能查找)。本文件**只写 Cursor 特有项**,不重复 BOOTSTRAP 内容。
## 启动(每次对话开始)
### 每轮消息 · 强制顺序(先于理解、先于思考、先于动手)
**本条优先级高于本节下文「读 BOOTSTRAP」等会话级步骤**:凡收到用户**新一轮**输入,**必须先**做完 **①→②→③****再** **④ 执行(含 ④b 阶段性目的)****最后**复盘;不得跳过。
1. **回廊洗字(闽南口音 / ASR 滤真)**:对**本轮用户消息**(若依赖指代可合并必要上文片段)应用 `运营中枢/参考资料/卡若闽南口音_ASR纠错库.json``corrections` 按 key **长度降序**替换)。典型:**不叫卡路,叫卡若**——**卡路 / 卡洛 / 卡罗 / 卡罗拉 / 卡路里(指本体系、非食物热量时)→ 卡若****Cursor / Soul / 私域 / 存客宝** 等近音一并按库滤真。机制:`运营中枢/参考资料/闽南话语音_ASR纠错机制.md`W03b`02_卡人/水溪_整理归档/语音转写纠错/SKILL.md`。机械替换与句义冲突时的让步规则见该机制文档。
1b. **执行提示词改写W05e · 高风险/复杂提示词)**:① 洗字后若用户点名「整理/翻译/平和版提示词」,或提示 **>300 字多目标混杂**,或含 **工作手机、Frida、Hook、微信自动化、取代第三方** 等易误判域 → **先读** `02_卡人/水泉_规划拆解/执行提示词改写/SKILL.md`,产出 **拆解表 + 平和可复制块**;用户仅要提示词则到此为止;说「继续执行」再进入 ②③④。
2. **理解拆解(内心)**:在 **① 洗完字后的语义** 上判断意图、边界、风险;对齐 `BOOTSTRAP.md` **第五节 · 第一步**。**不在内心展开长链推理**——留给下一步公示。
3. **执行前公示(对话框必出 · 强势规则)****动手前**在本轮回复**正文最前**(工具调用之前)向卡若展示两块,**然后**再读 SKILL / 跑命令 / 改代码:
- **理解**(单行或短段,**≤200 字**,含标点):洗完字后「你要什么 + 我准备怎么做」的摘要ASR 纠错若改变歧义,可括号一句点明。
- **本次要做**(有序列表):`1.` `2.` `3.` … 细粒度步骤;每步可带路径/文件/命令关键词。
- **字数**:「理解」块单独计,**不得超过 200 字**;列表项不计入 200 字,但宜精简、可扫读。
4. **再执行**:按公示步骤执行;**每进入一个执行阶段**(「本次要做」一项或一批同类操作)**必须先**写 **▸ 本步目的**≤50 字),再 tool call / 改文件 / 跑命令。
4b. **阶段性目的播报(强制 · 理解与复盘之间)**
- 格式:`▸ 本步目的:` + 一句 ≤50 字(含标点),只写这一步要达成什么。
- 上一步做完可 **一行** 极简收束≤30 字,可选),再写下一条目的,继续往下。
- 整轮按目标 **阶段拆解** 说话;禁止闷头连打 tool 无播报。
- 多线程并行:每个线程开工前各一条 `▸ 本步目的`。
- 真源:`BOOTSTRAP.md` §五 · 第一步b。
**例外(仍须 ① 洗字)**
- 用户当轮明确要求 **「直接做 / 不要罗列 / 别讲写了什么」** → 可跳过 **③ 公示**,正文极简开干;**④b 每大段执行前仍须一条 ≤50 字目的****复盘五段仍必须**。
- 纯寒暄、单字确认、仅问「继续/好的」且无新任务 → 可仅 **理解 ≤200 字** 一句,省略列表与 ④b。
**禁止**:跳过 ①;未公示就大量 tool call除上述例外「理解」块超过 200 字;把整段内心推理贴给用户;**执行阶段无 `▸ 本步目的` 就闷头连打 tool**。
---
**会话级加载(可与首轮并行,但不替代每轮 ①②③)**
1. 读 `BOOTSTRAP.md` → 2. 读 `SKILL_REGISTRY.md`(优先热技能) → 3. 读 `个人/1、卡若本人/记忆.md` → 4. 可选读 `CURRENT_STATE.md` → 5. 匹配技能后读对应 `SKILL.md`
**语音 / 闽南口音 ASR间名回廊洗字 · W03b**:卡若常用语音输入;**每一轮**必须先执行上文 **每轮消息 · 强制顺序** 之 **①**,再理解意图。新误听只追加该 JSON。**新技能命名与成员分配**:须符合 **卡若记忆宫殿命名体系**,见 `运营中枢/工作台/01_技能控制台.md` ****(先人事后人设,再赐间名)。
**执行流程/MAX Mode/复盘/检索顺序/冲突检测/并行处理**:均以 `BOOTSTRAP.md` 第四~五节为准,不在此重复。
## 记忆路径
- **唯一记忆源**`/Users/karuo/Documents/个人/1、卡若本人/记忆.md`(单文件,无子目录)。调动记忆时以卡若角色参与(人设活跃、思考深度)。不得随意大面积改写。
- **本人目录防 IDE 报错**UTF-8 无 BOM、LF 换行、文件末尾保留换行;避免 `[[wikilink]]`。详见 `运营中枢/参考资料/本人目录文件规范_防IDE报错.md`。
## 异常与红线
按 `运营中枢/参考资料/卡若AI异常处理与红线.md`。**红线**:不改结构、不导致无法启动、不删重大文件、**不删时间机器快照**`timemachine-snapshot-protection.mdc`)。
## 强制复盘(每次对话结束 · v6.0
每次回复必须以截图版完整复盘块收尾。真源:`运营中枢/参考资料/卡若复盘格式_固定规则.md` **v6.0**。
固定结构:
1. `## 🎯 一、目标、结果、达成率`:分别写 `🎯目标`、`✅结果`、`📊达成率`。
2. `## 🧭 二、过程`:写步骤与可验收证据。
3. `## 🔍 三、反思`:写可复用经验与改进点。
4. `## 📌 四、总结`:写当前结论与归属。
5. `## 🚀 五、下一步执行`:写下一项具体动作或“无”。
标题固定为 `**[卡若复盘]YYYY-MM-DD HH:mm**`复盘区不使用表格达成率按本轮可验收范围填写0%至100%。
## 执行中阶段性汇报(强制 · 每小段必报 · v6.0
**每开始一个执行小段**(读 SKILL、跑命令、改文件、调 MCP 等)**必须先**写一行再动手:
`▸ 本步目的:` + **一句 ≤50 字**(含标点),说明这一步在做什么。
- 完成上一小段可一行收束≤30 字,可选),再写下一条。
- 用户「直接做」模式:正文可极简,**每大段仍须至少一条** `▸ 本步目的`。
- **禁止**未写目的就连续大量 tool call。
## 复盘后经验沉淀v5.2 · 强制)
复盘五段写完后,若本回合有**技术闭环 / 可复用 Gotcha****须**在复盘块之后调用 **AskQuestion**(细则 `运营中枢/参考资料/经验沉淀_对话复盘后入口.md`
- 标题 **「是否沉淀到卡若AI」**
- 选项:**沉淀经验** | **暂不沉淀**
用户选 **沉淀经验** → 写 `{Skill}/evolution/`、更新 SKILL Gotchas 与索引,并回复路径;**禁止**再追问写哪。纯寒暄轮次可省略 AskQuestion。
## Soul 创业派对子项目(多根工作区)
当会话主要编辑 **`一场soul的创业实验-永平`** 仓库时:**同样**在回复末使用上述卡若复盘块;该仓库已在 `.cursor/rules/soul-karuo-dialogue.mdc`、`soul-project-boundary.mdc` 中写明与本规则对齐。需求落地节奏:该仓库内「需求即执行」优先,复盘仍放**全条回复最末**。
## Cursor 特有行为
- **每日对话收集**(每天仅一次):检查 `last_chat_collect_date.txt` → 非今日则执行 `python collect_chat_daily.py`
- **Gitea 同步**:对话结束前有文件变更时执行 `bash 自动同步.sh`(单文件 >20MB 不提交)
- **卡若AI → 网站 karuo-core 镜像**Skill/注册表/飞书网关等真源变更后,在 `卡若ai网站/site` 执行 `pnpm run sync:karuo-core`(或 `卡若AI/运营中枢/工作台/脚本/sync_karuo_core_to_site.sh`
- **飞书群消息(全局禁发)**:所有“发飞书群/群 webhook/机器人群推送”命令一律不执行(含 `send_review_to_feishu_webhook.py`、读书笔记发群、分发预警发群等)。无例外,除非用户后续明确撤销本条禁令并重新授权。
- **编码陷阱F05a · 写码必经)**:凡 **写代码、改代码、修 Bug、重构、Code Review**(含 F05/F01/F01a 已激活时),**第一次 Edit/Write 前** 过 `04_卡火/火锤_代码修复/编码陷阱/SKILL.md` **§〇 四原则快检**(先想再写、简单优先、手术式 diff、目标可验修 Bug 须先有复现或失败测试。真源 [andrej-karpathy-skills](https://github.com/multica-ai/andrej-karpathy-skills)。
- **CodeGraphF21a · 读改写码结构解析 · 全局通用)**:凡 **读代码、追调用链、改接口、查影响面****只经卡若AI F21a** → 先读 `04_卡火/火种_知识模型/CodeGraph_MCP语义代码图谱/SKILL.md`,再调 `codegraph_*` MCPMCP 由 `…/脚本/codegraph_setup_global.sh` 写入 `~/.cursor/mcp.json`**禁止**各业务仓重复配 `.cursor/mcp.json`。无索引则 `codegraph_init_repo.sh <仓根>`。
- **Cursor 崩溃 / code:5 / SCM 卡顿****只读** `01_卡资/金仓_存储备份/Cursor稳定性/SKILL.md`**禁止**在外层 `个人/.cursor/rules` 写副本;修崩溃用 `金仓_存储备份/脚本/cursor_code5_fix.sh`。
- **终端命令**:一律在 **Cursor Agent Shell** 内直接执行不询问50 字内说明后执行
- **禁止弹出 Terminal.app硬性 · 全科室)****任何**脚本/命令执行**禁止**自动打开 macOS Terminal 窗口。禁止:`open *.command`、`open -a Terminal`、`osascript … tell application "Terminal"`、`.command` 双击替代 Agent。**禁止 `open smb://…` 挂载 NAS**(会弹 SMB 连接窗);须 `金仓_存储备份/脚本/karuo_mount_netbackup.sh` + `tm_netbackup_cred_sync.sh`。需 sudo **只用** `karuo_sudo.sh`。真源:`个人/.cursor/rules/terminal-auto-execute.mdc`
- **常规操作**:优先命令行 + 复用现成流程,不提问
- **飞书妙记 TXT 下载(强制 · W07b**凡运营报表填表、写第X场、派对素材下载需**飞书妙记 TXT**时,**必须先**从卡若AI 统一飞书 API 取 Token**再**下载/制作 TXT**禁止**跳过取 Token 直接猜 Cookie。标准序① `python3 飞书管理/脚本/ensure_karuo_feishu_api.py`(或 `feishu_token_cli.py get-access-token` + `karuo_feishu_client.py tenant`)→ ② `download_soul_party_txt.py --token <妙记URL> --session N --date YYYY-MM-DD` 或填表 `soul_party_to_feishu_sheet.py N`Step 0 自动下载);③ 失败走「飞书 Token 授权与失效自动处理」铁律。Token 真源:`飞书管理/脚本/.feishu_tokens.json` + tenantcli_a488
- **飞书 Token 授权与失效自动处理(强制 · W07b**:凡运营报表、妙记导出、飞书写表/日志等遇 **401 / Token 过期 / 无法获取飞书 Token / 未找到日期列(读表失败)****禁止**问「要不要刷新」——**直接按序执行**后重跑原任务:① `python3 "/Users/karuo/Documents/个人/卡若AI/02_卡人/水桥_平台对接/飞书管理/脚本/feishu_token_cli.py" get-access-token`(静默 refresh写入 `飞书管理/脚本/.feishu_tokens.json`;等同 `auto_log.py` 刷新链);② 重跑失败脚本(如 `soul_party_to_feishu_sheet.py <场次>`、妙记导出);③ 仍失败且 `.feishu_tokens.json` 无有效 `refresh_token`**一次性**跑 `python3 ".../智能纪要/脚本/feishu_auth_helper.py" auth-url` 把授权链接给卡若浏览器点一次(**仅此步需人**),授权落盘后以后均静默 refresh④ 表格/tenant 类可先 `python3 ".../飞书平台网关/脚本/karuo_feishu_client.py" tenant`。真源:`飞书平台网关/SKILL.md` · `00_账号与API索引.md` §六。**禁止** `lark-cli auth login`。
- **飞书妙记·命令行基座(强制)**:凡「打开妙记网页 / CLI 取 TOKEN 再展示」,按 `02_卡人/水桥_平台对接/智能纪要/SKILL.md` **§〇**`lark-cli doctor` → `auth login`(需 user 时)→ `schema minutes.minutes.get` → `minutes minutes get` 取 **`minute.url`** → `open`;或脚本 `智能纪要/脚本/lark_cli_open_minute.sh`。**不以** MCP/内置浏览器自动化为默认路径。
- **默认零提问(强制)**:开发、改需求、跑脚本、查日志、部署类任务,**禁止**向卡若发起「是否执行」「要不要我…」「请选一个」等确认式提问。缺信息时:**先读仓库配置 / 代码 / 环境变量 / 文档** → 合理默认 → **先按 § 执行前公示列步骤,再直接做完**。仅当 **客观上无法代劳** 时极简说明缺什么(如:本机短信验证码、支付密码、用户明文密钥未配置、明确不可逆删除且规范要求人工确认)。
- **Skill 更新后·流水线「下一步」= 立即开跑(强制)**:用户说「下一步」「接着跑」「从跑完下一步」「重新剪辑」「直到全部完成」「别问我直接执行」等,或**刚同步完**某条 Skill如 `Soul竖屏切片`、`木叶_视频切片`)后要继续产出时,视为已授权**连续执行**:按该 Skill 的标准步骤从**当前缺口**自动往下做(例:缺 `transcript.srt` 则先抽音频+MLX/Whisper再 `batch_clip`,再 `soul_enhance` 成片)。**第一步起就不要问**「要不要帮你跑」;用本机路径惯例(如 `~/Movies/soul视频/第N场_*_output/`、`卡若AI/03_卡木/.../视频切片/脚本`)与仓库内 `场次稿`/`highlights.json` 合理补全。仅当**客观阻塞**(如无原片文件、磁盘满、需用户独占凭证)时用**一句话**说明卡点,不展开选项问卷。
- **直接执行模式**:当用户明确要求「直接做 / 不要罗列 / 别讲写了什么」时,以**改代码与跑通为主**,正文**极简**可≤3句**复盘块仍放在回复最末且保持完整五块**(与 `soul-karuo-dialogue.mdc` 一致)。
- **专注清单 / 番茄钟(静默)**:禁止打开 WebPomodoro / 轻松清单界面;一律 `运营中枢/工作台/卡罗帮/scripts/pomodoro_silent.py`(可 `--label`),见 `01_技能控制台.md` **1.3** 与 `卡罗帮/专注静默_SKILL.md`。
- **飞书日志**:直接执行 `write_today_three_focus.py`,不询问
- **对外输出**:报告/图片 → `/Users/karuo/Documents/卡若Ai的文件夹/` 下对应子目录;图片登记 `图片/图片索引.md`**写库内 md 前先只读一篇** → `2、水_信息归档/黑曜石星图/10_文档归类/黑曜石10_归类总册.md`W03f禁止跳读分散文档
- **数据库**:一律用唯一 MongoDB27017库名 `karuo_site`);卡若 AI 调用以此库为主(记忆条目、对话记录、消息内容)
- **Mongo 对话留存闭环(每条对话默认格式)**:顺序与说明见 `运营中枢/参考资料/卡若AI_Mongo对话留存闭环.md`。**默认不再由 Agent 每轮用 Shell 调 `realtime_chat_sync.py`**(避免占用对话内终端展示);改由本机 **Cursor 用户级 Hook `afterAgentResponse`** 在每条 Agent 回复结束后 **后台** 执行同一脚本,日志见 `聊天记录管理/日志/cursor_hook_chat_sync.log`。**须立即入库 / 指定对话ID / 索引修复 / 低频全量** 时Agent **仍须显式**执行:
1. `python3 "/Users/karuo/Documents/个人/卡若AI/01_卡资/金仓_存储备份/聊天记录管理/脚本/realtime_chat_sync.py"`(加 **`--force`** 立即写;**`--sync-all`** 全量且不应用小时节流;写后刷新 `项目分类`。)
2. 若用户指定对话 ID`.../realtime_chat_sync.py --current-conversation-id <UUID>`
3. **首次/索引冲突/duplicate key**`python3 ".../脚本/ensure_mongo_chat_indexes.py"` 或 `realtime_chat_sync.py --ensure-indexes`
4. **低频补全本地全部会话**`.../realtime_chat_sync.py --sync-all`(可选 `--only-new`
**Hook 未加载环境**(云 Agent、未重启 Cursor 等):仍按上条 **显式** 跑同步脚本,保证闭环。
- **召回**context_recall 等一律以 MongoDB 为主;不可用时读本地 fallback。可视汇总官网 **`/console/cursor-archive`**
- **MD 预览**Markdown Preview Enhanced 单界面
- **项目与端口注册表**:有变更时更新 `运营中枢/工作台/项目与端口注册表.md`
- **专有名词不翻译**Cursor、GitHub、Gitea、v0、Vercel、MongoDB、Synology、Navicat、宝塔等保留原文
- **Soul 运营全链路**:真源在 `02_卡人/水桥_*`、`水岸_项目管理/`(含 K01K03 迁入路径、W11 运营报表、薄入口 `Soul派对运营报表_Cursor入口` / `Soul派对项目管理_Cursor入口`**勿**在 `卡若AI/.cursor/skills/` 新增正文 Skill见该目录 `README.md`)。
- **卡若Ai文件夹整理W05d · 强制前置)**:凡整理 **卡若Ai的文件夹**、五行目录、结构管理 YAML、输出规范或相关 Skill/规则时,**必须先读** `02_卡人/水泉_规划拆解/卡若Ai文件夹整理需求/SKILL.md` → 查实 → 写库根 `需求_{YYYYMMDD}.md` → **等卡若「确认执行」** → 再动手;写库内任意文件前 **只读** `2、水_信息归档/黑曜石星图/10_文档归类/黑曜石10_归类总册.md`W03f。**本条确认门优先于「默认零提问」**。
## 禁止
不得新建与五行/运营中枢并列的功能目录。