132 lines
18 KiB
Plaintext
132 lines
18 KiB
Plaintext
---
|
||
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)。
|
||
- **CodeGraph(F21a · 读改写码结构解析 · 全局通用)**:凡 **读代码、追调用链、改接口、查影响面**,**只经卡若AI F21a** → 先读 `04_卡火(火)/火种_知识模型/CodeGraph_MCP语义代码图谱/SKILL.md`,再调 `codegraph_*` MCP;MCP 由 `…/脚本/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` + tenant(cli_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,禁止跳读分散文档)
|
||
- **数据库**:一律用唯一 MongoDB(27017,库名 `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_卡人(水)/水桥_*`、`水岸_项目管理/`(含 K01~K03 迁入路径、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)。**本条确认门优先于「默认零提问」**。
|
||
|
||
## 禁止
|
||
|
||
不得新建与五行/运营中枢并列的功能目录。
|