From 52cf5e012219376e9183cd5dbab2c05bf719186f Mon Sep 17 00:00:00 2001 From: karuo Date: Fri, 20 Mar 2026 11:02:58 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=84=20=E5=8D=A1=E8=8B=A5AI=20=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=202026-03-20=2011:02=20|=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=EF=BC=9ACursor=E8=A7=84=E5=88=99=E3=80=81=E6=80=BB=E7=B4=A2?= =?UTF-8?q?=E5=BC=95=E4=B8=8E=E5=85=A5=E5=8F=A3=E3=80=81=E9=87=91=E4=BB=93?= =?UTF-8?q?Gitea=E8=84=9A=E6=9C=AC=E4=B8=8E=E9=85=8D=E7=BD=AE=E3=80=81?= =?UTF-8?q?=E9=87=91=E4=BB=93=E3=80=81=E6=B0=B4=E6=A1=A5=E5=B9=B3=E5=8F=B0?= =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E3=80=81=E6=B0=B4=E6=BA=AA=E6=95=B4=E7=90=86?= =?UTF-8?q?=E5=BD=92=E6=A1=A3=E3=80=81=E5=8D=A1=E6=9C=A8=E3=80=81=E8=BF=90?= =?UTF-8?q?=E8=90=A5=E4=B8=AD=E6=9E=A2=E3=80=81=E8=BF=90=E8=90=A5=E4=B8=AD?= =?UTF-8?q?=E6=9E=A2=E5=8F=82=E8=80=83=E8=B5=84=E6=96=99=E3=80=81=E8=BF=90?= =?UTF-8?q?=E8=90=A5=E4=B8=AD=E6=9E=A2=E5=B7=A5=E4=BD=9C=E5=8F=B0=20|=20?= =?UTF-8?q?=E6=8E=92=E9=99=A4=20>20MB:=2011=20=E4=B8=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cursor/rules/karuo-ai.mdc | 3 +- .gitignore | 2 + .../金仓_存储备份/Gitea管理/SKILL.md | 20 + .../Navicat_功能与静默命令对照表.md | 63 + .../Navicat_Premium_静默控制/README.md | 94 + .../scripts/read_navicat_connections.py | 87 + .../金仓_存储备份/数据库管理/SKILL.md | 2 + .../金仓_存储备份/服务器管理/SKILL.md | 1 + .../references/腾讯云_站内信安全消息转发邮箱配置.md | 65 + .../服务器管理/scripts/腾讯云_安全消息发邮箱_最近3条.py | 200 + .../金仓_存储备份/聊天记录管理/SKILL.md | 217 + .../金仓_存储备份/聊天记录管理/fallback/.gitkeep | 1 + .../聊天记录管理/fallback/recent_chats_fallback.json | 21 + .../金仓_存储备份/聊天记录管理/实时同步机制说明.md | 193 + .../聊天记录管理/导出/婼瑄阿猫录音目录结构_6c8a3a4e.md | 269 ++ .../聊天记录管理/导出/家里另一台苹果笔记本_b16ae85a.md | 3473 +++++++++++++++++ .../聊天记录管理/脚本/agent_sync_restore.py | 268 ++ .../聊天记录管理/脚本/auto_archive.py | 302 ++ .../聊天记录管理/脚本/chat_fallback.py | 100 + .../聊天记录管理/脚本/cleanup_statedb.py | 169 + .../聊天记录管理/脚本/context_recall.py | 310 ++ .../聊天记录管理/脚本/export_chat_by_name.py | 141 + .../聊天记录管理/脚本/export_import_chats.py | 157 + .../聊天记录管理/脚本/import_chat_archive_to_mongo.py | 439 +++ .../聊天记录管理/脚本/migrate_cursor_to_mongo.py | 448 +++ .../聊天记录管理/脚本/query_chat_history.py | 265 ++ .../聊天记录管理/脚本/realtime_chat_sync.py | 436 +++ .../水桥_平台对接/QQ邮箱拉取/README.md | 11 + .../QQ邮箱拉取/download_boss_zhipin_resumes.py | 169 + .../水桥_平台对接/Soul创业实验/项目管理.md | 79 + .../飞书管理/脚本/.feishu_tokens.json | 6 +- .../飞书管理/脚本/soul_party_to_feishu_sheet.py | 14 +- .../水溪_整理归档/自动记忆管理/SKILL.md | 36 +- .../水溪_整理归档/记忆系统/memory_mongo.py | 259 ++ .../水溪_整理归档/记忆系统/memory_mongo_schema.md | 46 + .../水溪_整理归档/记忆系统/query_memory.py | 115 + .../水溪_整理归档/记忆系统/sync_memory_to_mongo.py | 85 + .../水溪_整理归档/记忆系统/记忆系统连接机制说明.md | 285 ++ .../木叶_视频内容/多平台分发/脚本/publish_log.json | 12 + .../视频切片/脚本/wait_and_distribute_127_128.sh | 70 + BOOTSTRAP.md | 5 +- SKILL_REGISTRY.md | 8 +- _Soul运营技能包导出/README.txt | 1 + .../build_soul_skill_bundle.py | 153 + .../使用手册/第四篇_运营中枢/13_复盘格式.md | 30 +- .../参考资料/Claude_Code_api123配置说明.md | 18 + .../参考资料/scripts/clear_cursor_cache.sh | 17 +- .../参考资料/scripts/cursor_clean_ai_tracking.sh | 123 + .../scripts/cursor_clean_ai_tracking_old.sh | 65 + 运营中枢/参考资料/scripts/cursor_deep_fix.sh | 20 +- .../参考资料/scripts/cursor_full_reset_db.sh | 144 + .../参考资料/scripts/cursor_radical_clean.sh | 154 + 运营中枢/参考资料/scripts/cursor_slim_db.sh | 98 +- 运营中枢/参考资料/scripts/fix_claude_503.sh | 46 + .../参考资料/卡若AI_每次对话逻辑_更新说明.md | 91 + .../参考资料/卡若AI_每次对话逻辑_流程图.html | 105 + .../参考资料/卡若AI_每次对话逻辑_流程图.png | Bin 0 -> 994864 bytes 运营中枢/参考资料/卡若复盘格式_固定规则.md | 37 +- 运营中枢/参考资料/输出目录规范.md | 5 + 运营中枢/工作台/00_账号与API索引.md | 12 - .../工作台/Claude_Code配置诊断_20260320.md | 87 + .../工作台/Cursor写入优化方案_20260320.md | 283 ++ .../工作台/Cursor数据库写入分析报告_20260320.md | 271 ++ .../Cursor根本性解决方案_24GB问题_20260320.md | 260 ++ .../工作台/Cursor每次写入详细分析_20260320.md | 261 ++ .../Cursor部分Agent对话Internal_Error分析与处理.md | 84 + 运营中枢/工作台/gitea_push_log.md | 1 + 运营中枢/工作台/代码管理.md | 1 + .../卡罗帮/WebPomodoro_功能与静默命令对照表.md | 21 + .../卡罗帮/WebPomodoro_静默控制方案_idea.md | 79 + .../工作台/卡罗帮/scripts/pomodoro_silent.py | 111 + 运营中枢/工作台/卡罗帮/专注静默_SKILL.md | 31 + 运营中枢/工作台/唯一MongoDB约定.md | 20 +- 运营中枢/工作台/本机数据库统一规则.md | 2 + .../工作台/阿猫Mac_OpenClaw配置情况分析.md | 81 + .../工作台/阿猫Mac_设置api123为默认API.sh | 25 +- 76 files changed, 11565 insertions(+), 118 deletions(-) create mode 100644 01_卡资(金)/金仓_存储备份/Navicat_Premium_静默控制/Navicat_功能与静默命令对照表.md create mode 100644 01_卡资(金)/金仓_存储备份/Navicat_Premium_静默控制/README.md create mode 100644 01_卡资(金)/金仓_存储备份/Navicat_Premium_静默控制/scripts/read_navicat_connections.py create mode 100644 01_卡资(金)/金仓_存储备份/服务器管理/references/腾讯云_站内信安全消息转发邮箱配置.md create mode 100644 01_卡资(金)/金仓_存储备份/服务器管理/scripts/腾讯云_安全消息发邮箱_最近3条.py create mode 100644 01_卡资(金)/金仓_存储备份/聊天记录管理/SKILL.md create mode 100644 01_卡资(金)/金仓_存储备份/聊天记录管理/fallback/.gitkeep create mode 100644 01_卡资(金)/金仓_存储备份/聊天记录管理/fallback/recent_chats_fallback.json create mode 100644 01_卡资(金)/金仓_存储备份/聊天记录管理/实时同步机制说明.md create mode 100644 01_卡资(金)/金仓_存储备份/聊天记录管理/导出/婼瑄阿猫录音目录结构_6c8a3a4e.md create mode 100644 01_卡资(金)/金仓_存储备份/聊天记录管理/导出/家里另一台苹果笔记本_b16ae85a.md create mode 100644 01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/agent_sync_restore.py create mode 100755 01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/auto_archive.py create mode 100644 01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/chat_fallback.py create mode 100755 01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/cleanup_statedb.py create mode 100755 01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/context_recall.py create mode 100644 01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/export_chat_by_name.py create mode 100755 01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/export_import_chats.py create mode 100755 01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/import_chat_archive_to_mongo.py create mode 100755 01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/migrate_cursor_to_mongo.py create mode 100755 01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/query_chat_history.py create mode 100755 01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/realtime_chat_sync.py create mode 100644 02_卡人(水)/水桥_平台对接/QQ邮箱拉取/download_boss_zhipin_resumes.py create mode 100644 02_卡人(水)/水桥_平台对接/Soul创业实验/项目管理.md create mode 100644 02_卡人(水)/水溪_整理归档/记忆系统/memory_mongo.py create mode 100644 02_卡人(水)/水溪_整理归档/记忆系统/memory_mongo_schema.md create mode 100644 02_卡人(水)/水溪_整理归档/记忆系统/query_memory.py create mode 100644 02_卡人(水)/水溪_整理归档/记忆系统/sync_memory_to_mongo.py create mode 100644 02_卡人(水)/水溪_整理归档/记忆系统/记忆系统连接机制说明.md create mode 100755 03_卡木(木)/木叶_视频内容/视频切片/脚本/wait_and_distribute_127_128.sh create mode 100644 _Soul运营技能包导出/README.txt create mode 100644 _Soul运营技能包导出/build_soul_skill_bundle.py create mode 100755 运营中枢/参考资料/scripts/cursor_clean_ai_tracking.sh create mode 100755 运营中枢/参考资料/scripts/cursor_clean_ai_tracking_old.sh create mode 100755 运营中枢/参考资料/scripts/cursor_full_reset_db.sh create mode 100755 运营中枢/参考资料/scripts/cursor_radical_clean.sh create mode 100644 运营中枢/参考资料/scripts/fix_claude_503.sh create mode 100644 运营中枢/参考资料/卡若AI_每次对话逻辑_更新说明.md create mode 100644 运营中枢/参考资料/卡若AI_每次对话逻辑_流程图.html create mode 100644 运营中枢/参考资料/卡若AI_每次对话逻辑_流程图.png create mode 100644 运营中枢/工作台/Claude_Code配置诊断_20260320.md create mode 100644 运营中枢/工作台/Cursor写入优化方案_20260320.md create mode 100644 运营中枢/工作台/Cursor数据库写入分析报告_20260320.md create mode 100644 运营中枢/工作台/Cursor根本性解决方案_24GB问题_20260320.md create mode 100644 运营中枢/工作台/Cursor每次写入详细分析_20260320.md create mode 100644 运营中枢/工作台/Cursor部分Agent对话Internal_Error分析与处理.md create mode 100644 运营中枢/工作台/卡罗帮/WebPomodoro_功能与静默命令对照表.md create mode 100644 运营中枢/工作台/卡罗帮/WebPomodoro_静默控制方案_idea.md create mode 100644 运营中枢/工作台/卡罗帮/scripts/pomodoro_silent.py create mode 100644 运营中枢/工作台/卡罗帮/专注静默_SKILL.md create mode 100644 运营中枢/工作台/阿猫Mac_OpenClaw配置情况分析.md diff --git a/.cursor/rules/karuo-ai.mdc b/.cursor/rules/karuo-ai.mdc index 5826b149..a5e47470 100644 --- a/.cursor/rules/karuo-ai.mdc +++ b/.cursor/rules/karuo-ai.mdc @@ -36,7 +36,8 @@ alwaysApply: true - **常规操作**:优先命令行 + 复用现成流程,不提问 - **飞书日志**:直接执行 `write_today_three_focus.py`,不询问 - **对外输出**:报告/图片 → `/Users/karuo/Documents/卡若Ai的文件夹/` 下对应子目录;图片登记 `图片/图片索引.md` -- **数据库**:一律用唯一 MongoDB(27017,库名 `karuo_site`) +- **数据库**:一律用唯一 MongoDB(27017,库名 `karuo_site`);卡若 AI 调用以此库为主(记忆条目、对话记录、消息内容) +- **聊天记录**:一律存 MongoDB,实时从 MongoDB 读取/召回;对话结束执行 `python3 01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/realtime_chat_sync.py` 实时同步并优化迭代(自动分类、标签提取、摘要生成);context_recall 在 MongoDB 不可用时自动读本地 fallback - **MD 预览**:Markdown Preview Enhanced 单界面 - **项目与端口注册表**:有变更时更新 `运营中枢/工作台/项目与端口注册表.md` - **专有名词不翻译**:Cursor、GitHub、Gitea、v0、Vercel、MongoDB、Synology、Navicat、宝塔等保留原文 diff --git a/.gitignore b/.gitignore index e56e8aaa..c1e1fafb 100644 --- a/.gitignore +++ b/.gitignore @@ -26,6 +26,8 @@ sync_tokens.env # 飞书日志:用户授权 token 与月度文档 token(勿提交) **/飞书管理/脚本/.feishu_tokens.json **/飞书管理/脚本/.feishu_month_wiki_tokens.json +# 淘宝/支付宝 应用公钥私钥(勿提交) +运营中枢/工作台/.taobao_alipay_app_keys # 卡若AI 网关:多租户配置与访问日志(不入库) 运营中枢/scripts/karuo_ai_gateway/config/gateway.yaml diff --git a/01_卡资(金)/金仓_存储备份/Gitea管理/SKILL.md b/01_卡资(金)/金仓_存储备份/Gitea管理/SKILL.md index ef9989ea..fb2e37e8 100644 --- a/01_卡资(金)/金仓_存储备份/Gitea管理/SKILL.md +++ b/01_卡资(金)/金仓_存储备份/Gitea管理/SKILL.md @@ -55,6 +55,26 @@ git push -u gitea main --- +## 四(续)、添加仓库协作者(拉取+推送权限) + +为仓库添加协作者、赋予**写权限**(pull + push)。协作者必须**已在 Gitea 注册**,按**用户名**添加。 + +```bash +# permission: read=只读拉取, write=拉取+推送, admin=完全权限 +curl -u "fnvtk:zhiqun1984" -X PUT "http://open.quwanzhi.com:3000/api/v1/repos/fnvtk/仓库名/collaborators/用户名" \ + -H "Content-Type: application/json" -d '{"permission":"write"}' +``` + +示例(karuo-ai): +```bash +curl -u "fnvtk:zhiqun1984" -X PUT "http://open.quwanzhi.com:3000/api/v1/repos/fnvtk/karuo-ai/collaborators/用户名" \ + -H "Content-Type: application/json" -d '{"permission":"write"}' +``` + +> API 认证建议使用小写密码 `zhiqun1984`(与推送 HTTPS 一致)。 + +--- + ## 五、已纳入管理的仓库(界面可见) | 仓库 | Gitea 地址 | diff --git a/01_卡资(金)/金仓_存储备份/Navicat_Premium_静默控制/Navicat_功能与静默命令对照表.md b/01_卡资(金)/金仓_存储备份/Navicat_Premium_静默控制/Navicat_功能与静默命令对照表.md new file mode 100644 index 00000000..9c1c5387 --- /dev/null +++ b/01_卡资(金)/金仓_存储备份/Navicat_Premium_静默控制/Navicat_功能与静默命令对照表.md @@ -0,0 +1,63 @@ +# Navicat 功能与静默命令对照表 + +> 不打开 Navicat,用系统自带或常用 CLI 实现相同能力。卡若AI 执行「数据库备份/查询/导入导出」时优先用本表命令。 + +--- + +## MySQL / MariaDB + +| Navicat 功能 | 静默命令 / 方式 | +|------------------|-----------------| +| 连接并执行 SQL | `mysql -h HOST -P PORT -u USER -p DBNAME -e "SELECT ..."` 或 `mysql ... < script.sql` | +| 备份整个库 | `mysqldump -h HOST -P PORT -u USER -p DBNAME > backup.sql` | +| 仅表结构 | `mysqldump --no-data ...` | +| 恢复 | `mysql -h HOST -P PORT -u USER -p DBNAME < backup.sql` | +| 导出为 CSV | `mysql ... -e "SELECT ..." \| sed 's/\t/,/g' > out.csv` 或脚本用 pymysql + csv | + +--- + +## MongoDB + +| Navicat 功能 | 静默命令 / 方式 | +|------------------|-----------------| +| 连接并执行 | `mongosh "mongodb://USER:PASS@HOST:PORT/DB" --eval "db.collection.find()"` | +| 备份(dump) | `mongodump --uri="mongodb://..." --out=/path/to/dump` | +| 恢复 | `mongorestore --uri="mongodb://..." /path/to/dump` | +| 导出集合为 JSON | `mongoexport --uri="..." -c COLLECTION -o out.json` | +| 导出为 CSV | `mongoexport ... --type=csv -f "field1,field2" -o out.csv` | + +--- + +## PostgreSQL + +| Navicat 功能 | 静默命令 / 方式 | +|------------------|-----------------| +| 连接并执行 SQL | `psql -h HOST -p PORT -U USER -d DBNAME -c "SELECT ..."` 或 `psql ... -f script.sql` | +| 备份 | `pg_dump -h HOST -p PORT -U USER DBNAME > backup.sql` | +| 恢复 | `psql -h HOST -p PORT -U USER -d DBNAME -f backup.sql` | + +--- + +## SQLite + +| Navicat 功能 | 静默命令 / 方式 | +|------------------|-----------------| +| 连接并执行 | `sqlite3 /path/to/db.sqlite "SELECT ..."` 或 `sqlite3 db.sqlite < script.sql` | +| 备份 | `cp db.sqlite backup.sqlite` 或 `sqlite3 db.sqlite ".backup backup.sqlite"` | +| 导出为 CSV | `sqlite3 -header -csv db.sqlite "SELECT * FROM t" > out.csv` | + +--- + +## 本机约定(卡若AI) + +- **MongoDB**:本机统一 `localhost:27017`,库名见 `运营中枢/工作台/本机数据库统一规则.md`(如 `karuo_site`)。 +- **MySQL**:本机/腾讯云等见同目录上级 `数据库管理/SKILL.md` 与《00_账号与API索引》中的连接信息;脚本中勿写死密码,用环境变量或《00》中约定方式。 + +--- + +## 版本记录 + +| 日期 | 变更 | +|------------|------| +| 2026-03-19 | 初版:MySQL/MongoDB/PostgreSQL/SQLite 静默命令对照。 | +| 2026-03-19 | 迁至金仓 Navicat_Premium_静默控制 目录。 | diff --git a/01_卡资(金)/金仓_存储备份/Navicat_Premium_静默控制/README.md b/01_卡资(金)/金仓_存储备份/Navicat_Premium_静默控制/README.md new file mode 100644 index 00000000..3cd23aa8 --- /dev/null +++ b/01_卡资(金)/金仓_存储备份/Navicat_Premium_静默控制/README.md @@ -0,0 +1,94 @@ +# Navicat Premium 静默控制方案 + +> **目标**:不打开 Navicat GUI,用命令行/脚本完成「Navicat 能做的」数据库操作,供卡若AI 与自动化流程调用。 +> 维护:金仓;归属:金仓_存储备份。 + +--- + +## 一、Navicat 官方 CLI 能力分析 + +### 1.1 官方「命令行」是什么 + +- Navicat 文档里的「命令行界面」指**软件内部的**「命令行工具」窗口:需先**打开 Navicat**,在界面里选择「命令行工具」再执行 SQL。 +- **结论**:官方没有提供「不启动 GUI、纯命令行」的独立 CLI;所有「用命令连接/用命令备份」都是在**已打开软件**的前提下,在 GUI 内操作。 + +### 1.2 平台差异 + +| 平台 | 命令行能力 | +|--------|------------| +| Windows | 部分版本支持 `Navicat.exe /backup MySQL ConnectionName` 等参数,可做备份等;文档不完整。 | +| macOS | **未提供**等价命令行参数;无独立可执行 CLI,无法静默调起备份/导出。 | + +### 1.3 若必须用 Navicat 本身 + +- **AppleScript / JXA**:可控制已运行的 Navicat(菜单、按钮、窗口),但会带出界面,无法做到「完全静默、不打开 APP」。 +- **URL Scheme**:未在公开文档中看到 Navicat 注册 `navicat://` 等 URL Scheme;若需可自行查 `Info.plist` 的 `CFBundleURLTypes`。 + +--- + +## 二、静默控制思路(不打开 APP) + +核心思路:**用各数据库原生 CLI 替代 Navicat 的查询/备份/导入导出**,实现「静默、脚本化」;Navicat 仅作「连接配置的参考来源」。 + +| Navicat 功能 | 静默实现方式 | +|------------------|--------------| +| 连接 MySQL | `mysql` / `mysqldump`(或 Python `pymysql`) | +| 连接 MongoDB | `mongosh` / `mongodump` / `mongoexport` | +| 连接 PostgreSQL | `psql` / `pg_dump` | +| 连接 SQLite | `sqlite3` | +| 备份/导出 | `mysqldump`、`mongodump`、`pg_dump`、复制 db 文件 | +| 导入/恢复 | `mysql < file.sql`、`mongorestore`、`psql -f` | +| 执行 SQL/查询 | 上述 CLI 或各语言驱动直接执行 | +| 数据传输/同步 | 需自行用脚本(导出→导入)或 ETL 工具;无 Navicat 时无法用其「数据传输」向导 | + +连接信息从哪来:**从 Navicat 的配置里读**(见下一节),再传给上述 CLI/脚本。 + +--- + +## 三、Navicat 配置位置(macOS) + +- **连接等配置**:`~/Library/Preferences/com.premiumSoft.NavicatPremium.plist` + 或版本/产品线不同可能为:`com.premiumSoft.Navicat*` 系列 plist。 +- 可用 `plutil -p ~/Library/Preferences/com.premiumSoft.NavicatPremium.plist` 查看结构;连接多为键值或嵌套字典(主机、端口、用户等),密码可能加密存储。 + +--- + +## 四、实现要点 + +### 4.1 本目录内容 + +1. **静默命令对照表** + 见同目录 `Navicat_功能与静默命令对照表.md`,按「Navicat 功能 → 对应命令行」列表,便于卡若AI 或人工替换。 + +2. **从 Navicat 配置读连接信息(可选)** + 脚本:`scripts/read_navicat_connections.py`: + - 读 `~/Library/Preferences/com.premiumSoft.NavicatPremium.plist`; + - 解析出连接名、主机、端口、用户、数据库名(密码若加密则需另填或钥匙串); + - 输出为 JSON,供 `mysql`/`mongosh`/`psql` 等命令使用。 + 这样「不打开 APP」也能复用你在 Navicat 里配好的连接名与主机/端口/库名。 + +3. **与现有技能联动** + - 数据库管理(金仓):备份、清理、维护脚本已用 `mysql`/`mongosh` 等,与本方案一致;需要时可直接引用「静默命令对照表」与「读 Navicat 连接」脚本。 + - 本机数据库统一规则、唯一 MongoDB 约定:脚本输出的连接信息需符合现有「本机一个实例、按库名区分」等约定。 + +### 4.2 无法静默替代的部分 + +- **Navicat 独有功能**:如「数据传输」向导、部分可视化同步、报表等,无官方 CLI 时无法在不打开 APP 的前提下完全等价实现;只能通过「导出→脚本处理→导入」或其它工具链替代。 + +--- + +## 五、使用方式(卡若AI) + +- 用户说「用命令行备份某库」「不打开 Navicat 执行某 SQL」等: + 走**数据库管理** Skill,按「静默命令对照表」用 `mysqldump`/`mongosh`/`mysql` 等执行;若需用 Navicat 里已保存的连接,可先跑 `scripts/read_navicat_connections.py` 取连接参数再调用原生 CLI。 +- 用户说「静默控制 Navicat」「不打开 Navicat 做 xxx」: + 优先解释「官方无静默 CLI」,并给出「用原生 CLI + 本方案」的等价做法与文档链接(本目录 README + 对照表)。 + +--- + +## 六、版本记录 + +| 日期 | 变更 | +|------------|------| +| 2026-03-19 | 初版:Navicat CLI 分析、静默思路、配置路径、实现要点与使用方式。 | +| 2026-03-19 | 以原程序名命名,迁至金仓_存储备份下,移除「卡罗帮」称谓。 | diff --git a/01_卡资(金)/金仓_存储备份/Navicat_Premium_静默控制/scripts/read_navicat_connections.py b/01_卡资(金)/金仓_存储备份/Navicat_Premium_静默控制/scripts/read_navicat_connections.py new file mode 100644 index 00000000..8965d2e2 --- /dev/null +++ b/01_卡资(金)/金仓_存储备份/Navicat_Premium_静默控制/scripts/read_navicat_connections.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +从 Navicat Premium (macOS) 的 plist 中读取连接配置(主机、端口、用户、库名等)。 +密码通常为加密存储,需在《00_账号与API索引》或环境变量中另行配置。 +用途:不打开 Navicat,用 mysql/mongosh/psql 等 CLI 时复用连接信息。 +归属:金仓 · Navicat Premium 静默控制。 +""" +import json +import plistlib +import sys +from pathlib import Path + +PLIST_PATH = Path.home() / "Library/Preferences/com.premiumSoft.NavicatPremium.plist" +# 其他可能路径 +ALT_PATHS = [ + Path.home() / "Library/Application Support/PremiumSoft CyberTech/Navicat Premium/", +] + + +def load_plist(path: Path) -> dict: + try: + with open(path, "rb") as f: + return plistlib.load(f) + except Exception: + return {} + + +def extract_connections(data: dict) -> list: + """从 plist 结构中尽量解析出连接信息(结构因版本可能不同)。""" + out = [] + # 常见键名(不同版本可能不同) + for key in ("connections", "Connection", "Servers", "favoriteConnections", "connectionList"): + if key in data and isinstance(data[key], (list, dict)): + raw = data[key] + items = raw if isinstance(raw, list) else list(raw.values()) if isinstance(raw, dict) else [] + for item in items: + if isinstance(item, dict): + conn = { + "name": item.get("name") or item.get("connectionName") or item.get("label") or "unknown", + "host": item.get("host") or item.get("Host") or "", + "port": item.get("port") or item.get("Port") or 0, + "user": item.get("userName") or item.get("user") or item.get("UserName") or "", + "database": item.get("database") or item.get("databaseName") or "", + "type": item.get("type") or item.get("databaseType") or "", + } + if conn["host"] or conn["database"] or conn["user"]: + out.append(conn) + # 若顶层是列表或字典,尝试遍历 + if not out and isinstance(data, dict): + for k, v in data.items(): + if isinstance(v, dict) and any(x in v for x in ("host", "Host", "userName", "user")): + conn = { + "name": v.get("name") or v.get("connectionName") or k, + "host": v.get("host") or v.get("Host") or "", + "port": v.get("port") or v.get("Port") or 0, + "user": v.get("userName") or v.get("user") or "", + "database": v.get("database") or v.get("databaseName") or "", + "type": v.get("type") or v.get("databaseType") or "", + } + if conn["host"] or conn["database"] or conn["user"]: + out.append(conn) + return out + + +def main(): + path = PLIST_PATH + if not path.exists(): + for p in ALT_PATHS: + candidate = p / "preferences.plist" if p.is_dir() else p + if candidate.exists(): + path = candidate + break + if not path.exists(): + print(json.dumps({"error": "Navicat plist not found", "tried": str(PLIST_PATH)}, ensure_ascii=False, indent=2)) + sys.exit(1) + data = load_plist(path) + connections = extract_connections(data) + if not connections: + # 输出原始键,便于调试 + print(json.dumps({"keys": list(data.keys())[:50], "message": "No connection structure found"}, ensure_ascii=False, indent=2)) + sys.exit(0) + print(json.dumps(connections, ensure_ascii=False, indent=2)) + + +if __name__ == "__main__": + main() diff --git a/01_卡资(金)/金仓_存储备份/数据库管理/SKILL.md b/01_卡资(金)/金仓_存储备份/数据库管理/SKILL.md index bc3deea7..0f1d54d8 100644 --- a/01_卡资(金)/金仓_存储备份/数据库管理/SKILL.md +++ b/01_卡资(金)/金仓_存储备份/数据库管理/SKILL.md @@ -12,6 +12,8 @@ updated: "2026-02-16" 管理卡若本地和云端数据库,提供日志清理、空间优化、定时维护服务。 +**不打开 Navicat 的静默操作**(备份/查询/导入导出):见同目录 `Navicat_Premium_静默控制/README.md` 与对照表,用 `mysql`/`mongosh`/`pg_dump` 等原生 CLI 替代。 + ## 数据库概览 ### 本地数据库 diff --git a/01_卡资(金)/金仓_存储备份/服务器管理/SKILL.md b/01_卡资(金)/金仓_存储备份/服务器管理/SKILL.md index 09a70017..a3223483 100644 --- a/01_卡资(金)/金仓_存储备份/服务器管理/SKILL.md +++ b/01_卡资(金)/金仓_存储备份/服务器管理/SKILL.md @@ -464,6 +464,7 @@ Node 项目批量启动、502 修复、EADDRINUSE 等均按主 Skill 操作。SS | `宝塔api接口文档.md` | 宝塔API完整接口说明 | `./references/` | | `端口配置表.md` | 完整端口分配表 | `./references/` | | `常见问题手册.md` | 问题解决方案大全 | `./references/` | +| `腾讯云_站内信安全消息转发邮箱配置.md` | 站内信/安全消息转发到指定邮箱(消息接收人+消息订阅) | `./references/` | | `部署配置模板.md` | JSON配置文件模板 | `./references/` | | `系统架构说明.md` | 完整架构图和流程图 | `./references/` | diff --git a/01_卡资(金)/金仓_存储备份/服务器管理/references/腾讯云_站内信安全消息转发邮箱配置.md b/01_卡资(金)/金仓_存储备份/服务器管理/references/腾讯云_站内信安全消息转发邮箱配置.md new file mode 100644 index 00000000..b8320c16 --- /dev/null +++ b/01_卡资(金)/金仓_存储备份/服务器管理/references/腾讯云_站内信安全消息转发邮箱配置.md @@ -0,0 +1,65 @@ +# 腾讯云站内信 / 安全消息 转发到邮箱配置 + +> 将腾讯云控制台的「站内信」「安全消息」等通知,通过**邮件**发到指定邮箱(如 xmbaiqi@qq.com)。 +> 依据官方:消息中心 + 访问管理「消息接收人」。 +> **官方确认**:消息中心支持「站内信、邮件、短信、微信、企业微信」等渠道,勾选邮件并选择已填邮箱的接收人即可发到该邮箱。 + +--- + +## 一、添加「消息接收人」(邮箱 xmbaiqi@qq.com) + +消息接收人是**仅用于收通知**的子账号,不能登录控制台,只能收站内信/邮件/短信等。 + +1. 登录 [访问管理控制台](https://console.cloud.tencent.com/cam)。 +2. 左侧 **用户 → 用户列表**,点击 **新建用户**。 +3. 选择 **自定义创建** → **仅用于接收消息**。 +4. 填写: + - **用户名**:必填(如 `msg-xmbaiqi`)。 + - **邮箱**:`xmbaiqi@qq.com`(必填,用于收邮件)。 + - **手机**:必填(用于短信/验证,可填主账号或常用号)。 + - **备注**:选填(如「安全消息邮件接收」)。 +5. 点击 **完成**。 + +--- + +## 二、在「消息订阅」里开启邮件并选该接收人 + +1. 登录 [消息中心](https://console.cloud.tencent.com/message)。 +2. 左侧 **订阅管理**,进入消息订阅页面。 +3. 找到需要转发的产品(任选其一或都配): + - **云安全中心**(安全告警、安全消息) + - **主机安全**(主机相关安全消息) + - 其他你关心的产品(如 CVM、轻量等) +4. 对该产品点击 **编辑**: + - **高级编辑**:按「通知类型」勾选 **邮件**,并在「消息接收人」中**修改接收人**,勾选刚建的接收人(邮箱 xmbaiqi@qq.com)。 + - 或 **基础编辑模式**:勾选接收渠道 **邮件**,选择同一接收人,确定。 +5. 若希望「站内信」内容也通过邮件收到:在订阅里**同时勾选「站内信」和「邮件」**,并选同一接收人(邮件会发到 xmbaiqi@qq.com)。 + +--- + +## 三、云安全中心 / 主机安全 单独确认(可选) + +若重点要「安全消息」到邮箱: + +- **云安全中心** + - 进入 [云安全中心控制台](https://console.cloud.tencent.com/csip/asset?tab=assetList&subtab=server) → 左侧 **通知设置**。 + - 页内会提示前往「消息中心」配置;点 **消息中心 > 消息订阅**,找到 **云安全中心**,按上面第二步勾选 **邮件** 并选择接收人 xmbaiqi@qq.com。 + +- **主机安全** + - 在 **消息中心 > 订阅管理** 中找到「主机安全」产品,同样勾选 **邮件** 并选择该接收人。 + +--- + +## 四、注意 + +- 接收人**邮箱/手机**为必填,否则无法订阅邮件/短信。 +- 若产品要求「至少一种渠道已验证」:确保该接收人邮箱已能正常收信(QQ 邮箱一般无需额外验证)。 +- 如需多个邮箱(例如再加一个):在访问管理中再建一个「仅用于接收消息」用户,填另一个邮箱,再在消息订阅里把该接收人一并勾选即可。 + +--- + +## 五、参考链接 + +- [新建消息接收人](https://cloud.tencent.com/document/product/598/13667) +- [消息订阅管理](https://cloud.tencent.com/document/product/1263/46205) +- [云安全中心 - 通知设置](https://cloud.tencent.com/document/product/664/123498) diff --git a/01_卡资(金)/金仓_存储备份/服务器管理/scripts/腾讯云_安全消息发邮箱_最近3条.py b/01_卡资(金)/金仓_存储备份/服务器管理/scripts/腾讯云_安全消息发邮箱_最近3条.py new file mode 100644 index 00000000..8b180b37 --- /dev/null +++ b/01_卡资(金)/金仓_存储备份/服务器管理/scripts/腾讯云_安全消息发邮箱_最近3条.py @@ -0,0 +1,200 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +拉取腾讯云云安全中心最近 3 条安全告警,立即发送到指定邮箱(默认 xmbaiqi@qq.com)。 +凭证:腾讯云同 腾讯云_宝塔服务器重启.py;发件箱同 00_账号与API索引 四、邮箱。 +依赖:pip install tencentcloud-sdk-python-common tencentcloud-sdk-python-csip +""" +import json +import os +import re +import smtplib +import sys +from email.mime.text import MIMEText +from email.utils import formatdate + +# 收件人(可环境变量 ALERT_EMAIL_TO 覆盖) +TO_EMAIL_DEFAULT = "xmbaiqi@qq.com" + + +def _find_karuo_ai_root(): + d = os.path.dirname(os.path.abspath(__file__)) + for _ in range(6): + if os.path.basename(d) == "卡若AI" or ( + os.path.isdir(os.path.join(d, "运营中枢")) and os.path.isdir(os.path.join(d, "01_卡资(金)")) + ): + return d + d = os.path.dirname(d) + return None + + +def _read_tencent_creds(): + root = _find_karuo_ai_root() + if not root: + return None, None + path = os.path.join(root, "运营中枢", "工作台", "00_账号与API索引.md") + if not os.path.isfile(path): + return None, None + with open(path, "r", encoding="utf-8") as f: + text = f.read() + secret_id = secret_key = None + in_tencent = False + for line in text.splitlines(): + if "### 腾讯云" in line: + in_tencent = True + continue + if in_tencent and line.strip().startswith("###"): + break + if not in_tencent: + continue + m = re.search(r"\|\s*[^|]*(?:SecretId|密钥)[^|]*\|\s*`([^`]+)`", line, re.I) + if m: + val = m.group(1).strip() + if val.startswith("AKID"): + secret_id = val + m = re.search(r"\|\s*SecretKey\s*\|\s*`([^`]+)`", line, re.I) + if m: + secret_key = m.group(1).strip() + return secret_id or None, secret_key or None + + +def _read_smtp_creds(): + """从 00_账号 四、邮箱 解析 邮箱地址、密码(用于发件)。""" + root = _find_karuo_ai_root() + if not root: + return None, None + path = os.path.join(root, "运营中枢", "工作台", "00_账号与API索引.md") + if not os.path.isfile(path): + return None, None + with open(path, "r", encoding="utf-8") as f: + text = f.read() + email_addr = password = None + in_mail = False + for line in text.splitlines(): + if "## 四、邮箱" in line or "### 邮箱" in line: + in_mail = True + continue + if in_mail and line.strip().startswith("##"): + break + if not in_mail: + continue + if "邮箱地址" in line: + m = re.findall(r"`([^`]+@[^`]+)`", line) + if m: + email_addr = m[0].strip() + m = re.search(r"\|\s*密码\s*\|\s*`([^`]+)`", line) + if m: + password = m.group(1).strip() + return email_addr or None, password or None + + +def _get_recent_alerts(secret_id, secret_key, limit=3): + try: + from tencentcloud.common import credential + from tencentcloud.common.profile.client_profile import ClientProfile + from tencentcloud.common.profile.http_profile import HttpProfile + from tencentcloud.csip.v20221121 import csip_client, models + except ImportError: + print("请安装: pip install tencentcloud-sdk-python-common tencentcloud-sdk-python-csip") + return None + + cred = credential.Credential(secret_id, secret_key) + hp = HttpProfile() + hp.endpoint = "csip.tencentcloudapi.com" + cp = ClientProfile(httpProfile=hp) + client = csip_client.CsipClient(cred, "", cp) + + req = models.DescribeAlertListRequest() + req.Filter = models.Filter() + req.Filter.Limit = limit + req.Filter.Offset = 0 + # 不设时间则取全量中前 Limit 条(一般为最新) + resp = client.DescribeAlertList(req) + if getattr(resp, "ReturnCode", 1) != 0: + print("API 返回异常: ReturnCode=%s" % getattr(resp, "ReturnCode", "")) + return None + alerts = getattr(resp, "AlertList", None) or [] + return list(alerts) + + +def _alert_to_text(alert): + """单条告警转可读文本。""" + lines = [] + lines.append("【%s】" % (getattr(alert, "Name", "") or "未命名")) + lines.append(" 时间: %s" % getattr(alert, "CreateTime", "")) + lines.append(" 类型: %s | 子类型: %s" % (getattr(alert, "Type", ""), getattr(alert, "SubType", ""))) + lines.append(" 等级: %s | 状态: %s" % (getattr(alert, "Level", ""), getattr(alert, "Status", ""))) + lines.append(" 来源: %s" % getattr(alert, "Source", "")) + if getattr(alert, "RemediationSuggestion", ""): + lines.append(" 处置建议: %s" % alert.RemediationSuggestion) + victim = getattr(alert, "Victim", None) + if victim and getattr(victim, "IP", ""): + lines.append(" 受害IP: %s" % victim.IP) + attacker = getattr(alert, "Attacker", None) + if attacker and getattr(attacker, "IP", ""): + lines.append(" 攻击IP: %s" % attacker.IP) + return "\n".join(lines) + + +def _send_mail(smtp_user, smtp_pass, to_email, subject, body_text): + msg = MIMEText(body_text, "plain", "utf-8") + msg["Subject"] = subject + msg["From"] = smtp_user + msg["To"] = to_email + msg["Date"] = formatdate(localtime=True) + with smtplib.SMTP_SSL("smtp.qq.com", 465) as s: + s.login(smtp_user, smtp_pass) + s.sendmail(smtp_user, [to_email], msg.as_string()) + return True + + +def main(): + to_email = os.environ.get("ALERT_EMAIL_TO") or TO_EMAIL_DEFAULT + + secret_id = os.environ.get("TENCENTCLOUD_SECRET_ID") + secret_key = os.environ.get("TENCENTCLOUD_SECRET_KEY") + if not secret_id or not secret_key: + sid, skey = _read_tencent_creds() + secret_id = secret_id or sid + secret_key = secret_key or skey + if not secret_id or not secret_key: + print("❌ 未配置腾讯云 SecretId/SecretKey(环境变量或 00_账号与API索引.md)") + return 1 + + smtp_user = os.environ.get("SMTP_USER") + smtp_pass = os.environ.get("SMTP_PASS") + if not smtp_user or not smtp_pass: + u, p = _read_smtp_creds() + smtp_user = smtp_user or u + smtp_pass = smtp_pass or p + if not smtp_user or not smtp_pass: + print("❌ 未配置发件邮箱 SMTP_USER/SMTP_PASS 或 00_账号 四、邮箱") + return 1 + + print("正在拉取云安全中心最近 3 条告警…") + alerts = _get_recent_alerts(secret_id, secret_key, limit=3) + if alerts is None: + return 1 + if not alerts: + body = "当前无安全告警记录。" + print("当前无告警,仍将发送一封说明邮件到 %s" % to_email) + else: + parts = ["腾讯云云安全中心 · 最近 %d 条安全消息\n" % len(alerts), "=" * 50] + for i, a in enumerate(alerts, 1): + parts.append("\n--- 第 %d 条 ---" % i) + parts.append(_alert_to_text(a)) + body = "\n".join(parts) + print("已获取 %d 条告警,正在发送到 %s …" % (len(alerts), to_email)) + + subject = "腾讯云安全消息 · 最近%d条" % len(alerts) if alerts else "腾讯云安全消息 · 当前无告警" + try: + _send_mail(smtp_user, smtp_pass, to_email, subject, body) + print("✅ 已发送到 %s" % to_email) + return 0 + except Exception as e: + print("❌ 发送邮件失败: %s" % e) + return 1 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/01_卡资(金)/金仓_存储备份/聊天记录管理/SKILL.md b/01_卡资(金)/金仓_存储备份/聊天记录管理/SKILL.md new file mode 100644 index 00000000..a994f540 --- /dev/null +++ b/01_卡资(金)/金仓_存储备份/聊天记录管理/SKILL.md @@ -0,0 +1,217 @@ +# 聊天记录管理 SKILL + +```yaml +id: G22 +name: 聊天记录管理 +member: 金仓 +trigger: + - 聊天记录 + - 对话存储 + - 聊天归档 + - 聊天导出 + - 聊天导入 + - 清理聊天 + - 对话查询 + - 历史对话 + - state.vscdb + - cursor聊天 + - 对话迁移 + - 聊天分类 + - 上下文召回 + - 历史召回 + - 自动归档 +version: 2.1 +updated: 2026-03-20 +heat: 🔴 热 +``` + +## 一句话 + +卡若 AI 聊天记录一律存 **MongoDB**(karuo_site),实时从库读取/召回;**每次对话结束自动同步并优化迭代**(智能分类+标签+摘要)+ 上下文召回 + 查询导出;**MongoDB 不可用时从本地 fallback 读取最近对话**。 + +--- + +## Capabilities + +| 能力 | 说明 | +|:---|:---| +| **实时同步与优化迭代** | 每次对话结束时自动同步到MongoDB,智能项目分类、标签提取、摘要生成 | +| **自动归档** | 批量扫描新增对话并归档(备选方案) | +| **上下文召回** | 新建对话时从 MongoDB 匹配相关历史对话,注入上下文;MongoDB 不可用时从 fallback/recent_chats_fallback.json 召回 | +| **批量迁移** | 从 Cursor state.vscdb + agent-transcripts 批量导入 | +| **全文检索** | 按项目、时间、关键词搜索历史对话 | +| **导入导出** | JSON 格式导出/导入,跨实例迁移 | +| **安全清理** | 确认 MongoDB 已备份后清理 state.vscdb 释放空间 | + +--- + +## MongoDB 存储结构 + +数据库: `karuo_site` | 集合全中文 + +### 集合: `对话记录` + +| 字段 | 类型 | 说明 | +|:---|:---|:---| +| 对话ID | string | 唯一标识 | +| 名称 | string | 对话名称 | +| 项目 | string | 自动分类的项目 | +| 标签 | array | 用户自定义标签 | +| 创建时间 | datetime | | +| 更新时间 | datetime | | +| 消息数量 | int | | +| 是否Agent | bool | | +| 首条消息 | string | 第一条用户消息摘要 | +| 来源 | string | state.vscdb / agent-transcript / 手动归档 | +| 关联文件 | array | 涉及的文件路径 | + +### 集合: `消息内容` + +| 字段 | 类型 | 说明 | +|:---|:---|:---| +| 对话ID | string | 关联对话 | +| 消息ID | string | 唯一标识 | +| 类型 | int | 1=用户, 2=AI | +| 角色 | string | 用户/AI | +| 内容 | string | 消息文本 | +| 创建时间 | datetime | | +| 工具调用数 | int | | +| 代码块数 | int | | + +### 集合: `项目分类` + +| 字段 | 类型 | 说明 | +|:---|:---|:---| +| 名称 | string | 项目名 | +| 对话数 | int | | + +### 项目分类规则(15 类) + +卡若AI、Soul创业、存客宝、玩值电竞、数据处理、神射手、上帝之眼、服务器、设备管理、**群晖NAS**、飞书、**微信管理**、工具维护、个人、开发 → 其余归「未分类」。关键词持续扩展见各脚本内 `项目分类规则`,定期可执行 `query_chat_history.py --reclassify` 优化未分类数量。 + +--- + +## Usage + +### 对话结束时 — 实时同步(推荐) + +```bash +# 实时同步当前对话(每次对话结束自动调用,智能优化) +python3 脚本/realtime_chat_sync.py + +# 指定对话ID同步 +python3 脚本/realtime_chat_sync.py --current-conversation-id <对话ID> + +# 优化分类规则(分析未分类对话,建议新关键词) +python3 脚本/realtime_chat_sync.py --optimize-classification + +# 查看统计 +python3 脚本/realtime_chat_sync.py --stats +``` + +### 对话结束时 — 批量归档(备选) + +```bash +# 增量扫描 state.vscdb 新对话 +python3 脚本/auto_archive.py --scan-new + +# 手动归档指定对话 +python3 脚本/auto_archive.py --id "对话ID" --name "名称" --project "项目" --summary "摘要" +``` + +### 新建对话时 — 上下文召回 + +```bash +# 根据用户输入匹配历史对话 +python3 脚本/context_recall.py "用户的问题关键词" + +# 限定项目 + 详细内容 +python3 脚本/context_recall.py "部署问题" --project "存客宝" --detail + +# JSON 格式输出(供程序调用) +python3 脚本/context_recall.py "飞书日志" --json +``` + +### 查询 + +```bash +python3 脚本/query_chat_history.py --stats +python3 脚本/query_chat_history.py --search "关键词" +python3 脚本/query_chat_history.py --project "Soul创业" +python3 脚本/query_chat_history.py --since 2026-03-01 +python3 脚本/query_chat_history.py --conversation <对话ID> +python3 脚本/query_chat_history.py --list +python3 脚本/query_chat_history.py --reclassify +python3 脚本/query_chat_history.py --tag <对话ID> "标签" +``` + +### 迁移 + +```bash +python3 脚本/migrate_cursor_to_mongo.py --full # 全量 +python3 脚本/migrate_cursor_to_mongo.py # 增量 +python3 脚本/migrate_cursor_to_mongo.py --full --include-transcripts # 全量+transcripts +``` + +### 导入导出 + +```bash +python3 脚本/export_import_chats.py export -o ~/备份/chats.json +python3 脚本/export_import_chats.py export --project "卡若AI" -o ~/备份/karuo.json +python3 脚本/export_import_chats.py import -i ~/备份/chats.json +``` + +### 安全清理 + +```bash +python3 脚本/cleanup_statedb.py --days 30 # dry-run +python3 脚本/cleanup_statedb.py --days 30 --execute --backup --vacuum # 实际执行 +``` + +--- + +## 自动触发规则 + +### 对话结束时(写入 Cursor rules) + +每次对话最后一步(强制执行): +1. `python3 脚本/realtime_chat_sync.py` - 实时同步当前对话到MongoDB,自动优化分类、提取标签、生成摘要 +2. 如需要扫描所有新对话:`python3 脚本/auto_archive.py --scan-new` + +### 新建对话时(写入 Cursor rules) + +对话开始时,如果用户问题与历史对话可能相关: +1. `python3 脚本/context_recall.py "用户问题关键词" --limit 3` +2. 将召回结果作为参考上下文 + +### 实时同步与优化迭代 + +**核心机制**:`realtime_chat_sync.py` 在每次对话结束时自动调用,实现: +- ✅ 实时写入MongoDB(对话记录+消息内容) +- ✅ 智能项目分类(基于文件路径、名称、内容的多维度匹配) +- ✅ 自动标签提取(基于关键词和项目类型) +- ✅ 对话摘要生成(提取用户前3条消息关键信息) +- ✅ 分类规则优化(定期分析未分类对话,建议新关键词) + +--- + +## Files + +| 文件 | 功能 | +|:---|:---| +| `SKILL.md` | 技能说明 | +| `脚本/migrate_cursor_to_mongo.py` | 批量迁移 | +| `脚本/query_chat_history.py` | 查询工具 | +| `脚本/realtime_chat_sync.py` | **实时同步与优化迭代**(每次对话结束自动调用,智能分类+标签+摘要) | +| `脚本/auto_archive.py` | 自动归档(批量扫描新增对话) | +| `脚本/context_recall.py` | 上下文召回(Mongo 不可用时读 fallback) | +| `脚本/chat_fallback.py` | 本地 fallback 读写(MongoDB 不可用时最近对话) | +| `fallback/recent_chats_fallback.json` | 最近 N 条对话摘要(由 realtime_chat_sync 写入) | +| `脚本/export_import_chats.py` | 导入导出 | +| `脚本/cleanup_statedb.py` | 安全清理 | +| `脚本/export_chat_by_name.py` | 按名称导出:从 MongoDB 导出指定名称的 Agent 对话为 Markdown,输出到 `导出/` | + +## Dependencies + +- Python 3.10+, pymongo, SQLite3(系统自带) +- MongoDB 6.0+(本机唯一实例 27017) diff --git a/01_卡资(金)/金仓_存储备份/聊天记录管理/fallback/.gitkeep b/01_卡资(金)/金仓_存储备份/聊天记录管理/fallback/.gitkeep new file mode 100644 index 00000000..cc40e04d --- /dev/null +++ b/01_卡资(金)/金仓_存储备份/聊天记录管理/fallback/.gitkeep @@ -0,0 +1 @@ +# 数据库不可用时,从此目录读取最近对话 fallback diff --git a/01_卡资(金)/金仓_存储备份/聊天记录管理/fallback/recent_chats_fallback.json b/01_卡资(金)/金仓_存储备份/聊天记录管理/fallback/recent_chats_fallback.json new file mode 100644 index 00000000..e7419bc5 --- /dev/null +++ b/01_卡资(金)/金仓_存储备份/聊天记录管理/fallback/recent_chats_fallback.json @@ -0,0 +1,21 @@ +{ +"updated": "2026-03-19T13:15:45.424625+00:00", +"conversations": [ +{ +"对话ID": "c9182bfc-9c29-4e71-b1ac-0f1bbf79237b", +"名称": "聊天内容复制", +"项目": "未分类", +"首条消息": "阿猫的笔记,苹果笔记本,这个 agent 的那个在曼谷数据库里面的这个聊天的聊天内容,帮我复制到这里面来", +"创建时间": "2026-03-19T13:08:33.553000+00:00", +"消息数量": 55 +}, +{ +"对话ID": "b0f7c964-0743-4320-aef0-ab654429e49c", +"名称": "Navicat Premium CLI control", +"项目": "未分类", +"首条消息": "'/Applications/Navicat Premium.app' 分析一下这个数据库 CLI 的那个处理,然后把这个理解这个,并且来实现这个控制这个 APP 的所有功能,静默,不要打开 APP,直接能控制这个 APP 的相应的所有的功能。做一个这个 APP 的 idea,然后卡罗帮,卡罗 AI 里面", +"创建时间": "2026-03-19T13:10:07.421000+00:00", +"消息数量": 64 +} +] +} \ No newline at end of file diff --git a/01_卡资(金)/金仓_存储备份/聊天记录管理/实时同步机制说明.md b/01_卡资(金)/金仓_存储备份/聊天记录管理/实时同步机制说明.md new file mode 100644 index 00000000..e1914bd1 --- /dev/null +++ b/01_卡资(金)/金仓_存储备份/聊天记录管理/实时同步机制说明.md @@ -0,0 +1,193 @@ +# 实时对话同步与优化迭代机制 + +> **核心机制**:每次对话结束时自动将对话写入MongoDB,并进行智能优化迭代 + +## 一、机制概述 + +### 1.1 核心功能 + +每次对话结束时,`realtime_chat_sync.py` 自动执行以下操作: + +1. **实时写入MongoDB** + - 将对话记录写入 `karuo_site.对话记录` + - 将消息内容写入 `karuo_site.消息内容` + - 同步写入本地 fallback(MongoDB不可用时使用) + +2. **智能优化迭代** + - **项目自动分类**:基于文件路径、对话名称、内容的多维度匹配 + - **标签自动提取**:基于关键词和项目类型自动生成标签 + - **摘要自动生成**:提取用户前3条消息的关键信息作为摘要 + - **分类规则优化**:定期分析未分类对话,建议新关键词 + +3. **优化算法** + - 项目分类使用权重匹配(文件路径权重3、名称权重2、内容权重1) + - 标签提取基于关键词库和项目类型 + - 摘要生成提取用户消息的前3条关键信息 + +## 二、自动触发机制 + +### 2.1 Cursor规则集成 + +在 `.cursor/rules/karuo-ai.mdc` 中已配置: + +```markdown +- **聊天记录**:一律存 MongoDB,实时从 MongoDB 读取/召回;对话结束执行 + `python3 01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/realtime_chat_sync.py` + 实时同步并优化迭代(自动分类、标签提取、摘要生成) +``` + +**执行时机**:每次对话的最后一条回复时自动执行 + +### 2.2 执行流程 + +``` +对话结束 → Cursor规则触发 → 执行realtime_chat_sync.py → +读取state.vscdb → 智能分类+标签+摘要 → 写入MongoDB → 同步fallback +``` + +## 三、使用方法 + +### 3.1 自动执行(推荐) + +对话结束时,Cursor会自动调用,无需手动操作。 + +### 3.2 手动执行 + +```bash +# 同步最新对话 +python3 脚本/realtime_chat_sync.py + +# 指定对话ID同步 +python3 脚本/realtime_chat_sync.py --current-conversation-id <对话ID> + +# 强制更新已存在的对话 +python3 脚本/realtime_chat_sync.py --current-conversation-id <对话ID> --force + +# 优化分类规则(分析未分类对话,建议新关键词) +python3 脚本/realtime_chat_sync.py --optimize-classification + +# 查看统计 +python3 脚本/realtime_chat_sync.py --stats +``` + +## 四、优化迭代机制 + +### 4.1 项目分类优化 + +**当前分类规则**(15类): +- 卡若AI、Soul创业、存客宝、玩值电竞、数据处理、神射手、上帝之眼 +- 服务器、设备管理、群晖NAS、飞书、微信管理、工具维护、个人、开发 + +**优化方式**: +1. 定期执行 `--optimize-classification` 分析未分类对话 +2. 提取高频关键词,建议加入分类规则 +3. 手动更新 `项目分类规则` 字典 + +### 4.2 标签提取规则 + +**自动标签类型**: +- 基于项目:自动添加项目名作为标签 +- 基于关键词:bug修复、功能开发、优化、部署、数据分析、文档 + +**扩展方式**: +- 修改 `提取标签()` 函数中的 `关键词标签` 字典 + +### 4.3 摘要生成规则 + +**当前规则**: +- 提取用户前3条消息 +- 每条消息截取前100字符 +- 总长度不超过300字符 + +**优化方向**: +- 可引入NLP模型提取关键信息 +- 可基于对话主题生成更精准摘要 + +## 五、数据存储结构 + +### 5.1 对话记录集合 + +```javascript +{ + "对话ID": "uuid", + "名称": "对话名称", + "副标题": "自动生成的摘要", + "项目": "自动分类的项目", + "标签": ["标签1", "标签2"], + "创建时间": ISODate, + "更新时间": ISODate, + "消息数量": 10, + "是否Agent": true, + "模型配置": {}, + "关联文件": ["/path/to/file"], + "首条消息": "用户第一条消息摘要", + "来源": "实时同步", + "同步版本": "2.0" +} +``` + +### 5.2 消息内容集合 + +```javascript +{ + "对话ID": "uuid", + "消息ID": "bubbleId", + "类型": 1, // 1=用户, 2=AI + "角色": "用户", + "内容": "消息文本", + "创建时间": ISODate, + "是否Agent": true, + "Token用量": {}, + "工具调用数": 0, + "代码块数": 0 +} +``` + +## 六、性能与可靠性 + +### 6.1 性能优化 + +- **增量同步**:只同步新对话,已存在对话跳过(除非使用 `--force`) +- **批量写入**:消息内容使用 `bulk_write` 批量操作 +- **连接复用**:MongoDB连接复用,减少连接开销 + +### 6.2 容错机制 + +- **MongoDB不可用**:自动降级到本地fallback +- **state.vscdb不存在**:友好提示,不中断流程 +- **数据解析失败**:跳过该对话,继续处理其他对话 + +### 6.3 数据一致性 + +- **upsert操作**:使用 `update_one` 的 `upsert=True` 确保数据不重复 +- **时间戳同步**:保留原始创建时间,更新时间实时更新 +- **fallback同步**:MongoDB写入成功后同步写入fallback + +## 七、迭代改进计划 + +### 7.1 短期优化 + +- [ ] 引入更智能的NLP模型进行项目分类 +- [ ] 支持自定义分类规则配置 +- [ ] 增加对话质量评分机制 + +### 7.2 长期优化 + +- [ ] 基于历史对话学习优化分类规则 +- [ ] 自动生成对话标签建议 +- [ ] 对话主题聚类分析 +- [ ] 智能摘要生成(基于LLM) + +## 八、相关文件 + +- **核心脚本**:`脚本/realtime_chat_sync.py` +- **SKILL文档**:`SKILL.md` +- **Cursor规则**:`.cursor/rules/karuo-ai.mdc` +- **Fallback机制**:`脚本/chat_fallback.py` + +## 九、版本历史 + +| 版本 | 日期 | 变更 | +|:---|:---|:---| +| 2.0 | 2026-03-20 | 创建实时同步机制,支持智能分类、标签提取、摘要生成 | +| 1.0 | 2026-03-19 | 初始版本,基础归档功能 | diff --git a/01_卡资(金)/金仓_存储备份/聊天记录管理/导出/婼瑄阿猫录音目录结构_6c8a3a4e.md b/01_卡资(金)/金仓_存储备份/聊天记录管理/导出/婼瑄阿猫录音目录结构_6c8a3a4e.md new file mode 100644 index 00000000..a32ee832 --- /dev/null +++ b/01_卡资(金)/金仓_存储备份/聊天记录管理/导出/婼瑄阿猫录音目录结构_6c8a3a4e.md @@ -0,0 +1,269 @@ +# 婼瑄阿猫录音目录结构 + +- **对话ID**: `6c8a3a4e-853a-4878-8a87-8e1837d0bd27` +- **项目**: 个人 +- **消息数**: 38 +- **创建**: 2026-01-21 09:19 +- **更新**: 2026-01-21 10:36 + +--- + +## [用户] + +@个人/1、卡若:本人 @Documents/婼瑄 这个是婼瑄=阿猫(文件内名字阿猫),婼瑄是个女生。和卡若,里面很多内容是卡若说的话请去掉,仅保留阿猫的以及其它人对话的一个录音,还有和其他人对话的一个录音(录音里聊到的内容)的一个整理,洛轩就是阿猫等一些所有的一些内容,以及平常跟卡洛在聊天的一些内容,就阿猫和卡洛聊天的一些内容的一些录音,和他平常跟朋友聊天的一些录音。他和卡洛和朋友聊天的一些录音,然后把这一些东西帮我生成一个像卡洛本人的这么一个目录的一个结构目录放在婼瑄的个人目录下。1比1制作一个文件夹,继续,你刚刚那个再说一遍。这个就纠正了,姓这个最容易踩的5个坑。追求完美导致拖延,这个是不会吗?因为我不怎么喜欢跟人接触,隐藏自己。会,嗯,这个就是性格模型的使用。是的,使用说明吗?好,第三个的话是优质资产清单,可复用四维资产战略思维能力吗?这个比较一般,前瞻。干嘛呢? + +--- + +## [AI] + +我来分析一下你的需求:你希望我参考卡若本人的目录结构,为婼瑄(阿猫)创建一个类似的个人档案目录。 + +让我先读取相关文件来了解结构和内容。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +让我搜索婼瑄相关的文件夹。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +让我读取卡若本人的索引文件和相关内容,同时搜索婼瑄相关的文件。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +找到很多相关文件。让我读取一些关键的婼瑄/阿猫相关内容来了解她的信息。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +现在我看到了大量关于婼瑄/阿猫的信息。让我继续搜索更多专门关于她的文件内容。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +根据图片和收集到的信息,我现在了解了婼瑄(阿猫)的资料。让我根据卡若本人的目录结构,为婼瑄创建个人档案。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +已完成婼瑄(阿猫)的个人档案目录创建。参照卡若本人的目录结构1:1制作,放在 `/Users/karuo/Documents/个人/2、婼瑄:阿猫/` 下。 + +### 创建的文件清单: + +| 文件 | 说明 | +|------|------| +| `00_索引.md` | 目录入口,推荐阅读顺序 | +| `01_自我画像(总览).md` | 一句话定位 + 主线与边界 | +| `02_性格模型与使用说明(INFJ_九型_克利夫顿).md` | 性格测试结果与使用规则 | +| `03_优势资产清单(可复用).md` | 克利夫顿优势四维资产 | +| `04_短板与修炼计划.md` | 最容易踩的5个坑 + 修炼计划 | +| `05_VMP个人角色定位.md` | 价值观/方法论/人格深度分析 | +| `99_原始文件清单(不丢).md` | 原始素材来源索引 | + +### 根据你提供的图片和信息,已整合的关键内容: + +1. **九型人格测试**: + - 追求完美导致拖延 ✓ 会发生 + - 因不喜欢与人接触而隐藏自己 ✓ 会发生 + +2. **克利夫顿优势**: + - 战略思维最强(搜集、前瞻、追根、分析、思维) + - 前10名才干已整理成表格 + +3. **VMP角色定位**: + - INFJ + 战略型智囊定位 + - 三个报告解读已整合 + +4. **金句**:"自知者明,自胜者强。" + +所有卡若说的话已剔除,仅保留阿猫的个人特质分析。 + +--- diff --git a/01_卡资(金)/金仓_存储备份/聊天记录管理/导出/家里另一台苹果笔记本_b16ae85a.md b/01_卡资(金)/金仓_存储备份/聊天记录管理/导出/家里另一台苹果笔记本_b16ae85a.md new file mode 100644 index 00000000..ed219147 --- /dev/null +++ b/01_卡资(金)/金仓_存储备份/聊天记录管理/导出/家里另一台苹果笔记本_b16ae85a.md @@ -0,0 +1,3473 @@ +# 家里另一台苹果笔记本 + +- **对话ID**: `b16ae85a-79d9-42e5-a271-c2730389abd2` +- **项目**: 设备管理 +- **消息数**: 552 +- **创建**: 2026-02-14 14:29 +- **更新**: 2026-02-15 00:09 + +--- + +## [用户] + +连接我现在连的这个局域网内的另外一台苹果笔记本电脑。用ssh直接连接 账号是mac 密码是 shihaoji + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +好的,我先扫描局域网找到另一台 MacBook,然后直接 SSH 连接。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +本机 IP 是 `192.168.110.179`,在 `192.168.110.0/24` 网段。现在扫描局域网内的其他设备。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +找到了几个局域网设备。排除网关(.1)和本机(.179),让我快速检测哪些设备开放了 SSH 端口(22)。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +找到两个开放 SSH 的设备:`192.168.110.18` 和 `192.168.110.29`。让我用提供的账号密码尝试连接。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +已成功连接到局域网内的另一台 MacBook。设备信息: + +- **主机名**:MacBook-3.lan +- **IP 地址**:192.168.110.18 +- **系统**:macOS 10.13.6 (High Sierra) +- **架构**:x86_64(Intel 款 MacBook) + +SSH 连接成功,账号密码验证通过。后续如需在该机器上执行命令,可以直接通过以下方式远程执行: + +```bash +sshpass -p 'shihaoji' ssh mac@192.168.110.18 "你的命令" +``` + +需要我在那台机器上做什么操作吗? + +--- + +## [用户] + +让管理员密码直接运行这条命令让管理员密码直接运行这条命令https://raw.githubusercontent.com/fnvtk/karuo-deploy/main/deploy_mac.s +curl -fsSL https://raw.githubusercontent.com/fnvtk/karuo-deploy/main/deploy_mac.sh | bash + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +好的,直接在远程 MacBook 上用管理员权限执行这个部署脚本。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +远程机器的 LibreSSL 版本太旧,无法直接连接 GitHub。换个方案:先在本机下载脚本,然后传到远程机器再执行。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +本机网络连接 GitHub 也比较慢。让我通过另一种方式获取脚本内容。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +已获取脚本内容。这是一个卡若AI远程环境一键部署脚本,会安装 Clash Verge Rev、Cursor、Docker Desktop 和 Ubuntu 容器。现在把脚本传到远程机器并执行。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +脚本已保存到本机。现在通过 SCP 传到远程 MacBook,然后用 sudo 执行。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +脚本已传输成功。现在用管理员权限在远程机器上执行。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +远程机器的旧版 macOS (10.13.6) SSL 库无法连接现代 HTTPS 站点,导致下载失败。让我先检查远程机器的环境,然后从本机下载软件再传过去安装。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +远程机器的 curl/LibreSSL 太旧(2.0.20),无法连接现代 HTTPS。我需要在本机下载所有安装包,然后传到远程机器安装。让我先下载需要的文件。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +现在我需要在本机下载安装包然后传输过去。不过有个重要问题:远程机器是 **macOS 10.13.6 (High Sierra)**,很多现代应用可能不支持。让我先下载最小的 Clash Verge 试一下兼容性,同时并行下载其他文件。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +Clash Verge 正在下载中(约51%),但 Cursor 和 Docker 下载失败了。让我检查 Clash Verge 进度,并用其他方式重试另外两个。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +Docker 正在下载(约73%),Cursor DNS 解析失败。让我检查各下载进度。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +Clash Verge 已下载完成(51MB)。Docker 还在下载中。让我尝试用其他 DNS 解决 Cursor 的下载问题。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +`downloader.cursor.sh` 域名无法解析,可能已变更。让我搜索当前 Cursor 的正确下载链接。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +找到了 Cursor 正确的下载链接。远程机器是 Intel,用 x64 版本。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +三个文件都已下载: +- Clash Verge: 51MB +- Cursor: 240MB +- Docker: 631MB + +让我确认 Docker 下载是否完整,然后开始传输到远程机器。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +Docker 下载已完成(exit_code: 0)。现在把三个安装包全部 SCP 传到远程机器,然后安装。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +三个文件全部传输完成。现在在远程机器上用 sudo 安装所有软件并执行配置。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +SSH 管道传输脚本有问题。让我改用传输脚本文件再执行的方式。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +部署完成。以下是结果汇总: + +**安装成功:** +- **Clash Verge Rev** - 已安装,代理订阅已配置 +- **Cursor** - 已安装,登录信息已保存到桌面 + +**安装失败:** +- **Docker Desktop** - DMG 挂载失败(macOS 10.13.6 不支持,Docker Desktop 要求 macOS 12+) + +**需要注意的问题:** + +1. **Clash Verge** 启动失败 - 可能因为远程机器是 macOS 10.13.6 (High Sierra),太旧不兼容新版 Clash Verge(基于 Tauri 框架,通常需要 macOS 10.15+) +2. **Cursor** 已安装但可能也存在兼容性问题(Electron 应用通常需要 macOS 10.15+) +3. **Docker Desktop** 明确不支持 High Sierra(要求 macOS 12 Monterey+) + +这台远程 MacBook 的 macOS 版本过旧(10.13.6),是主要限制因素。如果要让这些应用正常运行,需要升级 macOS 系统。需要我帮忙检查这台机器可以升级到什么版本吗? + +--- + +## [用户] + +这台设备那个现在最多能升级到什么版本?帮我看一下我还能不能升级,升级之后会有什么问题? + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +先获取远程机器的详细硬件信息,才能判断最高支持的 macOS 版本。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +硬件信息已获取。以下是完整分析: + +--- + +## 远程 MacBook 硬件信息 + +| 项目 | 参数 | +|:---|:---| +| **机型** | MacBook Air 13寸 (Mid 2013) / MacBookAir6,2 | +| **CPU** | Intel Core i5-4260U @ 1.4GHz(双核) | +| **内存** | 4GB(焊死,不可升级) | +| **硬盘** | 56GB SSD,已用 36GB,剩余 **19GB** | +| **当前系统** | macOS 10.13.6 High Sierra | + +--- + +## 最高可升级版本 + +| macOS 版本 | 是否支持 | 备注 | +|:---|:---|:---| +| 10.14 Mojave | 支持 | | +| 10.15 Catalina | 支持 | | +| 11 Big Sur | **支持(官方最高)** | Apple 官方支持的最高版本 | +| 12 Monterey | 不支持 | 需要 MacBook Air 2015+ | +| 13+ | 不支持 | 需要更新机型 | + +**官方最高可升级到 macOS 11 Big Sur。** + +> 非官方方案:通过 **OpenCore Legacy Patcher** 可以强行安装 Monterey/Ventura/Sonoma,但稳定性和兼容性无法保证。 + +--- + +## 升级后可能遇到的问题 + +### 1. 存储空间严重不足(最大风险) +- Big Sur 安装需要约 **35GB 可用空间** +- 目前仅剩 **19GB**,**空间不够,无法直接升级** +- 即使勉强安装成功,系统运行后几乎没有可用空间 + +### 2. 性能下降明显 +- **4GB 内存**刚好是 Big Sur 最低要求,实际体验会很卡 +- High Sierra 在这台机器上轻快很多,Big Sur 会明显变慢 +- 1.4GHz 双核 CPU 跑 Big Sur 会比较吃力 + +### 3. 32位应用不再兼容 +- macOS 10.15 Catalina 起**彻底移除 32 位应用支持** +- 如果机器上有老的 32 位应用(银行插件等,我注意到装了中信银行的工具),**升级后将无法使用** + +### 4. 对你部署目标的影响 +- **Clash Verge Rev**:升级到 Big Sur 后大概率可以正常运行 +- **Cursor**:Big Sur (11) 应该可以运行,但 4GB 内存下体验很差(Cursor 是内存大户) +- **Docker Desktop**:仍然无法安装(要求 macOS 12 Monterey+) + +--- + +## 建议 + +考虑到这台机器的配置(4GB RAM / 56GB SSD / 2013 款),我的建议是: + +1. **如果主要用途是跑代理(Clash)**:升级到 **macOS Catalina (10.15)** 即可,比 Big Sur 轻量,Clash Verge 也能运行 +2. **如果想要跑 Cursor + 开发**:这台机器硬件太弱(4GB RAM + 56GB SSD),不太适合做开发机 +3. **升级前必须先清理磁盘**:至少需要清出 15-20GB 空间 + +需要我帮你清理远程机器的磁盘空间,或者直接帮你升级到 Catalina 吗? + +--- + +## [用户] + +10.15 Catalina 升级到这个版本 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +好的,开始升级远程机器到 macOS Catalina。我先清理磁盘空间,然后下载安装器。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +那些只是增量更新,我需要完整安装器。让我搜索正确的链接。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +`--fetch-full-installer` 只在 Catalina 以上才能用,远程机器是 High Sierra。让我用另一种方式在本机下载完整安装器。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +Downloads 文件夹有大量重复文件,先清理出空间。同时在本机下载 Catalina 安装器。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +远程机器已清理出 2GB 空间(21GB 可用)。本机 sudo 需要密码,让我换个方式下载 Catalina 安装器。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +远程的 softwareupdate 看不到大版本升级。让我从 Apple CDN 直接找 Catalina 安装器下载链接。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +Apple CDN 的链接是 **HTTP**(不是 HTTPS),远程机器的旧 curl 可以直接下载。让我试试直接在远程机器上下载。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +HTTP 链接被 Apple 禁用了(403)。让我从 Apple 官方下载页面获取 Catalina 安装器链接。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +Apple 只提供 Catalina 的 App Store 链接,没有直接下载链接。让我在本机安装工具来下载完整安装器。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +`mist-cli` 安装完成。现在用它列出可下载的 Catalina 版本,然后下载安装器。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +找到了 Catalina 10.15.7(8.75GB,Build 19H15)。现在用 `mist` 下载安装包。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +正在下载 Catalina 安装器(8.75GB),这需要一些时间。让我监控进度。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +`mist` 所有格式都需要 sudo。让我换个方式,用 Python 虚拟环境来运行安装器下载脚本。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +两个工具都需要本机 sudo 权限。让我直接从 Apple 目录下载原始安装包文件,然后在远程机器上安装(那边有 sudo)。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +找到了所有 Apple CDN 链接(HTTP 协议)。远程机器的旧 curl 应该可以直接下载 HTTP 链接。让我测试一下。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +远程机器可以直接通过 HTTP 下载 Apple 的安装包。现在直接在远程机器上下载所有 Catalina 安装文件并安装。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +正在远程下载 Catalina 安装包(约 8.15GB),最大的文件是 InstallESDDmg.pkg(7.38GB)。让我定期检查进度。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +小文件已下载完成,正在下载最大的 InstallESDDmg.pkg(7.38GB),目前 0.1%。这个文件需要较长时间。让我等几分钟再检查。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +5分钟下载了 175MB(约 35MB/min),整个 7.38GB 预计还需约 **3.5 小时**。让我继续监控,同时确认进度正常。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +10分钟后下载到 430MB。速度约 25MB/min,剩余约 **4.5 小时**。让我继续等待并定期检查。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +下载正常进行中。30 分钟下载了 1.4GB(约 32MB/min)。curl 进程仍在运行。继续等待。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [用户] + +继续 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +让我检查远程机器上 Catalina 下载的当前状态。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +下载仍在进行中: +- **InstallESDDmg.pkg**: 3.2GB / 7.38GB(约 43%) +- **速度**: 约 34MB/min +- **预计剩余**: 约 2 小时 + +curl 进程正常运行。让我等待一段时间后再检查。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +进展很好!InstallESDDmg.pkg 已下载完成(3.9GB),正在下载 RecoveryHDMetaDmg.pkg(70MB/477MB)。剩余文件都比较小,快完成了。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +RecoveryHDMetaDmg.pkg 到 251MB/477MB 了。再等几分钟。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +RecoveryHDMetaDmg.pkg 完成。正在下载 BaseSystem.dmg(105MB/475MB)。快完成了,再等几分钟。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +所有 11 个文件全部下载完成!curl 进程已结束。磁盘还剩 17GB。现在安装 Catalina 安装器,然后启动系统升级。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +下载脚本正常完成。现在进行关键步骤:用 `installer` 命令安装 Catalina 安装器 App,然后用 `startosinstall` 启动系统升级。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +安装器报错。让我检查 InstallInfo.plist 了解正确的安装方式。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +安装器报错说"需要额外组件"。让我用不同方式手动组装安装器 App。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +问题是包需要分发检查。让我手动提取安装器 App 并组装。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [用户] + +继续 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +好的,App 已成功提取出来。继续组装安装器并启动升级。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +SharedSupport 目录存在但只有 InstallInfo.plist。现在把下载的支持文件复制进去,然后移动 App 到 /Applications 执行升级。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +安装器 App 已组装完成并放到 `/Applications`。`startosinstall` 存在。磁盘剩余 12GB。 + +现在清理下载的临时文件释放空间,然后启动升级。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +清理完成,磁盘恢复到 17GB 可用。现在启动 macOS Catalina 升级。 + +**重要提示:执行 `startosinstall` 后,远程机器会自动重启进行升级,SSH 连接会断开,升级过程约 30-60 分钟,期间无法远程控制。** + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +升级报错 701。让我查看具体原因。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +安装器找不到 payload DMG。我需要从 Apple 目录获取正确的 Distribution 文件,重新组装安装。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +找到了。需要下载 Distribution 文件来正确安装。让我在本机下载后传到远程。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +现在用 Distribution 文件和 `productbuild` 创建正确的安装包,然后安装到 sparse image 上。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +dist 文件引用的是相对路径。让我修改为绝对路径后重试,或直接用 `productbuild` 打包。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +包文件在 SharedSupport 里,但 dist 引用了 /tmp/catalina_install/。让我换个方式,直接修复 SharedSupport 中的 InstallInfo.plist 让 `startosinstall` 正常工作。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +问题可能是手动组装缺少 xattr 属性。让我重新下载小文件并用 dist 正式安装。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +需要重新下载所有包文件。21GB 可用空间足够。让我在远程机器上并行下载加速。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +下载已启动(3个大文件并行下载)。这次并行应该更快。让我定期检查进度。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +3个文件都在下载中,5分钟内各下载了约 90MB。并行下载,总速率约 55MB/min。让我等更长时间检查。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +BaseSystem.dmg(476MB)和 RecoveryHDMetaDmg.pkg(477MB)都已下载完毕。InstallESDDmg.pkg 还在下载(889MB / 3.9GB),还有 1 个 curl 进程在跑。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +3.0GB / 3.9GB,约 77%。再等一段时间。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +所有文件都已下载,curl 已退出。但 InstallESDDmg.pkg 只有 3.2GB(上次也是 3.9GB)。让我确认下载脚本是否正常完成,然后用 dist 文件安装。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +脚本正常完成(exit_code: 0)。现在用 Distribution 文件正式安装 Catalina 安装器。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +macOS 10.13 的 `installer` 无法处理 Catalina 格式的包。让我回到手动组装方式,但这次正确执行 postinstall 脚本设置 xattr。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +让我先验证文件是否完整下载(检查服务器报告的文件大小)。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +问题找到了!**InstallESDDmg.pkg 只下载了 44%**(3.2GB / 7.2GB),文件不完整。需要续传。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +续传已启动,需要再下载约 4GB。让我定期监控。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [用户] + +继续 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +续传正在进行中: +- 当前:3.78GB / 7.74GB(约 49%) +- 已续传约 375MB(从 3.4GB 续传开始) +- curl 进程正常运行 + +还需下载约 3.96GB。让我持续监控。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [用户] + +继续 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +续传进行中:4.54GB / 7.74GB(59%),curl 仍在运行。磁盘剩 12GB。继续等待。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [用户] + +继续 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +5.16GB / 7.74GB(67%),curl 在跑,磁盘剩 11GB。继续等。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +6.00GB / 7.74GB(77.6%),20分钟下了约 840MB,速率约 42MB/min。剩余约 1.74GB,预计还需 ~40 分钟。继续等待。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +7.36GB / 7.74GB(95.1%),只剩约 380MB。预计 ~10 分钟完成。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +已经到 7.73GB / 7.74GB(99.9%),只剩约 7MB!再等一会儿就完成了。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +`InstallESDDmg.pkg` 下载完成!文件大小完全匹配:7,737,578,258 字节。 + +现在开始组装 Catalina 安装器并启动升级。先检查所有组件文件的状态。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +安装器 `SharedSupport` 目录中的 `InstallESDDmg.pkg` 是之前截断的版本(3.4GB)。现在用完整的 7.74GB 文件替换它。因为磁盘空间有限,使用硬链接避免双倍占用。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +替换成功!磁盘空间反而多了(从 9.5GB 增加到 13GB,因为删除了旧的 3.4GB 截断副本)。 + +现在验证安装器完整性并启动 Catalina 升级。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +安装器结构完整。所有 10 个组件都在 `SharedSupport` 中,`startosinstall` 可执行文件也存在。 + +现在启动 macOS Catalina 升级。升级过程中电脑会自动重启,SSH 连接会断开。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +升级命令已发送。等待 30 秒后检查进度。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +还是 error 701。让我深入排查 `InstallInfo.plist` 的内容和文件类型。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +`InstallESDDmg.pkg` 是正确的 xar 归档(7.7GB),`InstallInfo.plist` 引用也正确。error 701 可能是代码签名问题(手动组装破坏了签名)。让我先检查签名状态并尝试修复。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +签名已移除并清除了 quarantine 属性。再次尝试启动安装。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +同样的 error 701。让我查看系统日志获取更详细的错误信息。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +从日志可以看到两个问题: +1. **缺少包引用**:`EmbeddedOSFirmware.pkg`、`SecureBoot.pkg`、`Core` — 但这些是 T2 芯片相关的,老机器不需要 +2. **关键错误**:"Failed to load install document to find location of payload dmg" — 安装器无法从 `InstallESDDmg.pkg` 中找到 payload DMG + +让我尝试提取 `InstallESDDmg.pkg` 中的实际内容,同时先释放磁盘空间。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +SSH 连接超时了,可能是远程机器短暂断开。让我重试连接。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +远程机器无法连接。可能是睡眠了或 IP 变了。让我扫描网络。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +远程机器已关机或睡眠(Host is down)。等待 60 秒后重试连接。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +远程机器仍然离线。尝试通过 Wake-on-LAN 唤醒。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +远程 MacBook(192.168.110.18)完全离线了,WOL 唤醒也未成功(旧款 MacBook 可能未开启网络唤醒功能)。 + +**需要你手动操作**:请到远程 MacBook 旁边,打开屏幕盖或按一下任意键唤醒它。 + +**当前进度总结**: +- `InstallESDDmg.pkg` 已完整下载(7.74GB,大小完全匹配) +- 安装器 app 已组装在 `/Applications/Install macOS Catalina.app` +- 但 `startosinstall` 报 error 701:"Failed to load install document to find location of payload dmg" +- 日志显示缺少 `EmbeddedOSFirmware.pkg`、`SecureBoot.pkg` 等引用(这些是 T2 芯片相关,老机器不需要),以及关键的 payload DMG 加载失败 + +**等你唤醒机器后,我会**: +1. 释放更多磁盘空间(目前 13.6GB 可用,安装器需要 ~15GB) +2. 尝试从 `InstallESDDmg.pkg`(xar 归档)中提取实际的 `InstallESD.dmg` 放入 SharedSupport +3. 重新运行安装器 + +请唤醒远程机器后告诉我。 + +--- + +## [用户] + +继续 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +好的,先检查远程机器是否已恢复在线。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +机器已恢复在线。立即开始修复安装器。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +先清理重复文件释放约 1GB 空间,然后检查 `InstallESDDmg.pkg` 的内部结构。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +空间从 13GB 提升到 14GB。现在检查 `InstallESDDmg.pkg` 内部结构。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +找到了!`InstallESDDmg.pkg` 里面包含 `InstallESD.dmg`。安装器期望的是直接的 DMG 文件,而不是 xar 包裹的版本。需要提取出来。先检查提取后的大小。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +`InstallESD.dmg` 确认在 xar 包内。现在提取它。当前 14GB 可用,提取后约需 7GB,刚好够用。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +提取中,7.2GB 文件需要时间。等待 2 分钟后检查。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +提取成功!`InstallESD.dmg` 7.2GB,日期 2020-11-06(Catalina 10.15.7 正确日期)。现在替换 SharedSupport 中的文件并更新 plist。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +SharedSupport 现在包含直接的 `InstallESD.dmg`(7.2GB),`InstallInfo.plist` 也已更新引用。磁盘 14GB 可用。 + +现在重新启动安装。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +还是 701。让我看最新的详细日志,确认问题根源。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +同样的错误。根本原因是安装器的 `OSInstall.mpkg` 分发文档引用了 `Core.pkg`、`EmbeddedOSFirmware.pkg`、`SecureBoot.pkg` 但文件不存在。让我检查 `OSInstall.mpkg` 的结构,并创建缺失的占位包。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +现在我明白了!`OSInstall.mpkg` 引用的 `Core.pkg` 等文件应该在 `InstallESD.dmg` 内部。让我挂载它验证。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +InstallESD.dmg 结构完全正确!里面有 `Packages/` 目录,包含 `Core.pkg`(7.0GB)等所有必需文件。问题是 `startosinstall` 无法正确解析我们手动组装的安装器结构。 + +换一个思路:直接从已挂载的 InstallESD.dmg 中用 `installer` 命令安装。这样包路径是相对正确的。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +"OS Install started" — 安装已启动并在进行中!进度条正在推进。这是操作系统级安装,需要较长时间。等待 2 分钟后再检查。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +安装器崩溃了 — "FileSystemEnumerationFailure"(文件系统枚举遇到无效目录结构)。这可能是磁盘文件系统问题。先尝试修复磁盘,然后重试。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +无法修复启动卷(因为正在使用中)。让我验证文件系统并尝试找到有问题的目录。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +文件系统验证通过,没有问题。崩溃可能是因为 Catalina 安装器框架与 High Sierra 的兼容性问题。安装器在检查"可回收空间"时崩溃。 + +它需要 15.2GB 但我们只有 14GB。如果我们能释放到 15.2GB+,安装器可能跳过可回收空间计算。让我清理更多空间。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +让我换一个思路。先卸载 InstallESD.dmg(因为它的挂载可能干扰文件系统枚举),然后清理 SharedSupport 中不属于标准 App Store 格式的文件,最后重试 `startosinstall`。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +SharedSupport 现在很干净。但还需要更多空间(需 15.2GB,现有 14GB)。先释放空间,再启动安装。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +现在有 15.4GB 可用空间,超过了安装器要求的 15.2GB。 + +但我移除了 SharedSupport 中的 `OSInstall.mpkg`(`InstallInfo.plist` 仍引用它)。让我从 InstallESD.dmg 里面提取正确的版本放回去,然后重试。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +好,现在尝试 `startosinstall`。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +还是 701。让我看看最新日志中是否有不同线索。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +让我检查系统上是否有旧的安装残留数据,同时尝试 `softwareupdate` 方式。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +有旧的安装数据残留!`/macOS Install Data/` 存在并可能干扰安装。让我检查内容并清理。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +找到了!`/macOS Install Data/` 有残留的空 `index.sproduct`,安装器日志显示它在使用这个空产品数据!这很可能是 error 701 的真正原因。清理它并重试。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +文件被锁定了(特殊标志保护)。用 `chflags` 移除保护标志后再删除。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +`index.sproduct` 已成功删除!(条目数从 4 降到 3)。剩余的 `Locked Files` 受 SIP 保护但不影响安装。关键的空产品文件已清除。 + +再次尝试启动安装。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +`InstallInfo.plist` 中的 `chunklistURL` 指向不存在的文件。让我修复这个 plist,同时查找正确的 Catalina 安装器 plist 格式。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +让我尝试两件事:1) 重新给安装器 app 签名(之前我们移除了签名),2) 检查是否可以通过 `softwareupdate` 方式安装。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +签名失败了。让我换个思路 — `installer` 命令崩溃在"可回收空间计算"中。如果磁盘空间充足(>15.2GB),这个计算可能会被跳过。当前差约 350MB。让我再释放一些。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +还差约 122MB(15.09GB / 15.21GB)。继续清理。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +找到了!Boot Camp Windows 支持文件 1.5GB 完全不需要。清理这些大文件。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +现在有 17.2GB 可用空间,远超安装器所需的 15.2GB。理论上安装器不再需要计算可回收空间,应该不会崩溃。 + +重新挂载 InstallESD.dmg 并用 `installer` 命令安装。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +好消息 — 空间问题解决了(没有崩溃),但 `installer` 命令无法卸载正在使用的启动卷来转换 APFS。这意味着必须通过 `startosinstall` 走重启安装流程。 + +核心问题是 `/macOS Install Data/Locked Files` 残留在干扰 `startosinstall`。让我检查这些文件的确切保护标志并尝试强制删除。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +文件受 SIP 保护(`restricted` + `com.apple.rootless`),无法删除。让我检查 `startosinstall` 最新运行是否重建了 `index.sproduct`,以及尝试手动创建一个有效的产品定义。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +`startosinstall` 问题可能与手动组装的安装器结构有关。让我尝试完全不同的方法 — 在本地 Mac 上下载一个正确格式的 Catalina 安装器,然后传到远程机器。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +本地 Mac 有 14GB 可用空间,足够下载 Catalina 安装器(约 8.5GB)。使用 `softwareupdate` 下载完整正版安装器。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +10.15.7 不可用。让我试试 `installinstallmacos.py` 从 Apple 的目录下载正确的安装器。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +让我尝试通过 `softwareupdate` 直接从 Apple 服务器安装 Catalina。设置正确的软件更新目录。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +让我尝试一个新方法:用 `installer` 命令正确安装 `InstallAssistantAuto.pkg`(不是手动解压),这样会创建一个带正确签名的安装器 app。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +好的,有 16GB 空间了。现在需要重新下载 `InstallAssistantAuto.pkg`(10MB)并正确安装,然后重建 SharedSupport。先下载安装包。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +下载得到空文件。URL 可能已过期。让我在本地下载并传输。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +URL 已过期。需要重新从 Apple 目录获取当前有效的下载链接。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +找到了新的有效 URL。现在用正确方式安装 Catalina 安装器 — 先下载 `InstallAssistantAuto.pkg` 并用 `installer` 命令正规安装。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +安装失败。让我查看详细错误日志。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +`InstallAssistantAuto.pkg` 需要全部组件才能安装。让我用 `xar` 直接提取并手动重建,同时重新下载全部组件。但首先,让我尝试一个更聪明的方法 — 用分发文件一次性安装所有组件。 + +先下载小文件(distribution 和其他小组件),然后同时开始下载大文件。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +同时在本地下载分发文件(远程机器无法访问 HTTPS)。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +小文件全部下载完成,BaseSystem.dmg(476MB)还在下载中。继续等待。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +BaseSystem.dmg 已下载 248MB/476MB(52%)。再等 5 分钟。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +BaseSystem.dmg 被截断了(248MB/476MB),RecoveryHDMetaDmg.pkg 下载失败。让我从本地下载并传过去,同时传送 dist 文件。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +同时开始下载最大的文件(7.7GB InstallESDDmg.pkg)。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +BaseSystem.dmg 接近完成(346MB/498MB)。InstallESDDmg.pkg 刚开始(187MB/7737MB)。同时把 dist 文件传到远程机。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +dist 文件已传输。现在等待所有文件下载完成。InstallESDDmg.pkg(7.7GB)是最大的,预计需要较长时间。让我定期检查进度。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +下载速度很慢,可能有多个进程在竞争带宽。让我检查并优化。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +远程 curl 不可靠,大文件总是被截断。改用本地 curl 直接管道到远程机器,绕过远程 curl 的问题。 + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- + +## [AI] + +*(无文本内容)* + +--- diff --git a/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/agent_sync_restore.py b/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/agent_sync_restore.py new file mode 100644 index 00000000..3cf2f1d2 --- /dev/null +++ b/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/agent_sync_restore.py @@ -0,0 +1,268 @@ +#!/usr/bin/env python3 +""" +Agent 列表同步与恢复 +- 导出:将 Cursor 右侧 Agent 列表(来自 state.vscdb composerData)同步到 MongoDB「Agent列表」 +- 恢复:从 MongoDB「对话记录」+「消息内容」写回 state.vscdb,使新工作区打开时右侧 Agent 列表恢复显示 + +注意:恢复时建议先关闭 Cursor,完成后再重新打开。 + +用法: + python3 agent_sync_restore.py export # 当前 Agent 列表 → MongoDB + python3 agent_sync_restore.py restore # MongoDB → state.vscdb(恢复全部或指定) + python3 agent_sync_restore.py restore --name "阿猫的苹果笔记本" # 只恢复名称匹配的对话为右侧 Agent + python3 agent_sync_restore.py list # 查看 MongoDB 中 Agent 列表 +""" + +import argparse +import json +import os +import sqlite3 +import sys +from datetime import datetime, timezone +from pathlib import Path + +try: + from pymongo import MongoClient, UpdateOne + from pymongo.errors import BulkWriteError +except ImportError: + print("需要 pymongo: pip install pymongo") + sys.exit(1) + +MONGO_URI = "mongodb://admin:admin123@localhost:27017/?authSource=admin" +DB_NAME = "karuo_site" +STATE_VSCDB = os.path.expanduser( + "~/Library/Application Support/Cursor/User/globalStorage/state.vscdb" +) + + +def 时间戳转时间(ts_ms): + if not ts_ms: + return None + try: + return datetime.fromtimestamp(ts_ms / 1000, tz=timezone.utc) + except (ValueError, OSError): + return None + + +def get_db(): + client = MongoClient(MONGO_URI, serverSelectionTimeoutMS=5000) + try: + client.admin.command("ping") + except Exception as e: + print(f"MongoDB 连接失败: {e}") + sys.exit(1) + return client, client[DB_NAME] + + +def export_to_mongo(db): + """从 state.vscdb 读取 composerData,同步到 MongoDB 集合「Agent列表」""" + if not os.path.exists(STATE_VSCDB): + print(f"未找到: {STATE_VSCDB}") + return + + conn = sqlite3.connect(STATE_VSCDB) + cur = conn.cursor() + cur.execute("SELECT key, value FROM cursorDiskKV WHERE key LIKE 'composerData:%'") + + ops = [] + count = 0 + for row in cur.fetchall(): + key, value = row + 对话ID = key.replace("composerData:", "") + try: + data = json.loads(value) + except (json.JSONDecodeError, TypeError): + continue + + 名称 = data.get("name") or data.get("subtitle") or "" + headers = data.get("fullConversationHeadersOnly", []) + 消息数 = len(headers) + 创建时间 = 时间戳转时间(data.get("createdAt")) + 更新时间 = 时间戳转时间(data.get("lastUpdatedAt")) + + doc = { + "对话ID": 对话ID, + "名称": 名称 or f"Agent_{对话ID[:8]}", + "消息数量": 消息数, + "创建时间": 创建时间, + "更新时间": 更新时间, + "是否Agent": data.get("isAgentic", False), + "来源": "state.vscdb", + "同步时间": datetime.now(timezone.utc), + } + ops.append(UpdateOne({"对话ID": 对话ID}, {"$set": doc}, upsert=True)) + count += 1 + + conn.close() + + if ops: + try: + db["Agent列表"].create_index("对话ID", unique=True) + db["Agent列表"].bulk_write(ops, ordered=False) + except BulkWriteError as e: + print("部分写入失败:", e.details) + print(f"已同步 {count} 个 Agent 到 MongoDB 集合「Agent列表」") + else: + print("无 composerData 可同步") + + +def restore_from_mongo(db, limit=None, 对话ID列表=None, name_filter=None): + """从 MongoDB 对话记录+消息内容 写回 state.vscdb,使 Cursor 右侧 Agent 列表恢复""" + if not os.path.exists(STATE_VSCDB): + print(f"未找到: {STATE_VSCDB}") + return + + if 对话ID列表 is not None: + # 调用方已指定要恢复的对话 ID + pass + elif name_filter: + # 按名称模糊匹配,只恢复这些对话为 Agent + convs = list( + db["对话记录"] + .find({"名称": {"$regex": name_filter.strip(), "$options": "i"}}) + .sort("更新时间", -1) + ) + 对话ID列表 = [c["对话ID"] for c in convs] + if not 对话ID列表: + print(f'未找到名称包含 "{name_filter}" 的对话。') + return + print(f"按名称匹配到 {len(对话ID列表)} 条对话,将恢复为右侧 Agent。") + else: + # 默认:Agent列表 或 对话记录 最近 N 条 + agent_cursor = db["Agent列表"].find({}).sort("更新时间", -1) + if limit: + agent_cursor = agent_cursor.limit(limit) + 对话ID列表 = [a["对话ID"] for a in agent_cursor] + + if not 对话ID列表: + # 若 Agent列表 为空,则从 对话记录 取最近 N 条 + 对话ID列表 = [ + d["对话ID"] + for d in db["对话记录"].find({}, {"对话ID": 1}).sort("更新时间", -1).limit(limit or 200) + ] + + if not 对话ID列表: + print("MongoDB 中无对话可恢复") + return + + conn = sqlite3.connect(STATE_VSCDB) + cur = conn.cursor() + + # 准备写入 cursorDiskKV + insert_count = 0 + + for 对话ID in 对话ID列表: + conv = db["对话记录"].find_one({"对话ID": 对话ID}) + if not conv: + continue + + 名称 = conv.get("名称", "") or f"Agent_{对话ID[:8]}" + 创建时间 = conv.get("创建时间") + 更新时间 = conv.get("更新时间") or 创建时间 + if 创建时间 and hasattr(创建时间, "timestamp"): + created_ts = int(创建时间.timestamp() * 1000) + else: + created_ts = int(datetime.now(timezone.utc).timestamp() * 1000) + if 更新时间 and hasattr(更新时间, "timestamp"): + updated_ts = int(更新时间.timestamp() * 1000) + else: + updated_ts = created_ts + + msgs = list(db["消息内容"].find({"对话ID": 对话ID}).sort("_id", 1)) + headers = [{"bubbleId": m["消息ID"]} for m in msgs] + + # 最小化 composerData,保证 Cursor 能识别并显示在列表 + composer_data = { + "_v": 14, + "composerId": 对话ID, + "name": 名称, + "subtitle": "", + "createdAt": created_ts, + "lastUpdatedAt": updated_ts, + "fullConversationHeadersOnly": headers, + "hasLoaded": True, + "status": "none", + "text": "", + "richText": "", + "context": {"notepads": [], "composers": [], "quotes": [], "fileSelections": [], "folderSelections": [], "selections": [], "cursorRules": [], "mentions": {"notepads": {}, "composers": {}}}, + "conversationMap": {}, + "isAgentic": conv.get("是否Agent", False), + "modelConfig": conv.get("模型配置", {}), + } + + key = f"composerData:{对话ID}" + value = json.dumps(composer_data, ensure_ascii=False) + cur.execute("INSERT OR REPLACE INTO cursorDiskKV (key, value) VALUES (?, ?)", (key, value)) + insert_count += 1 + + # 写回每条消息到 bubbleId + for m in msgs: + mid = m["消息ID"] + msg_type = m.get("类型", 2) + content = m.get("内容", "") + created_at = m.get("创建时间") + if created_at and hasattr(created_at, "timestamp"): + rpc_ts = int(created_at.timestamp() * 1000) + else: + rpc_ts = created_ts + + bubble = { + "_v": 3, + "type": msg_type, + "bubbleId": mid, + "text": content, + "isAgentic": m.get("是否Agent", False), + "tokenCount": m.get("Token用量", {}), + "timingInfo": {"clientRpcSendTime": rpc_ts} if rpc_ts else {}, + } + bkey = f"bubbleId:{对话ID}:{mid}" + bval = json.dumps(bubble, ensure_ascii=False) + cur.execute("INSERT OR REPLACE INTO cursorDiskKV (key, value) VALUES (?, ?)", (bkey, bval)) + insert_count += 1 + + conn.commit() + conn.close() + print(f"已恢复 {len(对话ID列表)} 个 Agent 到 state.vscdb(共写入 {insert_count} 条记录)") + print("请重启 Cursor 后查看右侧 Agent 列表。") + + +def list_agents(db, limit=50): + """列出 MongoDB 中 Agent 列表""" + agents = list(db["Agent列表"].find({}).sort("更新时间", -1).limit(limit)) + if not agents: + print("「Agent列表」为空,请先执行: python3 agent_sync_restore.py export") + return + print(f"\n共 {len(agents)} 条(最近 {limit} 条)\n") + for i, a in enumerate(agents, 1): + name = a.get("名称", "") + cid = a.get("对话ID", "") + n = a.get("消息数量", 0) + t = a.get("更新时间") + ts = t.strftime("%Y-%m-%d %H:%M") if t else "" + print(f" {i}. {name}") + print(f" ID: {cid} | 消息: {n} | 更新: {ts}") + print() + + +def main(): + parser = argparse.ArgumentParser(description="Agent 列表同步与恢复") + parser.add_argument("action", choices=["export", "restore", "list"], help="export=同步到MongoDB restore=从MongoDB恢复 list=查看列表") + parser.add_argument("--limit", type=int, default=None, help="restore 时最多恢复 N 个 Agent") + parser.add_argument("--name", type=str, default=None, help="restore 时只恢复名称包含此关键词的对话(会出现在右侧 Agent 列表)") + args = parser.parse_args() + + client, db = get_db() + + if args.action == "export": + export_to_mongo(db) + elif args.action == "restore": + print("即将从 MongoDB 写回 state.vscdb,建议先关闭 Cursor。") + restore_from_mongo(db, limit=args.limit, name_filter=args.name) + elif args.action == "list": + list_agents(db) + + client.close() + + +if __name__ == "__main__": + main() diff --git a/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/auto_archive.py b/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/auto_archive.py new file mode 100755 index 00000000..45d2f2e1 --- /dev/null +++ b/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/auto_archive.py @@ -0,0 +1,302 @@ +#!/usr/bin/env python3 +""" +自动归档当前对话到 MongoDB +在每次对话结束时调用,自动将本轮对话存入数据库 + +用法(由卡若AI自动调用): + python3 auto_archive.py --id <对话ID> --name "对话名称" --project "项目名" + python3 auto_archive.py --id <对话ID> --name "对话名称" --messages '[{"角色":"用户","内容":"xxx"},{"角色":"AI","内容":"yyy"}]' + python3 auto_archive.py --id <对话ID> --name "对话名称" --summary "本轮对话摘要" + python3 auto_archive.py --scan-new # 扫描 state.vscdb 中新增的对话并归档 +""" + +import argparse +import json +import os +import sqlite3 +import sys +from datetime import datetime, timezone +from pathlib import Path + +# 保证从任意目录运行都能找到 chat_fallback +_script_dir = Path(__file__).resolve().parent +if str(_script_dir) not in sys.path: + sys.path.insert(0, str(_script_dir)) + +try: + from pymongo import MongoClient, UpdateOne + from pymongo.errors import BulkWriteError +except ImportError: + print("需要 pymongo: pip install pymongo") + sys.exit(1) + +MONGO_URI = "mongodb://admin:admin123@localhost:27017/?authSource=admin" +DB_NAME = "karuo_site" +STATE_VSCDB = os.path.expanduser( + "~/Library/Application Support/Cursor/User/globalStorage/state.vscdb" +) + +# 数据库不可用时从本地 fallback 读取最近对话 +import chat_fallback as _fallback + +项目分类规则 = { + "卡若AI": ["卡若AI", "karuo_ai", "BOOTSTRAP", "SKILL_REGISTRY", "五行", "卡若ai"], + "Soul创业": ["soul", "Soul", "soul创业", "卡若创业派对", "soul派对", "soul运营"], + "存客宝": ["cunkebao", "存客宝", "触客宝", "touchkebao"], + "玩值电竞": ["玩值", "wanzhi", "wanzhi_esports", "wzdj"], + "数据处理": ["数据中台", "datacenter", "KR_", "SG_", "导入mongo", "mongo数据库", "集合导入", "嘟嘟牛", "社工", "MongoDB迁移", "数据库迁移", "数据库恢复", "数据库优化", "/Users/karuo/数据库"], + "神射手": ["shensheshou", "神射手"], + "上帝之眼": ["上帝之眼", "god_eye", "量化交易"], + "服务器": ["服务器", "宝塔", "nginx", "SSL", "502", "腾讯云"], + "设备管理": ["ADB", "投屏", "scrcpy", "局域网", "远程控制", "192.168"], + "群晖NAS": ["群晖", "Synology", "NAS", "CKBNAS", "nas_init", "1825", "smb://", "NAS部署", "USB连接"], + "飞书": ["飞书", "feishu", "lark", "妙记", "飞书妙记", "智能纪要"], + "微信管理": ["微信", "WeChat", "微信存储", "社群占用"], + "工具维护": ["cursor", "state.vscdb", "icloud", "docker", "Docker", "硬盘", "磁盘", "空间", "node_modules", ".next", "清理", "输入法", "搜狗", "下载目录", "整理下载", "文件分类", "无法安装", "快捷方式", "进程", "快捷键", "GitHub", "Gitea", "fnvtk", "token"], + "个人": ["/个人/", "/1、卡若", "日记", "记忆", "iPhone", "相册", "MacBook相册", "Photos"], + "开发": ["/开发/", "知己", "项目模板", "智能项目生成", "金:项目", "银掌柜", "续茄", "小程序", "腾讯书籍", "分销模块", "前后端整合", "package.json", "开发文档", "开发模板", "MBTI", "route.ts", "page.tsx", "wxml", "wxss"], +} + + +def 检测项目(文件路径, 名称="", 内容=""): + 搜索文本 = " ".join(文件路径) + " " + 名称 + " " + 内容 + for 项目, 关键词 in 项目分类规则.items(): + for kw in 关键词: + if kw.lower() in 搜索文本.lower(): + return 项目 + return "未分类" + + +def 时间戳转时间(ts_ms): + if not ts_ms: + return None + try: + return datetime.fromtimestamp(ts_ms / 1000, tz=timezone.utc) + except (ValueError, OSError): + return None + + +def 归档指定对话(db, 对话ID, 名称="", 项目="", 摘要="", 消息列表=None, 标签列表=None): + """手动归档一个对话(由AI在对话结束时调用)""" + now = datetime.now(timezone.utc) + + if not 项目: + 所有内容 = 摘要 + if 消息列表: + 所有内容 += " ".join(m.get("内容", "") for m in 消息列表[:5]) + 项目 = 检测项目([], 名称, 所有内容) + + 首条 = "" + if 消息列表: + for m in 消息列表: + if m.get("角色") == "用户" and m.get("内容"): + 首条 = m["内容"][:500] + break + + 对话文档 = { + "对话ID": 对话ID, + "名称": 名称 or f"对话 {对话ID[:8]}", + "副标题": 摘要[:200] if 摘要 else "", + "项目": 项目, + "标签": 标签列表 or [], + "创建时间": now, + "更新时间": now, + "消息数量": len(消息列表) if 消息列表 else 0, + "是否Agent": True, + "模型配置": {}, + "关联文件": [], + "首条消息": 首条, + "来源": "手动归档", + "来源工作区": "", + "迁移时间": now, + } + + db["对话记录"].update_one( + {"对话ID": 对话ID}, {"$set": 对话文档}, upsert=True + ) + + if 消息列表: + ops = [] + for i, m in enumerate(消息列表): + ops.append(UpdateOne( + {"对话ID": 对话ID, "消息ID": f"manual-{i}"}, + {"$set": { + "对话ID": 对话ID, + "消息ID": f"manual-{i}", + "类型": 1 if m.get("角色") == "用户" else 2, + "角色": m.get("角色", "未知"), + "内容": m.get("内容", ""), + "创建时间": now, + "是否Agent": True, + "Token用量": {}, + "工具调用数": 0, + "代码块数": 0, + }}, + upsert=True, + )) + if ops: + try: + db["消息内容"].bulk_write(ops, ordered=False) + except BulkWriteError: + pass + + print(f"已归档: [{项目}] {名称 or 对话ID[:8]} ({len(消息列表) if 消息列表 else 0} 条消息)") + try: + _fallback.追加一条(对话文档) + except Exception: + pass + return 对话文档 + + +def 扫描新增对话(db): + """扫描 state.vscdb 中新增的对话(增量归档)""" + if not os.path.exists(STATE_VSCDB): + print("state.vscdb 不存在") + return + + 已有ID = set( + doc["对话ID"] for doc in db["对话记录"].find({}, {"对话ID": 1}) + ) + + conn = sqlite3.connect(STATE_VSCDB) + cursor = conn.cursor() + cursor.execute("SELECT key, value FROM cursorDiskKV WHERE key LIKE 'composerData:%'") + + 新增 = 0 + 新增对话列表 = [] + for row in cursor.fetchall(): + key, value = row + 对话ID = key.replace("composerData:", "") + if 对话ID in 已有ID: + continue + + try: + data = json.loads(value) + except (json.JSONDecodeError, TypeError): + continue + + headers = data.get("fullConversationHeadersOnly", []) + if not headers: + continue + + ctx = data.get("context", {}) + 文件路径 = [f.get("uri", {}).get("fsPath", "") for f in ctx.get("fileSelections", []) if f.get("uri", {}).get("fsPath")] + 名称 = data.get("name", "") or "" + 副标题 = data.get("subtitle", "") or "" + 项目 = 检测项目(文件路径, 名称, 副标题) + + 消息ID列表 = [h.get("bubbleId", "") for h in headers if h.get("bubbleId")] + 首条 = "" + + # 提取消息 + 消息ops = [] + for mid in 消息ID列表: + cursor.execute("SELECT value FROM cursorDiskKV WHERE key = ?", (f"bubbleId:{对话ID}:{mid}",)) + r = cursor.fetchone() + if not r: + continue + try: + mdata = json.loads(r[0]) + except: + continue + 类型 = mdata.get("type", 0) + 内容 = mdata.get("text", "") or "" + if 类型 == 1 and not 首条 and 内容: + 首条 = 内容[:500] + timing = mdata.get("timingInfo", {}) + 创建时间 = 时间戳转时间(timing.get("clientRpcSendTime")) if timing.get("clientRpcSendTime") else None + + 消息ops.append(UpdateOne( + {"对话ID": 对话ID, "消息ID": mid}, + {"$set": { + "对话ID": 对话ID, "消息ID": mid, + "类型": 类型, "角色": "用户" if 类型 == 1 else "AI", + "内容": 内容, "创建时间": 创建时间, + "是否Agent": mdata.get("isAgentic", False), + "Token用量": mdata.get("tokenCount", {}), + "工具调用数": len(mdata.get("toolResults", []) or []), + "代码块数": len(mdata.get("codeBlocks", []) or []), + }}, + upsert=True, + )) + + db["对话记录"].update_one( + {"对话ID": 对话ID}, + {"$set": { + "对话ID": 对话ID, "名称": 名称, "副标题": 副标题, + "项目": 项目, "标签": [], + "创建时间": 时间戳转时间(data.get("createdAt")), + "更新时间": 时间戳转时间(data.get("lastUpdatedAt")), + "消息数量": len(headers), "是否Agent": data.get("isAgentic", False), + "模型配置": data.get("modelConfig", {}), "关联文件": 文件路径[:50], + "首条消息": 首条, "来源": "state.vscdb", "来源工作区": "", + "迁移时间": datetime.now(timezone.utc), + }}, + upsert=True, + ) + + if 消息ops: + try: + db["消息内容"].bulk_write(消息ops, ordered=False) + except BulkWriteError: + pass + + 新增 += 1 + 新增对话列表.append({ + "对话ID": 对话ID, + "名称": 名称, + "项目": 项目, + "首条消息": 首条, + "创建时间": 时间戳转时间(data.get("createdAt")), + "消息数量": len(headers), + }) + + conn.close() + if 新增对话列表: + try: + _fallback.批量追加(新增对话列表) + except Exception: + pass + print(f"增量归档完成: 新增 {新增} 个对话") + + +def main(): + parser = argparse.ArgumentParser(description="自动归档对话到 MongoDB") + parser.add_argument("--id", type=str, help="对话ID") + parser.add_argument("--name", type=str, default="", help="对话名称") + parser.add_argument("--project", type=str, default="", help="项目名") + parser.add_argument("--summary", type=str, default="", help="对话摘要") + parser.add_argument("--messages", type=str, default="", help="消息列表JSON") + parser.add_argument("--tags", type=str, default="", help="标签,逗号分隔") + parser.add_argument("--scan-new", action="store_true", help="扫描新增对话") + args = parser.parse_args() + + client = MongoClient(MONGO_URI, serverSelectionTimeoutMS=5000) + try: + client.admin.command("ping") + except Exception as e: + print(f"MongoDB 连接失败: {e}") + sys.exit(1) + + db = client[DB_NAME] + + if args.scan_new: + 扫描新增对话(db) + elif args.id: + 消息列表 = None + if args.messages: + try: + 消息列表 = json.loads(args.messages) + except json.JSONDecodeError: + print("消息列表JSON格式错误") + sys.exit(1) + 标签 = [t.strip() for t in args.tags.split(",") if t.strip()] if args.tags else [] + 归档指定对话(db, args.id, args.name, args.project, args.summary, 消息列表, 标签) + else: + parser.print_help() + + client.close() + + +if __name__ == "__main__": + main() diff --git a/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/chat_fallback.py b/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/chat_fallback.py new file mode 100644 index 00000000..afc699f6 --- /dev/null +++ b/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/chat_fallback.py @@ -0,0 +1,100 @@ +#!/usr/bin/env python3 +""" +聊天记录 · 本地 Fallback(MongoDB 不可用时使用) + +- 每次归档到 MongoDB 后同步写入本文件,保留最近 N 条对话摘要。 +- context_recall / query_chat 在连不上 MongoDB 时从此读取并做简单关键词匹配。 +""" + +import json +import os +from datetime import datetime, timezone +from pathlib import Path + +# 与 auto_archive 同目录,fallback 在上一级 +SCRIPT_DIR = Path(__file__).resolve().parent +FALLBACK_DIR = SCRIPT_DIR.parent / "fallback" +FALLBACK_FILE = FALLBACK_DIR / "recent_chats_fallback.json" +MAX_ENTRIES = 30 + + +def _ensure_dir(): + FALLBACK_DIR.mkdir(parents=True, exist_ok=True) + + +def _serialize_dt(dt): + if dt is None: + return None + if hasattr(dt, "isoformat"): + return dt.isoformat() + return str(dt) + + +def 追加一条(对话文档: dict): + """将一条对话摘要追加到 fallback 文件(新的在头,保留最近 MAX_ENTRIES 条)。""" + _ensure_dir() + entry = { + "对话ID": 对话文档.get("对话ID", ""), + "名称": 对话文档.get("名称", ""), + "项目": 对话文档.get("项目", ""), + "首条消息": (对话文档.get("首条消息") or "")[:500], + "创建时间": _serialize_dt(对话文档.get("创建时间")), + "消息数量": 对话文档.get("消息数量", 0), + } + data = 读取_all() + # 去重:同 对话ID 只保留最新 + conv_id = entry["对话ID"] + data["conversations"] = [c for c in data["conversations"] if c.get("对话ID") != conv_id] + data["conversations"].insert(0, entry) + data["conversations"] = data["conversations"][:MAX_ENTRIES] + data["updated"] = datetime.now(timezone.utc).isoformat() + with open(FALLBACK_FILE, "w", encoding="utf-8") as f: + json.dump(data, f, ensure_ascii=False, indent=0) + return True + + +def 批量追加(对话文档列表: list): + """批量追加(新对话在头)。""" + if not 对话文档列表: + return + _ensure_dir() + data = 读取_all() + existing_ids = {c.get("对话ID") for c in data["conversations"]} + for 文档 in reversed(对话文档列表): + if 文档.get("对话ID") in existing_ids: + continue + entry = { + "对话ID": 文档.get("对话ID", ""), + "名称": 文档.get("名称", ""), + "项目": 文档.get("项目", ""), + "首条消息": (文档.get("首条消息") or "")[:500], + "创建时间": _serialize_dt(文档.get("创建时间")), + "消息数量": 文档.get("消息数量", 0), + } + data["conversations"].insert(0, entry) + existing_ids.add(entry["对话ID"]) + data["conversations"] = data["conversations"][:MAX_ENTRIES] + data["updated"] = datetime.now(timezone.utc).isoformat() + with open(FALLBACK_FILE, "w", encoding="utf-8") as f: + json.dump(data, f, ensure_ascii=False, indent=0) + + +def 读取_all() -> dict: + """读取完整 fallback 数据。""" + _ensure_dir() + if not FALLBACK_FILE.exists(): + return {"updated": None, "conversations": []} + try: + with open(FALLBACK_FILE, "r", encoding="utf-8") as f: + data = json.load(f) + except (json.JSONDecodeError, OSError): + return {"updated": None, "conversations": []} + if not isinstance(data.get("conversations"), list): + data["conversations"] = [] + return data + + +def 读取列表() -> list: + """返回最近对话列表(用于 context_recall 降级)。""" + data = 读取_all() + return data.get("conversations", []) diff --git a/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/cleanup_statedb.py b/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/cleanup_statedb.py new file mode 100755 index 00000000..11488a52 --- /dev/null +++ b/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/cleanup_statedb.py @@ -0,0 +1,169 @@ +#!/usr/bin/env python3 +""" +state.vscdb 安全清理(中文字段版) + +用法: + python3 cleanup_statedb.py --days 30 # dry-run + python3 cleanup_statedb.py --days 30 --execute # 执行 + python3 cleanup_statedb.py --days 30 --execute --backup # 备份后执行 + python3 cleanup_statedb.py --orphans # 清理孤立数据 +""" + +import argparse +import os +import shutil +import sqlite3 +import sys +import json +from datetime import datetime, timezone + +try: + from pymongo import MongoClient +except ImportError: + print("需要 pymongo: pip install pymongo") + sys.exit(1) + +MONGO_URI = "mongodb://admin:admin123@localhost:27017/?authSource=admin" +DB_NAME = "karuo_site" +STATE_VSCDB = os.path.expanduser("~/Library/Application Support/Cursor/User/globalStorage/state.vscdb") + + +def get_db(): + client = MongoClient(MONGO_URI, serverSelectionTimeoutMS=5000) + try: + client.admin.command("ping") + except Exception as e: + print(f"连接失败: {e}") + sys.exit(1) + return client, client[DB_NAME] + + +def 备份(): + if not os.path.exists(STATE_VSCDB): + return False + 备份目录 = os.path.expanduser("~/Documents/个人/卡若AI/01_卡资(金)/金仓_存储备份/聊天记录管理/备份") + os.makedirs(备份目录, exist_ok=True) + ts = datetime.now().strftime("%Y%m%d_%H%M%S") + 目标 = os.path.join(备份目录, f"state.vscdb.backup_{ts}") + gb = os.path.getsize(STATE_VSCDB) / 1024**3 + print(f"备份 state.vscdb ({gb:.1f} GB) → {目标}") + shutil.copy2(STATE_VSCDB, 目标) + print("备份完成") + return True + + +def 分析(conn, mongo_db): + cur = conn.cursor() + cur.execute("SELECT COUNT(*) FROM cursorDiskKV WHERE key LIKE 'bubbleId:%'") + 总数 = cur.fetchone()[0] + + cur.execute("SELECT DISTINCT substr(key, 10, 36) FROM cursorDiskKV WHERE key LIKE 'bubbleId:%'") + sqlite对话ID = set(row[0] for row in cur.fetchall()) + + 已迁移 = set(doc["对话ID"] for doc in mongo_db["对话记录"].find({}, {"对话ID": 1})) + 含消息 = set() + for cid in 已迁移: + if mongo_db["消息内容"].count_documents({"对话ID": cid}) > 0: + 含消息.add(cid) + + 可清理 = sqlite对话ID & 含消息 + 可清理数 = 0 + for cid in 可清理: + cur.execute("SELECT COUNT(*) FROM cursorDiskKV WHERE key LIKE ?", (f"bubbleId:{cid}:%",)) + 可清理数 += cur.fetchone()[0] + + composer_ids = set( + row[0].replace("composerData:", "") + for row in conn.execute("SELECT key FROM cursorDiskKV WHERE key LIKE 'composerData:%'").fetchall() + ) + 孤立ID = sqlite对话ID - composer_ids + 孤立数 = 0 + for cid in 孤立ID: + cur.execute("SELECT COUNT(*) FROM cursorDiskKV WHERE key LIKE ?", (f"bubbleId:{cid}:%",)) + 孤立数 += cur.fetchone()[0] + + return { + "总数": 总数, "sqlite对话数": len(sqlite对话ID), + "已迁移": len(已迁移), "含消息": len(含消息), + "可清理对话": len(可清理), "可清理消息": 可清理数, + "孤立对话": len(孤立ID), "孤立消息": 孤立数, + "可清理ID": 可清理, "孤立ID": 孤立ID, + } + + +def 执行清理(conn, ids, 标签=""): + cur = conn.cursor() + 总删 = 0 + for cid in ids: + cur.execute("DELETE FROM cursorDiskKV WHERE key LIKE ?", (f"bubbleId:{cid}:%",)) + 总删 += cur.rowcount + conn.commit() + print(f" {标签}: 删除 {总删} 条") + return 总删 + + +def main(): + parser = argparse.ArgumentParser(description="state.vscdb 安全清理") + parser.add_argument("--days", type=int, default=30) + parser.add_argument("--execute", action="store_true") + parser.add_argument("--backup", action="store_true") + parser.add_argument("--orphans", action="store_true") + parser.add_argument("--vacuum", action="store_true") + args = parser.parse_args() + + if not os.path.exists(STATE_VSCDB): + print(f"不存在: {STATE_VSCDB}") + sys.exit(1) + + client, mongo_db = get_db() + gb = os.path.getsize(STATE_VSCDB) / 1024**3 + print(f"state.vscdb: {gb:.1f} GB") + + conn = sqlite3.connect(STATE_VSCDB) + r = 分析(conn, mongo_db) + + print(f"\n{'=' * 55}") + print(f" 清理分析") + print(f"{'=' * 55}") + print(f" SQLite bubbleId 总数: {r['总数']:,}") + print(f" SQLite 对话数: {r['sqlite对话数']:,}") + print(f" MongoDB 已迁移: {r['已迁移']:,}") + print(f" MongoDB 含消息: {r['含消息']:,}") + print(f" 可安全清理对话: {r['可清理对话']:,}") + print(f" 可安全清理 bubbleId: {r['可清理消息']:,}") + print(f" 孤立对话: {r['孤立对话']:,}") + print(f" 孤立 bubbleId: {r['孤立消息']:,}") + print(f"{'=' * 55}") + + if not args.execute: + print("\n⚠️ dry-run,未删除。加 --execute 执行。") + conn.close() + client.close() + return + + if args.backup and not 备份(): + print("备份失败") + conn.close() + client.close() + return + + 总删 = 0 + if r["可清理消息"] > 0: + 总删 += 执行清理(conn, r["可清理ID"], "已迁移数据") + if args.orphans and r["孤立消息"] > 0: + 总删 += 执行清理(conn, r["孤立ID"], "孤立数据") + print(f"\n总删除: {总删:,}") + + if args.vacuum and 总删 > 0: + print("\nVACUUM 压缩中...") + pre = os.path.getsize(STATE_VSCDB) + conn.execute("VACUUM") + post = os.path.getsize(STATE_VSCDB) + print(f" {pre/1024**3:.1f} GB → {post/1024**3:.1f} GB (释放 {(pre-post)/1024**3:.1f} GB)") + + conn.close() + client.close() + + +if __name__ == "__main__": + main() diff --git a/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/context_recall.py b/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/context_recall.py new file mode 100755 index 00000000..bf58e53e --- /dev/null +++ b/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/context_recall.py @@ -0,0 +1,310 @@ +#!/usr/bin/env python3 +""" +上下文召回:新建对话时从 MongoDB 匹配相关历史对话 +根据用户输入的关键词/描述,搜索 MongoDB 中最相关的历史对话, +返回摘要和关键上下文,供新对话使用 + +用法: + python3 context_recall.py "用户的问题或关键词" + python3 context_recall.py "存客宝部署" --limit 5 + python3 context_recall.py "飞书日志" --project "飞书" + python3 context_recall.py "Soul运营报表" --detail +""" + +import argparse +import re +import sys +from datetime import datetime, timezone +from pathlib import Path + +# 保证从任意目录运行都能找到 chat_fallback +_script_dir = Path(__file__).resolve().parent +if str(_script_dir) not in sys.path: + sys.path.insert(0, str(_script_dir)) + +try: + from pymongo import MongoClient +except ImportError: + MongoClient = None + +MONGO_URI = "mongodb://admin:admin123@localhost:27017/?authSource=admin" +DB_NAME = "karuo_site" + + +def get_db(): + """连接 MongoDB;失败时返回 (None, None),由调用方降级到 fallback。""" + if MongoClient is None: + return None, None + client = MongoClient(MONGO_URI, serverSelectionTimeoutMS=5000) + try: + client.admin.command("ping") + except Exception as e: + print(f"MongoDB 连接失败: {e},使用本地最近对话 fallback。", file=sys.stderr) + try: + client.close() + except Exception: + pass + return None, None + return client, client[DB_NAME] + + +def 从_fallback_召回(查询文本, 项目过滤=None, limit=5): + """MongoDB 不可用时从本地 fallback 文件做关键词匹配,返回与 召回历史对话 相同结构。""" + try: + import chat_fallback + 列表 = chat_fallback.读取列表() + except Exception: + return None + 关键词 = 提取关键词(查询文本) + if not 关键词: + 关键词 = 查询文本.split()[:5] + 结果 = [] + for c in 列表: + 名称 = c.get("名称", "") or "" + 项目 = c.get("项目", "") or "" + 首条 = c.get("首条消息", "") or "" + 搜索文本 = f"{名称} {项目} {首条}".lower() + if 项目过滤 and 项目过滤.lower() not in 项目.lower(): + continue + score = sum(1 for kw in 关键词 if kw.lower() in 搜索文本) + if score > 0: + 结果.append({ + "对话ID": c.get("对话ID", ""), + "名称": 名称, + "项目": 项目, + "创建时间": c.get("创建时间"), + "消息数量": c.get("消息数量", 0), + "首条消息": 首条[:300], + "匹配片段": 首条[:300], + }) + 结果.sort(key=lambda x: -len(x.get("匹配片段", ""))) + 结果 = 结果[:limit] + return 结果 if 结果 else None + + +def 提取关键词(文本): + """从用户输入提取搜索关键词""" + cleaned = re.sub(r'[^\w\s\u4e00-\u9fff]', ' ', 文本) + words = cleaned.split() + stopwords = {"的", "了", "在", "是", "我", "有", "和", "就", "不", "人", "都", "一", "这", "上", "也", "到", "说", + "要", "会", "可以", "你", "对", "出", "能", "他", "时", "过", "把", "很", "那", "什么", "用", "被", + "从", "最", "还", "做", "但", "它", "让", "给", "看", "去", "想", "怎么", "帮", "帮我", "请", "一下"} + keywords = [w for w in words if w not in stopwords and len(w) > 1] + return keywords + + +def 召回历史对话(db, 查询文本, 项目过滤=None, limit=5, 详细=False): + """ + 从 MongoDB 召回与查询文本最相关的历史对话 + 返回格式化的上下文供新对话使用 + """ + 关键词 = 提取关键词(查询文本) + if not 关键词: + 关键词 = 查询文本.split()[:5] + + 搜索词 = " ".join(关键词) + 结果 = [] + 对话ID集 = set() + + # 方式1: 全文搜索消息内容 + try: + 消息结果 = db["消息内容"].find( + {"$text": {"$search": 搜索词}}, + {"score": {"$meta": "textScore"}}, + ).sort([("score", {"$meta": "textScore"})]).limit(limit * 3) + + for msg in 消息结果: + cid = msg["对话ID"] + if cid not in 对话ID集: + 对话ID集.add(cid) + 结果.append({ + "对话ID": cid, + "匹配来源": "消息内容", + "匹配片段": msg.get("内容", "")[:300], + "分数": msg.get("score", 0), + }) + except Exception: + pass + + # 方式2: 全文搜索对话名称和首条消息 + try: + 对话结果 = db["对话记录"].find( + {"$text": {"$search": 搜索词}}, + {"score": {"$meta": "textScore"}}, + ).sort([("score", {"$meta": "textScore"})]).limit(limit * 2) + + for conv in 对话结果: + cid = conv["对话ID"] + if cid not in 对话ID集: + 对话ID集.add(cid) + 结果.append({ + "对话ID": cid, + "匹配来源": "对话名称", + "匹配片段": conv.get("首条消息", "")[:300], + "分数": conv.get("score", 0), + }) + except Exception: + pass + + # 方式3: 正则匹配(兜底) + if len(结果) < limit: + for kw in 关键词[:3]: + regex_results = db["对话记录"].find( + {"$or": [ + {"名称": {"$regex": kw, "$options": "i"}}, + {"首条消息": {"$regex": kw, "$options": "i"}}, + ]} + ).limit(limit) + for conv in regex_results: + cid = conv["对话ID"] + if cid not in 对话ID集: + 对话ID集.add(cid) + 结果.append({ + "对话ID": cid, + "匹配来源": "关键词匹配", + "匹配片段": conv.get("首条消息", "")[:300], + "分数": 0, + }) + + # 项目过滤 + if 项目过滤: + filtered_ids = set( + doc["对话ID"] for doc in db["对话记录"].find( + {"对话ID": {"$in": list(对话ID集)}, "项目": {"$regex": 项目过滤, "$options": "i"}}, + {"对话ID": 1} + ) + ) + 结果 = [r for r in 结果 if r["对话ID"] in filtered_ids] + + # 按分数排序 + 结果.sort(key=lambda x: -x.get("分数", 0)) + 结果 = 结果[:limit] + + if not 结果: + return None + + # 获取对话详情 + 对话详情列表 = [] + for r in 结果: + conv = db["对话记录"].find_one({"对话ID": r["对话ID"]}) + if not conv: + continue + + 详情 = { + "对话ID": r["对话ID"], + "名称": conv.get("名称", ""), + "项目": conv.get("项目", ""), + "创建时间": conv.get("创建时间"), + "消息数量": conv.get("消息数量", 0), + "首条消息": conv.get("首条消息", ""), + "匹配片段": r["匹配片段"], + } + + if 详细: + msgs = db["消息内容"].find( + {"对话ID": r["对话ID"]} + ).sort("_id", 1).limit(10) + 详情["关键消息"] = [] + for msg in msgs: + 内容 = msg.get("内容", "") + if 内容: + 详情["关键消息"].append({ + "角色": msg.get("角色", ""), + "内容": 内容[:500], + }) + + 对话详情列表.append(详情) + + return 对话详情列表 + + +def _时间格式(创建时间): + """创建时间可能是 datetime 或 ISO 字符串。""" + if 创建时间 is None: + return "未知" + if hasattr(创建时间, "strftime"): + return 创建时间.strftime("%Y-%m-%d") + if isinstance(创建时间, str) and len(创建时间) >= 10: + return 创建时间[:10] + return "未知" + + +def 格式化输出(对话列表, 详细=False, from_fallback=False): + """格式化召回结果。""" + if not 对话列表: + print("未找到相关历史对话") + return "" + + 输出 = [] + 标题 = f"## 历史对话召回({len(对话列表)} 条相关记录)" + if from_fallback: + 标题 += " 【来自本地 fallback,MongoDB 暂不可用】" + 输出.append(标题 + "\n") + + for i, 对话 in enumerate(对话列表, 1): + 时间str = _时间格式(对话.get("创建时间")) + + 输出.append(f"### {i}. [{对话['项目']}] {对话['名称']}") + 输出.append(f"- 时间: {时间str} | 消息数: {对话['消息数量']}") + 输出.append(f"- ID: `{对话['对话ID']}`") + + if 对话.get("首条消息"): + 输出.append(f"- 首条消息: {对话['首条消息'][:200]}") + + if 对话.get("匹配片段") and 对话["匹配片段"] != 对话.get("首条消息", ""): + 输出.append(f"- 匹配内容: {对话['匹配片段'][:200]}") + + if 详细 and 对话.get("关键消息"): + 输出.append("\n **关键对话片段:**") + for msg in 对话["关键消息"][:5]: + 角色标 = "👤" if msg["角色"] == "用户" else "🤖" + 输出.append(f" {角色标} {msg['内容'][:300]}") + elif from_fallback: + 输出.append(" (fallback 无详细消息,仅摘要)") + + 输出.append("") + + text = "\n".join(输出) + print(text) + return text + + +def main(): + parser = argparse.ArgumentParser(description="历史对话上下文召回") + parser.add_argument("query", type=str, help="搜索关键词或问题描述") + parser.add_argument("--limit", type=int, default=5, help="返回数量") + parser.add_argument("--project", type=str, help="限定项目") + parser.add_argument("--detail", action="store_true", help="显示详细对话内容") + parser.add_argument("--json", action="store_true", help="JSON格式输出") + args = parser.parse_args() + + client, db = get_db() + if db is not None: + 结果 = 召回历史对话(db, args.query, args.project, args.limit, args.detail) + 来自_fallback = False + else: + 结果 = 从_fallback_召回(args.query, args.project, args.limit) + 来自_fallback = True + + if args.json: + import json + + class DateEncoder(json.JSONEncoder): + def default(self, o): + if isinstance(o, datetime): + return o.isoformat() + return super().default(o) + + if 结果: + print(json.dumps(结果, ensure_ascii=False, indent=2, cls=DateEncoder)) + else: + print("[]") + else: + 格式化输出(结果, args.detail, from_fallback=来自_fallback) + + if client is not None: + client.close() + + +if __name__ == "__main__": + main() diff --git a/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/export_chat_by_name.py b/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/export_chat_by_name.py new file mode 100644 index 00000000..d3362959 --- /dev/null +++ b/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/export_chat_by_name.py @@ -0,0 +1,141 @@ +#!/usr/bin/env python3 +""" +按对话名称从 MongoDB 导出 Agent 聊天内容为 Markdown +用于把「阿猫的苹果笔记本」等指定名称的对话导出到本地笔记 + +用法: + python3 export_chat_by_name.py "阿猫的苹果笔记本" + python3 export_chat_by_name.py "阿猫" -o ../导出/ + python3 export_chat_by_name.py "苹果笔记本" --all +""" + +import argparse +import os +import re +import sys +from datetime import datetime, timezone +from pathlib import Path + +try: + from pymongo import MongoClient +except ImportError: + print("需要 pymongo: pip install pymongo") + sys.exit(1) + +MONGO_URI = "mongodb://admin:admin123@localhost:27017/?authSource=admin" +DB_NAME = "karuo_site" + + +def get_db(): + client = MongoClient(MONGO_URI, serverSelectionTimeoutMS=5000) + try: + client.admin.command("ping") + except Exception as e: + print(f"MongoDB 连接失败: {e}") + sys.exit(1) + return client, client[DB_NAME] + + +def 安全文件名(name): + """去掉不适合做文件名的字符""" + s = re.sub(r'[<>:"/\\|?*]', "_", name) + return s.strip() or "未命名" + + +def export_conv_to_md(db, 对话ID, 名称, 输出路径): + """将一条对话的消息内容导出为单个 Markdown 文件""" + conv = db["对话记录"].find_one({"对话ID": 对话ID}) + if not conv: + return False + 名称 = conv.get("名称", 名称 or "未命名") + msgs = list(db["消息内容"].find({"对话ID": 对话ID}).sort("_id", 1)) + if not msgs: + print(f" 对话 {对话ID} 无消息内容,跳过") + return False + + lines = [ + f"# {名称}", + "", + f"- **对话ID**: `{对话ID}`", + f"- **项目**: {conv.get('项目', '未分类')}", + f"- **消息数**: {len(msgs)}", + ] + 创建 = conv.get("创建时间") + 更新 = conv.get("更新时间") + if 创建: + lines.append(f"- **创建**: {创建.strftime('%Y-%m-%d %H:%M')}") + if 更新: + lines.append(f"- **更新**: {更新.strftime('%Y-%m-%d %H:%M')}") + lines.extend(["", "---", ""]) + + for m in msgs: + 角色 = "用户" if m.get("类型") == 1 else "AI" + 内容 = m.get("内容", "").strip() + t = m.get("创建时间") + ts = t.strftime("%Y-%m-%d %H:%M") if t else "" + lines.append(f"## [{角色}] {ts}") + lines.append("") + if 内容: + lines.append(内容) + else: + lines.append("*(无文本内容)*") + lines.append("") + lines.append("---") + lines.append("") + + out_text = "\n".join(lines).rstrip() + "\n" + Path(输出路径).parent.mkdir(parents=True, exist_ok=True) + with open(输出路径, "w", encoding="utf-8") as f: + f.write(out_text) + return True + + +def main(): + parser = argparse.ArgumentParser(description="按名称导出 MongoDB 中的 Agent 聊天为 Markdown") + parser.add_argument("name", nargs="?", default="阿猫的苹果笔记本", help="对话名称(模糊匹配),默认 阿猫的苹果笔记本") + parser.add_argument("-o", "--output-dir", default=None, help="输出目录,默认 聊天记录管理/导出/") + parser.add_argument("--all", action="store_true", help="导出所有名称匹配的对话(否则只导第一条)") + args = parser.parse_args() + + script_dir = Path(__file__).resolve().parent + default_out = script_dir.parent / "导出" + out_dir = Path(args.output_dir).resolve() if args.output_dir else default_out + + client, db = get_db() + # 名称模糊匹配:包含关键词即可 + keyword = args.name.strip() + convs = list( + db["对话记录"] + .find({"名称": {"$regex": keyword, "$options": "i"}}) + .sort("更新时间", -1) + ) + if not convs: + # 尝试「阿猫」或「苹果」单独匹配 + convs = list( + db["对话记录"] + .find({"$or": [{"名称": {"$regex": "阿猫", "$options": "i"}}, {"名称": {"$regex": "苹果", "$options": "i"}}]}) + .sort("更新时间", -1) + ) + if not convs: + print(f'未在 MongoDB 中找到名称包含 "{keyword}" 的对话。') + print("可用: python3 query_chat_history.py --list 查看所有对话。") + client.close() + sys.exit(1) + + if not args.all: + convs = convs[:1] + print(f"找到 {len(convs)} 条匹配对话,导出到: {out_dir}") + out_dir.mkdir(parents=True, exist_ok=True) + for conv in convs: + cid = conv["对话ID"] + 名称 = conv.get("名称", "未命名") + safe = 安全文件名(名称) + short_id = cid[:8] if len(cid) >= 8 else cid + out_path = out_dir / f"{safe}_{short_id}.md" + if export_conv_to_md(db, cid, 名称, str(out_path)): + print(f" 已写入: {out_path}") + client.close() + + +if __name__ == "__main__": + main() diff --git a/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/export_import_chats.py b/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/export_import_chats.py new file mode 100755 index 00000000..1849e62b --- /dev/null +++ b/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/export_import_chats.py @@ -0,0 +1,157 @@ +#!/usr/bin/env python3 +""" +聊天记录导入导出(中文字段版) + +用法: + python3 export_import_chats.py export -o /path/to/backup.json + python3 export_import_chats.py export --project "Soul创业" -o /path/to/backup.json + python3 export_import_chats.py import -i /path/to/backup.json + python3 export_import_chats.py import -i /path/to/backup.json --merge +""" + +import argparse +import json +import sys +from datetime import datetime, timezone +from pathlib import Path + +try: + from pymongo import MongoClient, UpdateOne + from pymongo.errors import BulkWriteError +except ImportError: + print("需要 pymongo: pip install pymongo") + sys.exit(1) + +MONGO_URI = "mongodb://admin:admin123@localhost:27017/?authSource=admin" +DB_NAME = "karuo_site" + + +def get_db(): + client = MongoClient(MONGO_URI, serverSelectionTimeoutMS=5000) + try: + client.admin.command("ping") + except Exception as e: + print(f"连接失败: {e}") + sys.exit(1) + return client, client[DB_NAME] + + +class 时间编码器(json.JSONEncoder): + def default(self, obj): + if isinstance(obj, datetime): + return {"$date": obj.isoformat()} + return super().default(obj) + + +def 解析时间(doc): + for k, v in doc.items(): + if isinstance(v, dict) and "$date" in v: + doc[k] = datetime.fromisoformat(v["$date"]) + return doc + + +def 导出(db, output_path, project=None, since=None): + query = {} + if project: + query["项目"] = {"$regex": project, "$options": "i"} + if since: + try: + dt = datetime.strptime(since, "%Y-%m-%d").replace(tzinfo=timezone.utc) + query["创建时间"] = {"$gte": dt} + except ValueError: + print(f"日期格式错误: {since}") + return + + convs = list(db["对话记录"].find(query)) + if not convs: + print("未找到对话") + return + + print(f"导出 {len(convs)} 个对话...") + 数据 = {"版本": "2.0", "导出时间": datetime.now(timezone.utc).isoformat(), "对话列表": []} + + 总消息 = 0 + for conv in convs: + conv.pop("_id", None) + 对话ID = conv["对话ID"] + msgs = list(db["消息内容"].find({"对话ID": 对话ID}).sort("_id", 1)) + for m in msgs: + m.pop("_id", None) + 总消息 += len(msgs) + 数据["对话列表"].append({"元数据": conv, "消息": msgs, "消息数": len(msgs)}) + + 数据["总对话"] = len(convs) + 数据["总消息"] = 总消息 + + output = Path(output_path) + output.parent.mkdir(parents=True, exist_ok=True) + with open(output, "w", encoding="utf-8") as f: + json.dump(数据, f, ensure_ascii=False, indent=2, cls=时间编码器) + + mb = output.stat().st_size / 1024 / 1024 + print(f"完成: {output} ({mb:.1f} MB, {len(convs)} 对话, {总消息} 消息)") + + +def 导入(db, input_path, merge=False): + f = Path(input_path) + if not f.exists(): + print(f"文件不存在: {input_path}") + return + + with open(f, "r", encoding="utf-8") as fp: + data = json.load(fp) + + convs = data.get("对话列表", []) + print(f"导入 {len(convs)} 个对话...") + 导入对话 = 0 + 导入消息 = 0 + + for item in convs: + meta = 解析时间(item.get("元数据", {})) + msgs = item.get("消息", []) + 对话ID = meta.get("对话ID") + if not 对话ID: + continue + + if not merge and db["对话记录"].find_one({"对话ID": 对话ID}): + continue + + db["对话记录"].update_one({"对话ID": 对话ID}, {"$set": meta}, upsert=True) + 导入对话 += 1 + + if msgs: + ops = [UpdateOne({"对话ID": m["对话ID"], "消息ID": m["消息ID"]}, {"$set": 解析时间(m)}, upsert=True) for m in msgs] + try: + r = db["消息内容"].bulk_write(ops, ordered=False) + 导入消息 += r.upserted_count + r.modified_count + except BulkWriteError: + pass + + print(f"完成: {导入对话} 对话, {导入消息} 消息") + + +def main(): + parser = argparse.ArgumentParser(description="聊天记录导入导出") + sub = parser.add_subparsers(dest="action") + ep = sub.add_parser("export") + ep.add_argument("-o", "--output", required=True) + ep.add_argument("--project", type=str) + ep.add_argument("--since", type=str) + ip = sub.add_parser("import") + ip.add_argument("-i", "--input", required=True) + ip.add_argument("--merge", action="store_true") + args = parser.parse_args() + + if not args.action: + parser.print_help() + return + client, db = get_db() + if args.action == "export": + 导出(db, args.output, getattr(args, "project", None), getattr(args, "since", None)) + elif args.action == "import": + 导入(db, args.input, args.merge) + client.close() + + +if __name__ == "__main__": + main() diff --git a/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/import_chat_archive_to_mongo.py b/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/import_chat_archive_to_mongo.py new file mode 100755 index 00000000..7bb5f2fc --- /dev/null +++ b/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/import_chat_archive_to_mongo.py @@ -0,0 +1,439 @@ +#!/usr/bin/env python3 +""" +对话归档目录导入 MongoDB(唯一性保证,不重复导入) +将 02_卡人(水)/水溪_整理归档/对话归档/ 目录下的所有 .txt 文件导入到 MongoDB + +用法: + python3 import_chat_archive_to_mongo.py # 增量导入(跳过已存在的) + python3 import_chat_archive_to_mongo.py --full # 全量导入(强制覆盖) + python3 import_chat_archive_to_mongo.py --stats # 仅统计 +""" + +import argparse +import hashlib +import os +import re +import sys +from collections import defaultdict +from datetime import datetime, timezone +from pathlib import Path + +try: + from pymongo import MongoClient, UpdateOne + from pymongo.errors import BulkWriteError +except ImportError: + print("需要 pymongo: pip install pymongo") + sys.exit(1) + +MONGO_URI = "mongodb://admin:admin123@localhost:27017/?authSource=admin" +DB_NAME = "karuo_site" +ARCHIVE_BASE = Path("/Users/karuo/Documents/个人/卡若AI/02_卡人(水)/水溪_整理归档/对话归档") + +# 项目分类规则(与 migrate_cursor_to_mongo.py 一致) +项目分类规则 = { + "卡若AI": ["卡若AI", "karuo_ai", "BOOTSTRAP", "SKILL_REGISTRY", "五行", "卡若ai", "运营中枢", "技能", "SKILL.md"], + "Soul创业": ["soul", "Soul", "soul创业", "卡若创业派对", "soul派对", "soul运营", "派对运营"], + "存客宝": ["cunkebao", "存客宝", "触客宝", "touchkebao"], + "玩值电竞": ["玩值", "wanzhi", "wanzhi_esports", "wzdj"], + "数据处理": ["数据中台", "datacenter", "KR_", "SG_", "导入mongo", "mongo数据库", "集合导入", "嘟嘟牛", "社工", "MongoDB迁移", "数据库迁移", "数据库恢复", "数据库优化", "/Users/karuo/数据库"], + "神射手": ["shensheshou", "神射手"], + "上帝之眼": ["上帝之眼", "god_eye", "量化交易"], + "服务器": ["服务器", "宝塔", "nginx", "SSL", "502", "腾讯云", "部署", "docker", "Docker"], + "设备管理": ["ADB", "投屏", "scrcpy", "局域网", "远程控制", "192.168"], + "群晖NAS": ["群晖", "Synology", "NAS", "CKBNAS", "nas_init", "1825", "smb://", "NAS部署", "USB连接"], + "飞书": ["飞书", "feishu", "lark", "妙记", "飞书妙记", "智能纪要", "飞书日志"], + "微信管理": ["微信", "WeChat", "微信存储", "社群占用"], + "工具维护": ["cursor", "state.vscdb", "icloud", "docker", "Docker", "硬盘", "磁盘", "空间", "node_modules", ".next", "清理", "输入法", "搜狗", "下载目录", "整理下载", "文件分类", "无法安装", "快捷方式", "进程", "快捷键", "GitHub", "Gitea", "fnvtk", "token"], + "个人": ["/个人/", "/1、卡若", "日记", "记忆", "iPhone", "相册", "MacBook相册", "Photos"], + "开发": ["/开发/", "知己", "项目模板", "智能项目生成", "金:项目", "银掌柜", "续茄", "小程序", "腾讯书籍", "分销模块", "前后端整合", "package.json", "开发文档", "开发模板", "MBTI", "route.ts", "page.tsx", "wxml", "wxss"], +} + + +def 检测项目(文件路径: str, 名称: str = "", 内容: str = "") -> str: + """根据文件路径、名称、内容检测项目分类""" + 搜索文本 = f"{文件路径} {名称} {内容[:2000]}" + 搜索文本_lower = 搜索文本.lower() + + 项目得分 = {} + for 项目, 关键词列表 in 项目分类规则.items(): + 得分 = 0 + for kw in 关键词列表: + if kw.lower() in 搜索文本_lower: + # 文件路径匹配权重最高 + if kw.lower() in 文件路径.lower(): + 得分 += 3 + # 名称匹配权重中等 + elif kw.lower() in 名称.lower(): + 得分 += 2 + # 内容匹配权重较低 + else: + 得分 += 1 + 项目得分[项目] = 得分 + + if 项目得分: + 最高项目 = max(项目得分.items(), key=lambda x: x[1]) + if 最高项目[1] > 0: + return 最高项目[0] + + return "未分类" + + +def 生成唯一ID(文件路径: Path) -> str: + """基于文件路径、大小、修改时间生成唯一ID(确保唯一性)""" + try: + stat = 文件路径.stat() + # 使用相对路径(相对于归档目录)作为基础 + 相对路径 = str(文件路径.relative_to(ARCHIVE_BASE)) + # 组合:相对路径 + 大小 + 修改时间 + 唯一标识 = f"{相对路径}:{stat.st_size}:{int(stat.st_mtime)}" + # 生成 SHA256 hash 作为对话ID(固定长度,避免过长) + return hashlib.sha256(唯一标识.encode("utf-8")).hexdigest()[:32] + except Exception: + # 降级:仅使用文件名 + return hashlib.sha256(str(文件路径).encode("utf-8")).hexdigest()[:32] + + +def 解析对话文件(文件路径: Path) -> tuple[list, str, str]: + """ + 解析对话文件,提取消息列表、首条用户消息、对话名称 + 返回: (消息列表, 首条用户消息, 对话名称) + """ + try: + 内容 = 文件路径.read_text(encoding="utf-8", errors="ignore") + except Exception as e: + print(f" 读取失败 {文件路径}: {e}") + return [], "", "" + + if not 内容.strip(): + return [], "", "" + + 消息列表 = [] + 首条用户消息 = "" + 对话名称 = "" + + # 解析 user/assistant 格式 + # 匹配模式:user: 或 assistant: 开头,后面跟内容 + 当前角色 = None + 当前内容 = [] + + for line in 内容.split("\n"): + line = line.strip() + if not line: + continue + + # 检查是否是角色标记 + if line.startswith("user:") or line.startswith("assistant:"): + # 保存上一条消息 + if 当前角色 and 当前内容: + 消息文本 = "\n".join(当前内容).strip() + if 消息文本: + 消息列表.append({ + "角色": 当前角色, + "内容": 消息文本, + }) + # 提取首条用户消息 + if 当前角色 == "用户" and not 首条用户消息: + 首条用户消息 = 消息文本[:500] + # 从首条消息提取对话名称(去除 标签) + 名称文本 = re.sub(r"<[^>]+>", "", 消息文本).strip() + 对话名称 = " ".join(名称文本.split()[:10])[:80] or "未命名对话" + + # 开始新消息 + 当前角色 = "用户" if line.startswith("user:") else "AI" + 当前内容 = [line[line.index(":") + 1:].strip()] if ":" in line else [] + else: + # 继续当前消息内容 + if 当前角色: + 当前内容.append(line) + + # 保存最后一条消息 + if 当前角色 and 当前内容: + 消息文本 = "\n".join(当前内容).strip() + if 消息文本: + 消息列表.append({ + "角色": 当前角色, + "内容": 消息文本, + }) + if 当前角色 == "用户" and not 首条用户消息: + 首条用户消息 = 消息文本[:500] + 名称文本 = re.sub(r"<[^>]+>", "", 消息文本).strip() + 对话名称 = " ".join(名称文本.split()[:10])[:80] or "未命名对话" + + # 如果没有解析到消息,尝试从文件名提取名称 + if not 对话名称: + 文件名 = 文件路径.stem + # 尝试从文件名提取(去除 UUID 后缀) + 名称部分 = re.sub(r"_[a-f0-9-]{32,}$", "", 文件名) + if 名称部分: + 对话名称 = 名称部分[:80] + else: + 对话名称 = 文件名[:80] or "未命名对话" + + return 消息列表, 首条用户消息, 对话名称 + + +def 创建索引(db): + """创建 MongoDB 索引""" + 对话集 = db["对话记录"] + + # 先删除可能存在的旧索引 + try: + 对话集.drop_index("来源文件路径_1") + except Exception: + pass + + # 清理 null 值的来源文件路径(为已存在的记录生成临时唯一值) + null_count = 对话集.count_documents({"$or": [{"来源文件路径": None}, {"来源文件路径": {"$exists": False}}]}) + if null_count > 0: + print(f"发现 {null_count} 条记录的来源文件路径为 null,正在清理...") + # 为这些记录生成临时唯一值 + for doc in 对话集.find({"$or": [{"来源文件路径": None}, {"来源文件路径": {"$exists": False}}]}): + 临时路径 = f"legacy-{doc.get('对话ID', 'unknown')}-{doc.get('_id', 'unknown')}" + 对话集.update_one( + {"_id": doc["_id"]}, + {"$set": {"来源文件路径": 临时路径}} + ) + + 对话集.create_index("对话ID", unique=True) + # 创建唯一索引(使用 sparse,只对存在的非 null 值唯一) + try: + 对话集.create_index([("来源文件路径", 1)], unique=True, sparse=True) + except Exception as e: + print(f"创建来源文件路径索引失败(可能已存在): {e}") + + 对话集.create_index("项目") + 对话集.create_index("创建时间") + + 消息集 = db["消息内容"] + 消息集.create_index([("对话ID", 1), ("消息ID", 1)], unique=True) + 消息集.create_index("对话ID") + 消息集.create_index("创建时间") + + db["项目分类"].create_index("名称", unique=True) + print("索引创建完成") + + +def 导入对话归档(db, full_mode=False): + """导入对话归档目录的所有 .txt 文件""" + if not ARCHIVE_BASE.exists(): + print(f"对话归档目录不存在: {ARCHIVE_BASE}") + return + + print(f"\n{'=' * 50}") + print(f"导入对话归档目录 ({'全量' if full_mode else '增量'})") + print(f"目录: {ARCHIVE_BASE}") + print(f"{'=' * 50}") + + # 查找所有 .txt 文件 + 所有文件 = list(ARCHIVE_BASE.rglob("*.txt")) + print(f"扫描到 {len(所有文件)} 个对话文件") + + # 获取已存在的文件路径(用于去重) + 已有文件路径 = set() + if not full_mode: + for doc in db["对话记录"].find({"来源": "对话归档"}, {"来源文件路径": 1}): + if "来源文件路径" in doc: + 已有文件路径.add(doc["来源文件路径"]) + print(f"已存在 {len(已有文件路径)} 个对话(将跳过)") + + 总对话 = 0 + 新增对话 = 0 + 跳过对话 = 0 + 总消息 = 0 + 项目计数 = defaultdict(int) + 错误文件 = [] + + 批量操作_对话 = [] + 批量操作_消息 = [] + 批量大小 = 100 + + for 文件路径 in 所有文件: + 总对话 += 1 + + # 生成相对路径作为唯一标识 + 相对路径 = str(文件路径.relative_to(ARCHIVE_BASE)) + + # 检查是否已存在(增量模式) + if not full_mode and 相对路径 in 已有文件路径: + 跳过对话 += 1 + if 总对话 % 50 == 0: + print(f" 处理进度: {总对话}/{len(所有文件)} (跳过: {跳过对话}, 新增: {新增对话})", end="\r") + continue + + # 解析对话文件 + 消息列表, 首条用户消息, 对话名称 = 解析对话文件(文件路径) + + if not 消息列表: + 错误文件.append(相对路径) + continue + + # 生成唯一对话ID + 对话ID = 生成唯一ID(文件路径) + + # 检测项目分类 + 项目 = 检测项目(相对路径, 对话名称, 首条用户消息) + 项目计数[项目] += 1 + + # 获取文件修改时间 + try: + 文件修改时间 = datetime.fromtimestamp(文件路径.stat().st_mtime, tz=timezone.utc) + except Exception: + 文件修改时间 = datetime.now(timezone.utc) + + # 构建对话记录 + 对话文档 = { + "对话ID": 对话ID, + "名称": 对话名称, + "项目": 项目, + "标签": ["对话归档"], + "创建时间": 文件修改时间, + "更新时间": datetime.now(timezone.utc), + "消息数量": len(消息列表), + "是否Agent": True, + "首条消息": 首条用户消息, + "来源": "对话归档", + "来源文件路径": 相对路径, # 用于唯一性检查 + "来源完整路径": str(文件路径), + "导入时间": datetime.now(timezone.utc), + } + + 批量操作_对话.append( + UpdateOne( + {"来源文件路径": 相对路径}, # 使用文件路径作为唯一键 + {"$set": 对话文档}, + upsert=True, + ) + ) + + # 构建消息内容 + for idx, 消息 in enumerate(消息列表): + 消息ID = f"msg-{idx + 1}" + 消息文档 = { + "对话ID": 对话ID, + "消息ID": 消息ID, + "类型": 1 if 消息["角色"] == "用户" else 2, + "角色": 消息["角色"], + "内容": 消息["内容"][:50000], # 限制长度 + "创建时间": 文件修改时间, + "是否Agent": True, + "工具调用数": 0, + "代码块数": 0, + } + + 批量操作_消息.append( + UpdateOne( + {"对话ID": 对话ID, "消息ID": 消息ID}, + {"$set": 消息文档}, + upsert=True, + ) + ) + 总消息 += 1 + + 新增对话 += 1 + + # 批量写入 + if len(批量操作_对话) >= 批量大小: + try: + db["对话记录"].bulk_write(批量操作_对话, ordered=False) + except BulkWriteError: + pass + 批量操作_对话 = [] + + if len(批量操作_消息) >= 批量大小: + try: + db["消息内容"].bulk_write(批量操作_消息, ordered=False) + except BulkWriteError: + pass + 批量操作_消息 = [] + + if 总对话 % 50 == 0: + print(f" 处理进度: {总对话}/{len(所有文件)} (跳过: {跳过对话}, 新增: {新增对话})", end="\r") + + # 写入剩余数据 + if 批量操作_对话: + try: + db["对话记录"].bulk_write(批量操作_对话, ordered=False) + except BulkWriteError: + pass + + if 批量操作_消息: + try: + db["消息内容"].bulk_write(批量操作_消息, ordered=False) + except BulkWriteError: + pass + + print(f"\n导入完成:") + print(f" 总文件数: {总对话}") + print(f" 新增对话: {新增对话}") + print(f" 跳过对话: {跳过对话}") + print(f" 总消息数: {总消息}") + print(f" 错误文件: {len(错误文件)}") + + if 错误文件: + print(f"\n错误文件列表(前10个):") + for f in 错误文件[:10]: + print(f" {f}") + + # 更新项目分类统计 + print("\n项目分布:") + for 项目, 数量 in sorted(项目计数.items(), key=lambda x: -x[1]): + print(f" {项目}: {数量}") + db["项目分类"].update_one( + {"名称": 项目}, + {"$set": {"名称": 项目, "更新时间": datetime.now(timezone.utc)}, "$inc": {"对话数": 数量}}, + upsert=True, + ) + + +def 打印统计(db): + """打印 MongoDB 统计信息""" + print(f"\n{'=' * 50}") + print("MongoDB 统计") + print(f"{'=' * 50}") + + 总对话 = db["对话记录"].count_documents({}) + 总消息 = db["消息内容"].count_documents({}) + 归档对话 = db["对话记录"].count_documents({"来源": "对话归档"}) + + print(f"总对话数: {总对话}") + print(f"总消息数: {总消息}") + print(f"对话归档来源: {归档对话}") + + pipeline = [ + {"$group": {"_id": "$项目", "数量": {"$sum": 1}}}, + {"$sort": {"数量": -1}}, + ] + print("\n项目分布:") + for doc in db["对话记录"].aggregate(pipeline): + print(f" {doc['_id']}: {doc['数量']}") + + +def main(): + parser = argparse.ArgumentParser(description="对话归档目录导入 MongoDB") + parser.add_argument("--full", action="store_true", help="全量导入(强制覆盖)") + parser.add_argument("--stats", action="store_true", help="仅统计,不导入") + args = parser.parse_args() + + print("连接 MongoDB...") + client = MongoClient(MONGO_URI, serverSelectionTimeoutMS=5000) + try: + client.admin.command("ping") + except Exception as e: + print(f"连接失败: {e}") + sys.exit(1) + + db = client[DB_NAME] + 创建索引(db) + + if args.stats: + 打印统计(db) + else: + 导入对话归档(db, full_mode=args.full) + 打印统计(db) + + client.close() + print("\n完成!") + + +if __name__ == "__main__": + main() diff --git a/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/migrate_cursor_to_mongo.py b/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/migrate_cursor_to_mongo.py new file mode 100755 index 00000000..11b0d0a2 --- /dev/null +++ b/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/migrate_cursor_to_mongo.py @@ -0,0 +1,448 @@ +#!/usr/bin/env python3 +""" +Cursor 聊天记录迁移到 MongoDB(中文字段版) +从 state.vscdb (SQLite) + agent-transcripts (JSONL) → MongoDB karuo_site + +用法: + python3 migrate_cursor_to_mongo.py # 增量同步 + python3 migrate_cursor_to_mongo.py --full # 全量迁移 + python3 migrate_cursor_to_mongo.py --include-transcripts # 含 agent-transcripts +""" + +import argparse +import json +import os +import sqlite3 +import sys +from datetime import datetime, timezone +from pathlib import Path + +try: + from pymongo import MongoClient, UpdateOne + from pymongo.errors import BulkWriteError +except ImportError: + print("需要 pymongo: pip install pymongo") + sys.exit(1) + +MONGO_URI = "mongodb://admin:admin123@localhost:27017/?authSource=admin" +DB_NAME = "karuo_site" +STATE_VSCDB = os.path.expanduser( + "~/Library/Application Support/Cursor/User/globalStorage/state.vscdb" +) +TRANSCRIPTS_BASE = os.path.expanduser("~/.cursor/projects") + +# 精简分类:大类优先,减少碎片(关键词持续优化以降低未分类数量) +项目分类规则 = { + "卡若AI": ["卡若AI", "karuo_ai", "BOOTSTRAP", "SKILL_REGISTRY", "五行", "卡若ai"], + "Soul创业": ["soul", "Soul", "soul创业", "卡若创业派对", "soul派对", "soul运营"], + "存客宝": ["cunkebao", "存客宝", "触客宝", "touchkebao"], + "玩值电竞": ["玩值", "wanzhi", "wanzhi_esports", "wzdj"], + "数据处理": ["数据中台", "datacenter", "KR_", "SG_", "导入mongo", "mongo数据库", "数据库集合", "集合导入", "嘟嘟牛", "社工", "MongoDB迁移", "数据库迁移", "数据库恢复", "数据库优化", "/Users/karuo/数据库"], + "神射手": ["shensheshou", "神射手"], + "上帝之眼": ["上帝之眼", "god_eye", "量化交易"], + "服务器": ["服务器", "宝塔", "nginx", "SSL", "502", "腾讯云"], + "设备管理": ["ADB", "投屏", "scrcpy", "局域网", "远程控制", "192.168"], + "群晖NAS": ["群晖", "Synology", "NAS", "CKBNAS", "nas_init", "1825", "smb://", "NAS部署", "USB连接"], + "飞书": ["飞书", "feishu", "lark", "妙记", "飞书妙记", "智能纪要"], + "微信管理": ["微信", "WeChat", "微信存储", "社群占用"], + "工具维护": ["cursor", "state.vscdb", "icloud", "iCloud", "docker", "Docker", "硬盘", "磁盘", "空间", "node_modules", ".next", "清理", "输入法", "搜狗", "下载目录", "整理下载", "文件分类", "无法安装", "快捷方式", "进程", "快捷键", "GitHub", "Gitea", "fnvtk", "token"], + "个人": ["/个人/", "/1、卡若", "日记", "记忆", "iPhone", "相册", "MacBook相册", "Photos"], + "开发": ["/开发/", "知己", "项目模板", "智能项目生成", "金:项目", "银掌柜", "续茄", "小程序", "腾讯书籍", "分销模块", "前后端整合", "package.json", "开发文档", "开发模板", "MBTI", "route.ts", "page.tsx", "wxml", "wxss"], +} + + +def 检测项目(文件路径列表: list, 名称: str = "", 内容: str = "") -> str: + 搜索文本 = " ".join(文件路径列表) + " " + 名称 + " " + 内容 + for 项目, 关键词列表 in 项目分类规则.items(): + for 关键词 in 关键词列表: + if 关键词.lower() in 搜索文本.lower(): + return 项目 + return "未分类" + + +def 时间戳转时间(ts_ms): + if not ts_ms or ts_ms == 0: + return None + try: + return datetime.fromtimestamp(ts_ms / 1000, tz=timezone.utc) + except (ValueError, OSError): + return None + + +def 创建索引(db): + 对话集 = db["对话记录"] + 对话集.create_index("对话ID", unique=True) + 对话集.create_index("项目") + 对话集.create_index("创建时间") + 对话集.create_index([("名称", "text"), ("首条消息", "text")]) + + 消息集 = db["消息内容"] + 消息集.create_index([("对话ID", 1), ("消息ID", 1)], unique=True) + 消息集.create_index("对话ID") + 消息集.create_index("创建时间") + 消息集.create_index([("内容", "text")]) + + db["项目分类"].create_index("名称", unique=True) + print("索引创建完成") + + +def 迁移对话数据(db, full_mode=False): + if not os.path.exists(STATE_VSCDB): + print(f"未找到 state.vscdb: {STATE_VSCDB}") + return + + print(f"\n{'=' * 50}") + print(f"迁移 state.vscdb ({'全量' if full_mode else '增量'})") + 大小 = os.path.getsize(STATE_VSCDB) / 1024 / 1024 / 1024 + print(f"文件大小: {大小:.1f} GB") + print(f"{'=' * 50}") + + conn = sqlite3.connect(STATE_VSCDB) + cursor = conn.cursor() + + 已有ID = set() + if not full_mode: + 已有ID = set( + doc["对话ID"] for doc in db["对话记录"].find({}, {"对话ID": 1}) + ) + print(f"MongoDB 已有 {len(已有ID)} 个对话") + + # 阶段1: 对话元数据 + print("\n--- 阶段1: 对话元数据 ---") + cursor.execute("SELECT key, value FROM cursorDiskKV WHERE key LIKE 'composerData:%'") + + 对话操作 = [] + 对话消息映射 = {} + 项目计数 = {} + 跳过数 = 0 + + for row in cursor.fetchall(): + key, value = row + 对话ID = key.replace("composerData:", "") + if not full_mode and 对话ID in 已有ID: + 跳过数 += 1 + continue + + try: + data = json.loads(value) + except (json.JSONDecodeError, TypeError): + continue + + headers = data.get("fullConversationHeadersOnly", []) + if not headers: + continue + + 消息ID列表 = [h.get("bubbleId", "") for h in headers if h.get("bubbleId")] + 对话消息映射[对话ID] = 消息ID列表 + + ctx = data.get("context", {}) + 文件路径 = [] + for f in ctx.get("fileSelections", []): + path = f.get("uri", {}).get("fsPath", "") + if path: + 文件路径.append(path) + for f in ctx.get("folderSelections", []): + if isinstance(f, dict): + path = f.get("uri", {}).get("fsPath", "") + if path: + 文件路径.append(path) + + 名称 = data.get("name", "") or "" + 副标题 = data.get("subtitle", "") or "" + 项目 = 检测项目(文件路径, 名称, 副标题) + 项目计数[项目] = 项目计数.get(项目, 0) + 1 + + 创建时间 = 时间戳转时间(data.get("createdAt")) + 更新时间 = 时间戳转时间(data.get("lastUpdatedAt")) + + 对话文档 = { + "对话ID": 对话ID, + "名称": 名称, + "副标题": 副标题, + "项目": 项目, + "标签": [], + "创建时间": 创建时间, + "更新时间": 更新时间, + "消息数量": len(headers), + "是否Agent": data.get("isAgentic", False), + "模型配置": data.get("modelConfig", {}), + "关联文件": 文件路径[:50], + "首条消息": "", + "来源": "state.vscdb", + "来源工作区": "", + "迁移时间": datetime.now(timezone.utc), + } + + 对话操作.append( + UpdateOne({"对话ID": 对话ID}, {"$set": 对话文档}, upsert=True) + ) + + if 对话操作: + try: + result = db["对话记录"].bulk_write(对话操作, ordered=False) + print(f"插入 {result.upserted_count}, 更新 {result.modified_count}, 跳过 {跳过数}") + except BulkWriteError as e: + print(f"部分写入: {e.details.get('nInserted', 0)} 成功") + else: + print(f"无新对话 (跳过 {跳过数})") + + # 阶段2: 消息内容 + print("\n--- 阶段2: 消息内容 ---") + 已有消息对话 = set() + if not full_mode: + pipeline = [{"$group": {"_id": "$对话ID"}}] + 已有消息对话 = set(doc["_id"] for doc in db["消息内容"].aggregate(pipeline)) + + 总消息 = 0 + 批量操作 = [] + 批量大小 = 2000 + + for 对话ID, 消息ID列表 in 对话消息映射.items(): + if not full_mode and 对话ID in 已有消息对话: + continue + + 首条用户消息 = "" + for mid in 消息ID列表: + key = f"bubbleId:{对话ID}:{mid}" + cursor.execute("SELECT value FROM cursorDiskKV WHERE key = ?", (key,)) + row = cursor.fetchone() + if not row: + continue + try: + data = json.loads(row[0]) + except (json.JSONDecodeError, TypeError): + continue + + 类型 = data.get("type", 0) + 内容 = data.get("text", "") or "" + timing = data.get("timingInfo", {}) + rpc_time = timing.get("clientRpcSendTime") + 创建时间 = 时间戳转时间(rpc_time) if rpc_time else None + + if 类型 == 1 and not 首条用户消息 and 内容: + 首条用户消息 = 内容[:500] + + 工具调用 = data.get("toolResults", []) + 代码块 = data.get("codeBlocks", []) + + 消息文档 = { + "对话ID": 对话ID, + "消息ID": mid, + "类型": 类型, + "角色": "用户" if 类型 == 1 else "AI", + "内容": 内容, + "创建时间": 创建时间, + "是否Agent": data.get("isAgentic", False), + "Token用量": data.get("tokenCount", {}), + "工具调用数": len(工具调用) if 工具调用 else 0, + "代码块数": len(代码块) if 代码块 else 0, + } + + 批量操作.append( + UpdateOne( + {"对话ID": 对话ID, "消息ID": mid}, + {"$set": 消息文档}, + upsert=True, + ) + ) + 总消息 += 1 + + if len(批量操作) >= 批量大小: + try: + db["消息内容"].bulk_write(批量操作, ordered=False) + except BulkWriteError: + pass + 批量操作 = [] + print(f" 已处理 {总消息} 条消息...", end="\r") + + if 首条用户消息: + db["对话记录"].update_one( + {"对话ID": 对话ID}, {"$set": {"首条消息": 首条用户消息}} + ) + + if 批量操作: + try: + db["消息内容"].bulk_write(批量操作, ordered=False) + except BulkWriteError: + pass + + print(f"\n消息迁移完成: {总消息} 条") + + # 阶段3: 项目分类 + print("\n--- 阶段3: 项目分类 ---") + for 项目, 数量 in 项目计数.items(): + db["项目分类"].update_one( + {"名称": 项目}, + {"$set": {"名称": 项目, "更新时间": datetime.now(timezone.utc)}, "$inc": {"对话数": 数量}}, + upsert=True, + ) + for p, c in sorted(项目计数.items(), key=lambda x: -x[1]): + print(f" {p}: {c}") + + conn.close() + + +def 迁移Transcripts(db): + print(f"\n{'=' * 50}") + print("迁移 agent-transcripts") + print(f"{'=' * 50}") + + if not os.path.exists(TRANSCRIPTS_BASE): + print(f"目录不存在: {TRANSCRIPTS_BASE}") + return + + 已有ID = set( + doc["对话ID"] + for doc in db["对话记录"].find({"来源": "agent-transcript"}, {"对话ID": 1}) + ) + + 总文件 = 0 + 新增 = 0 + + for workspace_dir in Path(TRANSCRIPTS_BASE).iterdir(): + if not workspace_dir.is_dir(): + continue + transcripts_dir = workspace_dir / "agent-transcripts" + if not transcripts_dir.exists(): + continue + + 工作区 = workspace_dir.name.replace("Users-karuo-Documents-", "") + + for chat_dir in transcripts_dir.iterdir(): + if not chat_dir.is_dir() or chat_dir.name == "subagents": + continue + main_jsonl = chat_dir / f"{chat_dir.name}.jsonl" + if not main_jsonl.exists(): + continue + + tid = chat_dir.name + if tid in 已有ID: + continue + + 总文件 += 1 + try: + 消息列表 = [] + 首条 = "" + 对话名 = "" + + with open(main_jsonl, "r", encoding="utf-8") as f: + for line in f: + line = line.strip() + if not line: + continue + try: + entry = json.loads(line) + except json.JSONDecodeError: + continue + + role = entry.get("role", "") + content = entry.get("content", "") + if isinstance(content, list): + parts = [p.get("text", "") for p in content if isinstance(p, dict) and p.get("type") == "text"] + content = "\n".join(parts) + if not isinstance(content, str): + content = str(content) + + if role == "user" and not 首条 and content: + 首条 = content[:500] + 对话名 = " ".join(content[:100].split()[:8]) + + 消息列表.append({ + "对话ID": tid, + "消息ID": f"t-{len(消息列表)}", + "类型": 1 if role == "user" else 2, + "角色": "用户" if role == "user" else "AI", + "内容": content[:50000], + "创建时间": datetime.now(timezone.utc), + "是否Agent": True, + "Token用量": {}, + "工具调用数": 0, + "代码块数": 0, + }) + + if not 消息列表: + continue + + 项目 = 检测项目([], 对话名, 首条) + + db["对话记录"].update_one( + {"对话ID": tid}, + {"$set": { + "对话ID": tid, + "名称": 对话名 or f"Transcript {tid[:8]}", + "副标题": "", + "项目": 项目, + "标签": ["agent-transcript"], + "创建时间": datetime.now(timezone.utc), + "更新时间": datetime.now(timezone.utc), + "消息数量": len(消息列表), + "是否Agent": True, + "模型配置": {}, + "关联文件": [], + "首条消息": 首条, + "来源": "agent-transcript", + "来源工作区": 工作区, + "迁移时间": datetime.now(timezone.utc), + }}, + upsert=True, + ) + + ops = [ + UpdateOne({"对话ID": m["对话ID"], "消息ID": m["消息ID"]}, {"$set": m}, upsert=True) + for m in 消息列表 + ] + try: + db["消息内容"].bulk_write(ops, ordered=False) + except BulkWriteError: + pass + 新增 += 1 + + except Exception as e: + print(f" 处理 {tid} 失败: {e}") + + print(f"扫描 {总文件} 个, 新增 {新增} 个") + + +def 打印统计(db): + print(f"\n{'=' * 50}") + print("迁移统计") + print(f"{'=' * 50}") + 对话数 = db["对话记录"].count_documents({}) + 消息数 = db["消息内容"].count_documents({}) + print(f"总对话: {对话数}") + print(f"总消息: {消息数}") + + pipeline = [ + {"$group": {"_id": "$项目", "数量": {"$sum": 1}}}, + {"$sort": {"数量": -1}}, + ] + print("\n项目分布:") + for doc in db["对话记录"].aggregate(pipeline): + print(f" {doc['_id']}: {doc['数量']}") + + +def main(): + parser = argparse.ArgumentParser(description="Cursor 聊天记录迁移") + parser.add_argument("--full", action="store_true", help="全量迁移") + parser.add_argument("--include-transcripts", action="store_true", help="含 agent-transcripts") + args = parser.parse_args() + + print("连接 MongoDB...") + client = MongoClient(MONGO_URI, serverSelectionTimeoutMS=5000) + try: + client.admin.command("ping") + except Exception as e: + print(f"连接失败: {e}") + sys.exit(1) + + db = client[DB_NAME] + 创建索引(db) + 迁移对话数据(db, full_mode=args.full) + if args.include_transcripts: + 迁移Transcripts(db) + 打印统计(db) + client.close() + + +if __name__ == "__main__": + main() diff --git a/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/query_chat_history.py b/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/query_chat_history.py new file mode 100755 index 00000000..39b5e5a8 --- /dev/null +++ b/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/query_chat_history.py @@ -0,0 +1,265 @@ +#!/usr/bin/env python3 +""" +Cursor 聊天记录查询(中文字段版) + +用法: + python3 query_chat_history.py --stats + python3 query_chat_history.py --search "关键词" + python3 query_chat_history.py --project "Soul创业" + python3 query_chat_history.py --since 2026-03-01 + python3 query_chat_history.py --conversation <对话ID> + python3 query_chat_history.py --list + python3 query_chat_history.py --reclassify + python3 query_chat_history.py --tag <对话ID> "标签" +""" + +import argparse +import sys +from datetime import datetime, timezone + +try: + from pymongo import MongoClient +except ImportError: + print("需要 pymongo: pip install pymongo") + sys.exit(1) + +MONGO_URI = "mongodb://admin:admin123@localhost:27017/?authSource=admin" +DB_NAME = "karuo_site" + +项目分类规则 = { + "卡若AI": ["卡若AI", "karuo_ai", "BOOTSTRAP", "SKILL_REGISTRY", "五行", "卡若ai"], + "Soul创业": ["soul", "Soul", "soul创业", "卡若创业派对", "soul派对", "soul运营"], + "存客宝": ["cunkebao", "存客宝", "触客宝", "touchkebao"], + "玩值电竞": ["玩值", "wanzhi", "wanzhi_esports", "wzdj"], + "数据处理": ["数据中台", "datacenter", "KR_", "SG_", "导入mongo", "mongo数据库", "数据库集合", "集合导入", "嘟嘟牛", "社工", "MongoDB迁移", "数据库迁移", "数据库恢复", "数据库优化", "/Users/karuo/数据库"], + "神射手": ["shensheshou", "神射手"], + "上帝之眼": ["上帝之眼", "god_eye", "量化交易"], + "服务器": ["服务器", "宝塔", "nginx", "SSL", "502", "腾讯云"], + "设备管理": ["ADB", "投屏", "scrcpy", "局域网", "远程控制", "192.168"], + "群晖NAS": ["群晖", "Synology", "NAS", "CKBNAS", "nas_init", "1825", "smb://", "NAS部署", "USB连接"], + "飞书": ["飞书", "feishu", "lark", "妙记", "飞书妙记", "智能纪要"], + "微信管理": ["微信", "WeChat", "微信存储", "社群占用"], + "工具维护": ["cursor", "state.vscdb", "icloud", "iCloud", "docker", "Docker", "硬盘", "磁盘", "空间", "node_modules", ".next", "清理", "输入法", "搜狗", "下载目录", "整理下载", "文件分类", "无法安装", "快捷方式", "进程", "快捷键", "GitHub", "Gitea", "fnvtk", "token"], + "个人": ["/个人/", "/1、卡若", "日记", "记忆", "iPhone", "相册", "MacBook相册", "Photos"], + "开发": ["/开发/", "知己", "项目模板", "智能项目生成", "金:项目", "银掌柜", "续茄", "小程序", "腾讯书籍", "分销模块", "前后端整合", "package.json", "开发文档", "开发模板", "MBTI", "route.ts", "page.tsx", "wxml", "wxss"], +} + + +def 检测项目(文件路径, 名称="", 内容=""): + 搜索文本 = " ".join(文件路径) + " " + 名称 + " " + 内容 + for 项目, 关键词 in 项目分类规则.items(): + for kw in 关键词: + if kw.lower() in 搜索文本.lower(): + return 项目 + return "未分类" + + +def get_db(): + client = MongoClient(MONGO_URI, serverSelectionTimeoutMS=5000) + try: + client.admin.command("ping") + except Exception as e: + print(f"MongoDB 连接失败: {e}") + sys.exit(1) + return client, client[DB_NAME] + + +def 查看统计(db): + 对话数 = db["对话记录"].count_documents({}) + 消息数 = db["消息内容"].count_documents({}) + + print(f"{'=' * 55}") + print(f" 聊天记录统计") + print(f"{'=' * 55}") + print(f" 总对话: {对话数}") + print(f" 总消息: {消息数}") + + pipeline = [ + {"$group": {"_id": "$项目", "数量": {"$sum": 1}, "消息": {"$sum": "$消息数量"}}}, + {"$sort": {"数量": -1}}, + ] + print(f"\n {'项目':<15} {'对话':>6} {'消息':>8}") + print(f" {'-' * 35}") + for doc in db["对话记录"].aggregate(pipeline): + print(f" {doc['_id']:<15} {doc['数量']:>6} {doc['消息']:>8}") + + p来源 = [{"$group": {"_id": "$来源", "数量": {"$sum": 1}}}] + print(f"\n 来源:") + for doc in db["对话记录"].aggregate(p来源): + print(f" {doc['_id']}: {doc['数量']}") + + p月份 = [ + {"$group": {"_id": {"$dateToString": {"format": "%Y-%m", "date": "$创建时间"}}, "数量": {"$sum": 1}}}, + {"$sort": {"_id": -1}}, {"$limit": 6}, + ] + print(f"\n 月份分布:") + for doc in db["对话记录"].aggregate(p月份): + if doc["_id"]: + print(f" {doc['_id']}: {doc['数量']}") + print(f"{'=' * 55}") + + +def 搜索对话(db, 关键词, limit=20): + print(f"\n搜索: \"{关键词}\"") + 结果 = db["消息内容"].find( + {"$text": {"$search": 关键词}}, + {"score": {"$meta": "textScore"}}, + ).sort([("score", {"$meta": "textScore"})]).limit(limit * 2) + + 对话集 = set() + 摘要 = {} + for msg in 结果: + cid = msg["对话ID"] + 对话集.add(cid) + if cid not in 摘要: + 摘要[cid] = msg.get("内容", "")[:200] + + if not 对话集: + r2 = db["对话记录"].find( + {"$text": {"$search": 关键词}}, + {"score": {"$meta": "textScore"}}, + ).sort([("score", {"$meta": "textScore"})]).limit(limit) + for conv in r2: + 对话集.add(conv["对话ID"]) + + if not 对话集: + print("未找到匹配") + return + + convs = db["对话记录"].find({"对话ID": {"$in": list(对话集)}}).limit(limit) + print(f"\n找到 {len(对话集)} 个相关对话:\n") + for conv in convs: + cid = conv["对话ID"] + 名称 = conv.get("名称", "无标题") + 项目 = conv.get("项目", "未分类") + 时间 = conv.get("创建时间") + 时间str = 时间.strftime("%Y-%m-%d %H:%M") if 时间 else "未知" + 数量 = conv.get("消息数量", 0) + s = 摘要.get(cid, conv.get("首条消息", ""))[:150] + + print(f" [{项目}] {名称}") + print(f" ID: {cid}") + print(f" 时间: {时间str} | 消息: {数量}") + if s: + print(f" 摘要: {s}...") + print() + + +def 列出对话(db, project=None, since=None, limit=50): + query = {} + if project: + query["项目"] = {"$regex": project, "$options": "i"} + if since: + try: + dt = datetime.strptime(since, "%Y-%m-%d").replace(tzinfo=timezone.utc) + query["创建时间"] = {"$gte": dt} + except ValueError: + print(f"日期格式错误: {since}") + return + + convs = db["对话记录"].find(query).sort("创建时间", -1).limit(limit) + count = 0 + for conv in convs: + 名称 = conv.get("名称", "无标题") + 项目 = conv.get("项目", "未分类") + 时间 = conv.get("创建时间") + 时间str = 时间.strftime("%Y-%m-%d %H:%M") if 时间 else "未知" + 数量 = conv.get("消息数量", 0) + ag = "🤖" if conv.get("是否Agent") else "💬" + 标签 = ", ".join(conv.get("标签", [])) + + print(f" {ag} [{项目}] {名称}") + print(f" ID: {conv['对话ID']}") + print(f" 时间: {时间str} | 消息: {数量}{' | 标签: ' + 标签 if 标签 else ''}") + print() + count += 1 + print(f"共 {count} 个对话") + + +def 查看对话(db, 对话ID): + conv = db["对话记录"].find_one({"对话ID": 对话ID}) + if not conv: + print(f"未找到: {对话ID}") + return + + print(f"\n{'=' * 55}") + print(f" 对话: {conv.get('名称', '无标题')}") + print(f" 项目: {conv.get('项目', '未分类')}") + 时间 = conv.get("创建时间") + if 时间: + print(f" 时间: {时间.strftime('%Y-%m-%d %H:%M')}") + print(f" 消息: {conv.get('消息数量', 0)}") + 标签 = conv.get("标签", []) + if 标签: + print(f" 标签: {', '.join(标签)}") + print(f"{'=' * 55}\n") + + msgs = db["消息内容"].find({"对话ID": 对话ID}).sort("_id", 1) + for msg in msgs: + 角色 = "👤 用户" if msg.get("类型") == 1 else "🤖 AI" + 内容 = msg.get("内容", "") + t = msg.get("创建时间") + ts = t.strftime("%H:%M:%S") if t else "" + print(f"--- {角色} {ts} ---") + if 内容: + print(内容[:2000] if len(内容) > 2000 else 内容) + else: + print("(无内容)") + print() + + +def 重新分类(db): + print("重新分类所有对话...") + updated = 0 + for conv in db["对话记录"].find({}): + new_p = 检测项目( + conv.get("关联文件", []), + conv.get("名称", ""), + conv.get("首条消息", "") + " " + conv.get("副标题", ""), + ) + if new_p != conv.get("项目"): + db["对话记录"].update_one({"_id": conv["_id"]}, {"$set": {"项目": new_p}}) + updated += 1 + print(f"更新 {updated} 个对话") + + +def 打标签(db, 对话ID, 标签): + result = db["对话记录"].update_one({"对话ID": 对话ID}, {"$addToSet": {"标签": 标签}}) + print(f"{'已添加' if result.modified_count else '未变更'}: \"{标签}\" → {对话ID}") + + +def main(): + parser = argparse.ArgumentParser(description="聊天记录查询") + parser.add_argument("--stats", action="store_true") + parser.add_argument("--search", type=str) + parser.add_argument("--project", type=str) + parser.add_argument("--since", type=str) + parser.add_argument("--list", action="store_true") + parser.add_argument("--conversation", type=str) + parser.add_argument("--reclassify", action="store_true") + parser.add_argument("--tag", nargs=2, metavar=("ID", "TAG")) + parser.add_argument("--limit", type=int, default=50) + args = parser.parse_args() + + client, db = get_db() + if args.stats: + 查看统计(db) + elif args.search: + 搜索对话(db, args.search, args.limit) + elif args.list: + 列出对话(db, args.project, args.since, args.limit) + elif args.conversation: + 查看对话(db, args.conversation) + elif args.reclassify: + 重新分类(db) + elif args.tag: + 打标签(db, args.tag[0], args.tag[1]) + elif args.project or args.since: + 列出对话(db, args.project, args.since, args.limit) + else: + parser.print_help() + client.close() + + +if __name__ == "__main__": + main() diff --git a/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/realtime_chat_sync.py b/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/realtime_chat_sync.py new file mode 100755 index 00000000..9a213b67 --- /dev/null +++ b/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/realtime_chat_sync.py @@ -0,0 +1,436 @@ +#!/usr/bin/env python3 +""" +实时对话同步与优化迭代 +每次对话结束时自动调用,将对话实时写入MongoDB并进行优化迭代 + +功能: +1. 实时写入:对话结束时立即写入MongoDB +2. 自动优化:项目分类、标签提取、摘要生成 +3. 迭代改进:基于历史数据优化分类规则 + +用法(由卡若AI自动调用): + python3 realtime_chat_sync.py --current-conversation-id <对话ID> + python3 realtime_chat_sync.py --optimize-classification # 优化分类规则 + python3 realtime_chat_sync.py --stats # 查看统计 +""" + +import argparse +import json +import os +import sqlite3 +import sys +from datetime import datetime, timezone +from pathlib import Path +from typing import Dict, List, Optional + +# 保证从任意目录运行都能找到 chat_fallback +_script_dir = Path(__file__).resolve().parent +if str(_script_dir) not in sys.path: + sys.path.insert(0, str(_script_dir)) + +try: + from pymongo import MongoClient, UpdateOne + from pymongo.errors import BulkWriteError, ServerSelectionTimeoutError +except ImportError: + print("需要 pymongo: pip install pymongo") + sys.exit(1) + +import chat_fallback as _fallback + +MONGO_URI = "mongodb://admin:admin123@localhost:27017/?authSource=admin" +DB_NAME = "karuo_site" +STATE_VSCDB = os.path.expanduser( + "~/Library/Application Support/Cursor/User/globalStorage/state.vscdb" +) + +# 项目分类规则(从auto_archive.py继承并扩展) +项目分类规则 = { + "卡若AI": ["卡若AI", "karuo_ai", "BOOTSTRAP", "SKILL_REGISTRY", "五行", "卡若ai", "运营中枢", "技能", "SKILL.md"], + "Soul创业": ["soul", "Soul", "soul创业", "卡若创业派对", "soul派对", "soul运营", "派对运营"], + "存客宝": ["cunkebao", "存客宝", "触客宝", "touchkebao"], + "玩值电竞": ["玩值", "wanzhi", "wanzhi_esports", "wzdj"], + "数据处理": ["数据中台", "datacenter", "KR_", "SG_", "导入mongo", "mongo数据库", "集合导入", "嘟嘟牛", "社工", "MongoDB迁移", "数据库迁移", "数据库恢复", "数据库优化", "/Users/karuo/数据库"], + "神射手": ["shensheshou", "神射手"], + "上帝之眼": ["上帝之眼", "god_eye", "量化交易"], + "服务器": ["服务器", "宝塔", "nginx", "SSL", "502", "腾讯云", "部署", "docker", "Docker"], + "设备管理": ["ADB", "投屏", "scrcpy", "局域网", "远程控制", "192.168"], + "群晖NAS": ["群晖", "Synology", "NAS", "CKBNAS", "nas_init", "1825", "smb://", "NAS部署", "USB连接"], + "飞书": ["飞书", "feishu", "lark", "妙记", "飞书妙记", "智能纪要", "飞书日志"], + "微信管理": ["微信", "WeChat", "微信存储", "社群占用"], + "工具维护": ["cursor", "state.vscdb", "icloud", "docker", "Docker", "硬盘", "磁盘", "空间", "node_modules", ".next", "清理", "输入法", "搜狗", "下载目录", "整理下载", "文件分类", "无法安装", "快捷方式", "进程", "快捷键", "GitHub", "Gitea", "fnvtk", "token"], + "个人": ["/个人/", "/1、卡若", "日记", "记忆", "iPhone", "相册", "MacBook相册", "Photos"], + "开发": ["/开发/", "知己", "项目模板", "智能项目生成", "金:项目", "银掌柜", "续茄", "小程序", "腾讯书籍", "分销模块", "前后端整合", "package.json", "开发文档", "开发模板", "MBTI", "route.ts", "page.tsx", "wxml", "wxss"], +} + + +def 检测项目(文件路径: List[str], 名称: str = "", 内容: str = "") -> str: + """智能项目分类(支持多关键词匹配和权重计算)""" + 搜索文本 = " ".join(文件路径) + " " + 名称 + " " + 内容 + 搜索文本_lower = 搜索文本.lower() + + 项目得分 = {} + for 项目, 关键词列表 in 项目分类规则.items(): + 得分 = 0 + for kw in 关键词列表: + if kw.lower() in 搜索文本_lower: + # 文件名匹配权重更高 + if any(kw.lower() in p.lower() for p in 文件路径): + 得分 += 3 + # 名称匹配权重中等 + elif kw.lower() in 名称.lower(): + 得分 += 2 + # 内容匹配权重较低 + else: + 得分 += 1 + 项目得分[项目] = 得分 + + if 项目得分: + # 返回得分最高的项目 + 最高项目 = max(项目得分.items(), key=lambda x: x[1]) + if 最高项目[1] > 0: + return 最高项目[0] + + return "未分类" + + +def 提取标签(内容: str, 项目: str) -> List[str]: + """从对话内容中提取标签""" + 标签 = [] + + # 基于项目的标签 + if 项目 != "未分类": + 标签.append(项目) + + # 关键词标签 + 关键词标签 = { + "bug修复": ["bug", "错误", "修复", "问题", "报错"], + "功能开发": ["开发", "实现", "功能", "新增"], + "优化": ["优化", "改进", "提升", "性能"], + "部署": ["部署", "上线", "发布", "docker"], + "数据分析": ["数据", "分析", "统计", "报表"], + "文档": ["文档", "说明", "手册", "README"], + } + + for 标签名, 关键词列表 in 关键词标签.items(): + if any(kw in 内容 for kw in 关键词列表): + 标签.append(标签名) + + return list(set(标签)) # 去重 + + +def 生成摘要(消息列表: List[Dict]) -> str: + """生成对话摘要""" + if not 消息列表: + return "" + + # 提取用户前3条消息的关键信息 + 用户消息 = [m.get("内容", "") for m in 消息列表 if m.get("角色") == "用户"][:3] + 摘要 = " | ".join([msg[:100] for msg in 用户消息 if msg]) + + if len(摘要) > 300: + 摘要 = 摘要[:300] + "..." + + return 摘要 + + +def 时间戳转时间(ts_ms): + """时间戳转datetime""" + if not ts_ms: + return None + try: + return datetime.fromtimestamp(ts_ms / 1000, tz=timezone.utc) + except (ValueError, OSError): + return None + + +def 实时同步对话(对话ID: str, 强制: bool = False) -> Optional[Dict]: + """ + 实时同步指定对话到MongoDB + + Args: + 对话ID: Cursor对话ID + 强制: 是否强制更新(即使已存在) + + Returns: + 对话文档或None + """ + if not os.path.exists(STATE_VSCDB): + print(f"⚠️ state.vscdb 不存在: {STATE_VSCDB}") + return None + + # 连接MongoDB + try: + client = MongoClient(MONGO_URI, serverSelectionTimeoutMS=5000) + client.admin.command("ping") + db = client[DB_NAME] + except (ServerSelectionTimeoutError, Exception) as e: + print(f"⚠️ MongoDB 连接失败: {e}") + return None + + # 检查是否已存在 + if not 强制: + 已有 = db["对话记录"].find_one({"对话ID": 对话ID}) + if 已有: + print(f"✅ 对话已存在: {对话ID[:8]}...") + return 已有 + + # 从state.vscdb读取对话数据 + conn = sqlite3.connect(STATE_VSCDB) + cursor = conn.cursor() + + try: + cursor.execute("SELECT value FROM cursorDiskKV WHERE key = ?", (f"composerData:{对话ID}",)) + row = cursor.fetchone() + if not row: + print(f"⚠️ 对话不存在于state.vscdb: {对话ID[:8]}...") + return None + + data = json.loads(row[0]) + except (json.JSONDecodeError, TypeError) as e: + print(f"⚠️ 解析对话数据失败: {e}") + return None + finally: + conn.close() + + # 提取对话信息 + headers = data.get("fullConversationHeadersOnly", []) + if not headers: + print(f"⚠️ 对话无消息: {对话ID[:8]}...") + return None + + ctx = data.get("context", {}) + 文件路径 = [f.get("uri", {}).get("fsPath", "") for f in ctx.get("fileSelections", []) if f.get("uri", {}).get("fsPath")] + 名称 = data.get("name", "") or "" + 副标题 = data.get("subtitle", "") or "" + + # 提取消息内容用于分类和摘要 + 消息内容列表 = [] + 消息ID列表 = [h.get("bubbleId", "") for h in headers if h.get("bubbleId")] + 首条 = "" + + # 重新连接读取消息详情 + conn = sqlite3.connect(STATE_VSCDB) + cursor = conn.cursor() + + for mid in 消息ID列表: + cursor.execute("SELECT value FROM cursorDiskKV WHERE key = ?", (f"bubbleId:{对话ID}:{mid}",)) + r = cursor.fetchone() + if not r: + continue + try: + mdata = json.loads(r[0]) + except: + continue + + 类型 = mdata.get("type", 0) + 内容 = mdata.get("text", "") or "" + 角色 = "用户" if 类型 == 1 else "AI" + + if 类型 == 1 and not 首条 and 内容: + 首条 = 内容[:500] + + 消息内容列表.append({ + "角色": 角色, + "内容": 内容, + }) + + conn.close() + + # 智能分类和优化 + 所有内容 = " ".join([m.get("内容", "") for m in 消息内容列表[:10]]) + 项目 = 检测项目(文件路径, 名称, 所有内容) + 标签 = 提取标签(所有内容, 项目) + 摘要 = 生成摘要(消息内容列表) + + now = datetime.now(timezone.utc) + + # 构建对话文档 + 对话文档 = { + "对话ID": 对话ID, + "名称": 名称 or f"对话 {对话ID[:8]}", + "副标题": 副标题 or 摘要[:200], + "项目": 项目, + "标签": 标签, + "创建时间": 时间戳转时间(data.get("createdAt")) or now, + "更新时间": now, + "消息数量": len(headers), + "是否Agent": data.get("isAgentic", False), + "模型配置": data.get("modelConfig", {}), + "关联文件": 文件路径[:50], + "首条消息": 首条, + "来源": "实时同步", + "来源工作区": "", + "迁移时间": now, + "同步版本": "2.0", # 标记为实时同步版本 + } + + # 写入MongoDB + try: + db["对话记录"].update_one( + {"对话ID": 对话ID}, + {"$set": 对话文档}, + upsert=True + ) + + # 写入消息内容 + 消息ops = [] + for i, mid in enumerate(消息ID列表): + conn = sqlite3.connect(STATE_VSCDB) + cursor = conn.cursor() + cursor.execute("SELECT value FROM cursorDiskKV WHERE key = ?", (f"bubbleId:{对话ID}:{mid}",)) + r = cursor.fetchone() + conn.close() + + if not r: + continue + + try: + mdata = json.loads(r[0]) + except: + continue + + 类型 = mdata.get("type", 0) + 内容 = mdata.get("text", "") or "" + timing = mdata.get("timingInfo", {}) + 创建时间 = 时间戳转时间(timing.get("clientRpcSendTime")) if timing.get("clientRpcSendTime") else now + + 消息ops.append(UpdateOne( + {"对话ID": 对话ID, "消息ID": mid}, + {"$set": { + "对话ID": 对话ID, + "消息ID": mid, + "类型": 类型, + "角色": "用户" if 类型 == 1 else "AI", + "内容": 内容, + "创建时间": 创建时间, + "是否Agent": mdata.get("isAgentic", False), + "Token用量": mdata.get("tokenCount", {}), + "工具调用数": len(mdata.get("toolResults", []) or []), + "代码块数": len(mdata.get("codeBlocks", []) or []), + }}, + upsert=True, + )) + + if 消息ops: + try: + db["消息内容"].bulk_write(消息ops, ordered=False) + except BulkWriteError: + pass + + # 同步到fallback + try: + _fallback.追加一条(对话文档) + except Exception: + pass + + print(f"✅ 实时同步完成: [{项目}] {名称 or 对话ID[:8]} ({len(headers)} 条消息, {len(标签)} 个标签)") + return 对话文档 + + except Exception as e: + print(f"❌ 写入MongoDB失败: {e}") + return None + finally: + client.close() + + +def 优化分类规则(db): + """基于历史数据优化分类规则""" + print("🔄 开始优化分类规则...") + + # 统计未分类对话的关键词 + 未分类对话 = list(db["对话记录"].find({"项目": "未分类"}, {"名称": 1, "首条消息": 1, "关联文件": 1}).limit(100)) + + if not 未分类对话: + print("✅ 无未分类对话,分类规则良好") + return + + 关键词统计 = {} + for 对话 in 未分类对话: + 文本 = f"{对话.get('名称', '')} {对话.get('首条消息', '')} {' '.join(对话.get('关联文件', []))}" + # 简单提取关键词(实际可以用更复杂的NLP) + words = 文本.lower().split() + for word in words: + if len(word) > 3: # 忽略太短的词 + 关键词统计[word] = 关键词统计.get(word, 0) + 1 + + # 输出高频关键词建议 + if 关键词统计: + 高频词 = sorted(关键词统计.items(), key=lambda x: x[1], reverse=True)[:10] + print("📊 未分类对话高频关键词(建议加入分类规则):") + for 词, 频次 in 高频词: + print(f" - {词}: {频次}次") + + print("✅ 分类规则优化完成") + + +def 显示统计(db): + """显示同步统计""" + try: + 总数 = db["对话记录"].count_documents({}) + 实时同步数 = db["对话记录"].count_documents({"来源": "实时同步"}) + 项目统计 = {} + + for 对话 in db["对话记录"].find({}, {"项目": 1}): + 项目 = 对话.get("项目", "未知") + 项目统计[项目] = 项目统计.get(项目, 0) + 1 + + print(f"\n📊 对话同步统计") + print(f"总对话数: {总数}") + print(f"实时同步数: {实时同步数}") + print(f"\n📁 项目分布:") + for 项目, 数量 in sorted(项目统计.items(), key=lambda x: x[1], reverse=True): + print(f" {项目}: {数量}") + + except Exception as e: + print(f"❌ 统计失败: {e}") + + +def main(): + parser = argparse.ArgumentParser(description="实时对话同步与优化迭代") + parser.add_argument("--current-conversation-id", type=str, help="当前对话ID(从Cursor获取)") + parser.add_argument("--optimize-classification", action="store_true", help="优化分类规则") + parser.add_argument("--stats", action="store_true", help="显示统计") + parser.add_argument("--force", action="store_true", help="强制更新已存在的对话") + args = parser.parse_args() + + # 连接MongoDB + try: + client = MongoClient(MONGO_URI, serverSelectionTimeoutMS=5000) + client.admin.command("ping") + db = client[DB_NAME] + except (ServerSelectionTimeoutError, Exception) as e: + print(f"❌ MongoDB 连接失败: {e}") + sys.exit(1) + + if args.stats: + 显示统计(db) + elif args.optimize_classification: + 优化分类规则(db) + elif args.current_conversation_id: + 实时同步对话(args.current_conversation_id, 强制=args.force) + else: + # 默认:扫描最新对话并同步 + print("🔄 扫描最新对话...") + if not os.path.exists(STATE_VSCDB): + print(f"⚠️ state.vscdb 不存在") + sys.exit(1) + + conn = sqlite3.connect(STATE_VSCDB) + cursor = conn.cursor() + cursor.execute("SELECT key, value FROM cursorDiskKV WHERE key LIKE 'composerData:%' ORDER BY value DESC LIMIT 1") + row = cursor.fetchone() + conn.close() + + if row: + key, value = row + 对话ID = key.replace("composerData:", "") + print(f"📝 找到最新对话: {对话ID[:8]}...") + 实时同步对话(对话ID, 强制=args.force) + else: + print("⚠️ 未找到对话") + + client.close() + + +if __name__ == "__main__": + main() diff --git a/02_卡人(水)/水桥_平台对接/QQ邮箱拉取/README.md b/02_卡人(水)/水桥_平台对接/QQ邮箱拉取/README.md index 115750e1..ed587187 100644 --- a/02_卡人(水)/水桥_平台对接/QQ邮箱拉取/README.md +++ b/02_卡人(水)/水桥_平台对接/QQ邮箱拉取/README.md @@ -24,6 +24,17 @@ python qq_mail_fetch.py --limit 50 python qq_mail_fetch.py --days 7 --limit 20 ``` +## Boss 直聘简历附件批量下载 + +将邮箱中「Boss直聘」相关邮件的所有附件(简历等)下载到本机「下载」目录下的 `Boss直聘简历` 文件夹: + +```bash +python3 download_boss_zhipin_resumes.py # 全部 +python3 download_boss_zhipin_resumes.py --days 365 # 仅最近一年(更快) +``` + +会扫描收件箱 + 垃圾箱,筛选主题/发件人含「Boss」「直聘」「zhipin」「博聘」的邮件,输出到 `~/Downloads/Boss直聘简历/`。 + ## 登录失败排查 若出现 `Login fail`,请检查: diff --git a/02_卡人(水)/水桥_平台对接/QQ邮箱拉取/download_boss_zhipin_resumes.py b/02_卡人(水)/水桥_平台对接/QQ邮箱拉取/download_boss_zhipin_resumes.py new file mode 100644 index 00000000..0720fb01 --- /dev/null +++ b/02_卡人(水)/水桥_平台对接/QQ邮箱拉取/download_boss_zhipin_resumes.py @@ -0,0 +1,169 @@ +#!/usr/bin/env python3 +""" +从 QQ 邮箱中筛选「Boss直聘」相关邮件,下载所有附件(简历等)到下载目录。 +依赖:同目录 .qq_mail_env(QQ_MAIL、QQ_MAIL_AUTH_CODE) +用法:python3 download_boss_zhipin_resumes.py [--days 365] +""" +import imaplib +import email +import argparse +import os +import re +import sys +from datetime import datetime, timedelta +from email.header import decode_header +from pathlib import Path + +# 复用 qq_mail_fetch 的环境加载 +def _load_env(): + env_file = Path(__file__).resolve().parent / ".qq_mail_env" + if env_file.exists(): + for line in env_file.read_text(encoding="utf-8").splitlines(): + line = line.strip() + if line and not line.startswith("#") and "=" in line: + k, v = line.split("=", 1) + os.environ.setdefault(k.strip(), v.strip()) + +_load_env() + +IMAP_HOST = "imap.qq.com" +IMAP_PORT = 993 +EMAIL = os.environ.get("QQ_MAIL", "zhengzhiqun@qq.com") +AUTH_CODE = os.environ.get("QQ_MAIL_AUTH_CODE", "") + +# 下载目录:用户下载目录下的子文件夹 +DOWN_DIR = Path.home() / "Downloads" / "Boss直聘简历" + + +def _decode_mime(s): + if not s: + return "" + if isinstance(s, bytes): + s = s.decode("utf-8", errors="replace") + s = s.strip() + # 统一用 decode_header 解析(支持 =?UTF-8?B?xxx?= 等) + try: + parts = decode_header(s) + except Exception: + return re.sub(r'[<>:"/\\|?*]', "_", s) + out = [] + for part, enc in parts: + if isinstance(part, bytes): + out.append(part.decode(enc or "utf-8", errors="replace")) + else: + out.append(str(part) if part else "") + return "".join(out) + + +def _is_boss_zhipin_email(subject: str, from_addr: str) -> bool: + """判断是否为 Boss 直聘相关邮件(主题或发件人包含关键词)""" + subject = (subject or "").lower() + from_addr = (from_addr or "").lower() + keywords = ["boss", "直聘", "zhipin", "博聘"] + for kw in keywords: + if kw in subject or kw in from_addr: + return True + return False + + +def _safe_filename(name: str) -> str: + """去掉非法文件名字符""" + name = re.sub(r'[<>:"/\\|?*]', "_", name) + return name.strip() or "attachment" + + +def download_attachments_from_message(msg, date_str: str, global_index: int, saved: set) -> list[Path]: + """从一封邮件中提取所有附件并保存,返回保存路径列表。""" + saved_paths = [] + for part in msg.walk(): + filename = part.get_filename() + if not filename: + continue + filename = _decode_mime(filename) + if not filename.strip(): + continue + payload = part.get_payload(decode=True) + if payload is None: + continue + safe_base = _safe_filename(filename) + base, ext = os.path.splitext(safe_base) + path = DOWN_DIR / f"{date_str}_{global_index}_{safe_base}" + cnt = 0 + while path in saved or path.exists(): + cnt += 1 + path = DOWN_DIR / f"{date_str}_{global_index}_{base}_{cnt}{ext}" + path.write_bytes(payload) + saved.add(path) + saved_paths.append(path) + return saved_paths + + +def main(): + ap = argparse.ArgumentParser(description="下载邮箱中 Boss 直聘相关邮件的附件到下载目录") + ap.add_argument("--days", type=int, default=0, help="只处理最近 N 天的邮件,0 表示全部") + args = ap.parse_args() + + if not AUTH_CODE: + print("未配置 QQ 邮箱授权码,请在同目录 .qq_mail_env 中设置 QQ_MAIL_AUTH_CODE", file=sys.stderr) + return 1 + + DOWN_DIR.mkdir(parents=True, exist_ok=True) + print(f"下载目录: {DOWN_DIR}", file=sys.stderr) + + server = imaplib.IMAP4_SSL(IMAP_HOST, IMAP_PORT) + server.login(EMAIL, AUTH_CODE) + + # 收件箱 + 垃圾箱(Boss 邮件有时会被归类到垃圾箱) + folders = [("INBOX", "收件箱"), ("Junk", "垃圾箱")] + total_saved = 0 + saved_paths_global = set() + global_file_index = 0 + + # 可选:按日期限制(SINCE) + since_criteria = "" + if args.days > 0: + since = (datetime.now() - timedelta(days=args.days)).strftime("%d-%b-%Y") + since_criteria = f'(SINCE {since})' + print(f"仅处理 {args.days} 天内邮件 (since {since})", file=sys.stderr) + + for folder, label in folders: + mb = f'"{folder}"' if " " in folder else folder + try: + server.select(mb, readonly=True) + except Exception as e: + print(f"跳过 {label} ({folder}): {e}", file=sys.stderr) + continue + + typ, data = server.search(None, since_criteria or "ALL") + if typ != "OK": + continue + ids = list(reversed(data[0].split())) + print(f"\n{label}: 共 {len(ids)} 封待检查...", file=sys.stderr) + + for i, num in enumerate(ids): + typ, msg_data = server.fetch(num, "(RFC822)") + if typ != "OK": + continue + raw = msg_data[0][1] + msg = email.message_from_bytes(raw) + subject = _decode_mime(msg.get("Subject", "")) + from_addr = _decode_mime(msg.get("From", "")) + if not _is_boss_zhipin_email(subject, from_addr): + continue + date_str = msg.get("Date", "")[:10].replace(" ", "_") or "nodate" + date_str = re.sub(r"[^\d\-_]", "", date_str) or "nodate" + global_file_index += 1 + paths = download_attachments_from_message(msg, date_str, global_file_index, saved_paths_global) + if paths: + total_saved += len(paths) + for p in paths: + print(p.name) + + server.close() + server.logout() + print(f"\n合计下载 {total_saved} 个附件到: {DOWN_DIR}", file=sys.stderr) + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/02_卡人(水)/水桥_平台对接/Soul创业实验/项目管理.md b/02_卡人(水)/水桥_平台对接/Soul创业实验/项目管理.md new file mode 100644 index 00000000..833ddb96 --- /dev/null +++ b/02_卡人(水)/水桥_平台对接/Soul创业实验/项目管理.md @@ -0,0 +1,79 @@ +# Soul 创业派对(永平版)- 项目管理概览 + +> 维护人:卡若AI | 最后更新:2026-03-19 +> Gitea 仓库:http://open.quwanzhi.com:3000/fnvtk/soul-yongping +> 本地路径:`/Users/karuo/Documents/开发/3、自营项目/一场soul的创业实验-永平` + +--- + +## 项目架构 + +| 子项目 | 技术栈 | 目录 | 说明 | +|:---|:---|:---|:---| +| 小程序 | 微信原生(WXML/WXSS/JS) | `miniprogram/` | C 端阅读、会员、链接卡若 | +| 管理端 | React + TypeScript + Vite + Radix UI | `soul-admin/` | 后台管理、内容编辑、数据看板 | +| API 后端 | Go + Gin + GORM + MySQL | `soul-api/` | 统一接口服务 | + +## API 路由分组(强制隔离) + +- 小程序:`/api/miniprogram/*` +- 管理端:`/api/admin/*` + `/api/db/*` +- 禁止混用 + +## Gitea 同步机制 + +| 项 | 说明 | +|:---|:---| +| 公网 Gitea | `gitea` → `open.quwanzhi.com:3000/fnvtk/soul-yongping` | +| 同步脚本 | `.cursor/scripts/gitea-sync.sh` | +| 定时频率 | 每 10 分钟(macOS launchd) | +| 同步方式 | 双向:先 pull 远程更新 → 有本地变更则 commit+push | +| 分支 | `devlop` | +| launchd | `~/Library/LaunchAgents/com.soul.yongping.gitea-sync.plist` | + +## 核心功能模块(截至 2026-03-19) + +### 已完成 + +| 模块 | 功能 | 涉及三端 | +|:---|:---|:---| +| 客资中心 | Dashboard 聚合 CKB 线索+提交记录,联表用户信息,展示联系方式 | 后端 + 管理端 | +| @置顶 | Person 三端置顶功能,管理端可配置,小程序首页优先展示 | 后端 + 管理端 + 小程序 | +| 存客宝场景 | 一键检查并自动启用场景获客计划 | 后端 + 管理端 | +| 线索去重 | 后端聚合 dupCount,管理端展示重复标记和统计 | 后端 + 管理端 | +| 内容管理 | 章节 CRUD、富文本编辑、@人物、排序、批量操作 | 后端 + 管理端 | +| 会员体系 | VIP 开通/续费/过期、微信支付、权益管理 | 三端 | +| 用户系统 | 注册/登录、资料编辑、标签、推荐码 | 三端 | +| 阅读系统 | 章节阅读、进度追踪、分享、搜索 | 后端 + 小程序 | +| 数据看板 | 用户统计、订单统计、营收、商户余额 | 后端 + 管理端 | + +### 进行中 / 待开发 + +| 模块 | 状态 | 说明 | +|:---|:---|:---| +| 用户 RFM 估值 | 待开发 | 基于旅程/习惯/标签计算 RFM 值 | +| 规则引擎 | 部分完成 | 注册规则、行为触发规则的完善和埋点 | +| 用户旅程 | 待开发 | 用户行为聚合展示 | +| 标签体系 | 部分完成 | 需与存客宝标签实时同步 | +| 获客计划匹配 | 部分完成 | 小程序文章@与存客宝计划绑定 | +| 支付问题修复 | 进行中 | 持续排查支付异常 | + +## 关键文件索引 + +| 文件 | 说明 | +|:---|:---| +| `soul-api/internal/router/router.go` | 全部路由定义 | +| `soul-api/internal/model/` | 数据模型(User, Person, Order 等) | +| `soul-api/internal/handler/` | 所有 API handler | +| `soul-admin/src/pages/dashboard/DashboardPage.tsx` | 管理端首页看板 | +| `soul-admin/src/pages/content/ContentPage.tsx` | 内容管理+@人物列表 | +| `miniprogram/pages/index/index.js` | 小程序首页 | +| `miniprogram/app.js` | 小程序全局配置 | +| `开发文档/1、需求/` | 需求文档目录 | +| `.cursor/skills/` | 各角色开发规范 Skill | + +## 版本记录 + +| 日期 | 变更 | +|:---|:---| +| 2026-03-19 | 初始创建;四大用户功能完成(客资中心、@置顶、场景bug修复、去重增强);Gitea 同步修复 | diff --git a/02_卡人(水)/水桥_平台对接/飞书管理/脚本/.feishu_tokens.json b/02_卡人(水)/水桥_平台对接/飞书管理/脚本/.feishu_tokens.json index 7a9de067..0abf1701 100644 --- a/02_卡人(水)/水桥_平台对接/飞书管理/脚本/.feishu_tokens.json +++ b/02_卡人(水)/水桥_平台对接/飞书管理/脚本/.feishu_tokens.json @@ -1,6 +1,6 @@ { - "access_token": "u-dK0qe.uCx3obAbLy2IlIXDlh1C31ghihhwGaJQg0230F", - "refresh_token": "ur-dX7EcveVR2N8ppLnCtagzqlh3I9xghWXi0GaJx00275Y", + "access_token": "u-e_yzrY5Mh5eF_.Y8PKbaMtlh14HxghqpWMGaIQ40235J", + "refresh_token": "ur-ew8WjjPF9e1HoSim4iMK8Qlh1A11ghOpq0GaZwg0260F", "name": "飞书用户", - "auth_time": "2026-03-14T12:12:52.532017" + "auth_time": "2026-03-20T11:02:06.903826" } \ No newline at end of file diff --git a/02_卡人(水)/水桥_平台对接/飞书管理/脚本/soul_party_to_feishu_sheet.py b/02_卡人(水)/水桥_平台对接/飞书管理/脚本/soul_party_to_feishu_sheet.py index 33e3d5cf..39c74f13 100644 --- a/02_卡人(水)/水桥_平台对接/飞书管理/脚本/soul_party_to_feishu_sheet.py +++ b/02_卡人(水)/水桥_平台对接/飞书管理/脚本/soul_party_to_feishu_sheet.py @@ -63,11 +63,13 @@ ROWS = { '127': [ '占卜玄学 AI职业定位TOKEN', 127, 0, 174, 10, 60, 18, 69, 14, 32 ], # 128场 2026-03-19:关闭页 187min/236成员/37最高/19新增/2礼物/29灵魂力,小助手 185min建房/233进房/13人均/102互动/19关注,话题知识 '128': [ '分享最赚钱一个月-知识节奏', 187, 0, 233, 13, 102, 2, 29, 19, 37 ], + # 129场 2026-03-20:关闭页 200min/252成员/31最高/21新增/4礼物/561灵魂力/灵果+5257,小助手 200min建房/250进房/14人均/187互动/21关注,话题职场 + '129': [ '分享最赚钱一月职场', 200, 0, 250, 14, 187, 4, 561, 21, 31 ], } # 场次→按日期列填写时的日期(表头为当月日期 1~31) -SESSION_DATE_COLUMN = {'105': '20', '106': '21', '107': '23', '113': '2', '114': '3', '115': '4', '116': '5', '117': '6', '118': '7', '119': '8', '124': '14', '126': '17', '127': '18', '128': '19'} +SESSION_DATE_COLUMN = {'105': '20', '106': '21', '107': '23', '113': '2', '114': '3', '115': '4', '116': '5', '117': '6', '118': '7', '119': '8', '124': '14', '126': '17', '127': '18', '128': '19', '129': '20'} # 场次→月份(用于选择 2月/3月 等工作表标签,避免写入错月) -SESSION_MONTH = {'105': 2, '106': 2, '107': 2, '113': 3, '114': 3, '115': 3, '116': 3, '117': 3, '118': 3, '119': 3, '124': 3, '126': 3, '127': 3, '128': 3} +SESSION_MONTH = {'105': 2, '106': 2, '107': 2, '113': 3, '114': 3, '115': 3, '116': 3, '117': 3, '118': 3, '119': 3, '124': 3, '126': 3, '127': 3, '128': 3, '129': 3} # 派对录屏(飞书妙记)链接:场次 → 完整 URL,填表时写入「派对录屏」行对应列 # 从飞书妙记复制链接后填入,新场次需补全 @@ -82,6 +84,7 @@ PARTY_VIDEO_LINKS = { '124': 'https://cunkebao.feishu.cn/minutes/obcne7q5dto13494k9a56881', '126': 'https://cunkebao.feishu.cn/minutes/obcnha23t28fxfq8g8h5392d', '127': 'https://cunkebao.feishu.cn/minutes/obcnhybw322112tad6916v8r', + '129': 'https://cunkebao.feishu.cn/minutes/obcnjb994323l12lhl448177', } # 团队会议(飞书妙记)链接:场次 → 完整 URL,填表时写入「团队会议」行对应列(row 31) @@ -118,6 +121,7 @@ MINIPROGRAM_EXTRA_3 = { '17': {'访问次数': 0, '访客': 0, '交易金额': 0}, # 3月17日 126场 '18': {'访问次数': 0, '访客': 0, '交易金额': 0}, # 3月18日 127场 '19': {'访问次数': 0, '访客': 0, '交易金额': 0}, # 3月19日 128场 + '20': {'访问次数': 0, '访客': 0, '交易金额': 0}, # 3月20日 129场 } @@ -449,9 +453,9 @@ def main(): LABELS_GROUP = ['主题', '时长(分钟)', 'Soul推流人数', '进房人数', '人均时长(分钟)', '互动数量', '礼物', '灵魂力', '增加关注', '最高在线'] def _maybe_send_group(sess, raw_vals): - if sess not in ('105', '106', '107', '113', '114', '115', '116', '117', '118', '119', '124', '126', '127', '128'): + if sess not in ('105', '106', '107', '113', '114', '115', '116', '117', '118', '119', '124', '126', '127', '128', '129'): return - date_label = {'105': '2月20日', '106': '2月21日', '107': '2月23日', '113': '3月2日', '114': '3月3日', '115': '3月4日', '116': '3月5日', '117': '3月6日', '118': '3月7日', '119': '3月8日', '124': '3月14日', '126': '3月17日', '127': '3月18日', '128': '3月19日'}.get(sess, sess + '场') + date_label = {'105': '2月20日', '106': '2月21日', '107': '2月23日', '113': '3月2日', '114': '3月3日', '115': '3月4日', '116': '3月5日', '117': '3月6日', '118': '3月7日', '119': '3月8日', '124': '3月14日', '126': '3月17日', '127': '3月18日', '128': '3月19日', '129': '3月20日'}.get(sess, sess + '场') report_link = OPERATION_REPORT_LINK if sheet_id == SHEET_ID else f'https://cunkebao.feishu.cn/wiki/wikcnIgAGSNHo0t36idHJ668Gfd?sheet={sheet_id}' lines = [ '【Soul 派对运营报表】', @@ -462,7 +466,7 @@ def main(): for i, label in enumerate(LABELS_GROUP): val = raw_vals[i] if i < len(raw_vals) else '' lines.append(f'{label}:{val}') - src_date = {'105': '20260220', '106': '20260221', '107': '20260223', '113': '20260302', '114': '20260303', '115': '20260304', '116': '20260305', '117': '20260306', '118': '20260307', '119': '20260308', '124': '20260314', '126': '20260317', '127': '20260318', '128': '20260319'}.get(sess, '20260220') + src_date = {'105': '20260220', '106': '20260221', '107': '20260223', '113': '20260302', '114': '20260303', '115': '20260304', '116': '20260305', '117': '20260306', '118': '20260307', '119': '20260308', '124': '20260314', '126': '20260317', '127': '20260318', '128': '20260319', '129': '20260320'}.get(sess, '20260220') lines.append(f'数据来源:soul 派对 {sess}场 {src_date}.txt') msg = '\n'.join(lines) ok, _ = send_feishu_group_message(FEISHU_GROUP_WEBHOOK, msg) diff --git a/02_卡人(水)/水溪_整理归档/自动记忆管理/SKILL.md b/02_卡人(水)/水溪_整理归档/自动记忆管理/SKILL.md index 3ca67976..c30c88ff 100644 --- a/02_卡人(水)/水溪_整理归档/自动记忆管理/SKILL.md +++ b/02_卡人(水)/水溪_整理归档/自动记忆管理/SKILL.md @@ -19,9 +19,9 @@ updated: "2026-02-16" ## 🎯 核心功能 ### 1. 自动读取记忆 -- 每次对话开始时,自动读取 `/Users/karuo/Documents/个人/记忆.md` -- 读取分类记忆目录下的所有文档 -- 将记忆内容作为上下文,指导AI行为 +- 每次对话开始时,自动读取 `/Users/karuo/Documents/个人/1、卡若:本人/记忆.md`(唯一记忆源) +- 可选从 **MongoDB** 调取:库 `karuo_site`,集合 `记忆条目`(中文字段、分类清晰),便于对话中按分类/标签/关键词/最近 N 条快速检索 +- 将记忆内容作为上下文,指导 AI 行为 ### 2. 自动识别优质内容 识别以下类型的优质内容: @@ -64,17 +64,39 @@ updated: "2026-02-16" ### 手动触发 用户说:`记住这个` `存入记忆` `更新记忆` +### 从 MongoDB 调取记忆(对话中快速检索) +记忆已同步到唯一 MongoDB(`karuo_site.记忆条目`),可用以下命令在对话中按需调取: + +| 需求 | 命令 | +|:---|:---| +| 统计 | `python3 记忆系统/query_memory.py --stats` | +| 最近 N 条 | `python3 记忆系统/query_memory.py --最近 20` | +| 按分类 | `python3 记忆系统/query_memory.py --分类 固定偏好` | +| 按标签 | `python3 记忆系统/query_memory.py --标签 规则` | +| 按日期 | `python3 记忆系统/query_memory.py --日期 2026-03-15` | +| 关键词 | `python3 记忆系统/query_memory.py --关键词 飞书` | + +脚本路径:`02_卡人(水)/水溪_整理归档/记忆系统/query_memory.py`。同步 记忆.md → MongoDB:`python3 sync_memory_to_mongo.py`(全量)、`--dry` 仅解析不写入。 + --- ## 🔧 技术实现 -### 核心脚本 -`scripts/memory_manager.py` - 记忆管理核心逻辑 +### 核心脚本与 MongoDB -**主要功能**: +| 脚本/模块 | 用途 | +|:---|:---| +| `scripts/memory_manager.py` | 记忆管理:读 记忆.md、分类、写入 记忆.md | +| 记忆系统/`memory_mongo.py` | MongoDB 读写:库 `karuo_site`,集合 `记忆条目`(中文字段) | +| 记忆系统/`sync_memory_to_mongo.py` | 将 记忆.md 解析后同步到 MongoDB(去重) | +| 记忆系统/`query_memory.py` | 按分类/标签/日期/关键词/最近 N 条查询,输出中文易读 | + +**MongoDB 记忆条目**:与 记忆.md 对应;分类为「固定偏好」「近期目标」「每日沉淀」,标签为规则、原则、项目、技术、人脉、工具、读书笔记等。对话中需要快速调取时,可执行 `python3 query_memory.py --最近 20` 或 `--关键词 飞书`、`--分类 固定偏好` 等。 + +**主要功能**(memory_manager.py): 1. `read_memory()` - 读取所有记忆文档 2. `classify_content()` - 使用本地模型分类内容 -3. `save_memory()` - 保存到对应位置 +3. `save_memory()` - 保存到对应位置(记忆.md);同步到 MongoDB 需另跑 `sync_memory_to_mongo.py` 或由调用方双写) 4. `format_entry()` - 格式化记忆条目 ### 调用示例 diff --git a/02_卡人(水)/水溪_整理归档/记忆系统/memory_mongo.py b/02_卡人(水)/水溪_整理归档/记忆系统/memory_mongo.py new file mode 100644 index 00000000..ef73d599 --- /dev/null +++ b/02_卡人(水)/水溪_整理归档/记忆系统/memory_mongo.py @@ -0,0 +1,259 @@ +#!/usr/bin/env python3 +""" +卡若AI 记忆 · MongoDB 读写模块 + +- 库:karuo_site(唯一 MongoDB 27017) +- 集合:记忆条目(中文字段,便于 AI 理解与调取) +- 支持:按分类、标签、日期、关键词、最近 N 条查询;写入时去重(内容哈希) +""" + +import hashlib +import re +from datetime import datetime, timezone +from pathlib import Path +from typing import Any, Dict, List, Optional + +try: + from pymongo import MongoClient, ASCENDING, DESCENDING, TEXT +except ImportError: + MongoClient = None # type: ignore + +# 配置(与聊天记录管理一致,遵守唯一 MongoDB 约定) +MONGO_URI = "mongodb://admin:admin123@localhost:27017/?authSource=admin" +DB_NAME = "karuo_site" +COLLECTION = "记忆条目" + +# 记忆.md 路径(与 BOOTSTRAP 一致) +MEMORY_MD = Path("/Users/karuo/Documents/个人/1、卡若:本人/记忆.md") + +# 分类枚举(中文) +分类_固定偏好 = "固定偏好" +分类_近期目标 = "近期目标" +分类_每日沉淀 = "每日沉淀" + +# 标签从原文 [xxx] 解析,常见值 +常见标签 = frozenset({ + "规则", "原则", "项目", "技术", "商业", "学习", "偏好", "人脉", "工具", + "读书笔记", "经验", "能力沉淀", "人设", "其他" +}) + + +def _get_client(): + if MongoClient is None: + raise RuntimeError("需要安装 pymongo: pip install pymongo") + return MongoClient(MONGO_URI, serverSelectionTimeoutMS=5000) + + +def get_db(): + """返回 (client, db)。调用方用完可关闭 client。""" + client = _get_client() + client.admin.command("ping") + return client, client[DB_NAME] + + +def 内容哈希(日期: str, 时间: str, 内容: str) -> str: + """生成条目唯一标识,用于去重。""" + raw = f"{日期}|{时间}|{内容.strip()}" + return hashlib.sha256(raw.encode("utf-8")).hexdigest()[:16] + + +def ensure_indexes(db): + """确保 记忆条目 集合索引存在(含中文全文索引)。""" + col = db[COLLECTION] + col.create_index([("分类", ASCENDING), ("日期", DESCENDING)]) + col.create_index([("标签", ASCENDING), ("日期", DESCENDING)]) + col.create_index([("日期", DESCENDING)]) + col.create_index([("创建时间", DESCENDING)]) + col.create_index([("内容哈希", ASCENDING)], unique=True) + try: + col.create_index([("内容", TEXT)], default_language="none") + except Exception: + pass # 已有或不支持时忽略 + + +def 解析一行(行: str, 当前分类: str, 当前日期: Optional[str]) -> Optional[Dict[str, Any]]: + """ + 解析 记忆.md 中一行条目: + - [HH:MM] [标签] 内容 或 - [HH:MM] 内容 + 返回 None 表示不是条目行;否则返回 分类、标签、日期、时间、内容。 + """ + 行 = 行.strip() + if not 行.startswith("- [") or "]" not in 行: + return None + m = re.match(r"^-\s*\[(\d{1,2}:\d{2})\]\s*(?:\[([^\]]+)\]\s*)?(.*)$", 行) + if not m: + return None + 时间, 标签, 内容 = m.group(1), m.group(2) or "", m.group(3).strip() + if not 内容: + return None + 标签 = (标签.strip() if 标签 else "其他") or "其他" + if 当前日期 is None and 当前分类 == 分类_每日沉淀: + 日期 = datetime.now().strftime("%Y-%m-%d") + elif 当前日期 in (None, "") and 当前分类 in (分类_固定偏好, 分类_近期目标): + 日期 = "长期" + else: + 日期 = 当前日期 or datetime.now().strftime("%Y-%m-%d") + return { + "分类": 当前分类, + "标签": 标签 if 标签 else "其他", + "日期": 日期, + "时间": 时间, + "内容": 内容, + } + + +def 解析记忆md全文(文本: str) -> List[Dict[str, Any]]: + """ + 解析 记忆.md 全文,得到结构化条目列表。 + 识别:## 固定偏好 / ## 近期目标 / ## 每日沉淀;### YYYY-MM-DD 为日期。 + """ + 条目列表 = [] + 当前分类 = "" + 当前日期 = None + for line in 文本.splitlines(): + line = line.strip() + if line.startswith("## "): + if "固定偏好" in line: + 当前分类 = 分类_固定偏好 + 当前日期 = "" # 无日期块,解析时用「长期」 + elif "近期目标" in line: + 当前分类 = 分类_近期目标 + 当前日期 = "" + elif "每日沉淀" in line: + 当前分类 = 分类_每日沉淀 + 当前日期 = None # 等待 ### YYYY-MM-DD + else: + 当前分类 = "" + 当前日期 = None + continue + if line.startswith("### ") and re.match(r"### \d{4}-\d{2}-\d{2}", line): + m = re.match(r"### (\d{4}-\d{2}-\d{2})", line) + if m and 当前分类 == 分类_每日沉淀: + 当前日期 = m.group(1) + continue + if 当前分类: + one = 解析一行(line, 当前分类, 当前日期) + if one: + 条目列表.append(one) + return 条目列表 + + +def 写入一条( + db, + 分类: str, + 内容: str, + 标签: str = "其他", + 日期: Optional[str] = None, + 时间: Optional[str] = None, + 来源: str = "记忆.md", +) -> bool: + """ + 写入一条记忆到 MongoDB。若 内容哈希 已存在则跳过(去重)。 + """ + now = datetime.now(timezone.utc) + 日期 = 日期 or now.strftime("%Y-%m-%d") + 时间 = 时间 or now.strftime("%H:%M") + 摘要 = 内容[:120] + "…" if len(内容) > 120 else 内容 + 内容哈希_val = 内容哈希(日期, 时间, 内容) + doc = { + "分类": 分类, + "标签": 标签, + "日期": 日期, + "时间": 时间, + "内容": 内容, + "摘要": 摘要, + "来源": 来源, + "创建时间": now, + "内容哈希": 内容哈希_val, + } + col = db[COLLECTION] + try: + col.insert_one(doc) + return True + except Exception as e: + if "duplicate" in str(e).lower() or "E11000" in str(e): + return False # 已存在,算成功 + raise + + +def 按分类查(db, 分类: str, limit: int = 50) -> List[Dict]: + """按分类查询,按日期倒序。""" + return list( + db[COLLECTION] + .find({"分类": 分类}) + .sort("日期", DESCENDING) + .limit(limit) + ) + + +def 按标签查(db, 标签: str, limit: int = 50) -> List[Dict]: + """按标签查询,按日期倒序。""" + return list( + db[COLLECTION] + .find({"标签": 标签}) + .sort("日期", DESCENDING) + .limit(limit) + ) + + +def 按日期查(db, 日期: str) -> List[Dict]: + """按日期查询。""" + return list(db[COLLECTION].find({"日期": 日期}).sort("时间", ASCENDING)) + + +def 按关键词查(db, 关键词: str, limit: int = 30) -> List[Dict]: + """全文检索(内容字段)。中文或短词用正则,否则尝试 text 索引。""" + col = db[COLLECTION] + # 中文或短关键词用正则,便于「飞书」「规则」等直接命中 + is_cjk = any("\u4e00" <= c <= "\u9fff" for c in 关键词) + if is_cjk or len(关键词) <= 4: + return list( + col.find({"内容": {"$regex": re.escape(关键词), "$options": "i"}}) + .sort("日期", DESCENDING) + .limit(limit) + ) + try: + cursor = col.find( + {"$text": {"$search": 关键词}}, + {"score": {"$meta": "textScore"}}, + ).sort([("score", {"$meta": "textScore"})]).limit(limit) + return list(cursor) + except Exception: + return list( + col.find({"内容": {"$regex": re.escape(关键词), "$options": "i"}}) + .sort("日期", DESCENDING) + .limit(limit) + ) + + +def 最近N条(db, n: int = 30, 分类: Optional[str] = None, 标签: Optional[str] = None) -> List[Dict]: + """最近 N 条,可选按分类或标签过滤;按创建时间倒序。""" + q = {} + if 分类: + q["分类"] = 分类 + if 标签: + q["标签"] = 标签 + return list(db[COLLECTION].find(q).sort("创建时间", DESCENDING).limit(n)) + + +def 统计(db) -> Dict[str, int]: + """按分类统计条数。""" + pipeline = [ + {"$group": {"_id": "$分类", "数量": {"$sum": 1}}}, + {"$sort": {"数量": -1}}, + ] + by_class = {doc["_id"]: doc["数量"] for doc in db[COLLECTION].aggregate(pipeline)} + by_class["总计"] = sum(by_class.values()) + return by_class + + +if __name__ == "__main__": + import sys + client, db = get_db() + ensure_indexes(db) + if len(sys.argv) > 1 and sys.argv[1] == "stats": + for k, v in 统计(db).items(): + print(f" {k}: {v}") + else: + print("memory_mongo: 记忆条目读写。用法: python memory_mongo.py stats") + client.close() diff --git a/02_卡人(水)/水溪_整理归档/记忆系统/memory_mongo_schema.md b/02_卡人(水)/水溪_整理归档/记忆系统/memory_mongo_schema.md new file mode 100644 index 00000000..830335ba --- /dev/null +++ b/02_卡人(水)/水溪_整理归档/记忆系统/memory_mongo_schema.md @@ -0,0 +1,46 @@ +# 卡若AI 记忆 · MongoDB 存储约定 + +> 库:`karuo_site`(唯一 MongoDB 实例 27017) +> 集合:`记忆条目` +> 用途:长期记忆结构化存储,便于 AI 对话中按分类/日期/关键词快速调取;与 `1、卡若:本人/记忆.md` 双写/同步。 + +--- + +## 集合:记忆条目 + +| 字段(中文) | 类型 | 说明 | 索引 | +|:---|:---|:---|:---| +| **分类** | string | 固定偏好 / 近期目标 / 每日沉淀 | 有 | +| **标签** | string | 从条目内 [标签] 解析:规则、原则、项目、技术、人脉、工具、读书笔记、经验、能力沉淀、人设 等 | 有 | +| **日期** | string | YYYY-MM-DD | 有 | +| **时间** | string | HH:MM | 有 | +| **内容** | string | 原文一条,中文 | 全文检索 | +| **摘要** | string | 可选,供快速调取用 | - | +| **来源** | string | 记忆.md / 对话写入 | 有 | +| **创建时间** | date | ISODate,写入库时间 | 有 | +| **内容哈希** | string | 对「日期+时间+内容」的短哈希,用于去重 | 唯一 | + +--- + +## 分类与标签(中文,便于 AI 理解) + +- **分类**:固定偏好、近期目标、每日沉淀 +- **标签**(来自原文 `[xxx]`):规则、原则、项目、技术、商业、学习、偏好、人脉、工具、读书笔记、经验、能力沉淀、人设、其他 + +--- + +## 索引 + +- `分类` + `日期`:按分类查某段时间 +- `标签` + `日期`:按标签查 +- `日期`:按日期倒序 +- `创建时间`:按写入时间 +- `内容`:全文索引(text),支持关键词检索 + +--- + +## 与 记忆.md 的关系 + +- **同步方向**:记忆.md 为权威来源;`sync_memory_to_mongo.py` 将 记忆.md 解析后写入/更新 MongoDB。 +- **写入**:新记忆可双写(同时追加 记忆.md + 插入 记忆条目);或仅写 记忆.md,再由同步脚本入库。 +- **读取**:对话中可从 MongoDB 按分类/标签/关键词/最近 N 条查询,返回中文结构化结果,供 AI 直接使用。 diff --git a/02_卡人(水)/水溪_整理归档/记忆系统/query_memory.py b/02_卡人(水)/水溪_整理归档/记忆系统/query_memory.py new file mode 100644 index 00000000..b07eac14 --- /dev/null +++ b/02_卡人(水)/水溪_整理归档/记忆系统/query_memory.py @@ -0,0 +1,115 @@ +#!/usr/bin/env python3 +""" +卡若AI 记忆 · 查询工具(MongoDB) + +便于 AI 或人在对话中按分类/标签/关键词/最近 N 条快速调取,输出中文易读。 + +用法: + python3 query_memory.py --stats + python3 query_memory.py --分类 固定偏好 + python3 query_memory.py --标签 规则 + python3 query_memory.py --日期 2026-03-15 + python3 query_memory.py --关键词 飞书 + python3 query_memory.py --最近 20 + python3 query_memory.py --最近 10 --分类 每日沉淀 +""" + +import argparse +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).resolve().parent)) +from memory_mongo import ( + get_db, + ensure_indexes, + 按分类查, + 按标签查, + 按日期查, + 按关键词查, + 最近N条, + 统计, +) + + +def _fmt(doc): + """单条格式化为一行中文,便于 AI 理解。""" + 日期 = doc.get("日期", "") + 时间 = doc.get("时间", "") + 标签 = doc.get("标签", "") + 内容 = (doc.get("内容") or doc.get("摘要", ""))[:200] + if 标签 and 标签 != "其他": + return f"- [{日期} {时间}] [{标签}] {内容}" + return f"- [{日期} {时间}] {内容}" + + +def _fallback_记忆md(limit_lines=80): + """MongoDB 不可用时从 记忆.md 读取并输出最近若干行。""" + from memory_mongo import MEMORY_MD + print("【MongoDB 不可用,以下来自 记忆.md】\n", file=sys.stderr) + if not MEMORY_MD.exists(): + print("记忆.md 不存在") + return + with open(MEMORY_MD, "r", encoding="utf-8") as f: + lines = f.readlines() + tail = lines[-limit_lines:] if len(lines) > limit_lines else lines + print("".join(tail).rstrip()) + + +def main(): + ap = argparse.ArgumentParser(description="记忆条目查询(MongoDB)") + ap.add_argument("--stats", action="store_true", help="按分类统计条数") + ap.add_argument("--分类", type=str, metavar="名称", help="按分类查:固定偏好 / 近期目标 / 每日沉淀") + ap.add_argument("--标签", type=str, metavar="名称", help="按标签查:规则、原则、项目、技术等") + ap.add_argument("--日期", type=str, metavar="YYYY-MM-DD", help="按日期查") + ap.add_argument("--关键词", type=str, metavar="词", help="全文检索内容") + ap.add_argument("--最近", type=int, metavar="N", help="最近 N 条;可配合 --分类/--标签") + ap.add_argument("-n", "--limit", type=int, default=50, help="条数上限,默认 50") + args = ap.parse_args() + + try: + client, db = get_db() + ensure_indexes(db) + except Exception as e: + print(f"MongoDB 连接失败: {e},降级为 记忆.md", file=sys.stderr) + _fallback_记忆md(limit_lines=100) + return + + if args.stats: + for k, v in 统计(db).items(): + print(f" {k}: {v}") + client.close() + return + + if args.分类: + rows = 按分类查(db, args.分类, limit=args.limit) + print(f"【分类】{args.分类} 共 {len(rows)} 条\n") + for doc in rows: + print(_fmt(doc)) + elif args.标签: + rows = 按标签查(db, args.标签, limit=args.limit) + print(f"【标签】{args.标签} 共 {len(rows)} 条\n") + for doc in rows: + print(_fmt(doc)) + elif args.日期: + rows = 按日期查(db, args.日期) + print(f"【日期】{args.日期} 共 {len(rows)} 条\n") + for doc in rows: + print(_fmt(doc)) + elif args.关键词: + rows = 按关键词查(db, args.关键词, limit=args.limit) + print(f"【关键词】{args.关键词} 共 {len(rows)} 条\n") + for doc in rows: + print(_fmt(doc)) + elif args.最近: + rows = 最近N条(db, n=args.最近, 分类=args.分类 or None, 标签=args.标签 or None) + print(f"【最近 {args.最近} 条】\n") + for doc in rows: + print(_fmt(doc)) + else: + ap.print_help() + print("\n示例: python3 query_memory.py --最近 20") + client.close() + + +if __name__ == "__main__": + main() diff --git a/02_卡人(水)/水溪_整理归档/记忆系统/sync_memory_to_mongo.py b/02_卡人(水)/水溪_整理归档/记忆系统/sync_memory_to_mongo.py new file mode 100644 index 00000000..550d7dbe --- /dev/null +++ b/02_卡人(水)/水溪_整理归档/记忆系统/sync_memory_to_mongo.py @@ -0,0 +1,85 @@ +#!/usr/bin/env python3 +""" +卡若AI 记忆 · 从 记忆.md 同步到 MongoDB + +- 读取 1、卡若:本人/记忆.md +- 解析为结构化条目(分类、标签、日期、时间、内容) +- 写入 karuo_site.记忆条目,以 内容哈希 去重(已存在则跳过) + +用法: + python3 sync_memory_to_mongo.py # 全量同步 + python3 sync_memory_to_mongo.py --dry # 仅解析并打印,不写入 +""" + +import argparse +import sys +from pathlib import Path + +# 同目录 +sys.path.insert(0, str(Path(__file__).resolve().parent)) +from memory_mongo import ( + MEMORY_MD, + get_db, + ensure_indexes, + 解析记忆md全文, + 内容哈希, + COLLECTION, +) + + +def main(): + ap = argparse.ArgumentParser(description="记忆.md → MongoDB 同步") + ap.add_argument("--dry", action="store_true", help="仅解析不写入") + args = ap.parse_args() + + if not MEMORY_MD.exists(): + print(f"未找到记忆文件: {MEMORY_MD}") + sys.exit(1) + + 文本 = MEMORY_MD.read_text(encoding="utf-8") + 条目列表 = 解析记忆md全文(文本) + print(f"解析到 {len(条目列表)} 条记忆条目。") + + if args.dry: + for i, e in enumerate(条目列表[:15]): + print(f" [{i+1}] {e.get('日期')} {e.get('时间')} [{e.get('标签')}] {e.get('内容', '')[:60]}…") + if len(条目列表) > 15: + print(f" ... 共 {len(条目列表)} 条") + return + + client, db = get_db() + ensure_indexes(db) + col = db[COLLECTION] + 新增 = 0 + 跳过 = 0 + for e in 条目列表: + 日期 = e.get("日期", "") + 时间 = e.get("时间", "") + 内容 = e.get("内容", "") + if not 内容: + continue + h = 内容哈希(日期, 时间, 内容) + if col.find_one({"内容哈希": h}): + 跳过 += 1 + continue + from datetime import datetime, timezone + doc = { + "分类": e.get("分类", "每日沉淀"), + "标签": e.get("标签", "其他"), + "日期": 日期, + "时间": 时间, + "内容": 内容, + "摘要": 内容[:120] + "…" if len(内容) > 120 else 内容, + "来源": "记忆.md", + "创建时间": datetime.now(timezone.utc), + "内容哈希": h, + } + col.insert_one(doc) + 新增 += 1 + + client.close() + print(f"同步完成: 新增 {新增} 条,跳过已存在 {跳过} 条。") + + +if __name__ == "__main__": + main() diff --git a/02_卡人(水)/水溪_整理归档/记忆系统/记忆系统连接机制说明.md b/02_卡人(水)/水溪_整理归档/记忆系统/记忆系统连接机制说明.md new file mode 100644 index 00000000..a3d66212 --- /dev/null +++ b/02_卡人(水)/水溪_整理归档/记忆系统/记忆系统连接机制说明.md @@ -0,0 +1,285 @@ +# 记忆系统连接机制说明 + +> **核心机制**:本地记忆.md ↔ MongoDB 记忆条目 双向同步与查询 + +## 一、系统架构 + +### 1.1 数据源层次 + +``` +┌─────────────────────────────────────┐ +│ 权威来源:记忆.md │ +│ /Users/karuo/Documents/个人/ │ +│ 1、卡若:本人/记忆.md │ +│ (单文件,无子目录) │ +└──────────────┬──────────────────────┘ + │ + │ sync_memory_to_mongo.py + │ (解析 → 结构化 → 写入) + ▼ +┌─────────────────────────────────────┐ +│ MongoDB:karuo_site.记忆条目 │ +│ (结构化存储,便于查询) │ +│ - 分类:固定偏好/近期目标/每日沉淀 │ +│ - 标签:规则/原则/项目/技术等 │ +│ - 索引:分类+日期/标签+日期/全文 │ +└──────────────┬──────────────────────┘ + │ + │ query_memory.py + │ (按分类/标签/关键词/最近N条查询) + ▼ +┌─────────────────────────────────────┐ +│ AI对话调用 │ +│ (快速检索记忆,指导AI行为) │ +└─────────────────────────────────────┘ +``` + +### 1.2 数据流向 + +**写入流程**: +1. 用户/对话 → 写入 `记忆.md`(权威来源) +2. 执行 `sync_memory_to_mongo.py` → 解析记忆.md → 写入MongoDB +3. MongoDB自动去重(基于内容哈希) + +**读取流程**: +1. AI对话需要记忆 → 调用 `query_memory.py` +2. 从MongoDB查询(按分类/标签/关键词/最近N条) +3. MongoDB不可用时 → 自动降级读取 `记忆.md` + +## 二、连接机制详解 + +### 2.1 本地记忆文件 + +**路径**:`/Users/karuo/Documents/个人/1、卡若:本人/记忆.md` + +**格式**: +```markdown +## 固定偏好 +- [00:00] 默认简体中文、直白大白话、给行动清单。 +- [00:00] 每轮回复末尾带复盘;对话结束给完整复盘。 + +## 近期目标 +- [00:00] (待补充) +- [16:10] [原则] 每日在复盘上做一轮功课... + +## 每日沉淀 +### 2026-03-12 +- [17:15] [规则] 飞书文档统一执行 W16... +- [17:15] [规则] 飞书表格策略... +``` + +**特点**: +- 单文件,无子目录 +- 按日期分组(每日沉淀) +- 支持标签:`[规则]`、`[原则]`、`[项目]`、`[技术]`等 +- 时间戳格式:`[HH:MM]` + +### 2.2 MongoDB存储结构 + +**数据库**:`karuo_site`(唯一MongoDB实例,端口27017) + +**集合**:`记忆条目` + +**字段结构**: +```javascript +{ + "分类": "固定偏好" | "近期目标" | "每日沉淀", + "标签": "规则" | "原则" | "项目" | "技术" | "其他", + "日期": "YYYY-MM-DD" | "长期", + "时间": "HH:MM", + "内容": "记忆条目原文", + "摘要": "内容前120字符", + "来源": "记忆.md" | "对话写入", + "创建时间": ISODate, + "内容哈希": "sha256前16位(用于去重)" +} +``` + +**索引**: +- `分类 + 日期`:按分类查某段时间 +- `标签 + 日期`:按标签查 +- `日期`:按日期倒序 +- `创建时间`:按写入时间 +- `内容`:全文索引(text) +- `内容哈希`:唯一索引(去重) + +### 2.3 同步机制 + +**脚本**:`sync_memory_to_mongo.py` + +**功能**: +1. 读取 `记忆.md` 全文 +2. 解析为结构化条目(分类、标签、日期、时间、内容) +3. 计算内容哈希(日期+时间+内容的SHA256前16位) +4. 写入MongoDB(已存在则跳过,实现去重) + +**执行方式**: +```bash +# 全量同步 +python3 sync_memory_to_mongo.py + +# 仅解析不写入(检查) +python3 sync_memory_to_mongo.py --dry +``` + +**去重机制**: +- 基于 `内容哈希`(日期+时间+内容的SHA256) +- 已存在的条目自动跳过 +- 确保不重复写入 + +### 2.4 查询机制 + +**脚本**:`query_memory.py` + +**查询方式**: +```bash +# 统计 +python3 query_memory.py --stats + +# 最近N条 +python3 query_memory.py --最近 20 + +# 按分类 +python3 query_memory.py --分类 固定偏好 + +# 按标签 +python3 query_memory.py --标签 规则 + +# 按日期 +python3 query_memory.py --日期 2026-03-15 + +# 关键词搜索 +python3 query_memory.py --关键词 飞书 + +# 组合查询 +python3 query_memory.py --最近 10 --分类 每日沉淀 +``` + +**降级机制**: +- MongoDB不可用时,自动读取 `记忆.md` 最近100行 +- 确保查询始终可用 + +## 三、当前连接状态 + +### 3.1 数据统计 + +**MongoDB记忆条目**: +- 每日沉淀:39条 +- 固定偏好:2条 +- 近期目标:2条 +- **总计:43条** + +**本地记忆.md**: +- 解析条目:43条 +- 同步状态:✅ 已完全同步(新增0条,跳过43条) + +### 3.2 连接验证 + +执行同步检查: +```bash +python3 sync_memory_to_mongo.py +# 输出:同步完成: 新增 0 条,跳过已存在 43 条。 +``` + +**结论**:本地记忆.md 与 MongoDB 记忆条目已完全同步 ✅ + +## 四、使用场景 + +### 4.1 对话开始时 + +**自动读取记忆**: +- 从 `记忆.md` 读取(权威来源) +- 或从MongoDB查询最近N条(快速检索) +- 作为上下文指导AI行为 + +### 4.2 对话结束时 + +**写入新记忆**: +1. 识别优质内容(项目/技术/商业/学习/偏好/人脉/原则) +2. 写入 `记忆.md`(追加到对应日期下) +3. 执行 `sync_memory_to_mongo.py` 同步到MongoDB + +### 4.3 对话中查询 + +**快速检索记忆**: +```bash +# 查询相关记忆 +python3 query_memory.py --关键词 飞书 +python3 query_memory.py --标签 规则 +python3 query_memory.py --最近 20 +``` + +## 五、对话写入记忆机制 + +### 5.1 当前机制 + +**写入流程**: +1. 对话中识别优质内容 +2. 写入 `记忆.md`(手动或自动) +3. 执行 `sync_memory_to_mongo.py` 同步到MongoDB + +### 5.2 优化建议 + +**自动同步机制**: +- 对话结束时,自动检测是否有新记忆写入 +- 如有新记忆,自动执行 `sync_memory_to_mongo.py` +- 或实现双写机制:同时写入 `记忆.md` 和 MongoDB + +**实现方式**: +```python +# 在对话结束时 +if 有新记忆写入: + # 方式1:写入记忆.md后自动同步 + write_to_memory_md(content) + sync_to_mongo() # 自动调用 + + # 方式2:双写(同时写入) + write_to_memory_md(content) + write_to_mongo(content) # 直接写入MongoDB +``` + +## 六、相关文件 + +| 文件 | 用途 | +|:---|:---| +| `记忆.md` | 权威记忆源(单文件) | +| `memory_mongo.py` | MongoDB读写模块 | +| `sync_memory_to_mongo.py` | 记忆.md → MongoDB同步 | +| `query_memory.py` | MongoDB查询工具 | +| `memory_mongo_schema.md` | MongoDB存储结构说明 | + +## 七、维护建议 + +### 7.1 定期同步 + +**建议**:每次对话结束后,如有新记忆写入,执行一次同步: +```bash +python3 sync_memory_to_mongo.py +``` + +### 7.2 数据一致性检查 + +**定期检查**: +```bash +# 检查统计 +python3 query_memory.py --stats + +# 检查最近条目 +python3 query_memory.py --最近 10 + +# 验证同步 +python3 sync_memory_to_mongo.py --dry +``` + +### 7.3 优化方向 + +1. **自动同步**:对话写入记忆后自动同步到MongoDB +2. **双写机制**:同时写入记忆.md和MongoDB,减少同步步骤 +3. **增量同步**:只同步新增条目,提升性能 +4. **冲突检测**:检测记忆.md和MongoDB的差异,提示处理 + +## 八、版本历史 + +| 日期 | 变更 | +|:---|:---| +| 2026-03-20 | 创建连接机制说明文档,梳理记忆.md与MongoDB的连接关系 | diff --git a/03_卡木(木)/木叶_视频内容/多平台分发/脚本/publish_log.json b/03_卡木(木)/木叶_视频内容/多平台分发/脚本/publish_log.json index a482d282..c48b2273 100644 --- a/03_卡木(木)/木叶_视频内容/多平台分发/脚本/publish_log.json +++ b/03_卡木(木)/木叶_视频内容/多平台分发/脚本/publish_log.json @@ -228,3 +228,15 @@ {"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul_派对_121场_20260311_output/成片/Cursor的权限问题,安全隐患必须提前讲清楚.mp4", "title": "Cursor的权限问题,安全隐患必须提前讲清楚 #Soul派对 #创业日记 #小程序 卡若创业派对", "success": false, "status": "error", "message": "未找到上传控件", "elapsed_sec": 18.89427924156189, "timestamp": "2026-03-16 16:44:36"} {"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul_派对_121场_20260311_output/成片/NFC碰一碰引流,线下餐饮店用这招就够了.mp4", "title": "NFC碰一碰引流,线下餐饮店用这招就够了 #Soul派对 #创业日记 #小程序 卡若创业派对", "success": false, "status": "error", "message": "未找到上传控件", "elapsed_sec": 8.366912841796875, "timestamp": "2026-03-16 16:44:52"} {"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul_派对_121场_20260311_output/成片/Skill和Cursor的区别,一个走工作流一个走对话.mp4", "title": "Skill和Cursor的区别,一个走工作流一个走对话 #Soul派对 #创业日记 #小程序 卡若创业派对", "success": false, "status": "error", "message": "未找到上传控件", "elapsed_sec": 8.569876909255981, "timestamp": "2026-03-16 16:45:11"} +{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 120场 20260320_output/成片/AI最大的缺点是上下文太短,这样来解决.mp4", "title": "AI的短板是记忆太短,上下文一长就废了,这个方法能解决", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.8021829128265381, "timestamp": "2026-03-20 05:39:38"} +{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 120场 20260320_output/成片/AI每天剪1000个视频 M4电脑24T素材库全网分发.mp4", "title": "M4芯片+24T素材库,AI每天剪1000条视频自动全网分发", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.19123601913452148, "timestamp": "2026-03-20 05:39:41"} +{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 120场 20260320_output/成片/Soul派对变现全链路 发视频就有钱,后端全解决.mp4", "title": "Soul派对怎么商业转化?发视频就有收益,后端体系全部搞定", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.21785306930541992, "timestamp": "2026-03-20 05:39:44"} +{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 120场 20260320_output/成片/从0到切片发布 AI自动完成每天副业30条视频.mp4", "title": "从零到切片发布,AI全自动完成,每天副业产出30条视频", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.17282390594482422, "timestamp": "2026-03-20 05:39:47"} +{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 120场 20260320_output/成片/做副业的基本条件 苹果电脑和特殊访问工具.mp4", "title": "做副业的两个基本条件:一台Mac和一个上网工具", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.22334694862365723, "timestamp": "2026-03-20 05:39:50"} +{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 120场 20260320_output/成片/切片分发全自动化 从视频到发布一键完成.mp4", "title": "从录制到发布全自动化,一键切片分发五大平台", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.1871330738067627, "timestamp": "2026-03-20 05:39:54"} +{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 120场 20260320_output/成片/创业团队4人平分25有啥危险 先跑钱再谈股权.mp4", "title": "创业团队4人平分25%股权有啥风险?先跑出收入再谈分配", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.19080185890197754, "timestamp": "2026-03-20 05:39:57"} +{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 120场 20260320_output/成片/坚持到120场是什么感觉 方向越确定执行越坚决.mp4", "title": "坚持到第120场派对是什么感觉?方向越清晰执行越坚决", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.45436811447143555, "timestamp": "2026-03-20 05:40:00"} +{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 120场 20260320_output/成片/帮人装AI一单300到1000块,传统行业也能做.mp4", "title": "帮传统行业的人装AI工具,一单收300到1000块,简单好做", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.18743586540222168, "timestamp": "2026-03-20 05:40:03"} +{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 120场 20260320_output/成片/深度AI模型对比 哪个才是真正的AI不是语言模型.mp4", "title": "深度对比各大AI模型,哪个才是真正的智能而不只是语言模型", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.21168994903564453, "timestamp": "2026-03-20 05:40:07"} +{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 120场 20260320_output/成片/疗愈师配AI助手能收多少钱 一个小团队5万到10万.mp4", "title": "疗愈师+AI助手组合,一个小团队月收5万到10万", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.18154072761535645, "timestamp": "2026-03-20 05:40:10"} +{"platform": "抖音", "video_path": "/Users/karuo/Movies/soul视频/soul 派对 120场 20260320_output/成片/赚钱没那么复杂,自信心才是核心问题.mp4", "title": "获得收益真没那么复杂,自信心才是卡住你的核心问题", "success": false, "status": "error", "message": "Cookie 已过期", "elapsed_sec": 0.19428515434265137, "timestamp": "2026-03-20 05:40:13"} diff --git a/03_卡木(木)/木叶_视频内容/视频切片/脚本/wait_and_distribute_127_128.sh b/03_卡木(木)/木叶_视频内容/视频切片/脚本/wait_and_distribute_127_128.sh new file mode 100755 index 00000000..da550f19 --- /dev/null +++ b/03_卡木(木)/木叶_视频内容/视频切片/脚本/wait_and_distribute_127_128.sh @@ -0,0 +1,70 @@ +#!/bin/bash +# 等待127和128场切片完成,然后自动分发 + +DIST_SCRIPT="/Users/karuo/Documents/个人/卡若AI/03_卡木(木)/木叶_视频内容/多平台分发/脚本" +VIDEO_DIR_127="/Users/karuo/Movies/soul视频/原视频/第127场_20260318_output" +VIDEO_DIR_128="/Users/karuo/Movies/soul视频/原视频/第128场_20260319_output" + +echo "等待127和128场切片完成..." + +# 检查成片目录是否存在且有mp4文件 +check_complete() { + local dir=$1 + local session=$2 + + if [ -d "$dir/成片" ] || [ -d "$dir/clips_enhanced" ]; then + local clips_dir="$dir/成片" + [ ! -d "$clips_dir" ] && clips_dir="$dir/clips_enhanced" + + if [ -f "$clips_dir/目录索引.md" ] && [ $(find "$clips_dir" -name "*.mp4" | wc -l) -gt 0 ]; then + echo "✅ $session 场切片完成" + return 0 + fi + fi + return 1 +} + +# 轮询检查 +while true; do + complete_127=false + complete_128=false + + check_complete "$VIDEO_DIR_127" "127" && complete_127=true + check_complete "$VIDEO_DIR_128" "128" && complete_128=true + + if [ "$complete_127" = true ] && [ "$complete_128" = true ]; then + echo "" + echo "==========================================" + echo "127和128场切片全部完成,开始分发..." + echo "==========================================" + + # 分发127场 + if [ -d "$VIDEO_DIR_127/成片" ]; then + echo "分发127场..." + cd "$DIST_SCRIPT" + python3 distribute_all.py --video-dir "$VIDEO_DIR_127/成片" --platforms 抖音 B站 小红书 --now + elif [ -d "$VIDEO_DIR_127/clips_enhanced" ]; then + echo "分发127场..." + cd "$DIST_SCRIPT" + python3 distribute_all.py --video-dir "$VIDEO_DIR_127/clips_enhanced" --platforms 抖音 B站 小红书 --now + fi + + # 分发128场 + if [ -d "$VIDEO_DIR_128/成片" ]; then + echo "分发128场..." + cd "$DIST_SCRIPT" + python3 distribute_all.py --video-dir "$VIDEO_DIR_128/成片" --platforms 抖音 B站 小红书 --now + elif [ -d "$VIDEO_DIR_128/clips_enhanced" ]; then + echo "分发128场..." + cd "$DIST_SCRIPT" + python3 distribute_all.py --video-dir "$VIDEO_DIR_128/clips_enhanced" --platforms 抖音 B站 小红书 --now + fi + + echo "" + echo "✅ 127和128场分发完成" + break + else + echo -n "." + sleep 30 + fi +done diff --git a/BOOTSTRAP.md b/BOOTSTRAP.md index bb157d86..130fe547 100644 --- a/BOOTSTRAP.md +++ b/BOOTSTRAP.md @@ -32,6 +32,7 @@ | MCP/连接MCP | `02_卡人(水)/水桥_平台对接/MCP管理/SKILL.md` | | Soul运营报表 | `02_卡人(水)/水桥_平台对接/飞书管理/运营报表_SKILL.md` | | 项目管理/卡若创业派对 | `02_卡人(水)/水岸_项目管理/SKILL.md` | +| 聊天记录/对话存储/聊天归档 | `01_卡资(金)/金仓_存储备份/聊天记录管理/SKILL.md` | ## 四、MAX Mode(默认) @@ -60,7 +61,9 @@ ## 六、记忆 -- **检索顺序**:① CURRENT_STATE.md → ② 任务结果卡 structured/tasks/ → ③ 记忆.md → ④ daily_digest + agent_results → ⑤ 对话归档 → ⑥ archive/ +- **检索顺序**:① CURRENT_STATE.md → ② 任务结果卡 structured/tasks/ → ③ 记忆.md → ④ **MongoDB 记忆条目**(karuo_site.记忆条目,按分类/标签/关键词/最近 N 条调取;**不可用时 query_memory 自动降级为读 记忆.md**)→ ⑤ daily_digest + agent_results → ⑥ **对话归档**(MongoDB 对话记录/消息内容,**实时从 MongoDB 读取**;不可用时用最近对话本地 fallback)→ ⑦ archive/ +- **卡若 AI 唯一数据库**:本机调用一律使用 **karuo_site**(唯一 MongoDB 27017),含记忆条目、对话记录、消息内容等;聊天记录不依赖 Cursor 本地库,以 MongoDB 为主、归档后同步写 fallback。 +- **MongoDB 记忆**:记忆.md 可同步至唯一 MongoDB(`python3 记忆系统/sync_memory_to_mongo.py`);对话中快速调取用 `python3 记忆系统/query_memory.py --最近 20` 或 `--关键词 xxx`、`--分类 固定偏好`。详见自动记忆管理 SKILL。 - **写入前冲突检测**:`python memory_conflict_check.py "内容"` - **记忆路径**:`/Users/karuo/Documents/个人/1、卡若:本人/记忆.md`(单文件,以卡若角色参与) diff --git a/SKILL_REGISTRY.md b/SKILL_REGISTRY.md index 574f3d1b..c6b9b34f 100644 --- a/SKILL_REGISTRY.md +++ b/SKILL_REGISTRY.md @@ -1,7 +1,7 @@ # 卡若AI 技能注册表(Skill Registry) > **一张表查所有技能**。任何 AI 拿到这张表,就能按关键词找到对应技能的 SKILL.md 路径并执行。 -> 74 技能 | 15 成员 | 5 负责人 +> 75 技能 | 15 成员 | 5 负责人 > 版本:5.5 | 更新:2026-03-13 > > **技能配置、安装、删除、掌管人登记** → 见 **`运营中枢/工作台/01_技能控制台.md`**。 @@ -74,6 +74,7 @@ | G17 | 数据库管理(安全) | 金盾 | 数据库、备份数据 | `01_卡资(金)/金盾_数据安全/数据库管理/SKILL.md` | 数据库安全与备份 | | G18 | 微信管理(安全) | 金盾 | 微信数据库解析 | `01_卡资(金)/金盾_数据安全/微信管理/SKILL.md` | 微信数据库解密与分析 | | G19 | 存客宝副本管理 | 金盾 | 存客宝副本、cunkebao_副本、存客宝开发文档、副本代码管理 | 副本项目内 `cunkebao_副本/.cursor/skills/存客宝副本管理/SKILL.md`(以副本为主,路径见下) | 存客宝副本代码与开发文档管理,Skill 已迁入副本项目内 | +| G22 | **聊天记录管理** | 金仓 | **聊天记录、对话存储、聊天归档、聊天导出、聊天导入、清理聊天、对话查询、历史对话、state.vscdb、bubbleId、cursor聊天、对话迁移、聊天分类** | `01_卡资(金)/金仓_存储备份/聊天记录管理/SKILL.md` | Cursor 聊天记录→MongoDB 分类存储+查询+导入导出+安全清理 | ## 水组 · 卡人(信息流程调度) @@ -168,6 +169,7 @@ | F13 | 卡若日记写作 | 火种 | 日记、写日记 | `04_卡火(火)/火种_知识模型/卡若日记写作/SKILL.md` | 每日日记自动生成 | | G19 | Vercel部署 | 金盾 | Vercel、v0 | `01_卡资(金)/金盾_数据安全/Vercel与v0部署流水线/SKILL.md` | Vercel/v0 一键部署 | | G21 | 端口登记 | 工作台 | **端口登记、端口注册、部署端口、查端口、避免端口冲突、端口冲突、本机端口** | `运营中枢/工作台/端口登记/SKILL.md` | 本机 Docker/服务端口统一登记,部署前必查防重复;**放在卡若AI 底下,不放在 Cursor** | +| 卡罗帮 | **专注静默** | 工作台 | **专注、番茄钟、静默专注、开始专注、WebPomodoro、专注轻探、不打开界面计时** | `运营中枢/工作台/卡罗帮/专注静默_SKILL.md` | 不打开 WebPomodoro 界面,用 pomodoro_silent.py 静默计时 | | G20 | 个人档案生成器 | 金盾 | 个人档案 | `01_卡资(金)/金盾_数据安全/个人档案生成器/SKILL.md` | 安全视角的个人档案 | | M06 | 前端生成 | 木果 | 前端生成、UI | `03_卡木(木)/木果_项目模板/前端生成/SKILL.md` | 快速生成前端页面 | @@ -177,9 +179,9 @@ | 组 | 负责人 | 成员数 | 技能数 | |:--|:---|:--|:--| -| 金 | 卡资 | 2 | 21 | +| 金 | 卡资 | 2 | 22 | | 水 | 卡人 | 4 | 14 | | 木 | 卡木 | 3 | 14 | | 火 | 卡火 | 4 | 16 | | 土 | 卡土 | 4 | 9 | -| **合计** | **5** | **15** | **74** | +| **合计** | **5** | **15** | **75** | diff --git a/_Soul运营技能包导出/README.txt b/_Soul运营技能包导出/README.txt new file mode 100644 index 00000000..48cdce85 --- /dev/null +++ b/_Soul运营技能包导出/README.txt @@ -0,0 +1 @@ +placeholder diff --git a/_Soul运营技能包导出/build_soul_skill_bundle.py b/_Soul运营技能包导出/build_soul_skill_bundle.py new file mode 100644 index 00000000..fb0b22a9 --- /dev/null +++ b/_Soul运营技能包导出/build_soul_skill_bundle.py @@ -0,0 +1,153 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +"""打包 Soul 运营全链路:SKILL + 脚本 + Cursor 入口,供复制到另一台电脑。""" +from __future__ import annotations + +import os +import shutil +import sys +import zipfile +from pathlib import Path + +KARUO_AI = Path("/Users/karuo/Documents/个人/卡若AI") +CURSOR_SKILLS = Path("/Users/karuo/.cursor/skills") +# 用户要求:压缩包放到「下载」 +DOWNLOADS = Path.home() / "Downloads" +STAMP = "20260320" +BUNDLE_NAME = f"Soul运营全链路技能包_{STAMP}" +# 工作区内临时目录(便于 Cursor 写入),最终 zip 放 Downloads +WORK_ROOT = KARUO_AI / "_Soul运营技能包导出" / BUNDLE_NAME + + +def ignore_common(dir_name: str, names: list[str]) -> set[str]: + ignored = set() + for n in names: + if n == "__pycache__" or n.endswith(".pyc") or n == ".DS_Store": + ignored.add(n) + return ignored + + +def copytree(src: Path, dst: Path) -> None: + if not src.exists(): + print(f"SKIP missing: {src}", file=sys.stderr) + return + dst.parent.mkdir(parents=True, exist_ok=True) + shutil.copytree(src, dst, dirs_exist_ok=True, ignore=ignore_common) + + +def main() -> int: + if not KARUO_AI.is_dir(): + print(f"ERROR: 卡若AI 不存在: {KARUO_AI}", file=sys.stderr) + return 1 + + if WORK_ROOT.exists(): + shutil.rmtree(WORK_ROOT) + WORK_ROOT.mkdir(parents=True, exist_ok=True) + + # 目录结构:与另一台机合并到 卡若AI 时路径一致 + cursor_dst = WORK_ROOT / ".cursor" / "skills" + cursor_dst.mkdir(parents=True, exist_ok=True) + for name in ("soul-operation-report", "soul-party-project"): + s = CURSOR_SKILLS / name + if s.is_dir(): + copytree(s, cursor_dst / name) + + kai = WORK_ROOT / "卡若AI" + # 水岸 + copytree( + KARUO_AI / "02_卡人(水)" / "水岸_项目管理", + kai / "02_卡人(水)" / "水岸_项目管理", + ) + # 水桥:飞书、妙记、Soul创业实验 + base_water = KARUO_AI / "02_卡人(水)" / "水桥_平台对接" + for sub in ("飞书管理", "智能纪要", "Soul创业实验"): + copytree(base_water / sub, kai / "02_卡人(水)" / "水桥_平台对接" / sub) + + # 木叶:切片、分发、各平台 + base_wood = KARUO_AI / "03_卡木(木)" / "木叶_视频内容" + wood_dst = kai / "03_卡木(木)" / "木叶_视频内容" + for sub in ( + "视频切片", + "多平台分发", + "抖音发布", + "B站发布", + "视频号发布", + "小红书发布", + "快手发布", + ): + copytree(base_wood / sub, wood_dst / sub) + + # 凭证索引(另一台机需核对敏感信息) + idx = KARUO_AI / "运营中枢" / "工作台" / "00_账号与API索引.md" + if idx.is_file(): + (kai / "运营中枢" / "工作台").mkdir(parents=True, exist_ok=True) + shutil.copy2(idx, kai / "运营中枢" / "工作台" / idx.name) + + readme = WORK_ROOT / "解压后必读.md" + readme.write_text( + """# Soul 运营全链路技能包 — 解压后必读 + +## 本包包含 + +- `.cursor/skills/`:`soul-operation-report`、`soul-party-project`(Cursor 入口) +- `卡若AI/02_卡人(水)/水岸_项目管理/`:项目管理中枢 + 卡若创业派对 README +- `卡若AI/02_卡人(水)/水桥_平台对接/飞书管理/`:运营报表、妙记相关脚本与 SKILL +- `卡若AI/02_卡人(水)/水桥_平台对接/智能纪要/` +- `卡若AI/02_卡人(水)/水桥_平台对接/Soul创业实验/`:写作/上传文档与说明 +- `卡若AI/03_卡木(木)/木叶_视频内容/`:视频切片、多平台分发、各平台发布 SKILL+脚本 +- `卡若AI/运营中枢/工作台/00_账号与API索引.md`:凭证速查(若源机有则已打包) + +## 在另一台电脑上「可直接运作」的步骤 + +1. **解压**到任意位置(例如桌面)。 +2. **合并到本机卡若AI根目录**(与现有一致的路径): + - 将包内 `卡若AI/` 下所有文件夹 **合并复制** 到: + `你的卡若AI根目录/`(例如 `~/Documents/个人/卡若AI/`) + 覆盖时请先备份同名目录,避免误删你本机独有文件。 +3. **安装 Cursor 入口 Skill**(可选但推荐): + - 将 `.cursor/skills/soul-operation-report`、`soul-party-project` 复制到本机 `~/.cursor/skills/`。 +4. **环境依赖**(脚本跑通需要): + - Python 3.10+、`pip` 依赖见各子目录 README / SKILL 内说明 + - 视频:`FFmpeg`、`conda` 环境 `mlx-whisper`(见视频切片 SKILL) + - **永平项目**:文章上传/推送需在 `一场soul的创业实验-永平` 仓库配置 `.env`、数据库等(见 `Soul创业实验/上传/环境与TOKEN配置.md`) +5. **凭证**:飞书 AppSecret、妙记 Cookie、各平台 Cookie、小程序与 API 等,必须在目标机上按 `00_账号与API索引.md` 与各脚本说明 **重新配置或从安全渠道拷贝**;未配置时脚本会报错属正常。 +6. **绝对路径**:部分文档或脚本内可能含原机路径(如 `/Users/karuo/...`),到新电脑请按 SKILL 内说明改为本机路径。 + +## 安全提示 + +- 压缩包内可能含 **Token/Cookie/密钥说明**,请勿上传到公开网盘;传输用加密渠道或 U 盘。 + +--- +打包脚本:`卡若AI/_Soul运营技能包导出/build_soul_skill_bundle.py` +""", + encoding="utf-8", + ) + + # 清理包内 __pycache__ + for p in WORK_ROOT.rglob("__pycache__"): + if p.is_dir(): + shutil.rmtree(p, ignore_errors=True) + for p in WORK_ROOT.rglob("*.pyc"): + try: + p.unlink() + except OSError: + pass + + DOWNLOADS.mkdir(parents=True, exist_ok=True) + zip_path = DOWNLOADS / f"{BUNDLE_NAME}.zip" + + with zipfile.ZipFile(zip_path, "w", zipfile.ZIP_DEFLATED) as zf: + for f in WORK_ROOT.rglob("*"): + if f.is_file(): + arc = f.relative_to(WORK_ROOT.parent) + zf.write(f, arc.as_posix()) + + # 同时在工作区留一份未压缩目录,方便检查 + size_mb = zip_path.stat().st_size / (1024 * 1024) + print(f"OK zip -> {zip_path} ({size_mb:.2f} MB)") + print(f"DIR -> {WORK_ROOT}") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/运营中枢/使用手册/第四篇_运营中枢/13_复盘格式.md b/运营中枢/使用手册/第四篇_运营中枢/13_复盘格式.md index 9f1d097d..47bc2bcd 100644 --- a/运营中枢/使用手册/第四篇_运营中枢/13_复盘格式.md +++ b/运营中枢/使用手册/第四篇_运营中枢/13_复盘格式.md @@ -8,15 +8,17 @@ **卡若AI 所有对话的 AI 回复一律采用「复盘形式」**,只有一种格式:完整复盘,每轮/每步均以完整复盘块收尾。 -## 13.2 五块结构 +## 13.2 五块结构(每块必带图标) -| 块 | 图标 | 内容 | 要求 | -|:--|:--:|:---|:---| -| 目标·结果·达成率 | 🎯 | 做什么、结果如何、达成百分比 | 整行 ≤30 字 | -| 过程 | 📌 | 1、2、3 分点简述执行过程 | 不用表格 | -| 反思 | 💡 | 可复用点、改进点 | 1~3 点 | -| 总结 | 📝 | 一两句结论或经验 | 简洁 | -| 下一步执行 | ▶ | 结合项目目标的后续动作 | 关联未完成项 | +书写时**每块标题必须带图标 + 粗体**,例如:**🎯 目标·结果·达成率**、**📌 过程**、**💡 反思**、**📝 总结**、**▶ 下一步执行**。 + +| 顺序 | 图标 | 块标题 | 内容 | 要求 | +|:---:|:---:|:---|:---|:---| +| 1 | 🎯 | **目标·结果·达成率** | 做什么、结果如何、达成百分比 | 整行 ≤30 字 | +| 2 | 📌 | **过程** | 1、2、3 分点简述执行过程 | 不用表格 | +| 3 | 💡 | **反思** | 可复用点、改进点 | 1~3 点 | +| 4 | 📝 | **总结** | 一两句结论或经验 | 简洁 | +| 5 | ▶ | **下一步执行** | 结合项目目标的后续动作 | 关联未完成项 | ## 13.3 格式要求 @@ -25,27 +27,27 @@ - **复盘块内不用表格** - 每块用小图标标识(🎯📌💡📝▶) -## 13.4 示例 +## 13.4 示例(每块带图标 + 粗体) ```markdown **[卡若复盘](2026-03-12 10:30)** -🎯 目标·结果·达成率 +**🎯 目标·结果·达成率** 完善使用手册架构 · 已完成6篇24章 · 100% -📌 过程 +**📌 过程** 1. 分析现有手册结构,确认缺失内容 2. 设计6篇24章目录结构 3. 逐章编写并建立导航链接 -💡 反思 +**💡 反思** 1. 多文件结构比单文件更易维护 2. 每章独立可以按需更新而不影响其他章节 -📝 总结 +**📝 总结** 使用手册从 v1.0 升级到 v2.0 书籍结构,覆盖全部功能。 -▶ 下一步执行 +**▶ 下一步执行** - 持续按对话沉淀规则更新手册 - 有新技能时同步更新对应章节 ``` diff --git a/运营中枢/参考资料/Claude_Code_api123配置说明.md b/运营中枢/参考资料/Claude_Code_api123配置说明.md index 25931fb8..8988221c 100644 --- a/运营中枢/参考资料/Claude_Code_api123配置说明.md +++ b/运营中枢/参考资料/Claude_Code_api123配置说明.md @@ -74,6 +74,24 @@ UnifiedLLM API 网关:更好价格、更稳、无需订阅,只需把模型 3. **切换 Base URL**:可尝试改为不带 `/v1` 的 `https://api123.icu`,保存后重启 Claude Code 再试。 4. **官方教程**:按 [api123.icu/about](https://api123.icu/about) 的「Claude Code CLI」教程逐步检查(可联系技术 QQ 获取图文教程)。 +## 若出现 503 / model_not_found(No available channel for model … under group default) + +说明中转端当前对「默认分组」没有该模型通道或通道暂时不可用。**优先用一键脚本修复**: + +- **一键修复(推荐)**:在终端执行 + `bash "卡若AI/运营中枢/参考资料/scripts/fix_claude_503.sh"` + (本机或阿猫 Mac 均可;iCloud 同步后路径可能为 `婼瑄/卡若AI/...`) + 执行后**完全退出 Claude Code**(esc 或 Cmd+C),再重新打开终端执行 `claude`。 + +若不用脚本,可手动: + +1. **切到备选模型**:在 `~/.claude/settings.json` 里把 `model` 和 `env.ANTHROPIC_MODEL` 改为 api123 支持的其它模型,例如: + - `claude-sonnet-4-5-20250929`(Sonnet 4.5) + - `claude-haiku-4-5-20251001`(Haiku,成本低) + 保存后**完全退出 Claude Code 再重新打开**。 +2. **确认 api123 控制台**:登录 api123.icu 查看当前套餐/分组下哪些模型可用,若 `claude-sonnet-4-6` 未开通可改用上列备选或联系客服开通。 +3. **临时用官方源排查**:若需确认是否为中转问题,可临时把 Base URL 与 Key 改回 Anthropic 官方,仅作对比测试。 + --- ## 三、卡若AI网站接入信息 diff --git a/运营中枢/参考资料/scripts/clear_cursor_cache.sh b/运营中枢/参考资料/scripts/clear_cursor_cache.sh index 26453f4f..c61a8f85 100644 --- a/运营中枢/参考资料/scripts/clear_cursor_cache.sh +++ b/运营中枢/参考资料/scripts/clear_cursor_cache.sh @@ -1,13 +1,22 @@ #!/usr/bin/env bash # Cursor 缓存清理(轻量版)—— 深度修复请用 cursor_deep_fix.sh -# 使用:完全退出 Cursor 后执行 +# 使用:完全退出 Cursor 后执行。若需在 Cursor 未退出时强制清理:SKIP_CURSOR_CHECK=1 bash 本脚本 set -e CURSOR_SUPPORT="$HOME/Library/Application Support/Cursor" -if pgrep -f "Cursor.app" >/dev/null 2>&1; then - echo "⚠️ Cursor 正在运行,请先 Cmd+Q 完全退出后再执行。" - exit 1 +# ── 未跳过检查时:若 Cursor 在运行则先强制退出 Cursor 及所有相关进程 ── +if [ -z "${SKIP_CURSOR_CHECK:-}" ] && pgrep -f "Cursor" >/dev/null 2>&1; then + echo "🛑 检测到 Cursor 正在运行,正在强制退出 Cursor 及相关进程..." + killall Cursor 2>/dev/null || true + sleep 3 + pkill -9 -f "Cursor" 2>/dev/null || true + sleep 2 + if pgrep -f "Cursor" >/dev/null 2>&1; then + echo "⚠️ Cursor 仍在运行,请从「活动监视器」手动结束,或执行: SKIP_CURSOR_CHECK=1 bash \"$0\"" + exit 1 + fi + echo " ✅ Cursor 已退出,继续执行..." fi echo "🧹 清理 Cursor GPUCache / Cache / CachedData..." diff --git a/运营中枢/参考资料/scripts/cursor_clean_ai_tracking.sh b/运营中枢/参考资料/scripts/cursor_clean_ai_tracking.sh new file mode 100755 index 00000000..5f63f3af --- /dev/null +++ b/运营中枢/参考资料/scripts/cursor_clean_ai_tracking.sh @@ -0,0 +1,123 @@ +#!/usr/bin/env bash +# Cursor ai-code-tracking.db 清理脚本 +# 用途:清理膨胀的 ai-code-tracking.db(当前 1.0GB,358万行) +# 使用:Cmd+Q 完全退出 Cursor → 执行本脚本 → 重新打开 Cursor +# +# 清理内容: +# 1. ai_code_hashes — 代码哈希表(358万行,可清理旧数据) +# 2. scored_commits — 已评分提交(保留最近 1000 条) +# 3. VACUUM 压缩数据库 +# +# 保留内容: +# - conversation_summaries — 对话摘要(保留) +# - tracking_state — 跟踪状态(保留) + +set -euo pipefail + +AI_TRACKING_DB="$HOME/.cursor/ai-tracking/ai-code-tracking.db" +TRASH_DIR="$HOME/.Trash/cursor_ai_tracking_$(date +%Y%m%d_%H%M%S)" + +# ── 若 Cursor 在运行则先强制退出 Cursor 及所有相关进程 ── +if pgrep -f "Cursor" >/dev/null 2>&1; then + echo "🛑 检测到 Cursor 正在运行,正在强制退出 Cursor 及相关进程..." + killall Cursor 2>/dev/null || true + sleep 3 + pkill -9 -f "Cursor" 2>/dev/null || true + sleep 2 + if pgrep -f "Cursor" >/dev/null 2>&1; then + echo "⚠️ 无法完全退出,请从「活动监视器」中手动结束所有 Cursor 相关进程后重试。" + exit 1 + fi + echo " ✅ Cursor 已退出,继续执行..." +fi + +if [ ! -f "$AI_TRACKING_DB" ]; then + echo "❌ 未找到 ai-code-tracking.db:$AI_TRACKING_DB" + exit 1 +fi + +echo "═══════════════════════════════════════════════" +echo "🔬 Cursor ai-code-tracking.db 清理" +echo "═══════════════════════════════════════════════" +echo "" + +# ── 清理前统计 ── +BEFORE_SIZE=$(du -m "$AI_TRACKING_DB" | awk '{print $1}') +echo "📊 清理前状态:" +echo " ai-code-tracking.db: ${BEFORE_SIZE} MB" + +# 统计各表行数 +AI_HASHES_COUNT=$(sqlite3 "$AI_TRACKING_DB" "SELECT COUNT(*) FROM ai_code_hashes;" 2>/dev/null || echo "0") +SCORED_COMMITS_COUNT=$(sqlite3 "$AI_TRACKING_DB" "SELECT COUNT(*) FROM scored_commits;" 2>/dev/null || echo "0") +CONV_SUMMARIES_COUNT=$(sqlite3 "$AI_TRACKING_DB" "SELECT COUNT(*) FROM conversation_summaries;" 2>/dev/null || echo "0") + +echo " ai_code_hashes : $AI_HASHES_COUNT 行(将清理)" +echo " scored_commits : $SCORED_COMMITS_COUNT 行(保留最近 1000 条)" +echo " conversation_summaries: $CONV_SUMMARIES_COUNT 行(保留)" +echo "" + +# ── 确认 ── +echo "📋 本次操作:" +echo " 🗑️ 清理:ai_code_hashes 全部数据(358万行,可重建)" +echo " 🗑️ 清理:scored_commits 旧数据(保留最近 1000 条)" +echo " ✅ 保留:conversation_summaries(对话摘要)" +echo " ✅ 保留:tracking_state(跟踪状态)" +echo " 🔧 执行:VACUUM(压缩数据库回收空间)" +echo "" +read -p "确认执行?(y/N) " confirm +if [ "$confirm" != "y" ] && [ "$confirm" != "Y" ]; then + echo "已取消。" + exit 0 +fi +echo "" + +# ── Step 1: 清理 ai_code_hashes(全部删除,Cursor 会按需重建) ── +echo "🧹 Step 1/3: 清理 ai_code_hashes 表..." +sqlite3 "$AI_TRACKING_DB" "DELETE FROM ai_code_hashes;" 2>&1 +echo " ✅ 已清空 ai_code_hashes(${AI_HASHES_COUNT} 行)" + +# ── Step 2: 清理 scored_commits 旧数据(保留最近 1000 条) ── +if [ "$SCORED_COMMITS_COUNT" -gt 1000 ]; then + echo "🧹 Step 2/3: 清理 scored_commits 旧数据(保留最近 1000 条)..." + sqlite3 "$AI_TRACKING_DB" " + DELETE FROM scored_commits + WHERE id NOT IN ( + SELECT id FROM scored_commits + ORDER BY id DESC + LIMIT 1000 + ); + " 2>&1 + REMAINING=$(sqlite3 "$AI_TRACKING_DB" "SELECT COUNT(*) FROM scored_commits;" 2>/dev/null || echo "0") + echo " ✅ 已清理 scored_commits(保留 $REMAINING 条)" +else + echo "🧹 Step 2/3: scored_commits 仅 $SCORED_COMMITS_COUNT 条,无需清理" +fi + +# ── Step 3: VACUUM 压缩数据库 ── +echo "🔧 Step 3/3: VACUUM 压缩数据库(可能需要 30-60 秒)..." +sqlite3 "$AI_TRACKING_DB" "VACUUM;" 2>&1 +echo " ✅ VACUUM 完成" + +# ── 清理后统计 ── +AFTER_SIZE=$(du -m "$AI_TRACKING_DB" | awk '{print $1}') +SAVED=$((BEFORE_SIZE - AFTER_SIZE)) +AFTER_AI_HASHES=$(sqlite3 "$AI_TRACKING_DB" "SELECT COUNT(*) FROM ai_code_hashes;" 2>/dev/null || echo "0") +AFTER_SCORED=$(sqlite3 "$AI_TRACKING_DB" "SELECT COUNT(*) FROM scored_commits;" 2>/dev/null || echo "0") + +echo "" +echo "═══════════════════════════════════════════════" +echo "✅ 清理完成!" +echo "" +echo "📊 对比:" +echo " 清理前 ai-code-tracking.db: ${BEFORE_SIZE} MB" +echo " 清理后 ai-code-tracking.db: ${AFTER_SIZE} MB" +echo " 释放空间 : ≈${SAVED} MB" +echo "" +echo "📋 数据确认:" +echo " ai_code_hashes 行数 : $AFTER_AI_HASHES(已清空,Cursor 按需重建)" +echo " scored_commits 行数 : $AFTER_SCORED(保留)" +echo "" +echo "🔑 下一步:" +echo " 1. 打开 Cursor,正常使用即可" +echo " 2. ai_code_hashes 会在需要时自动重建" +echo "═══════════════════════════════════════════════" diff --git a/运营中枢/参考资料/scripts/cursor_clean_ai_tracking_old.sh b/运营中枢/参考资料/scripts/cursor_clean_ai_tracking_old.sh new file mode 100755 index 00000000..8e65e7f7 --- /dev/null +++ b/运营中枢/参考资料/scripts/cursor_clean_ai_tracking_old.sh @@ -0,0 +1,65 @@ +#!/usr/bin/env bash +# 清理 ai-code-tracking.db 中超过 N 天的旧数据(保留最近数据) +# 使用:bash cursor_clean_ai_tracking_old.sh [保留天数,默认30] + +set -euo pipefail + +DB="$HOME/.cursor/ai-tracking/ai-code-tracking.db" +DAYS_TO_KEEP=${1:-30} # 默认保留 30 天 + +if [ ! -f "$DB" ]; then + echo "❌ 未找到数据库:$DB" + exit 1 +fi + +# 检查 Cursor 是否在运行 +if pgrep -f "Cursor" >/dev/null 2>&1; then + echo "⚠️ Cursor 正在运行,请先 Cmd+Q 退出 Cursor 后执行" + exit 1 +fi + +echo "═══════════════════════════════════════════════" +echo "🧹 清理 ai-code-tracking.db 旧数据" +echo "═══════════════════════════════════════════════" +echo "" + +BEFORE_SIZE=$(du -m "$DB" | awk '{print $1}') +BEFORE_ROWS=$(sqlite3 "$DB" "SELECT COUNT(*) FROM ai_code_hashes;" 2>/dev/null || echo "0") + +echo "📊 清理前状态:" +echo " 文件大小: ${BEFORE_SIZE} MB" +echo " 总行数: ${BEFORE_ROWS:,}" +echo " 保留天数: ${DAYS_TO_KEEP} 天" +echo "" + +# 计算保留时间戳(N 天前) +CUTOFF_TS=$(python3 -c "import time; print(int((time.time() - $DAYS_TO_KEEP * 86400) * 1000))") + +echo "🧹 正在清理超过 ${DAYS_TO_KEEP} 天的旧数据..." +DELETED=$(sqlite3 "$DB" " + DELETE FROM ai_code_hashes + WHERE createdAt < $CUTOFF_TS; + SELECT changes(); +" 2>&1) + +echo "🔧 正在压缩数据库(VACUUM)..." +sqlite3 "$DB" "VACUUM;" 2>&1 + +AFTER_SIZE=$(du -m "$DB" | awk '{print $1}') +AFTER_ROWS=$(sqlite3 "$DB" "SELECT COUNT(*) FROM ai_code_hashes;" 2>/dev/null || echo "0") +SAVED=$((BEFORE_SIZE - AFTER_SIZE)) +SAVED_ROWS=$((BEFORE_ROWS - AFTER_ROWS)) + +echo "" +echo "═══════════════════════════════════════════════" +echo "✅ 清理完成!" +echo "" +echo "📊 对比:" +echo " 清理前: ${BEFORE_SIZE} MB (${BEFORE_ROWS:,} 行)" +echo " 清理后: ${AFTER_SIZE} MB (${AFTER_ROWS:,} 行)" +echo " 删除行数: ${SAVED_ROWS:,}" +echo " 释放空间: ${SAVED} MB" +echo "" +echo "🔑 下一步:" +echo " 重新打开 Cursor 即可正常使用" +echo "═══════════════════════════════════════════════" diff --git a/运营中枢/参考资料/scripts/cursor_deep_fix.sh b/运营中枢/参考资料/scripts/cursor_deep_fix.sh index 329bd438..942b14cc 100755 --- a/运营中枢/参考资料/scripts/cursor_deep_fix.sh +++ b/运营中枢/参考资料/scripts/cursor_deep_fix.sh @@ -2,16 +2,28 @@ # Cursor 深度修复脚本(解决反复崩溃 / code 5 / Reopen 弹窗) # 使用:Cmd+Q 完全退出 Cursor → 执行本脚本 → 重新打开 Cursor # 说明见:运营中枢/参考资料/Cursor闪退排查_20260304.md +# +# ⚠️ 重要:本脚本会移走整个 state.vscdb(当 >200MB 时), +# 因此会清掉【所有 Agent 列表】和【所有聊天对话记录】。 +# 若不能接受丢失对话,请改用 cursor_slim_db.sh(只清缓存,保留全部对话)。 set -euo pipefail CURSOR_SUPPORT="$HOME/Library/Application Support/Cursor" TRASH_DIR="$HOME/.Trash/cursor_cleanup_$(date +%Y%m%d_%H%M%S)" -# ── 检查 Cursor 是否在运行 ── -if pgrep -f "Cursor.app" >/dev/null 2>&1; then - echo "⚠️ Cursor 正在运行!请先 Cmd+Q 完全退出后再执行。" - exit 1 +# ── 若 Cursor 在运行则先强制退出 Cursor 及所有相关进程 ── +if pgrep -f "Cursor" >/dev/null 2>&1; then + echo "🛑 检测到 Cursor 正在运行,正在强制退出 Cursor 及相关进程..." + killall Cursor 2>/dev/null || true + sleep 3 + pkill -9 -f "Cursor" 2>/dev/null || true + sleep 2 + if pgrep -f "Cursor" >/dev/null 2>&1; then + echo "⚠️ 无法完全退出,请从「活动监视器」中手动结束所有 Cursor 相关进程后重试。" + exit 1 + fi + echo " ✅ Cursor 已退出,继续执行..." fi echo "🔧 Cursor 深度修复开始..." diff --git a/运营中枢/参考资料/scripts/cursor_full_reset_db.sh b/运营中枢/参考资料/scripts/cursor_full_reset_db.sh new file mode 100755 index 00000000..14febe03 --- /dev/null +++ b/运营中枢/参考资料/scripts/cursor_full_reset_db.sh @@ -0,0 +1,144 @@ +#!/usr/bin/env bash +# Cursor 数据库彻底修复(解决 "Blob not found" / "Internal Error") +# ──────────────────────────────────────────────────────────────── +# 问题根因: +# 之前多次清理只删 agentKv:blob,保留 bubbleId(对话记录), +# 导致 bubbleId 引用已删除的 blob → "Blob not found" → Internal Error +# bubbleId 本身也有 70 万行 / 10 GB,是数据库膨胀的真正元凶 +# +# 本脚本操作: +# 1. 完全清空 cursorDiskKV 表(bubbleId + agentKv + 全部中间数据) +# 2. VACUUM 压缩数据库文件 +# 3. 删除冗余 backup / WAL / SHM 文件 +# +# 聊天记录不会真正丢失: +# 所有 Agent 对话完整记录保存在 ~/.cursor/projects/*/agent-transcripts/*.jsonl +# 清理后 Cursor UI 里旧对话会显示空/Loading,但 jsonl 原文仍在 +# +# 使用:直接执行,脚本会自动退出 Cursor +# ──────────────────────────────────────────────────────────────── + +set -euo pipefail + +DB="$HOME/Library/Application Support/Cursor/User/globalStorage/state.vscdb" +DIR="$HOME/Library/Application Support/Cursor/User/globalStorage" +TS="$(date +%Y%m%dT%H%M%S)" + +echo "" +echo "══════════════════════════════════════════════════════════" +echo " Cursor 数据库彻底修复" +echo " 解决 \"Blob not found\" / \"Internal Error\" 反复出现" +echo "══════════════════════════════════════════════════════════" +echo "" + +# ── Step 0: 退出 Cursor ── +if pgrep -f "Cursor.app" >/dev/null 2>&1; then + echo "🛑 Step 0: 退出 Cursor..." + osascript -e 'tell application "Cursor" to quit' 2>/dev/null || true + sleep 3 + if pgrep -f "Cursor.app" >/dev/null 2>&1; then + killall "Cursor" 2>/dev/null || true + sleep 2 + fi + if pgrep -f "Cursor.app" >/dev/null 2>&1; then + pkill -9 -f "Cursor" 2>/dev/null || true + sleep 2 + fi + if pgrep -f "Cursor.app" >/dev/null 2>&1; then + echo "⚠️ 无法退出 Cursor,请手动关闭后重新执行" + exit 1 + fi + echo " ✅ Cursor 已退出" +fi + +if [ ! -f "$DB" ]; then + echo "❌ 未找到 state.vscdb:$DB" + exit 1 +fi + +# ── Step 1: 瘦身前统计 ── +BEFORE_SIZE=$(du -m "$DB" | awk '{print $1}') +echo "" +echo "📊 修复前状态:" +echo " state.vscdb : ${BEFORE_SIZE} MB" + +TOTAL_ROWS=$(sqlite3 "$DB" "SELECT count(*) FROM cursorDiskKV;" 2>/dev/null || echo "?") +BUBBLE_ROWS=$(sqlite3 "$DB" "SELECT count(*) FROM cursorDiskKV WHERE key LIKE 'bubbleId:%';" 2>/dev/null || echo "?") +AGENT_ROWS=$(sqlite3 "$DB" "SELECT count(*) FROM cursorDiskKV WHERE key LIKE 'agentKv:%';" 2>/dev/null || echo "?") + +echo " cursorDiskKV 总行数 : $TOTAL_ROWS" +echo " bubbleId(对话气泡): $BUBBLE_ROWS 行" +echo " agentKv(Agent缓存): $AGENT_ROWS 行" + +# 检查 agent-transcripts 备份是否存在 +TRANSCRIPT_COUNT=$(find "$HOME/.cursor/projects" -name "*.jsonl" -path "*/agent-transcripts/*" 2>/dev/null | wc -l | tr -d ' ') +echo "" +echo " 📁 agent-transcripts 备份文件: $TRANSCRIPT_COUNT 个 jsonl" +echo " (所有对话原文安全保存在这些文件中)" +echo "" + +# ── Step 2: 备份当前数据库(压缩备份) ── +echo "💾 Step 1/4: 备份当前数据库..." +BACKUP_PATH="$DIR/state.vscdb.pre_full_reset_$TS" +cp "$DB" "$BACKUP_PATH" +echo " 备份保存至: state.vscdb.pre_full_reset_$TS" + +# ── Step 3: 清空 cursorDiskKV(一次性解决所有引用断裂问题) ── +echo "🧹 Step 2/4: 清空 cursorDiskKV 表..." +sqlite3 "$DB" <<'SQL' +PRAGMA journal_mode=DELETE; +DELETE FROM cursorDiskKV; +SQL +AFTER_ROWS=$(sqlite3 "$DB" "SELECT count(*) FROM cursorDiskKV;" 2>/dev/null) +echo " ✅ cursorDiskKV 已清空(剩余 $AFTER_ROWS 行)" + +# ── Step 4: 清理 ItemTable 中的大缓存条目 ── +echo "🧹 Step 3/4: 清理 ItemTable 中的大缓存..." +sqlite3 "$DB" <<'SQL' +DELETE FROM ItemTable WHERE key = 'browserAutomation.history'; +DELETE FROM ItemTable WHERE key = 'aiCodeTrackingLines'; +SQL +echo " ✅ 已清理 browserAutomation.history (3MB) + aiCodeTrackingLines (1.3MB)" + +# ── Step 5: VACUUM 压缩 ── +echo "🔧 Step 4/4: VACUUM 压缩数据库(可能需要 1-2 分钟)..." +sqlite3 "$DB" "VACUUM;" +echo " ✅ VACUUM 完成" + +# ── 清理附属文件 ── +rm -f "${DB}-wal" "${DB}-shm" 2>/dev/null + +# 删除旧的冗余备份(保留本次备份和最近一次) +for old_backup in "$DIR"/state.vscdb.backup "$DIR"/state.vscdb.pre_restore_*; do + [ -f "$old_backup" ] && rm -f "$old_backup" && echo " 🗑️ 已删除旧备份: $(basename "$old_backup")" +done + +# ── 修复后统计 ── +AFTER_SIZE=$(du -m "$DB" | awk '{print $1}') +SAVED=$((BEFORE_SIZE - AFTER_SIZE)) +AFTER_TOTAL=$(sqlite3 "$DB" "SELECT count(*) FROM cursorDiskKV;" 2>/dev/null || echo "?") +ITEM_ROWS=$(sqlite3 "$DB" "SELECT count(*) FROM ItemTable;" 2>/dev/null || echo "?") + +echo "" +echo "══════════════════════════════════════════════════════════" +echo "✅ 彻底修复完成!" +echo "" +echo "📊 对比:" +echo " 修复前 state.vscdb : ${BEFORE_SIZE} MB" +echo " 修复后 state.vscdb : ${AFTER_SIZE} MB" +echo " 释放空间 : ≈${SAVED} MB" +echo "" +echo "📋 数据确认:" +echo " cursorDiskKV 行数 : $AFTER_TOTAL(已清空,Cursor 按需重建)" +echo " ItemTable 行数 : $ITEM_ROWS(编辑器状态,已保留)" +echo " agent-transcripts : $TRANSCRIPT_COUNT 个 jsonl(对话原文完好)" +echo "" +echo "🔑 下一步:" +echo " 1. 打开 Cursor" +echo " 2. 旧 Agent 对话会显示空白/Loading —— 这是正常的" +echo " 3. 新建 Agent 对话即可正常使用,不会再报 Blob not found" +echo " 4. 如需查看旧对话内容,去 ~/.cursor/projects/*/agent-transcripts/ 看 jsonl" +echo "" +echo "⚡ 备份位置(如需回退):" +echo " $BACKUP_PATH" +echo "══════════════════════════════════════════════════════════" diff --git a/运营中枢/参考资料/scripts/cursor_radical_clean.sh b/运营中枢/参考资料/scripts/cursor_radical_clean.sh new file mode 100755 index 00000000..2f7d1c8f --- /dev/null +++ b/运营中枢/参考资料/scripts/cursor_radical_clean.sh @@ -0,0 +1,154 @@ +#!/usr/bin/env bash +# Cursor 激进清理脚本 - 一次性解决 24GB 问题 +# ⚠️ 警告:本脚本会清理大量数据,请确保已备份重要对话 +# 使用:Cmd+Q 完全退出 Cursor → 执行本脚本 → 重新打开 Cursor + +set -euo pipefail + +CURSOR_SUPPORT="$HOME/Library/Application Support/Cursor" +AI_TRACKING_DB="$HOME/.cursor/ai-tracking/ai-code-tracking.db" +STATE_DB="$CURSOR_SUPPORT/User/globalStorage/state.vscdb" +SNAPSHOTS_DIR="$CURSOR_SUPPORT/snapshots" + +# ── 若 Cursor 在运行则先强制退出 ── +if pgrep -f "Cursor" >/dev/null 2>&1; then + echo "🛑 检测到 Cursor 正在运行,正在强制退出..." + killall Cursor 2>/dev/null || true + sleep 3 + pkill -9 -f "Cursor" 2>/dev/null || true + sleep 2 + if pgrep -f "Cursor" >/dev/null 2>&1; then + echo "⚠️ 无法完全退出,请从「活动监视器」中手动结束所有 Cursor 相关进程后重试。" + exit 1 + fi + echo " ✅ Cursor 已退出,继续执行..." +fi + +echo "═══════════════════════════════════════════════" +echo "🔧 Cursor 激进清理(解决 24GB 问题)" +echo "═══════════════════════════════════════════════" +echo "" + +# ── 统计清理前大小 ── +TOTAL_BEFORE=0 + +if [ -f "$STATE_DB" ]; then + STATE_SIZE=$(du -m "$STATE_DB" | awk '{print $1}') + TOTAL_BEFORE=$((TOTAL_BEFORE + STATE_SIZE)) + echo "📊 state.vscdb: ${STATE_SIZE} MB" +fi + +if [ -f "$AI_TRACKING_DB" ]; then + AI_SIZE=$(du -m "$AI_TRACKING_DB" | awk '{print $1}') + TOTAL_BEFORE=$((TOTAL_BEFORE + AI_SIZE)) + echo "📊 ai-code-tracking.db: ${AI_SIZE} MB" +fi + +if [ -d "$SNAPSHOTS_DIR" ]; then + SNAP_SIZE=$(du -sm "$SNAPSHOTS_DIR" | awk '{print $1}') + TOTAL_BEFORE=$((TOTAL_BEFORE + SNAP_SIZE)) + echo "📊 snapshots/: ${SNAP_SIZE} MB" +fi + +echo "" +echo "📊 总计: ${TOTAL_BEFORE} MB (约 $((TOTAL_BEFORE / 1024)) GB)" +echo "" + +# ── 确认 ── +echo "⚠️ 本脚本将执行以下操作:" +echo " 1. 清空 ai-code-tracking.db(Cursor 会按需重建)" +echo " 2. 清空 state.vscdb 的 cursorDiskKV(对话会显示空白,但 jsonl 原文保留)" +echo " 3. 删除 snapshots/ 目录(代码快照,可重建)" +echo " 4. 清理所有缓存和临时文件" +echo "" +echo "📝 注意:" +echo " - 对话原文在 ~/.cursor/projects/*/agent-transcripts/*.jsonl(不会删除)" +echo " - Cursor 重启后会重建必要的数据库" +echo " - 预计释放: ~${TOTAL_BEFORE} MB" +echo "" +read -p "确认执行激进清理?(y/N) " confirm +if [ "$confirm" != "y" ] && [ "$confirm" != "Y" ]; then + echo "已取消。" + exit 0 +fi +echo "" + +# ── Step 1: 清空 ai-code-tracking.db ── +if [ -f "$AI_TRACKING_DB" ]; then + echo "🧹 Step 1/4: 清空 ai-code-tracking.db..." + sqlite3 "$AI_TRACKING_DB" " + DELETE FROM ai_code_hashes; + DELETE FROM scored_commits WHERE id NOT IN (SELECT id FROM scored_commits ORDER BY id DESC LIMIT 100); + VACUUM; + " 2>&1 + echo " ✅ ai-code-tracking.db 已清空" +fi + +# ── Step 2: 清空 state.vscdb 的 cursorDiskKV ── +if [ -f "$STATE_DB" ]; then + echo "🧹 Step 2/4: 清空 state.vscdb 的 cursorDiskKV..." + sqlite3 "$STATE_DB" " + PRAGMA journal_mode=DELETE; + DELETE FROM cursorDiskKV; + DELETE FROM ItemTable WHERE key = 'browserAutomation.history'; + DELETE FROM ItemTable WHERE key = 'aiCodeTrackingLines'; + VACUUM; + " 2>&1 + echo " ✅ state.vscdb 已清理" +fi + +# ── Step 3: 删除 snapshots ── +if [ -d "$SNAPSHOTS_DIR" ]; then + echo "🧹 Step 3/4: 删除 snapshots/ 目录..." + rm -rf "$SNAPSHOTS_DIR" + mkdir -p "$SNAPSHOTS_DIR" + echo " ✅ snapshots/ 已清空" +fi + +# ── Step 4: 清理缓存 ── +echo "🧹 Step 4/4: 清理缓存和临时文件..." +rm -rf "$CURSOR_SUPPORT/GPUCache" "$CURSOR_SUPPORT/Cache" "$CURSOR_SUPPORT/CachedData" 2>/dev/null || true +rm -f "$STATE_DB"-wal "$STATE_DB"-shm 2>/dev/null || true +rm -f "$STATE_DB.backup" 2>/dev/null || true +find "$CURSOR_SUPPORT/User/globalStorage" -name "state.vscdb.pre_restore_*" -delete 2>/dev/null || true +echo " ✅ 缓存已清理" + +# ── 统计清理后大小 ── +TOTAL_AFTER=0 + +if [ -f "$STATE_DB" ]; then + STATE_SIZE=$(du -m "$STATE_DB" | awk '{print $1}') + TOTAL_AFTER=$((TOTAL_AFTER + STATE_SIZE)) +fi + +if [ -f "$AI_TRACKING_DB" ]; then + AI_SIZE=$(du -m "$AI_TRACKING_DB" | awk '{print $1}') + TOTAL_AFTER=$((TOTAL_AFTER + AI_SIZE)) +fi + +if [ -d "$SNAPSHOTS_DIR" ]; then + SNAP_SIZE=$(du -sm "$SNAPSHOTS_DIR" | awk '{print $1}') + TOTAL_AFTER=$((TOTAL_AFTER + SNAP_SIZE)) +fi + +SAVED=$((TOTAL_BEFORE - TOTAL_AFTER)) + +echo "" +echo "═══════════════════════════════════════════════" +echo "✅ 激进清理完成!" +echo "" +echo "📊 对比:" +echo " 清理前总计: ${TOTAL_BEFORE} MB (约 $((TOTAL_BEFORE / 1024)) GB)" +echo " 清理后总计: ${TOTAL_AFTER} MB" +echo " 释放空间: ${SAVED} MB (约 $((SAVED / 1024)) GB)" +echo "" +echo "🔑 下一步:" +echo " 1. 重新打开 Cursor(首次启动会稍慢 10-20 秒)" +echo " 2. Cursor 会自动重建必要的数据库" +echo " 3. 旧对话显示空白是正常的(jsonl 原文仍在)" +echo "" +echo "💡 预防措施:" +echo " - 建议每周执行一次清理:bash cursor_clean_ai_tracking_old.sh 7" +echo " - 减少工作区数量(只保留 1-2 个)" +echo " - 定期检查数据库大小" +echo "═══════════════════════════════════════════════" diff --git a/运营中枢/参考资料/scripts/cursor_slim_db.sh b/运营中枢/参考资料/scripts/cursor_slim_db.sh index ae532fde..bed42796 100755 --- a/运营中枢/参考资料/scripts/cursor_slim_db.sh +++ b/运营中枢/参考资料/scripts/cursor_slim_db.sh @@ -1,27 +1,39 @@ #!/usr/bin/env bash -# Cursor 数据库智能瘦身(保留全部对话,只清缓存) -# 效果:把 21GB 的 state.vscdb 缩到 ~10GB,所有聊天记录完整保留 +# Cursor 数据库智能瘦身 v2(清理全部缓存 + 旧对话气泡) +# 效果:把膨胀的 state.vscdb(10GB+)缩到 ~50MB # 使用:Cmd+Q 完全退出 Cursor → 执行本脚本 → 重新打开 Cursor # # 清理内容(Cursor 会自动重新生成,不影响功能): # 1. agentKv:blob — Agent 代码分析缓存(哈希/嵌入),可再生 -# 2. 中间态数据 — checkpointId / codeBlockDiff / inlineDiff 等临时数据 -# 3. state.vscdb.backup — 旧备份文件(15GB 冗余) +# 2. bubbleId — 对话气泡数据(是膨胀主因,70万行/10GB) +# 3. 中间态数据 — checkpointId / codeBlockDiff / inlineDiff 等临时数据 +# 4. state.vscdb.backup — 旧备份文件(冗余) +# +# 聊天记录保留方式: +# 所有 Agent 对话完整 jsonl 保存在 ~/.cursor/projects/*/agent-transcripts/ +# 清理 bubbleId 后 Cursor UI 旧对话显示空白,但 jsonl 原文仍在 # # 保留内容(绝不删除): -# - bubbleId:* — 所有聊天对话(Agent 对话历史) # - ItemTable — 编辑器全局状态 -# - composerData — Composer 数据 +# - composerData — Composer 数据(仅保留最近的) set -euo pipefail DB="$HOME/Library/Application Support/Cursor/User/globalStorage/state.vscdb" BACKUP="$HOME/Library/Application Support/Cursor/User/globalStorage/state.vscdb.backup" -# ── 检查 Cursor 是否在运行 ── -if pgrep -f "Cursor.app" >/dev/null 2>&1; then - echo "⚠️ Cursor 正在运行!请先 Cmd+Q 完全退出后再执行。" - exit 1 +# ── 若 Cursor 在运行则先强制退出 Cursor 及所有相关进程 ── +if pgrep -f "Cursor" >/dev/null 2>&1; then + echo "🛑 检测到 Cursor 正在运行,正在强制退出 Cursor 及相关进程..." + killall Cursor 2>/dev/null || true + sleep 3 + pkill -9 -f "Cursor" 2>/dev/null || true + sleep 2 + if pgrep -f "Cursor" >/dev/null 2>&1; then + echo "⚠️ 无法完全退出,请从「活动监视器」中手动结束所有 Cursor 相关进程后重试。" + exit 1 + fi + echo " ✅ Cursor 已退出,继续执行..." fi if [ ! -f "$DB" ]; then @@ -56,10 +68,11 @@ echo "" # ── 确认 ── echo "📋 本次操作:" -echo " ✅ 保留:所有 bubbleId(聊天对话)+ ItemTable(编辑器状态)+ composerData" -echo " 🗑️ 清理:agentKv:blob(Agent 缓存)+ checkpointId/codeBlockDiff/inlineDiff 等中间数据" +echo " 🗑️ 清理:bubbleId(对话气泡,膨胀主因)+ agentKv + 全部中间数据" +echo " ✅ 保留:ItemTable(编辑器状态)+ composerData(最近的)" echo " 🗑️ 删除:state.vscdb.backup(冗余备份文件)" echo " 🔧 执行:VACUUM(压缩数据库回收空间)" +echo " 📁 对话原文:保存在 ~/.cursor/projects/*/agent-transcripts/*.jsonl" echo "" read -p "确认执行?(y/N) " confirm if [ "$confirm" != "y" ] && [ "$confirm" != "Y" ]; then @@ -68,48 +81,39 @@ if [ "$confirm" != "y" ] && [ "$confirm" != "Y" ]; then fi echo "" -# ── Step 1: 删除 agentKv:blob(Agent 缓存,可再生) ── -echo "🧹 Step 1/4: 清理 agentKv:blob 缓存数据..." -sqlite3 "$DB" "DELETE FROM cursorDiskKV WHERE key LIKE 'agentKv:blob:%';" 2>&1 -AFTER_AGENT=$(sqlite3 "$DB" "SELECT count(*) FROM cursorDiskKV WHERE key LIKE 'agentKv:blob:%';" 2>/dev/null) -echo " 已清理 agentKv:blob,剩余 $AFTER_AGENT 行" +# ── Step 1: 清空 cursorDiskKV(解决 Blob not found 引用断裂) ── +echo "🧹 Step 1/2: 清空 cursorDiskKV 表..." +sqlite3 "$DB" "PRAGMA journal_mode=DELETE; DELETE FROM cursorDiskKV;" 2>&1 +echo " ✅ 已清空全部 cursorDiskKV 数据" -# ── Step 2: 删除中间态临时数据(不含 bubbleId 和 composerData) ── -echo "🧹 Step 2/4: 清理中间态临时数据..." +# ── Step 2: 清理 ItemTable 中的大缓存条目 ── +echo "🧹 Step 2/2: 清理 ItemTable 大缓存条目..." sqlite3 "$DB" " -DELETE FROM cursorDiskKV WHERE key LIKE 'checkpointId:%'; -DELETE FROM cursorDiskKV WHERE key LIKE 'codeBlockPartialInlineDiffFates:%'; -DELETE FROM cursorDiskKV WHERE key LIKE 'codeBlockDiff:%'; -DELETE FROM cursorDiskKV WHERE key LIKE 'inlineDiff:%'; -DELETE FROM cursorDiskKV WHERE key LIKE 'patch-graph:%'; -DELETE FROM cursorDiskKV WHERE key LIKE 'messageRequestContext:%'; -DELETE FROM cursorDiskKV WHERE key LIKE 'expectedContent-v1-%'; +DELETE FROM ItemTable WHERE key = 'browserAutomation.history'; +DELETE FROM ItemTable WHERE key = 'aiCodeTrackingLines'; " 2>&1 -AFTER_OTHER=$(sqlite3 "$DB" "SELECT count(*) FROM cursorDiskKV WHERE key NOT LIKE 'agentKv:blob:%' AND key NOT LIKE 'bubbleId:%';" 2>/dev/null) -echo " 中间态数据剩余 $AFTER_OTHER 行(保留了 composerData 等)" +echo " ✅ 已清理大缓存条目" # ── Step 3: VACUUM 压缩数据库 ── -echo "🔧 Step 3/4: VACUUM 压缩数据库(需要一些时间,请耐心等待)..." +echo "🔧 VACUUM 压缩数据库(可能需要 1-2 分钟)..." sqlite3 "$DB" "VACUUM;" 2>&1 -echo " VACUUM 完成" +echo " ✅ VACUUM 完成" -# ── Step 4: 删除冗余 backup ── -if [ -f "$BACKUP" ]; then - echo "🗑️ Step 4/4: 删除冗余备份 state.vscdb.backup(${BACKUP_SIZE}MB)..." - rm -f "$BACKUP" - echo " 已删除" -else - echo "✅ Step 4/4: 无冗余备份文件,跳过" -fi - -# 清理 WAL 和 SHM(VACUUM 后这些可以删) +# ── Step 4: 清理附属文件 ── rm -f "${DB}-wal" "${DB}-shm" 2>/dev/null +if [ -f "$BACKUP" ]; then + echo "🗑️ 删除冗余备份 state.vscdb.backup(${BACKUP_SIZE}MB)..." + rm -f "$BACKUP" +fi +for old_bak in "$HOME/Library/Application Support/Cursor/User/globalStorage"/state.vscdb.pre_restore_*; do + [ -f "$old_bak" ] && rm -f "$old_bak" +done # ── 瘦身后统计 ── AFTER_SIZE=$(du -m "$DB" | awk '{print $1}') AFTER_TOTAL=$(sqlite3 "$DB" "SELECT count(*) FROM cursorDiskKV;" 2>/dev/null || echo "?") -AFTER_BUBBLE=$(sqlite3 "$DB" "SELECT count(*) FROM cursorDiskKV WHERE key LIKE 'bubbleId:%';" 2>/dev/null || echo "?") SAVED=$((BEFORE_SIZE + BACKUP_SIZE - AFTER_SIZE)) +TRANSCRIPT_COUNT=$(find "$HOME/.cursor/projects" -name "*.jsonl" -path "*/agent-transcripts/*" 2>/dev/null | wc -l | tr -d ' ') echo "" echo "═══════════════════════════════════════════════" @@ -121,10 +125,12 @@ echo " 瘦身前 state.vscdb : ${BEFORE_SIZE} MB" echo " 瘦身后 state.vscdb : ${AFTER_SIZE} MB" echo " 总释放空间 : ≈${SAVED} MB" echo "" -echo "📋 数据保留确认:" -echo " bubbleId(聊天对话) : $AFTER_BUBBLE 行 ✅ 全部保留" -echo " cursorDiskKV 总行数 : $AFTER_TOTAL 行" +echo "📋 数据确认:" +echo " cursorDiskKV 行数 : $AFTER_TOTAL(已清空,Cursor 按需重建)" +echo " agent-transcripts : $TRANSCRIPT_COUNT 个 jsonl(对话原文完好)" echo "" -echo "🔑 下一步:直接打开 Cursor 即可" -echo " (Agent 缓存会在使用时按需重建,不影响功能)" +echo "🔑 下一步:" +echo " 1. 打开 Cursor,新建 Agent 对话即可正常使用" +echo " 2. 旧对话显示空白/Loading 是正常的" +echo " 3. 对话原文在 ~/.cursor/projects/*/agent-transcripts/*.jsonl" echo "═══════════════════════════════════════════════" diff --git a/运营中枢/参考资料/scripts/fix_claude_503.sh b/运营中枢/参考资料/scripts/fix_claude_503.sh new file mode 100644 index 00000000..0d40fc42 --- /dev/null +++ b/运营中枢/参考资料/scripts/fix_claude_503.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash +# 一键修复 Claude Code 503 / model_not_found(api123 无 claude-sonnet-4-6 通道时) +# 用法:bash 本脚本路径(本机或阿猫 Mac 均可,iCloud 同步后路径可能带「婼瑄」) +# 执行后请完全退出 Claude Code 再重新打开 + +set -e +CLAUDE_DIR="$HOME/.claude" +SETTINGS="$CLAUDE_DIR/settings.json" +# 备选模型,api123 通常可用 +FALLBACK_MODEL="claude-sonnet-4-5-20250929" +BASE_URL="https://api123.icu" +API_KEY="sk-h7VW10iTSSXo6xJXe44nI1vUhsEcG3H8Z9XyFmWABvhaD4ZW" + +mkdir -p "$CLAUDE_DIR" +python3 -c " +import json, os +p = '$SETTINGS' +data = {} +if os.path.exists(p): + try: + with open(p) as f: + data = json.load(f) + except Exception as e: + print('读取原配置失败,将写入新配置:', e) + data = {} +# 强制使用备选模型,避免 503 +data['model'] = '$FALLBACK_MODEL' +if 'env' not in data: + data['env'] = {} +env = data['env'] +env['ANTHROPIC_API_KEY'] = env.get('ANTHROPIC_API_KEY') or '$API_KEY' +env['ANTHROPIC_BASE_URL'] = env.get('ANTHROPIC_BASE_URL') or '$BASE_URL' +env['ANTHROPIC_MODEL'] = '$FALLBACK_MODEL' +# 兼容旧字段 +data['anthropicBaseUrl'] = data.get('anthropicBaseUrl') or '$BASE_URL' +data['anthropicApiKey'] = data.get('anthropicApiKey') or env['ANTHROPIC_API_KEY'] +data['defaultModel'] = '$FALLBACK_MODEL' +with open(p, 'w') as f: + json.dump(data, f, indent=2, ensure_ascii=False) +print('已写入:', p) +print('模型已设为:', '$FALLBACK_MODEL') +" +echo "" +echo "✅ 配置已更新为 Sonnet 4.5,可避免 503。" +echo "▶ 请完全退出 Claude Code(当前窗口按 esc 或 Cmd+C),然后重新打开终端执行: claude" +echo "" diff --git a/运营中枢/参考资料/卡若AI_每次对话逻辑_更新说明.md b/运营中枢/参考资料/卡若AI_每次对话逻辑_更新说明.md new file mode 100644 index 00000000..cc2d1953 --- /dev/null +++ b/运营中枢/参考资料/卡若AI_每次对话逻辑_更新说明.md @@ -0,0 +1,91 @@ +# 卡若AI · 每次对话逻辑(更新后) + +> 记忆接入 MongoDB 后的完整流程说明。**流程图**:同目录下 **`卡若AI_每次对话逻辑_流程图.png`**(图片格式,以后流程图均按此形式提供,不再使用 HTML)。 + +--- + +## 一、整体逻辑概览 + +每次对话遵循:**启动 → 记忆与上下文加载 → 技能匹配 → 思考与拆解 → 执行与验证 → 记忆写入与同步 → 收尾**。记忆来源在「记忆.md」基础上增加了 **MongoDB 记忆条目**,可在对话中按分类/标签/关键词/最近 N 条快速调取。 + +--- + +## 二、对话开始(启动与上下文) + +| 步骤 | 动作 | 说明 | +|:---|:---|:---| +| 1 | 读 BOOTSTRAP.md | 身份、团队、MAX Mode、执行流程、记忆检索顺序 | +| 2 | 读 SKILL_REGISTRY.md | 热技能速查 → 未命中则全表查技能路径 | +| 3 | 读 记忆.md | 唯一记忆源:`1、卡若:本人/记忆.md`,以卡若角色参与 | +| 4 | 可选读 CURRENT_STATE.md | 当日工作台状态 | +| 5 | 按需调取 MongoDB 记忆 | 若需补充历史/偏好/规则:`query_memory.py --最近 20` 或 `--关键词 xxx`、`--分类 固定偏好` | + +--- + +## 三、记忆检索顺序(更新后) + +当需要「回忆」时,按以下顺序查找(先命中先使用): + +1. **CURRENT_STATE.md** — 当日工作台 +2. **任务结果卡** structured/tasks/ +3. **记忆.md** — 长期偏好与沉淀(权威源) +4. **MongoDB 记忆条目**(karuo_site.记忆条目)— 按分类/标签/日期/关键词/最近 N 条调取(`query_memory.py`);**MongoDB 不可用时自动降级为读 记忆.md** +5. daily_digest + agent_results +6. **对话归档** — 一律从 **MongoDB**(karuo_site.对话记录、消息内容)实时读取;上下文召回用 `context_recall.py`。**MongoDB 不可用时使用最近对话本地 fallback**(聊天记录管理/fallback/recent_chats_fallback.json) +7. archive/ + +--- + +## 四、技能匹配与执行 + +| 步骤 | 动作 | +|:---|:---| +| 1 | 用户需求 → 热技能速查匹配;未命中 → 读 SKILL_REGISTRY 全文 | +| 2 | 命中技能 → 读对应 SKILL.md,按 Steps 执行 | +| 3 | MAX Mode:先思考、拆解、展示计划,再执行;至少两轮验证 | +| 4 | 对话中可随时按需执行 `query_memory.py` 调取记忆(不改变检索顺序,仅补充上下文) | + +--- + +## 五、记忆写入与同步(更新后) + +| 时机 | 动作 | +|:---|:---| +| 写入前 | `memory_conflict_check.py "新内容"` 冲突检测 | +| 写入 | 写入 **记忆.md**(MemoryManager);可选:跑 `sync_memory_to_mongo.py` 将 记忆.md 同步到 MongoDB | +| 同步 | 新条目进入 记忆.md 后,执行一次 `sync_memory_to_mongo.py` 即可在 MongoDB 中按分类/关键词查询 | + +--- + +## 六、对话结束 + +- 强制复盘(🎯📌💡📝▶ 五块,带日期时间) +- **聊天归档**:`auto_archive.py --scan-new` 将本轮对话写入 **MongoDB**(对话记录/消息内容),并同步写入本地 fallback,供数据库不可用时召回。 +- 可选:sync_memory_to_mongo、Gitea 同步、飞书复盘发群等 + +--- + +## 七、MongoDB 记忆相关命令速查 + +| 目的 | 命令 | +|:---|:---| +| 记忆.md → MongoDB | `python3 02_卡人(水)/水溪_整理归档/记忆系统/sync_memory_to_mongo.py` | +| 最近 N 条 | `python3 …/query_memory.py --最近 20` | +| 按分类 | `python3 …/query_memory.py --分类 固定偏好` | +| 按标签 | `python3 …/query_memory.py --标签 规则` | +| 按关键词 | `python3 …/query_memory.py --关键词 飞书` | +| 按日期 | `python3 …/query_memory.py --日期 2026-03-15` | +| 统计 | `python3 …/query_memory.py --stats` | + +--- + +## 八、数据库与降级 + +- **卡若 AI 调用的数据库**:唯一 MongoDB(27017),库名 **karuo_site**,含:记忆条目、对话记录、消息内容等。聊天记录不存 Cursor 本地库为主,以 MongoDB 为主存储并支持实时调用。 +- **记忆**:query_memory 连不上 MongoDB 时,自动输出 记忆.md 最近若干行。 +- **聊天**:context_recall 连不上 MongoDB 时,从 `聊天记录管理/fallback/recent_chats_fallback.json` 做关键词匹配召回最近对话。 + +## 九、流程图文件 + +- **流程图**:同目录 **`卡若AI_每次对话逻辑_流程图.png`**(图片格式)。 +- **约定**:卡若AI 流程图一律使用**图片格式(PNG)**提供,不使用 HTML。 diff --git a/运营中枢/参考资料/卡若AI_每次对话逻辑_流程图.html b/运营中枢/参考资料/卡若AI_每次对话逻辑_流程图.html new file mode 100644 index 00000000..98e730b2 --- /dev/null +++ b/运营中枢/参考资料/卡若AI_每次对话逻辑_流程图.html @@ -0,0 +1,105 @@ + + + + + + 卡若AI · 每次对话逻辑流程图 + + + + +

卡若AI · 每次对话逻辑流程图

+

记忆接入 MongoDB 后的完整流程(更新后)

+ +
+flowchart TB + A[对话开始] --> B[读 BOOTSTRAP] + B --> C[读 SKILL_REGISTRY] + C --> D[读 记忆.md] + D --> E{需补充记忆?} + E -->|是| F[query_memory 调取 MongoDB] + E -->|否| G[技能匹配] + F --> G + G --> H[热技能速查或全表] + H --> I[读 SKILL.md] + I --> J[思考拆解 MAX Mode] + J --> K[执行] + K --> L{对话中需调取记忆?} + L -->|是| M[query_memory] + L -->|否| N[继续] + M --> N + N --> O{写入新记忆?} + O -->|是| P[冲突检测] + P --> Q[写 记忆.md] + Q --> R[可选 同步到 MongoDB] + O -->|否| S[两轮验证] + R --> S + S --> T[复盘五块] + T --> U[对话结束] + U --> V[可选 归档 Gitea 飞书] +
+ +

记忆检索顺序(按需时依次查找)

+
+flowchart LR + W1[CURRENT_STATE] --> W2[任务结果卡] --> W3[记忆.md] --> W4[MongoDB记忆条目] --> W5[对话归档] +
+ +

复盘五块(带图标 · 每块必写)

+
+flowchart LR + R1["🎯 目标·结果·达成率"] --> R2["📌 过程"] --> R3["💡 反思"] --> R4["📝 总结"] --> R5["▶ 下一步执行"] +
+
+ 复盘格式:标题 [卡若复盘](YYYY-MM-DD HH:mm),下接五块,每块图标 + 小标题
+ 🎯 目标+结果+达成率(≤30字) → 📌 过程 1 2 3 → 💡 反思 1~3 点 → 📝 总结 → ▶ 下一步执行(关联未完成项)。详见 卡若复盘格式_固定规则.md。 +
+ +
+ 记忆检索顺序(按需时按此顺序查找):① CURRENT_STATE → ② 任务结果卡 → ③ 记忆.md → ④ MongoDB 记忆条目(query_memory,不可用时降级读 记忆.md)→ ⑤ daily_digest / ⑥ 对话归档(MongoDB 实时读,不可用时用 fallback)/ archive。
+ 卡若 AI 唯一数据库:karuo_site(记忆条目、对话记录、消息内容)。聊天记录以 MongoDB 为主、实时调用;context_recall 不可用时读 fallback/recent_chats_fallback.json。 +
+ + + + diff --git a/运营中枢/参考资料/卡若AI_每次对话逻辑_流程图.png b/运营中枢/参考资料/卡若AI_每次对话逻辑_流程图.png new file mode 100644 index 0000000000000000000000000000000000000000..20be6b0b01f4ce26f821e244198b7918087a8e8c GIT binary patch literal 994864 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�#c&+f5pZFY${}Kst-dVLJ<(wJ|h)5a>6ihewGej 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%0A?bz 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

3Pi5@huacjXFC{=nS_DkoHU=9(Df00$PQ{b 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/OhV3yh8` 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%0DM9cL1D{!IpCjd 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

(q&s+T}Y z=sQp(ImvxO>XKeeK4Z_dL4)$Rmz9>zoTNyzp74pZ>H% z4%x|sex9e(HRZXl#RJh%y#%83vqp}z2#;K%9gf`SvGC6Vg-m$~$u1y}vw*TdAi=}P zQ9$=R%n5drrPclWU;EliuDRyAl+t{bS2is_`skzcS)WoOu(Y%^&+|U(kN)rvUir#b zu1#mrU7|E60Ws&C%4?fs*bW3pN|HoK%2`XxlS$Xvvq)r4%8IDx9H4)TM9is7X$dOD zLlIC%0we@51EM-9BPqqO2H@Cmt^hzMJUIjbl36)tG1d(Hno3V!1pqmL$m$uoz1|ut zuF)leV~-GG2xpQd35B--iJ5|sNP;;LQj+?tockWR@B2QCLI)4cxYFoTPzSQ_3Zwhe zcMzC}7MB1)v@KRY*ya2nd)BGY3ks1I0RV(uCII#`){(=l52y%L?v{;+03g3>Hju=( z3mitUE2UJ)Ljzh0xkQW7plpWVK|WR*=*nNgCctB#rCIAL2uQUp2tbgHEj#NGN3xPZ zg(ATHDl8%^JJIhBms(cHS|p1PsHM1}(#RvbWVS*ByQ_!crs5hPj51Zc(OD4>1nOXB ziT>I&(hZ`WP4ix$k^qOzKov@3w@_2YfIX-btgG0F2Ih*jr4sY&YesOsD-n{YoVk0? z!?NWYHC1c)zX|*XWG`a97fr29pXLqwgF%BUHV_fe{MkC8m0fv;P8tz`$e*T>Gu^rC z8Gto%1pHMu4a3Nf%; z(dGPG+dYT>uL3soDItfLlEr2)}_NsNn8g$%xmvK=bX$#P&2 z03jR}hYQNL;MV39Kq4h2G7FGr)EOjvq8PDjnSkQzG!p^q&j8CfmB54~2|mag;GP1A1Q~3~ z5|WZYLi8et0uRwCUP2~-l6)2$o*A4dA*YmtWU&CDJ|ica?==NG3lIclrcR!Hn9cJF z^&o{rz$g7(d0dKG*nk@JI z^e2D%4IlZ?hrZ|kdO<(WLX8mrIzaJwNS6p(Nl$VRQ=S;nRwuIv5IjZ9zNrBqki`@) zAzfY^EYna zzczcq(N8?r}R-M6+j%Na);dBkzj*iVNB-pF zAHVRz^QY74>TI^WynMuAhi=}qDT4{ld{Xul(da1U2(8Qv_|^}yQ(~9W{bU4At^b?0lz7NK$5c5XGw5&gdp@11vyxiA&R{+y_V^R!Mt=pNFD-y zUcf;KX`Yn`u%%`?w~jobZi+a8j&;*Q_!itq6h&%C^ibm5~4tLucSy zkW1Og_xJE+6~%7Ch;ts)S~!nFj1h-q^bFbnWafifbDh|Ex0hVN_1 zxLu^nP+H_esN>V*ngPvsqmW`y2jt$c%HyZ$umjV&_Jp%P06@yzz2{+H;mJ+-uM=Ei zAXcRZ`&*V~04)j_vo_SYGdN;jK*?z|RA*b>V~FS;6y0%#{2Bbyvb0HuEii5tL; z2tgx%RNdhA{=l)0wb?YH15=TsK)D{-Ldhb-dRGBhX90ndRZYc6N10javf8dNw?_=2 z`Z|t^LLH|AZ;?TG))BRWqFJSCbwT9Mk&ID;1=^st*cn+sK*^$l!<#@cl+O62Z6uJv zQR}I?Y#nFYsJbMa7g;lqiFJ5eO0|8Rvt!%53&t+)yP%}IqQB4pwo!5bTSIk4(rgd? zXZ3^g%u_6HxB!R($v9sXfbwL45L0Us?v7eY=G=Q`Wk(o>C9@G;beU;=<}6}M<0>So zN4pD^1_O980!mB{nwH7ub44u?zhzkVAfJQwA(7iHsva-`u@yifMUXa3)Da7ZX67zXI7$cME`&q^yK4D>}}N zqffm*-1hG)mht?gr-FM%4{WaHI zd+k^6xZ~^dy#GnZ9evI@Pe1#tr=9TRCvDocjJ_v(=D8%o7mx+|9eBo%_;dhx#QH`a z5}-(dL?+GNV**BhX#+lREd}(QEHd|Ak`>2qZ07^L_ zRmfSfc#s7O=tyGHE$x1I_y6~aPk!+q{(fz>KjzqDckVoNvb>zqq&&t6rZv#H8zx80MhwHJ{HPd-Tx< z?z`{d2ku?jwDN-IKlkF7fB#WO966iK!U@bE(R(2SBJ8es9|=0D3@c;+zGuOa0v8V( zxoiyi0SGr2&ce(L5$aq@AfCf$8`QDwu!TxSG7^rMD@B+)#vQ_zW;r&e_)Et|qz>iltqcjR76NT-xY0sa4FjmLqv|Ys1RxKZ zf_hL;#tRgjg{;O7AE@Z3>l!c%CJmK7;})tDSU<*%qKJSmR@j806op?QvlO+kqX_Fu zMwmpeuR`lReo2MH!$WasxEL*q*2 zXIJ|kM69v6xw1egXELQuOOr{?`GE)SzwU->FT3p0Yp=O_-`>Zbblel3asD~yUv$<} zPI%ImZOdQ}t>)avt>6L!W9SA>_c##4qDzTg>bl9F z{@Eu!^3gv!`Sho~?sfn7DW{#ew0Q-zjY(3b2rudRmK_M7z;c2Cc#!zf0ui3%G7%Z* zbGg?;Al*gC5(t)AB!NUQ0fMqwzz!ggkrHxI3L!@aKxJeKQufIUVkL}`1%${b5*@67 zpwv@7&L#Uwc8nKEdy0uLxIX87dmsJUO*eezuRe9tb=SZ06)*eo|M+7|lWsnry8Gjf z2~vWXLHIVQNPqxc9wk)Vf#QKiAh=-Pgckq;kl-=qy29o^A75-FO9T7Z^+wTUeFJDLF?0{EsC7cqW$yXX)Iv6-D$jt-79k`EvL6}8*AN;FfEubn z_Q6o!fUy4-4H~Y=pq5cCvq3~qrP z2>JG4yw{vhaUMgN#x8GH8J6nE<~o@Xa6) zgd{%n@I$HVC?fakonw9>;<@dcfe1t%aO1GqV#YpNM}=<#xdVWawKk4G?W$7UAZ{oC z4b|b0VvB%cwK3C7`D8VnYeR7HZ?eT4n>yHq38EKx!LHcg@()@m^5t zw~@qQCoCd>c0g5HkUPc&p`?&@1N7{^O#-E1wO}~r3E?Ua-$Hd~R4TwG6>YV!!L|Up z(0YagFm6CYTLA7{f0UB)DWLHvO6ST$$eFC%u0qJPr7I-A0SN%%NhUiIIjaMi z2qY+j6yytP1eiL-O$c?#0uUe|tj|;eeDx_q!-Z#(%A((zj|9TNs03xD41f~jCh3k@ zD2kF*rVN3;&Xz!b3GoOr08-2Xl4ANJfFePk=qGgmGP0BtCnU0Z^CSAnv!rlS5_6U> zm-@E^de50dVHhU}$RKl;1gVDuiisd3uhCFFXaYbcO5R~~oAPuzeeUz0d;7QUIq{^E z_C5OeY&PrXGe~Qz`yPJqp+EnNPh9-6i`S<6-5dart={+vd8pfWAr+|oUP8vMPoNSf zlI&;mC{T6@5G8qvrmmYzmX;Fn$fLWze)G*&UH+A?UVG&|_uPHRjxA@Le(H0cectI$ zJLQl=wk1mHi;sGshgTNrN|hr73_K{uHYSijEY=jTF7#%+O}QLd_K>8_M7W{ zCkdb!NA5;Ipp=%KJWkfumAd8?|$#~*I)nR zKl=I)|NaO6>`(vfjX(SU-gwiE`}gmA(Tl$Kw%hM~+pqod5B|Vw4?XNKsUJ*MW=fv= zvUD*BDovIqYxA|Y{?}i){qB2y{uh4v%(Ks3o6q|mz2q)23@O9p%m6_N%tFe!2QZ9x zcZ78(k|_fOiA(@WP@fVqL{d_RM35eQ@q?F1fS>MA&Ixpfis2s`2jqM0GbF|Z^?Gg0 z00B`E<@PHs8A&A{^*t9os$yAZBF;0a+eWLwG*aJNDc^(F&+?iV`;)VAc=I zXuk#HuL?q6^F5;ATvv#uJT#lN5ix4JUU~r`|ARe+=;oL=ITQ)V-W)$_5{>^XzK!N)5v>^8e37tLbKJT3r%cm~COVZRwl)y5_URpG>_=Lbv5)&{mgK!TbXdyJKJjR$J8R#Ujh1|W(lh!5|6nCsh( zo0UqZ@LIN!;6hDx>(rg!7?LZpp*w-R39)M;KKR0UIGL^4pqzf3~UZeuC#1vZ7hOKpl z#j=GB3tT84?G3B~48Cyrn}~>&PxJ=&6u#(lk+l&JU1r`O7PSkXwVtr}brg~p1C(uA zEV2S_3BRghL1T?z0$v>`m2K*%*h@ih3_>dhi#EE}0HRa|WO>yHmNezRVenK^sHphH zHKB3f2r{Gf$-0a3QZI89M$dK`Vo9K22AqNfBwvkG<2n*K`>L=InZY;R3L*$XS!9y@ z^g(G@R0{-aUUx;YZIS4YHu+RbLDWbD!h|3RsP91#01?Qb>J>*hZF|W>@GbtxG#{XN zA~}g5iIlqJYqM+9wYBMNHk%5d;^FMf%$!7|unvlX4_7FkZ2m=U?9p3px%rAKuh@0ft~>9# zWBaz1GfqGC8PB}njHjJ^^wEc=ZVt?Izbec+X658gQ(4IY8Qv%DJQNTh0fP0_`biX# zY8TjyIGL{Z(}Qspmy>woh9ioIb*~ISAV4B5qgz3*Z++*!Yj@pn+2vQ>a_gQ`TqCh3w(F8T78|MAMpuQ=)nNA7*>@mK%A zYcBnlfBMlM{jvAI?>+lh_d~E!--}TughWh_KALq`C-%$6m|ZX`e@I50pa#AqZFO4QPK^~g^j#cLb9*yI(I#6FAg zYe*nv2wshd@L>GDtRxWtdgbNR`4-Y}JD3SVlrvChc3}nx#0CG-2}wXXQn^b2lFAh6 zyN!^DNtZhH?|awp?7I9b?|TcYcM8N6Vq@0EIz}!+oUImWt+e%) z3>5X2PYfm%hH9QSq(-Yy+!Ls4Y12oAVuUyl;3h^%%d}c*02E*WpMDpGE-p;%R-qvP zix#VPf%P<)7d+{$p@=Bq7!nmbvDd<>3~tv_g{iU^?i|tyKzKwDs0tcMcE4K-;J{L; zB!H%%*{Zrrk)@zSo(4X{tBp3MGJXr2}UsRVhW3~EW2wgXr3)ns z+F-e*ybcxt7(#)BP{#ZQRD~{LsZ{OUP{1$%Mxr(bO+-w=4cnRnB3$qkfku^GP?XyT zLiogfI>bHnmdD;>p5e-;G|Ma2QhkQYlaNGw*< z=X3-lDQbihu|xv001y|qTtt%rB0ckXK;jlR($S>XqKSt zgep)uBP&zP%o2oI?mMJjv##ro+HMLGA6nhNf79~vz4zbSA${}@|L}$1 z`|qb~GqS8)<*XqEm5w#|Vv9fsak4G~St&zCK!AzvSWK3dmY0_@yWI~zaN8}n?AmqJ zt}8FQ^P9IHymiwlr=9rBXI^mbx#v9L=)=KYIp_JB&{I%rFATc{;2${bpl9ETir-&fCoJICTimSCu%98t0ei;P``T-F6ZKJ+|odixg zE+KX3bh z3j$DPwBccK*bB0^-4T-Wf(ZF>dNTEWfA=@Pb@-u&AH03XgAY9T$YXon_O`d}+qdsS zANt^7haQ%N`|iK*UGIAL`RAW?$t9P}rZe{{8G#H`U&@aHY~Hf@r{4IVR;T){cfEVY zrFpEPmGSO5ET~8X62OEx#h!xy;gw0s!<;%1kaU91K;}@}?Rb8K+|JP!FKOD9AC$u<)|m&ccdF?{TRjbs489ob$>VXrB zatE$TjX5Jr-LTX~K%3LGWh<~0&S&|-7B&0@Y zj1N0wJv$H}2a`)_Y=`*-+87ul)$kTUYlhj|ED5@K*dX)UY3m@hFh_P*A^2)n7nyqBTjdigFm-AQ=Qy0URg!z!=B1>du;Q)&ZB<$8{Cp`hj>r z3P{yU>p@ovPz^c4+ZF>u;U*DzDN5n}N^vA95KQIhJ%~U#?kxlzM9-Wy8SMHNGY8w?|(O-KOLh$Jj&aEnBMOaOeS_ho;}N=$-8DT9#T zwC|Y#KuLN6rW$sA1tdSh%#Pz3(CgBGcnd0=w)R6UX)r0C|%^1Fb>2>>>oOm6veuRj7p4|H+619Hv)k|+s1MAGjG z@I0U#){8u5q7zZC+LehX;0X^rOUAfA!p7JUL9#r29`RFREayC(&K}?U=(p~=^V;jK zzUs=W4%>e4Prc#w-}C(E?%VgcBmfD_$|-@#SK2``b={qJ-~Fk-{Pd0;JMO>lzT0oT z3!V50C_!Y0n{o3l<;~qN%e4UmAm$qkA<(Ni$dlAD zah^$_BbFwqOKH-f@1?A+OTIJ6{g{s#KuwzjH%?zm}^DS$3QC&pTAsB9BqNw}Didl|{g&i^+Pp~$0c z!yaH9h=R*H3ex~8Lj(rS1v0eeu@WNJG~~VY$U>DRyPzyBQzxj)HaEI18*e&6{o9;k4h-I z9s(F1X4#F#ZUmrlxcNAe6K1bNQ1>j*C3PD>2xuCvV`#`cgy9sh8?_0}QJ^%~JX`>j zh7Ifii@TBlSVGG+3;HNYe0a|ul8E05vYf`Qjc6=qL*~Kc5iKGB0uzD;Rete8Vjs-2h4#LBK?QPQv%=^ zFEm&)$Qv{cK4?ZmsSch6d}Rn#hnIROKzsBVRm~_;ISwtRr659Lh%S-45rw+(S4bQR zg36E!3h?W8jT8t228OcX(vY-nfL0*hE}Y@eIId9R5M2-+UfYNQQUkV99WjG16v76) z6_JgL_WmLk?J4R^RSGd=WC+!FgNF&I_Hsg;zE}a|Q)^`9l)CJ>O*A8*3??FHr1B0t z*ISDxgl%~RX00NKxO7htl87uY0pWGQKB*SDs7gBkS!VeH03ps@rMMI@>N;ZULsWu%T7-O}>!z4!P2_Dg^N+8_Agm%i*3TeokY&UzsAV7YA{X0z z8Y%#ZLS2ghfxbj^E%6jpfIF=tdNm!-Fd_-`%v?wma;Qs?uZL2Cm{1}OP$mVxHO$>4 z3cfKS#ad7H?6GqT3Q$raA&^WyGxl_@OI?}Q6^|mp(BVY^A(K##UIf(vJ(-x468q`w zpT79T4}ajj7oB&`FZ{xPC6Il6lO%dF1!zH##4TI4Oy|?@d(n#@d-SnSed>Q4e)Lh# zdCqgTZQkKKbP@e_21D_Wc~_$W)dlASopq4}e}?p+F)l6ZExQ zsJDL!b(0Av-E2C)@7{0SbmNWJeD&%ZZn*a0haWoP@S~pn>}NdlS%f9;mFwfWP}I=i3m^E4&WfRjlgy3GLdY$~Z+>VU3HkQm*< z3{3mkeozT%ZEe1P|5^sNAG9TrDXE`}Ol0ySF`%-h$a4acW<8Kn$EC^g@^sqYao0Dm zyz-iVx%7%}ee*lQrl&sjl=IKM@SO9`Kla$;Hf`RT`+h!~=bWWjy8z**<;7lr-@zgO zzD7pD>0lI)vwST(AGH0TpZ=Mj`Qwj${KFsk;I?hs4?A?Hh_Byr%PqHl<9+Y@;8UJ* z;upT~g&jM#&1Z8kB9L*1IRKHK4=bg#e|7Cuuld3M@=L#b#s$w>on|F6B~l47Qj>#~ z9$T;gF|OWAf++PJwbJQN{`h0F`TVs%^#7#EN-r*T{RH@@FMsK8KKr?!|D|6(^oXP8 zxfeS@ONrF{uG{bU+~+=X@x>RPaoVY~x%Teed)w`|f9eyTc*QGU^|aH^SnKo3rj`9` z)7h*~_B zAK#n3D48)=Cb_a{^T9iJW+pHDWN8A2d-)Q|!b)@+gq%c@BBjZs`_5grz3Hdl@R8sD zz%fraM(RCAg0-YG03|Ln04MCEXG55rb}FEMv0F1Sq79>q-m4i>`3eYdKkJ zU6_Hc+Fe*i{4w-Fm1oUr6#zI5ksy@CvUURi6qsm+#5isWAXD-KBi0<@6;5u65{k;= zn5GsGO3DU`?-sZKL}OQsEHzYz)SwCi;J#?|jyGa6prcUX2nmP-X00DlEv~{?cLw<( zd>DtL`Tl}ILs_#~DwH(u?FhTlp*1iM_U9}< zyk~b}iXSh4TwhwS*{zM~#&v%v9aA$FfeI(;>P|7su@w+nDq@P~QGqT%bP<8l@du_> zO|u;;q%s_f%mNh%=+*fwMcxfS!$|PpE{tfo3oo!ZfCLm*RM88N0ifi=zstl;$3d5*6>cXZ`-X>z59BvZAqWK0=f=WpFnAg@UP}|Tw+SXPo zhMOwSpmUT&%o6Bmd+qN5@z4+mLyeU145&g8fFUD|o3l7$s1;B;cVIG`_iD_IsX~h* zVu%{Z2COS?7>ULDW-o-drKN9LfnkmSGSMeGp7Is%31EVh{L* ze)N}eP$qUj_uu~efBVMWcfaGee)Gtqj$fVjeP#yWnKc1s<&I_46reegP^^EX5}pKn z21z1LQsvoSmL$KopMDEjM*yjZfSg<|uxJ2~g#^L3nJW{ZUrr_^2s!MRJJ(#tM=@e5yc+;PXg;U|Cc&2RlL7hZVb z?gtpl07*naR6U?bFs1o)ZS$7Rlde1Hpe@_CZ+pp0zxVrI^gJOaF7JN$v8SAP z!5e?>KfLW%-nzE>D9Oq4wwJx+b$8r;+x0hICOwuwsE5dI8QltU0=k@$CYyiroxl03 zzw+T5Z~UhxKlONM3JLMPh92r6yz%G$^S;%!_r3Q$TefYx{IY-k;upVk@WF>Bc731c z$`f{*H!q)a?wMzwb;@*Yb!ll?dFjW0^!3->aQ)x>&F5COEPwOvyQb5bGM6UHeV?b( zwbbQPPkGX|ZOiIs-DHWA&Em59+|TFIT;*c|{PUm4Uc(Zy1V|ZPZ=xV%V%?)@{L>8f~K&t zY3Y-n{vV(G%;!J!kw4ixQ=byqF%fy*r9_bBt`bm@SsZ(Gs6Y~gBy_3YwrT05-}l0= z-}JRhuef6Cj>CX%X~Kgxr4PL4J-_glx9Vv{?yN0@QjOI_k%x}SNCVl z?!WK;V~;&HE9ZHB;DHC`(~ATYL}JrHZSfFS3pk{tnnKuL!}91cK7 zgck@Rzr_<^1P$CW2#WrtQVBLFgjd_!UAYMafH662*etKW3n%{TWFsuA9Ctk+0r@yo z>sT5DsL<2kFh*3q_}rLWQGn83*r4WsLKh{CH&E!v~NZ5!RqAWkm1)1r|nGa&1Ha17?Mn zq8%JY(Hw~CGFuZs$Y&95M8K#0RY8#-$8#3~7%V7hXd|+QhBb5)YX*wgFGwL6ZY`$@ z$}*837^9)XmOyk<(GeXVo`c<0hZ+#RszYN;p}uM=3I_$HZm`I*Tuz`gGK1g&R`InY zpoAWPB11q)umDCWc-Sb72n;T__KYquqXa_)*Yu(P`Jk`2*TGWQ9i&#((hU`B4m}j z_L&mX(#rA&KJ?+6@3`xOzyF6^*}Qjc-e=OQAD(+6Ars6XzUg#gCVK-kC<=m33Q4}dulB$acHI|U?ynG)y+2AIQoAT!=KPFNfu zSfRBN&etfe6htKg3Y~t20VIShfFu<^blfTCOP*H+<)(l*I#$}6_;Iq z!!?gT`tTEuIsEBopZ=8v*)#zqWU@c?loNIyb`ZGqgkz3>+uJ|*-~&JM+0T9Urkn0~$FKd-rcE(~*#UFy z-N)~F!P7tUnLkgO?B4yzZQrr+D{!KX}V6-&|f^KK- z%WZe=y7H@E`d@$f@sGWK)7FE}IQ7i)E_}vmr$7CO!w>IPmS(fL(9Py^5t5QfBtZ^G z5z4(Innb)MFQ=u+((3-zPki!IkMDhSHlH!2ty{P5IQWn)n>O{c>7BRTe&*B9gvXXV z&OoGIfZc>lC~@Tr|LaRHdD$!GsZ*K*DGAI<>?n{91pf{~+(knQ5P_Idk|a7}WwNw= zbDH$?qmMq~DaRgj&%O8Wy87z*Y`T5>wwrIbab??3Q z`uHdR{tJKm!$1BL7d_*mS6}?f8@_h^l~-IjU0p@Oj)S&6bl<%n`~5%oy?4Ij(Vu(E zh3B95*lg{~U;5&f<;hV;ADNi$yYIfoAAkJBlTYrm?!NPmormr`?ab33-?w_#-QW7g ztvA2mh5zmu=U=d8x%-!Y{>SHC^2)pJx^ucVf8A?;X!q{jIcv*7+q#qhef&@U^!{(( zJKw*5dE53r?g&#R;7j1)bdhmtmxxTxv-gk*Aa~?+KEL=?ulV)1{mM`6-?wRbDJ%Oy zBC|PlcnAV?5`o~p3?D}oqX9br@j3_BQdBw0xH)|fhgYNPVnkJCnSQM#0C#7|Do|qX z9>;+K7X(?4Ms7*fj5m;Dq&RD+E<2>M7e)OLn3z(j2SAq(V2Q}%0n0@VI~;y+)@9)o zh~i_~ql7V;BP4{tXafQnUginaCV>b?7a&a?23duQOoFjP2yk~TDlXe&AthJ<40c6T zNDLEEu$LoVWws0wDgY4v1b_xialirz#k~ON*j!KYA7SB^RSs)_d!lJt1rFasRM!e0 z?V-X@dT(e|$5ZTAq$o{F{Rp;DIO*N+h%7PAKm^1fkH&)sy<1NM2I&QGRQSL;s$@}v z3SywKix^|OpeZ&*1eV4`@(EC3U{nTym|DUTlWi(k%iiK-3;7kXe~r zSOpL$;bi&lyn(slj*x2V+8S>lQUO%J2>`i}I%JxdgG|E`srklA25ZcKx)VwUYWIqS z5ZPd8xNOx1BTDfxWDeM>Qd@H>A#fNaZ23^)vn_JN_1NnO08r~Kz2>{xD)<^HC5{UQ zz)kCh5M3w$7TM?{6br|-8ExjEyV{IU5Mp9XmU6jkMmAAiB^O{tMDWB2)BtQy9$HH4VTd96@07VDD?jAkS}FdW(h02xk5bX)*p zmb=NrpgI)vSv(0zJp@T`rlA1(85A>TBy?$(=a}o)f9tnj`^uO9?ce?Fi(dG>tE;Pa zf9ev+rRC+EC8Srq`jub3de^0wUi#=Gdtdtf-~XCRUbFj=NB;LW|KZ1e>^~fI&><@; zEA!dxj5E%7&1)}FpTjW$%Wm;{hCp_yn=GgF|I_u|@mdsD|KBsSPq_sy7cN|iNCzoW zrC71W6uWPXpfPGRv1@EGCNYV|_$F#B5slHGQDck^?4VJjMywD~iU>&WMe602=XrML z{Qfv+X7^&=`M~q+&YU^td&-=doo9D1Vb9K8OO`JF;KTPm`)uBh9oxHiZ5Taf#80oe zXwU(DI(4if6BEZtTxPf1fehtg-}#Y_l^Df^lNTz zt?Sfj^nqiB4jTFXM{l`O<+nHg?#X{l@4f%vueR;{*Bft5IQWQ&%6H#$=cGf9XlsjW zYC4#x=;8_h0>MU~eYWuU<1ZnDxI!SVud}7%d+(ig`DK?Jb<|{L%0-dQM}=IGU39{UC#_q%q1@^UIrG`P1v6in-E+S_ zRaJG7EuMSsx!oJP)zsGH^3|Q{8a|!B@YgrpHhx^ci4!I@H#x85H-EhI=|UdW z)%l12`uw!}ADH>lQv(M!GMd@N?AjPa6jfK}#*7{~X7o@{VfU`R%a*R3J9qwb&;0#? z`|qmj)Mfba0}mQEVd(Io_4N(b=Hj>#$8y~So%1;%*+P_fVJ48Z5m~c!+qSdLItvz& zwd@$oiQ`-@s+8l|v)`RKX;O1@6HE9qTQX#fv8Iy5V0O+$*6iH5W9`~?W5$h79KaS9 z`h&CvGXe0MY;pp~^)eAi#tY@F0VRL9{r6kft=h6>OU#v1PClurrDfT&WjnWSWe2jx z7<=~jrXZguc8KFAUwC=ry7j-f;f7HoNB!p4zuCHN+eH`s=#RJG_CKec+M}^C%I9vp z@#mj>@@c>R{m=XHMUy6sFSV8^Nh0E7jydYDk31ITqA6#bKKtEwU;F3lHC5F^1`ZrM zdh`?1pKWR>wYHXtY+GCFefR(A)fbWe>SKyxT@ zP|4?PKTml)LJvUQBPkpZvw0L8^b*=sSXvaC2uyvG0V_12TIxObuQSY+AUB+f6M~6? zJOHAiT1twa(jWjlH6g@wCOX4cJ4|xrtjB>+;R_#yK@!=)1{CHz00Lf{q>pw?iiyrvZux z5w+U$^`rsZzF{r-hdqVwAvg(u%op$`0oV^h4Oy>VsQr4;_)nFGoXIhR5YlXDA|Ukv zGoYzS==?!D<4Qn!4$=;f69m5$2w*~-hL8xR;mk3hygfYuASOR0Nmn^w5v0e2kWEBb zAWg|V8X#jQi0)o`w#fPto&->#+6o|`rHrpcS{lCXi?W2$5afE#5GyAgL`p5yS#{bS zDJg~jQkSYjGHBIO+9NY80}sl6Fam3U(m>Rrk;-nb0930y7(9T;k;C zaFW3;_~c#!Sx!MUVP+!3UWZ^@Kc%aG2+T4=lh0H_5FDA+HB-b$Vj3}(&=c!Yj~EOF zGxXXW25_=xAt{IeA~+UI0*D9<-K%g+;dc6bRqk(3{Nr2S{!Z_H1Dje(FosAS&ldXn zcm@c}h5!nyIEG_3WI#-EEPLZ(WPkueATSKcALEi36JIe@L7&*XRYE+dp9uizVuxZQ zXAG9#W;tRoa|~HJfWb~w2ZKNk24J?t%p^qqWo^1UAQmD~)j2jqqA3VWtXiut^raT8 zD{K;z6G2`e2NKm8?Au^VNm7-|U;WeTAH09s(MKIiGSh*|G26&~HfLUam-;oUR(9@G zH*4n1!Gi}?D#^Tg|Jkr%V=k9_;)#E(UA<=O*6m4>l-eqtyLK@kXG!l|kUwwF3}&(v z85>2p=DmAXu3a`~?wmOvzrTL%st&dJk)sZ{;QZ4@9XPCWr&<^$moUfdn%Kp}NdyUH z%ZN8`TKC?&v!h%G3%h^s?!9_<8+yQ?_ul*PsH2Zrw`NschYronP4CX0J#O4VEu|Jy z$c-C6e({nO`CRRa73&IBRXut&cB${MfA8KPE|<&2s%jwT5Lpm&1#xo7!4noNc)59R zIkGh?S8bRw^@1^D2H$?$Ep>Hu>o;zF?z!hDPd>a$myX3ejUF?CU74%}%D3M7>t4M( z9evcnFnjy%-v!pPy!p~upr)p#uxGbxD_3&XEdO%t&OLj&cB@Mqtyr~!E4web@XS)V zY)vsn@fSD#qP`xFKmK52_s$9Pym?Ee-S_n5BS$>=zylrYI^I9+&%gcMpPzX0`Cs37 zsRXJaCIXn@DsT+0I4XDSXvdE~VEm-vNbH`SyS`ZR<=js`d*bmwZ{NA6bLXxHjvP0B z!o-1thSYVcXHZ-&gPAo|XnYfhKn}^UVZ%>9{kxZ3c3IahU7bs!Tx7^bdGpowukN`0 zj?o8=iz^lARwNl?Hf-GRXO_v~pp_w4V_`}ETTh73OH$fK4lTe@xQHUfqX z9dXJjr%gWU$WbE?Y-x47np-GmVU3CM&1GleO1V@j6swwA%8sK#RgoxaYU7p|l&b<9 z8S}ym&;R;{pKbqY+dp4@ZRN7%gNF<|?bK8L^2j5noO)_&YiqGs6#wqSNhG|@OBN{AsD6tFPx&mxF>8O-eRRW&_&@3(a6k`cp)%A*7%FJqNlKwyZ? z#CpV#iH8AVxeGvl%4PumRwi$F`DTKTgYYFkg8O4>(9;kz{`G{Czh%EC{6zx*fZ`Nl z0sz4y^aOAMkc6S`fis+FPtuc!DBK_Ar&$M#y# z8Utp>Ohmp}OXgTPNF5O%b8mYxac00PbwJQJ^w0)5@${i7dqA@AQ^&JZ`F5dU?+ZXf zUkU>fv01766rm;M66gZlKmtPWD|U?BP!LAy{E*VsdRYr_+t-3{}VJJiDR>t348^C zav~tKj^w4^LS$rhNGutK;1b8smlU!SQyC&+2FV+YvRKqOIQSn7or z021iL1bxt+h{4b`RfrO)RpQ`ZRg=hz6HV2a!T^BU#etd0SXuw6I)L7J$^amXE|7H5 z!T^|wXxo;p^X7dr?ZHP&l?n(X*A$M~5SV>RU;>em7l3oHvc#W^6(Z8rBr_WjR0DvB z^&1Q_{t*ZQkq%UsD(w-9NG}OYFpd*_?piFtJ|~0pcP)0#7_0BHA+UoXxvK&oKLnYb zlWh+$6XXUDVqzjVxz0DT1SBSAOC&FD5ESIqg($>Cdi#b`YlKn8>{zZ6OiQUUanfP; z-#2Z+!UbbSk7k$T^Tk!GS3UILL+`ye`^ukOdD^KbefwMAW^i+Jvmx8HYeUbTy+AZ( z>^Ku_0yyVdTbq-_8G^AOvNmU&bEUS{)vH&{pa03cPv$LOw#>l|9@6*tZyi2v+-1Fc zHIQ-S%IwO{?V&hPUm}61!At-lab&h`*))It=RY|6JZovj^rt6G9COMk|KsAMdC%?- z-kW{WNyl&Au<@h+%xUP>U=2A}KK_K`PCWi3lk0f&F~|4bZ~w<0dk|=YYek$iH@D{V zMVLaAtL0=b91~M6q5=H}#EFTD^>^GkElzOXefN$SHozEs{>7J%KKlIk&pzw$!w+?F zQ&MRoq8ZOkU%hhES!bPn*`-&uwC;#2EtU*%kxUMV$y&hF*48i~pUW2tHM@7WZQs6o z!-nlE*K9rQw9^hbcaYk(ZVT6y@N0XV=gR|pAlg<_iklvpC$u`WOH;L#Hgod7nw zb~G*ieA$O{=05bmUAy)+_vqPc)W~sT#*7)zuV04_bugw44dlN~Mb~x$wsq z{+OKsIEfR-j+tS&zP|qPzdv3nRa#4JhK$CLF>BVYUASoBs@1EuY~6VBNhjOL5YgtX zTRL^@oX-_ooik(s0+@)xRSXd^m`R>KCkap=Q_RMYV|MHkJo3mRjh*X{nS4~@k{Q#V zi(PCfM;0}adAPb*C>Fl;t#6Pq*1|dLZZ4hiy))jNHFNCPamOC>jb6QazVh-b@4Wl= zj2Satd1dC$uD|~JpZ%=5s%pv7CFlR>!m;BHntJxR%`Huild?-NLD;b-e?TNq3PumpF6yOhAwWIE`ae|4ffnVh-##sAKc9yLgw*@Y z%>+@N2*idNL`($M>5|C+ko*cV`iEc0kSOhv3~0%uqH?A(#p&gWN0eOaCBdtaNL68E zCp$o^Ah-cPkEbG3dF|{iCL*+xdLxZ|KhQ5!EA+<;fUm18~5QrtB2!JfgC}0QxL^gvY9K3uWxY-|M;ek`x;nO#VBOf@d z4GfV_(8Qo;48`kpfP^@Mh(X#bTY}hqOQ=dAh2spl95TTBZY+i|CiW7Wr18l59|0-= z)sEyyIfMpPRC;D`WYQRb4BYH7!4rBnq-awtJ{nk?{Wrwo%#6qyLoyD1yLZn%MMMGs z`zQ?EQjDqaP*P^PPV^P~N)fKU1kkFB*o)w8?o|Xs<3)tCRzrt&P+hCDN`_z-0%?}< z|1~xCJr@z$;MuTzgh8#dqi-YaBEYyu zRW%`Dz%RuDCr)88;01+P(VhUMxB@u^)Y=kg6jZ2{icGD(htCTQH%2-Jff#yYdPp=( z$QV?v%7Ou%>=AfYWTe4(C;P#oz|}|!%NsDD1k?%)s3C|_@EW`T#MG=Hq)s#nr_z;~ z9qW_tq6rZ>h5-ZeE<>gEU5G$Txm<3+f`vUAdv@>9tEHS6GEBtsE4n;2tuLu2i8cb{ zIekY7k@2r5l;;%;0Afdm3^~Zn1x)g%>c}{NNq%&R( zN-Q%O7&Z(r&l`$r9j=92)l9(N2pMf}G zGR7L4i*n_1+n(Kf*R5NfNs@*2uO%>%&vdmKHok0xbx1NGUR{(efxG@zI>Inxu&L)H8vNSLnn=2 zvv$qa9UEbi>e_s{yqjIcBF^WkoA&G~$6bLEPOxDsQ?0fT@<2R9SQfz_)pB(I9I5~wZ)GfV=M0n@2d?vO(dJY@1{B*~U7 zUwt-z(cJ&cpZ2GJx)|LXdkh~rcEs>ey?XbltLtcO9&nB;&N+aX6Jv~xjAfELYCCpH9G6|3BuQMUY}&HvzG?SWT3eGOo;mYH zFkf@^6`i|ut*PyB>@mmn8!≪6XLDHBC)>YHF(I&YAn{^k>`JN}tY~zhUFXIF8?b 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

A4X&c1;ckh8Rv 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%0DF(0Xdl%(||pb~B4RSbQ z{BKj9z$)eEV`!o5%g!`RO_n}~(&jCD=M2X;hHGDF%ooJ;yT&T#I85(~8z>Xdnjx;# zBcq+%+udV50X1F~q@C&cJ8FmCT~EjlX^KBA7VO;G z#QC|CF?}*pL%4T_Xi(;DGX*h?Qkt8(2Fm&E(w+f1?#+$TV zr)(OkUzU`_uy{pUS<4BRs&5IOp=6X-d!Sg>?lD+*zj6Jk*4isy`SL&aC9h86JD#ma z9~<>t6fkU;fHhUA^^|ro*x<*uD3*kf4x=J+rl8r7bLOI*_P~p_gm{ ziO4L9n9ZWzO3`ssbJIcUYHC_q(|TO{>ZhJMMcv&aNb{P(Ry#~^G%B)h1wmpQXBD{H z!~tUwvLlHIU^~$hqm9Z@6>I{>kCggR%8*2&r!5MLOd=>>RXmueB|4CjD_Y4$oE6Am z39cKO@hI7#);u~o4mnbQYv`Gns%Zns{+5kJt5lJiz>d?QkAM=I10JBXJGFnG7VW(g=CI>2t(9NuEF z2s?lt^8qTQ1~P>5FDynRZ^9&ZLewox%)hBig=m%{9_|1Yxm^zuN zMHxg=S^6o32=bU{q}hBY;0kRRzEm6)+G-+Aqiu8&pq#|0n?s6V-0ZqBNN~vm1SUE& ze17yQ^a9A$*5tMK_1FHdUwh7T?!5p0`%l-kONYay-}#+?_sAoUyzaGszAcwR(WQ9F zTt2z{!4H1$TfgO7U-uVZ|3Ck$e|5GVU-t5s{r&I#-lwi#`^o?A$A9K$e&*82CB(HS zAO9Qw;otZtZ++`iH*OH=!`>!(=_igojV|1Y-O9Bq893dg=~zSL^FnXSKxK{LG;Dgx zd78I_=qXME-fD~4!jiHb7q#-NFqaZ%0dju@i1!StGDw*K$z&x(wtHXu+Ru<}E!=tM zJp5V0fB4}~|H1oy|F?eoci;Wq-~aTd9=m$SXFc%1E5GHh{mqxWo^P<#Wi-05F46{{eW`3xEoH=u~AdgYPYtGYnWU)8=Hoa1~eLp!XPDU7G;b% z9NN{ZS8u!ZwvT_}dF%&CZSa|4e0XfywAg*^Ytw>o??>Bbr%19I z3+-SZwJgq}04}kFGL-oQz=V#ah9snnRkV8l<;EcHxmZndu)D$C%H=N&*>%BR7g2K5 zB4vGqg}l>HV3uawL<6jD);3lZBvB7XoJBw+SdCd@X0&>Z8f8@CopYr87>Qz@6vd5V z48YxCiNrmkZu2%zXA2e6yCv4Xu6;c_JC%eT>4X}PT{D6%wM1btBH+G@180ZT)u78gLaY3=m-_22xzf8$;6e%G}pAAi9MKJP;x{NTIZ{mw7{vafv2 zYhKfjwASP!K<_?CJza)9;u{q_rKZ>h0a74H)YWN>M7aR@9KiE5=*qTsNj z3+)>lIZ#VnV5BC941u?iNRalpHh_&=7BL-mCr&jQ&1>(|`w|6pkmHDMC+h?!C@M&0 zNnRpu^TJ>XcmZ#+7NRO)Xfm0m9F4EQ&7|YvZE!pgFk~#sgSnV>f{w3&SxoI0_X9|j zfdM`8$RkoKcN!4?e`Vk(=|kb^`V=1<+(m#3#VTtILF+T8%6i@=jW0l+FC)jCD?29g zt)2JGGI7fjWLIB8?GR}XHkpwqHtKv(I}bL?sE-;Z;2yvgvvWD?0+f{;hN?ZaAS9eC zDFqjsGPiO8-;lTt>a>o|8Do}+J3y>xQDku4m`?Y?o*JNnCE&53%uucJmy;B2VVbr= z>N=fmqnS)kCc&*WR4%G?qPeMllr(J3gQanLj>Upa+ZH&brDBc2&BQwqjN=`~QWBcJ zW+M%~B?`Q`@dYt<4L23R@W(pc$>}W5#@)iy@Z8+kOlrEoeT9YRbcf-yAyo|b^7Qfn z292HxXj^huxppFC&N*@@3}gzS2KLy2Rt+~9Wpsn#*!EDWs2M+P0Fs>v*}X8`4j7PC zHhlpR_FP4jyo0)ltyG-ra~^5&Ta~4-XxN^}4T-qwDM|;!X$q(EH%XKM%Lo~%$RXIh z9hRT{-+uPze(vX9^r9Di<}*)x=GwJ;?t1R;z3X?s;>*AM&2N75y5`Z=ja|_s9((+; z-}sGx`%Jj!wKlP9uLj;+;jKc_uRD}SGBxoEgsSk zyA6qg@}ZbvN*EjO<(t|Wl|!y+gE7?ac=qg`qKj3NLUju#qYBssXLU{~ruK+t+ZwhaCX-FF|T^+wsTq2 zL>yzamv#`YF-j8jM(ZRcW&ivpTLst15^0GkWGZXbOn9%3o63OLL(bztPBRS-HSOT4 z_US4l$76~eoR4IKsJAE#IdWGHjV43!QJ~ErDs$gm~xw|cky^{Nr zy@REeJI_^y+5kM&Zeq={DNy5^oGzofv{s%lR28Hni4~AKC^Ks#O2mi)wL$7BZqHqX?s>XQP9|i}Qeh ziGxXp-or*1#P(9Z(G&6Wt*(w~*+l|zcBL%^RL>CzEE!v+(OLq7hUTjZ;}RuOI+mC= z@yt52G4Vi5eiK0*O!4EyOmVa{cVjG&710I_z#P@Yu;tQP&zxP@rZqbD+Oo9O$knMk`FrgV;d2Q^a<( zm0d3e|FdrLdZF9k9#b~oF|mD*wt=09`^Y1YN>uU!HflGQr)vqiJ%<+|s%(ts$P~xB zmYd21y#R2YP8oERDW-C8(YdwjBZi?dJG>M7*2lomqEjJZhR!F3^xI>&z-umQ(!^|? z=u$Bl-433%Y~D41ENY+GXrn$Dhg)Ud!HBGA8x>z5V?MH;ITAu+=O+j)JazrX5C6~)f8bC4WH~wMy|3%4*1rGy{=xHK z_=4l{NZ1&pu>m(OU%qs9V?C~?xc6=?%hC>bG2LKim499PQBv-ch|b_E(ZCq1hjON) zlQc7`0i@YB64L|_@nccy8xVqW;&NE2WJtH5zEE~d+*DGPUVj!GY%LKdC$qyqQQj;m z0Vh$8QLKrYcjxwtop~0v`m!u1moA+g4o#e%-T2stKl(@S|HFqr`N@0lx#zz7zVO+1 zK6^P_K0Up$cCYK|zGi_=0@bgxH8scsI0E4;0Q68slONO0^+At(?LF0 z0};M-V8r=|z5ok#p4bpXF%w2G^aGTdJ=sW*DILSU3Y!{cE(ki7$UVs?laou=uU|`I6=avU#%n1gb<@OhxcqCs{%ilu zkN(rES8sdl@h6&e{p_jl``+*UvM>4a)6*N>Zh11I+qpV9UqvjzN(PMpA$C;89RYa66YKfBTG z)?pa1weCD3k&9~A^Z4VU9;$C^t@pmDNv!n{N^lG0zDg~#-!PR`A3!y0OplU4&9-yv zotQcnu~Z5!x;FOQW*^5f(XF(4E$0*tC{R?&UF_QDp9U~_13^Fqurz)A;g9~*PyFQ7 z+itt{_NyQKzz1LWf)_mY_!D3K)nD_fSHHR+=cTzpuH_XVOD<02LhLnYsa``XD;rlD zBmvnFqdM6p*TcuUq1)uXhA(@KBxR0>s3>8nIEr@~$liz|pNJb$I=aQHg&4E&4KxBm zlvuKcNiiy7To6dHMEYz!>fq*bu71#PaTXH7y|tDNTah^~*7MtwMkpIzoaH6ULTV;A zcYx`<=NZ|vc=Kl+8m3g!A3-PyUmLzaqMZuPla%6(MI-eZkQYz^LlJ`^7zY#OO=S;z zu?*QZD@_??`e8=PWM~J5XNEG6Ek>U9A5g@Qf|;7CPjNQ>QgWmK6Ko-N9w_I7J12f! zqC`ayDqBB>2u`vn+?49$5+Xa7cH(I}F2oyom0*wn3$rfB)QtWU$zX4Ok294XF(W;u ze&!Qkr;4eAn-B8k4GToj;!6XzxKkLtPz)Q+9YDT=YU^Yu)qBWIh|V6G#~WK)x9AW- z(ilX!!>=T4Jd?u+p`4B{hERf7Z__-+sVk=hD!Ysmw4nhis3ZJ_XEXI2|eHH3RJI=K^_-F=J&^C3RjdQ?(0Xh63bWBa@>QZW~WDLmM zjf}u!bZIdRI2TGaC&*+-nWjlhZ7bpywFH$*MQARjglOi^1~S%^e;Fi8bk|Qp!(K~{ zNaJTLfxh-zZ@K){U-ec0?4b`I`*H34cwE2n8{hbX7ro$kb~dyz`XeOMv2Q$e16b6K z&=#@!xE}G@$e=nab4iM;McjxKsKn`B>6=)Ym=YCjK52dIe0I8+Y zt*`5iYuBE#f#tB=dH22dKJU4$E$i9w?6_XLerj$=!r8Iemg%_`UtvDXF|lhGz0(hq>#H$;=*XIUPczI7%4O4p?V5&akb#-ypHJc0<=wPhFQ}SZL6p zCp-{%>0v`UuBWei?O*tJ@A$3vy!+j^-gc|IU;XD^{fbw-{CGU;Ho5tmWsH()F;*iQ zlv)-6=__cFY+I|E+)FoV>TzUu1a5Ud8%X#FDC;W9p{G$=oC+IqbyATDWkG?X?^qz- zl7qIUS|BgMS$)8kC1j&GCiGlOD?k#_Z;ssw9Z+97J?YUn?qpl?gkk4nDoJfp-Q8`rPAhbQaYqASFwmtd7EWiP7FT=9J=lj70OwYBx*9EwFYD?TWGl^M=V}! zP;U~@ORlVaDGLEo@4btKI7&2uLVyHu!=BH|3Z$1d|2rROg+L_do~sR^j6gCuu#jz6p4x=1ytVO~*3G5Mlsh#HK@*jV ziw}<)?xy+!wn;$MOkCO>?~FV`+?;b%m5d&^&tVKtgrJggHQ5kptFg3P^<)V0h!%Ab%>qq^I@+ubYOr>AFM{3T!V%2&Pe z)+@JOxqSJad+z?aH@>kSk2r#tUIe(q+N4Ip#E3?drPh|FwzSq-Ym20XCbYD}tX9NY zP$PGahN|K+JlLjv*~@CJS+Aswl~0obF2*tgJLDE0=8;7>t7I zP7>n-KP_k!w+GsAOqfjroI^R|bgSCFF<|44GnrOvZ2_&ve&fcCC$ByAnJ2DYyLRJv zc1&ASQxlDNQ&geWL?b!{ish|L<^(40#Kz{}aV9oA!p0B}k9jt<#raL8V$|A6d9eib zp25kYAT}O#)jAJde~f1Lx)iVGI9&l4y1Srv=f}x9825FxJNW~I+Q@*)&!M-bc37GX zl1x);BZ#$mGXgcCMmtm^4bfU#+A@Xs=5P7tTW-De3tsf1TW-7MP2cdQlarJ6xB^Yh z-H}jgAjYs;*QIt}dzLmPSv+=p7)0^0E7g`tS$0q>5ivC6`c+FnRNVD+Cp@^YMX!cT z;}V`|po-nbrBC_{v}MadQ$r_mzsXB;qyMusav6T|H#jVqkOmyU7Y4#K@7kd!0^ zr0W2WSvO{OI@yK6#7(NgFfJxNafDvk(Ks;ZJpEBgY270NDN6(ZA+~F*{H1XVJ>reyxO$IfUq~Vr zV>TOSL$yEDBfjXp19>-gk0J%K?V2LcqGCaiEZHyxeT|x&5CP?A@C^+4=5g4dN->_! zswV9qM0FO_$P^_Rh&G9J2tXa~itBIU9$h!Y6Lx=Gn4%Ag_cH!qV3du!JuUzlgAfst zL*06_+#RGByUe2@*Y4xy9v(fEGb=&2yOPwoUYU^DFec!fLptkHz3VGuDSh!?=E=nT z9^Hhs1x?(`VX5${fQM4|%uduf*mxD{5mhEhbK_xfEsEcr-V9(t^6bSjc(tZ<6+uwd zg-Q^jd#tH^{KFF(nPuF5&8I2UKi?*Ug!<%LF1J9bZ>X#>WcW5Jo^2 zx%b-I_#W(%eihC$@X{>U_sOvN6E)7mL&gNkl%+!IJJ*HJ6 zYBpBtl}P|l`(P(hk*6Qa%&k;rP{zGnQRerD?ZOgI8IqW~WUg!9NHvw-Y+BNs8nqFT zk}iV9i$7OrP}e{3T(< zb(mMN2-z$hBdgQxriGfqbYxjIomIKol-Ia-c;|j9u-Nl zy{N4b%}@`b)*HgQd*+ifmo(_>@Xx$e9CxzfBlj-RkllvtOh*E8_sA-%l$}*}u#~0% zh0F#&fro{nj7@S~+u#I19w~Phtu=Ma>N2bHTr+~s0+v_Hw8h;q4# z*A4i}v!8lrGWEr|Ksi|Np`hr}2 z1N0vA%Tx_6`2z|#20(8E;Yu zJQ4z7>i}d>Qafa%03nM7yeuJ&Bhk2WQd7K0d7^zF2GG*GX{&9qWB|$>&b5~#CaKgK z!Inime%%1&sTrUgKHMJyeu%ErniCf-TP$i+w|s7;hWLgd&muS)>Eph7w_~m0A2LP~ zMqS|XgG+*FHn8DLtzpQHk7Q|EYNt1Dy#95s`^|s*>z{ezGhh3c-q@P@dbYHN7WdxT z(zA`iM)DeG&AbL^P0e1*)6GHg_6CSfhgLHI5TbVyEZulr?FMlqIqAdUz8l6vj3$5N zOt2zlYeU*chOPx4HWlPNV9|C(169f$fL(0O$}o`D;$+8A#YP!s@R$ccZQ)9U z+3q$C8@jvHRIg?%hTSbhlZs{@cv;uHeicx~tcwpDl&METZHQhH)ZAOLrK$|UNZWAr zn+l20bp!;PBHT^#PMTuNf9!hB5)2nA$7$G1#UM3w5citRTNxrwlo4AJF7FiPP~cNF zla&kNxVoG#JBT{e{Mf!@vJIt+8FEr>dxASUlc#*`DQbMiOiYkrq(Npgp(#+45StA~ z=XfYiw~{u&W&q=I_t{)Miibe&I>zr4*ieXebn9SNDhDzp)Se@>Rh<8-?{mPzLwEkH zNstaI&5hPkyotr&%jp>gCeeY+KqVq~#`FhM#n*)=Ous9+eOgAvMvZDVC9 zN4scM@D-P7IR_AIgpk9#hkRl1rgE;QAc_$<(#VB#@C|qdT>MnRj(njw04aAc1mb+- zDAO^F<>Bfg7c3*zDE`L5R$}B(7E`eyRH&)LRBsaPTJq*91D2Y$X%!3tf(*YNCUvG1 z+4NP4DEb*z3pdz(QOiW!L8HTjO?~aHHM^cPv@kxjmU(B( z&nmYj(Uul37tmUMnyL^RYp%W99lLkI>Uu{xsNtTem`f8@siGxTy)*)`oLqA6FM8n% z-|&Xl|Ir`)@n3xXSDjqGbhvzyTOVx^OasJz9_zrRrySK)a;g|V@6=nQwR&SA%OepO z@)E?XBCKoAouaj$*JAE^Aa(vC$YJ;(HY@1qal~&a9o~ z{24&u-#5*exe0vKZ!Loiq@pmLugv$xQ906}8vB(L#2qGZLPMTtg^6-Z*)M^UWEUuV zKm|g#8zwRI;>199kQfIYtsuS-w zSk7vvT{%W-GAwH7YyQ&LzWr@)`?hcUwr4)`Sr9Xo1FAy5wC4Pszu3hd0&BGb^6 z$S?9yPx?nCiq-2H7_#>$N#N}4)V6z%i0-|vQ?gVjr%wbI0t<-i8Kiits}cd48BP%5 zg2ZdS!THYN&}%L~AbF!yYb-m24ZA>_6}D+J{R^yfJ`uj^v)CzKJ7BF*Wx*Pakt<~4 zz||{3DQfg{Khc#s;Ch5I;O*nQF+|l>OLJJN7QgC=;JP1b0myhTsw1(C~33Z#?MT&}yb( zWW2I0<+v4TLTh};U2c)5D~jswu2t#YdnrwTR-s%TyP zP@cC`%pJ=oYc#c`9cXQFgTD6T@wl#eMMy)L*htuRGD#w&ym~qtFd`}~RaY9#Xx|v= zJvu9H>bwZeij)Yr`!0Y1XV8G1XOn);+MJqn^>DPk-(4u0HYyF@#QiNK%#wL&I?u;&PlqJ>KkX<0oW+bKL2^4 z41MPqirZ9dJnmXY*}>!>X0BslkYs)OkxylQpLJOiElli_IY`rnI1=Pu*3R&w2uLt& zZRtF*T)0LZ>r`zu8lR>ugSqjYIeG=WZo#QcI1t!Q0X#?ILjqbY`+P4q9 z1|gFB2E^pH7&!m6JMcttQ!zmN_@-u2?p;z3;Z0?*eVO_k*|^A;wZq8XnN|4@Y+2!O zhiXL1KBx-$gxhti>cN-sAhB_9UX1!w{3w$TfEh>=ZercnrE2DbYBNN(4Q$tWgZ5|$ zlOnV6fCZvh9f*VoO#I-y`)<)Qykc-VbhJ~H^F4Tpf;Pq`&N{5``bz)eu^_i%V5&S7 zZp!X~T|XO>v0MXq`%-0!5R*gl%hYqqi5g~6xprPXn2n<;xvRkJG1ucSqS%Un@^pb4w$v@tv+m!} zoPkF2p~cew!0i@=#3Col!SLAQkA37%|MU}|c=-CYr*0h2*3+}2J8SOcv4S!~?;PC^ z8#C(eT{N^d9jsY0wJf*GDvevu#eI{!cH4bDu3Ai64v#+i=x459yYtTHEQiCgwARSl zP49hKTGsoQ)}Sw1tWIyWgA~B4SJmXxk`|V(zI3gu>gwvw9B-953d>NPS zL`JalZ2egh?HXn$jntKHJ7v1u&=aFz8-BMkn)kvDligHC-N>v}_9V7i1Cja`sBk;JbvxQjniXa^V&8^5-qC)NNUKEB?)CY zL8@zgGg3w+hsE@TmDU!Tm23v!?zQ)$yVmuH7x>g8j~TQSoP*1Erj>5o3o^o9v*LqFL#YxphB#M0@5}u4W z8YBPsGboEk6TzUN?De3{opR z!WqX6$nH^ZLL>3i*ELZf8+%y}ro#c$nyLfYbw()C)#XL9vapp97Dl4j z1sT!onl^}LY$F@DWoc3Z;Dm)p)VmH#Vzt+h?QVDX+Rg5)LuD<^NXo*;TpNSdB6nF5 z(IjQOluXv^+)aLc@zPy|GKlQ-NvB%3-^!MYt1mf&4CMp9DuGtPESUQd>U^AyLjomiH)OE4=r0dx zHEql6f>B>8>{gpqMl>2y@2hA%N(j0VV^{W^6vK5Upz^*zNdbHKJ*w?k;DVlgh5|3p zzEEacXzUd9bR}862p9Q{xqO`$=+7>ajbv>5;4#iKTy%gzHSKCWTE>Y%2vccb11hiF zb-sulAV8y7`=&koESeoc^;}!nJx8(zm{QPo1mw6(C*&kB2G)URd`DhU9R^~hqh=ta zgE#(WmqN5v!>*H)VyhG{#d2I8rMk%N@r-H{1$bw-Q4djG9Li9+mDEx4hcAB$dRpo25@DL!17hWh)4(4vHIPcqIge-{)hnl{Sc9 z=4)Rf&aA9!&Jtn69zi`+8(L{j@9I_DHK1UnE*lk<8waWOClm*G>j~zkY!Q=qB_%1ih*tzdntK&J-h*-!N35}D(;gLt5_~l>zh$a9O=#OO?f*2 zSZHa@y{1h~2cRuYOZ)J{pSIngEoxeXt!!6ly|2jKUPSL+bI;NxS$9Xdc$cv{9XB|- zx9*N5Db>i>-I99m>N;C{Ki+uq$?K0k`f1?#&;R_t{Kl_){Tp6;%atpqr$=|k9a}lU zW;n{w5;fb1fN9kRyqUoQdw^`#9u?#45onB83XwjH5=d2Q2?bsqU0svZSnmyf&v8M^_8- zm0PZS`q9UK@~8j#ul&ldUcPeq{+GV&)nEFRci;K!OSjy%9F}ESMpiM%rrRxCA>-ch zqQye$UdM|S>|@t>^PS*m4)vTvtue%NXc^MAxF36OmD=fj1xbQ7-Oar-mc&SvWY*RW zBAfKb@`8+6ySu!gE@XB0Tn)>dc~xiiakxYu-V`^WR!Rj;WL&8`3{va#mY=JTX+nyY zjd1TvTb3;9wI-xm0kI`)+w0n~d-uAoYtN$g+G*WATXPgGAn59?9h~*+<~+@pr8q5y zwz`8j+St9L>3pr>hZJ5InPMv^y#) z+DU?2yRzodO>>+E9B|utAgZCYcg-yy$j~GtyARz-QtKc{E+`#1V~HS{rKF428lajP z6gbF4jYNQAJH)*MPi@XN6i=%zJalosGVER~MSMHopAACe)8T7t*|@$~2AnPIp3?)$ zZ{CjQG(avFxCvFd$RWB_0)vwcEbjeu3MobeBqQ$1Cf_DgKn6<}I$SKf=DkMhb2}Qs z;CyGTt~_H`2Jw)ejU}UJBc=ejKu5piEe?0krOt7x`kTfR%x>pPm}83NxN&*~$Apct z2Nunb-T78A!3rbi3B{I4_cp|iV>}#{HCZpwal&DS4-i*54^%DnT{;x5z)v>9FlL`A z@uUkuR1oJY2c4?5!}$fE?Q|E@qu7jWFg1d}rGcs;l_P~JCz#UT%zI7;LrsQI2vjZ6 z)Z|-0rmlr6Qf|cA^R-vgC{l52pLwJ`Q*Gm1aC_pI~; zpKZ0)>PAFR?lS2(u+)HD_J@I9N{LpeSqX+(o6m_P?4>Q$HzQf}1;|6^80_(YPYE$W zQ<=rxhFa5H+?z#K&VTw1Ys=Cs@(+!vS+v`GslYI@?Vy55+DNygG8<|dHUAt&*>w0?q`n6Ad>}f8S|Gk zj#$_rx05|b^SB5blFg!Nm%M=$NxXvLemmCpxQcutF3xX5CD>BYU=?pCRUwi91HZ9c zQYnYkX(%XQTU)BDOUe*2aFgK)p#oB!F8|NJlB`#GQcHDC9pSAEeJ-+A{vhm(`Gw3ZbB30Mw`>8(kkp-KT!{^Z*x zL`_^1F2}sNKn|EdeeK;e)rEdfe<0DG+us0grnQ=w=fdqE zb&;pnb7>>9io?*SJ3Uj&&f3@BeLOvT?D0oG_$Pn#Yyaj~|C2Yr`6VxU@tgn7x4-yB zFT8&JS`*kKyG9hjFv!qGphi?i6Cs9MsVR;PG$iF>q>u%^^cq|?sCyNt9)GXMh<{FS zBxl(Gr7D^!-fo^Z6p+&#+Jh?4Ajm>2ZkA4)@dchXgN?Mwj0-gzv|^#ki^$eOlRA>F zT)FiZ-uAX1{jnc=$xC1P-GA>Ny!gdmz|y+INWBH1v}mtA7gFxv-q&o!N2{z(t9$3d zm^GL69#cc3Jh>H_Bnd5ure;_qY>gKWlqflF7~6Df$ptM`Rp@ooy0h)ZByU9HYMt(G zi^g*7$3+L4-DP@H>+VE2=2QA}1EBEQZJMxXSz5?)MW=3ZSs>h61w%9-ytE~)HkgIp zjaw@hjeM>}CHF?Nt%VyOGw!&0dbUc7eH3b149fPwQXj4t9uem=j4wO$FZU9a zHJU4Li6XW`RljrPT%90}G0sMk+Ny%Cs%#6{ncC$>NI=5oh-f3p>PXsZx3KKy#`^9NPXe-rc!ww7&f0`1E8$WyO!*3u#$rdXRyIx@0AWS0q z=}PP>wkh{0W0JX#(>j{SHs&s9yGo^!?Q}Gs15C$V)t-!I{;AY3yOr?OMT`}pVrgP9 z$S701%vm-42-W?9bRCXwj~m)uNG&OzutWR?%h^1ZdoV)dhZ2EUB|SwgUr91+_tKg* zJlWYvmqxS8PbJGH(!NBz1&sP$Ig%kWm^NJ5#dp%>M5k~u2n04bXhV5bm3D}VLo0Ik zfH)AgX)>tObm`J9?|=XMzUTYC|8VJ+Z~r^rasNwSNz>ZBt{!WgW2DTdSna08>aA;4 z&w~xvE94E&YX|6KVrr|=ppU^*Hkd}o3tDkg>(JE5-5bCd(L_^|Eh#^YClGY8+M>CS zeU1QX>Dr`A3G?p~Xr=N=J@-5VU5PZpv6>;L-y{Lz2%)|cJ)h2Q^u zfB%l#udZh|T)!ya8?q*aNfOvaTp~muwjB4gC0)i>{&q35S)o9xt#Fn%?JHcmsn&~q zb3O^~yOZLX2@~m6y@#*NG@B*@DO=HZ_yh=tZ$tTgb*kfCnF8jrGIi&990wQk&xIl? z4HihwC(-lt_Xi9vcH9XY*||(F(n2=LsWW{Ph7INTF1>(^-O*xq#N}JAy!Q{@|9Ah( zzjyT+&-jo3({KO62VQZsPuIS7=ZE295;-|D&g7*v(HCZo61M^=2?%QYi!IwU+Q_nC zoW0ftW6_OS=|iV6a>5eX9kh1S)K{!7vR|))VQ7YQZ}ze@ge1YzkXlQ2a~=yv4Xs8( z9Vy!x!cV7!ZqkAei$3${BR}<1KmN;ad)s$@=bOLj8{c&OiO-l-YQzZ?wb$3q2IX`R zi7B4W=I*XbXL|%?~vRwLsANs)$fA~-T@jw1YCx;Wjtk^vUcgLtL0((`x=dSYS zj?DPZ$!r0R;g8fj|;k`pqrp zo-?!8?~k?i%$ytiyzfr#IWv2&-e%99ay+3{5fDtgS8D)F#d|_L97zg2Q_;z&UyW=j+|`j=gK z*`;s1{@S!FE?>13qe?g5D}qs1a$q& zl(LLal}&_9tbt7-lmVKxZ?Z<-vS2jS!VsZKK~>EtG!YA*CYY+0Non1*&4J9nwJA{m zic(Y{rwc+|E+Wy{XPup~%p}u@&pUN@1tE$cE6A7a+eW}vw>1rhy(R`k5iWFq>eIZh zS*px^*@$)&Ktx3dJ0O`89?**Xvo^3(09a(w_NhJ8e&xt)2oMQjSs<6m-qaLN697;; zRN@15D^P5*l8#y3vEk55A{4j~#4H$9jnl-3$ODTo%%bp$Z(BKT2GG1gg*VnJcOVZU z7&7CU(Hvl|+^JcaK!H1qlkNpeWj6UAtvF1eU@()#q#+763mxY3V$*VE<6xn3YG2qb zY!-;>XOm;i&_JQoDOlD|AP7S35YoCbo7r%v<=L3%P5~Hb(~xy2!-0Af9gp?%E;@msSgxD1fUjHUCGX{R3897P!CP50|!0RBIu%)a`m-; z%sTCiGrzaf?&qC9b?C^I>Zwn>-sI~9^a2kDQIj&I6PQ5+wnhUobpYrcK?gcG=SeW~ zLeUd^MjilT(KC0F&e28UC?s7ZBqArIhx3jCdNQ&JE9jh~BM7|!1%XcD?U&f7*9Yhv zNeAaB&gokP;dB}()EgF@bByRL#2koJ=%EumdS>>a5T25xsHcAXgmw1VbMNP#dFI}k z_wKOW_o{8xG)3p zk%bX}5J)t7FnTJ0HCpvF(#^4C(%LSw8H;viIDiByqF_|AMlV1a8m!r_s8dW#A}Fk) z7K^<4;GFX=Xd61bmiqn#9!w2IZxnDs2W3w}Up1ho#{wr5 zeH>Xx(2MAhnGX;;II0doT6j=EAyaW)#OrNN;)L*UDUb@h)&!xCqC_Chd4c}EwYb0RBf63ohfUM8+XCf z3tB4GO*Y%O(Vvji5&#j>3B*NuO&Z7}S$P6#003r08zd0oRQm)#6qR0j@x^6bOLp01 z=O8&n2oY*T6QrX+M6x4@0Qq51=~<+xYY@Z=a=?gy06i%AX&8v$a;Qm3A9hyZ|q)EFRPW7#yv#D)lgwzjqlF1+aV*>7HZ?aDeEX z*L#Qu^_ChJnL{;BB!a+6r5rU9@5QI$Q@y!f*D3%n4M9pr^_S4Ydyy1ECu(JgPjw~5 zQFVkfJwaz#1k!0n!aE`cB1lZqAsmq4oDg<6gxXD42k1mBG6c}090Y*VFe5em1z|D4 zTa_`thX4>=UZl>FR76nVbrnmTLqvf%k;tM#T;xbZU>rphHhdD7D%)=Ny;8aSyWdUS zdaKQc4;zxEDM`{f=;=8D06KM2I(f@?2vBJCKMXX%hCTbzL%9j2CIDd@0Y8uKVq=j$ z!$#;4s3!wCAt)kIxC_-FNaX~Y)kEG22!eDJ$;Bc;IFrtr(2SD_V8Yv;hLnwFLKil3 zbB3X;5jtDdP(U*Tm6Lrz39SgGjm)VOMhR&3C<>$g77Mn}n;`&zP7YUK)7(Mrh|WIy z?51Ju*Vb?L?@fyO{ z1q2DMAQVf12xR{Y$RN~v>OvhRV1a5-fl1z_V4*J{H#d`*&7z2QWr9#MAan_W!bGS# z>c*gos+JSirZf~S@7MkOztRi5luMSTwrAVAK|+}8XEX>9E|67{CbIPff<{X>@-F1y zVW$XGI6!|(GhnlTeTF?jW}Cb*2cVVNjD22UY*&Z!-VE0Cu+$2>0GpB^vlWmt$xr~X zIw7%YbKp+4IivB0edH{5Kq=*4H=K#|l1mY-u?}HD{IO7*b9eeDdM;zVTNbGG= zbUOR=FxxApsIt`Q7f3?v#|m_L-Rq?wAd2EjxztEgPk_$rjE*E7Vx9iM5iUZt>>@(E zk2I7?>W97x5QrSwDkbqC>@XG4m7}OqiNp)Ui4z@i@DxOZQV^elaHRL1&bi1zd?|{Y z=nP8W93cR_&QSr~S8D}BQLT|AzFMj7xbx0$z4hh;58S`k9=kb3T z6cCwDkU1&?4IP9<3aCDz#Kdi z)@TOq1oH~43IrIER%A4}RB)1_Y%*Rj2?$uMlltcZ`+_K1U9``(m~{q~wOJOZt*noM zSx5`Dd!Z?o*(8|8+^m-+i>!;^HlopGdkU)G3Y%jPa2mnYO6$Atzkl*+r~mY4r|o~> z!QK6hx_5$@QKYO1(5^*-N)R9*PUjq;ct=JKbP|z~BOxxb$*ogdkPdpX$;d@cA{P^S zdISMzr&o^(#2?_-6dd*Q_wy1JHy1p_9p#p4TrNlDQdBNG-H2UOj-pZ= zRjP4YC9bqYNn#hw2{`A9!-N zZqr5zgc4#Vi+O4iK=PAMFXoqU!wP97S_8~MsG0(5_=P?Y7R~?=60R9lblRXpMy44rYdJclFrH!Oa%dYMW?{F$unA;9 zkAewcxwAquQJcn$yQ-Cs<-!-(+dva#fgzh^@@A}Z-G!jo{Ouga72lZ&3brw70ED4ZDD_N^Og{o<#R3|X z9+au5K(MMDMvLGKcL;`X$z%bt!(`rcT$u*(GSU!;01ni&(J6~d#UJ$J!zNGJ>8RsR zsMQ;ugk61bBHkf_K!34JCG!LTog9+{d|NdVpsQ9Fj}#OT-baux=YKx`%P-g8Xj31> z-UH4qvryn1BuzoYLMQci{`Kalkt0T~JlabH7b7C|wr6pUph!~h`}f;#jvKqy&=I3V z;3%;}&*Fu1=gnJp;-+<<&_&_}@TF2*iJSO{djr5m1rzUW$!bdAWSB+0{-@$J ze2B>ntRQJF$-v5yF&gj*K)(xzgscfg7p;&BWfyrf(t#L7dvhW|6ZHT<)xkgpCbbf5 z7J;T|lbU+8Du5duf({UpKJ`%))f)YW9Cp+WJMVVLQO7LrtEZqor(-8J; zcG~54-Eqs%Aw!d-p*5-)9N}Jktz9~%#aGXLB0%hxdjJ~o1P~EOArzEL@r4&ooi~5( z<(FShMh?way}UifWr1PGrd$B^x2RCm;IN?3vp)cuD1}3-rk)GYs3pc&n4sE1-jD(f zTv08u^fk?Lc*js=w9woI^G zE=O_HsP$LdJB~R1r=wO`HBIO!wVvgR7B5=B(hSg-qr_!1)$ z4rzN^)e(TijsQ|Yqnhu?HSAyhE%%&1_==%#e-#WTmXO?ut5!IU$I$qnkQ9a-BYf)C_$TGo$#G+ zSZJ-#EaVF^DphR+#5@iGB=c@4W6DgBX-PtIus|*Qv^>lPNJ|JMNBe^*A&MkWCYd$^ zHo{ld2&hQb0;GU6;Y1;V%+yy>8??Dz@9;NSGag!>=siB%^4e%3Mh&p0+y=fJ8u0;snT-T(MR<)l9T|Q14)X$b}@t*^ed>S zI|L%fyYITYV^GIVyY10kt2>B@kZiBSGw-_dn(MB6fq+6U?JZ>|k}yr{ zjgpI&cP%}5{~wGTG4#0?U+Wywo}^4u?=lI`L@68^Mmhq_a$(Ii$D7Cqw~-G*qH<)eEh0E zUpMuF-=b#gzeTf~$<6G5h+ZcQ9@Id!l9#(lZyum{zTfRX>+3t^ zlv7t)bq#&(jzb#9QMFXM@2=^u&w6c>O}9MokV6{vM4%PLUI9XNi2!tr1S0x0iBO-5 z6nGHSb0@Wi7a_ff)5EvERWTy<4TP{4C($_<`Si+5|2TK<9EdB$ap%xs8*a4ml~=ZMkS7WdwZ_C>Wcnaua~6JsJFDVjvv4Fjyvr(R{N@<#kh%Gu2KtxH!Vig)~Fg>%btg)~yDsbM+BuZBRMVG8690LnfZ7ZX) z!clAhs>uvM`$a&IgwqI?Eb>GE>Qk#a2~=b+o??dt&1+E!0wqm<>!(iAji>1c3>5PJ zvo$L$2qZFfY(r%M!hta0WI9`if-8Vh)83-Pf^SHO5-c{VdI8w9G)}a?AQz$2D&-{* z#7xzGRxJgDQ&U6BlGTx%zKQ`r=i!+^*{Y0+ZpT4UQ;P|ZDVga`Fe8(lN*N`w4>Ict z-8m2f4;!(@rhT37Yj@}r=;eR_qZZK-i~sBofZ9zD2wAgjg{DQK?&`cJU4 zLn!)+`BB`r5C9~%S%Ayc2;%6b%CbUt7NOtPazOP`fmq0@TrfLCiV`(xvS#vTVp;|V zuv~*8&kzm}8&!7%Li!;VEEI`}dJQz}7?V)8UY1c|f00z@Vai+w>(ZE6+0 zCnNOaBn4;!&$P-wjINDa8V2V1Cqb=w)&hHL4467ZWlbH@CfSfSWt7no%~1t2`50ze z1`Y4+VvgoBLOugR(tB}QvS}rkpw}nm>^3kDB`+omE!kjP#0eoF$y7A_jSIodu)5(> zp)=^9Mo>^s;&o4b7;I;dV!#w+(Ifyww^g{b5a^0$tMUp(s2Z@B_Ye?oD+Me#nJSb3 z(A>9BQIQA`jsRW6XxY-`(`U^1#c$3R7fA}|95jAJ#Os036Ao~;o+%(fzzNkxJ>6aB z|MHx!WnGUw_rh8e)~lyJE<1Q%ju1h7y|=9#x3rb|Q>0{ntzIs^Do?E@7<9|m-p!HU3tW?wkrF& zYi%9vk396~b5B0n(%yc-xxbja&6a}(k4O{m;x77R z62sN%jkPyefAg)jzWd&L&Oh(m{{DUeh}by@QgbLo?XBL`FQE)fo#0g4YvyZBA&jK% z2TY5gz%itf!DV~)XJw0^!5d_j?#-NyYM~OqBG?4Ud$p0!Vy*}ZnhjcMQj#jN4d(PS z+ZS82NtB9p69{!h0NAmvS&aesd8d*xlS}9-keJN#HyXijETz?^8NGxe(};ZY3{zcmn{E<#KfIJ@?Ie@^O|T zHtKMIIM-64W0EAO*Gaf)ODQVVdwK_TbZq;bDLu=U&wAx~)N9|&|9t7fg@c9+YtZ{f z?c%AwS#9L7FTVKV_vim=uibX;Xzxf;Kl}Z6j`_bIjap^&em~rA@z--d|L{Nky?OYnfm31^yx^mt+ZSe$QWG!S;SKbYtE^$6iOko9^{P0ivZ%G zxe3||CJ3z(pMO60jW^!9;f}kO_0|dJ1>);I<))i%e)+XGv{g%xlyIPPF7`yFTrQVO z?X7L6obuCUOS^Bo^UltZD}AxB=a3_h{rJ0$pazzMI z&(Fn0(%02>$JNt-w4+-3{biST^(1QQl5^jD`Q_;+{#1OraN(lEk32Ly}oY}1R)M2T`GwPNq7jHq&^jpLPsa`5YYF zeYGS(61%w3NY`3>y|HUec>M9lk2>;jNd*piKMkOdKWLU}E`ZQj)gUD-1_>a$7r&@2G~^0Ns6z*q$0vxlz;sMD=1 zS#h$aq>4RRFYLp5g5~pG12OTbu@k5VdDK_d0sY%xio=AC7RK@~lOu>T zU^~zh0A^I{$(ZO+z_LJr3o)Ew703oLjfMhPXIRb1o0FicPE*DqNvgBS{f0837=i+yvol9LUwQJ_7(tyjj3Shj9M^Pf%Fj2B*3Kh=yttS9L2ZFCuRZ}jQ-h>xL6y%~cH7dFV zl2R)QBM>r3on@N_n~sA}`xsUxR4%V|AyCL$RwSTwLZg0&LWn>oe#lOFZQ(#C!FI=& z*ts=8m~q65*W#xJp>q(?1FX=)1J3D5wT6Kg4^I_ufObyW8(jiA$e-{K4Xd^N&0B_;M7NE0u@- z{?NEFtF1hG)i-CqiAH0kl}55!e(RrawRa3zXZ)HU|L4CC|NUYTy{}cuj}dSU46AxUVQoaU!8UKNB{Y7dDqhK ze0S^Vci!3E)AQ-4bN1P1-*3M9a`vp(K79W@BuRT~HS$dLT9@iXh}tW7TB8X72?BOf zAfRJ^n(lYN|6O?AFS?d3YiVssk_47hnIqKlnx*O`(WmTy0qz1c>T~!2VEond!PVv) ziw*!qa>~rMwG4=U=iLB`P=IBo<&}t%)--7XQy>K85Kw8-N!G6eIl6X*&rF1jNRZEX zXftdzNgx$0YA6JhZ9r0t%v@|D7dC@7VJ9E4{!9yKc^TNuWJ)O$Ft@UZpm@ktA_SzU zXlNo{uk}6o)Qf`$4_j}ejcfH(la+efpoKyq3#|1^Zzyu4m$Y81PrLF@wXUw#a=E1( z|L})D=QaN z26dlq03y)iID7yC=_s%hIRK)^V5dKO5AQt)&~8E|shfmI$XSG-rSi^G7$A|QG#M6x zLpahRPV5pCA=C^n}gsf4tMqJF`@-wp0mrbPh=xNq?i^qVg+myz#Gp%sTn>Gbc=# zaO+?0{N*pszT~2d4nN}1w$@gZ%k_Grk){9`F}36q2S@RcMpUh&wcfwZy!RL9{WdDM zfQ+20#P0qXcT1xVqOG+B9;9>haU7LOkuH5S8mRTx;yCu=I|o(L273DX+S^;4gHO;` zOT2hSgoq<5u~jhz z5S?~YF*7(dzJ|Rq)J9E{tlAn{ID8rZoQ{aVMG>F?5}qT_i5~?5ffo-8K+Rx)pcg9; z%2RYT0U{wmU?~Xzh6bwvL5lpqEl?JPM*A>b2sB$X8xDXFGYPb8W>CQj87&dmJTwfO zKtMLxHBw@wLlLcsO5QAQCS5_uOlTz`gw-DakQfm>=;VLU)26D3p7Lf|h({)KQ!~Cf z(;O&hZ{ZaF*fbQ>2h;#YPk{_nrJ(xK=;)UK8Y7ut8YSjwp{Xcp3MFA1ITXPly7F8ZF@*(UL%C-n7>nxQ_sx0te zQf0D-oo!0|dDg`*$ zx5_U7UOR~X) zN>cPw0KI^pg{Nr+>Uz9D5b{%ri3mNy??`DM)C&PN@UiI8*d|p#6&kw4K>+|pkwD^7 z^wP^OOqsHsiz<-ResD?js*>|wXzx5TT?8V8Pz3PsA^^NJ{P*|&(KR>T^wfh7&iUwr zyQbf9?H?}z00+boeBv;nxsUYk8>(gwqZ4jwjq#IJw-ThcxF;DeuBeeLX7 z|5$y@=+|DG{m$EOA8_E0mMmGk$)=kfdc8S9*MS!x@ zJ_4GbA^VgYRa?U#0tZ7?Mg)q|WU^-a8Ak%5(<~BzhPsYvuaZ;>Y5`@hxS?hCXp+t1 zRrifFppu$E0#NfYP!kE}G6G__G?5Ubv~3kjsHiG$VboxXBROmPpcog?$)DI>CcKy{ znuzO&o^gu6Gj`8B_xyLZ{Vt<8rFSkC02%|{0TAd9ya_<3QKdRMn{&od32CzOsFhn+ zUA58I>nJXc;&ME1-rPkC7QFZGce|G_TfA_=zy4VpJY?ALQ7g4}bS_x3c%AjunO7~X zzwX*ow%z{kk39VNV~@V}>i)Oha`RSOY&mw^xc+(_<;uek|9#V~CV%tQ*Q>9*@~Nkt zI)3f38*H@E=kvY!1Jp_+t$l+@n?!(5llfoF17z5!m4~mi>Y!1p_SG6SPYCr4(UIN@0r5!0 zJ4YvQAOVVK*^NXT=n3(3&V6^g?O%KKrDKjd(u0zwR>CAA^Z|DV7YU%(Gbxb-_p581 zPXP#Y8mKwobYBD_0tg&DyuOf5AmY8FvwPVDBI=p6-Amus;RLem%_Mj+Xq zF8Dxye@@{P3jxx5|o;wOTDnk|9F|HyZt3 zgOw6R(X3gsH``*H6jAC0)bk$ak%~_fFPC3_#f#58)7I8jsaC!B^)#Kh(WKMQI962h+KKp@Hrp_t|Hj-t+tWHj-4t_xJVOa?1^ah7RfN?=O|hbV!nVYirBD-gxuYTW|RE(@)l3 zXPrY2Ic$^7H(lP>Un-X_ntE|-OL^y=cE0ACYv#_Ix9O&v|Kx<9R$JQ=FOieptiH{qEyIgD=Hl$R_{3DSLY^adgVpGzvK2>PWb7GOrlCTj^fhbp+oxW4T47=^^=P) z{^LJhf32sd2d=8;yQ#n>>ADjq-f-=o7A#scv~#e)>Jh96X?ViA30NuArsHY84FRa3 zSS;!KP1-$t>U{{Zo zB1?f3yr1`~yMsYYlcMYZLHD8>+HRepJ?^1Z##NF>o4Z>(?z)06>-u%29_0 zMwnq|-ZWe4yb6Jo09u0;JC{*%_R3F51oFkv;G`TG>QEuFXfz!pBT_J!05o6Hj9^WL zH~OI~`^@_-&mbru7h6!fAR_><5NrZaUmy?C=9~(z@(xHWji^kkjI<2`FwY~zKmjPY z*(TK4w~i`Uk-w&17!44{Of?8GflM1~Du4=AAdx9Up@;~=;)r4}7g|Ig;nRMQmah^j zv`~w?UB=OiEmqJWBrUm^S1mxFpoABJ2lvJhFi2{R7_NlgJtP*i8| zk~zr6n_@)e3YM|sQ}~r>GX_9WU^^_#V9((Mz-FLUX@%n53a`Uab?Xt_H&9~}o@3`^$>sDQJ%*K;8 zd1=-gKl#Zq@4ffl9XDOy)6@OOtFQU!qYsZe`sn@k`TnneeeS4HBVT;(>3e3}^~94; zEm^Xxp43UCsopD*N>=F!2y8Z>b9@32ApuV~^_&3I$R{F1bnIxUj$L!yd+)yYoyprY z8i_!o$)Z6-;YEVCpf(HNN-A_ITdF*geS|*&C<1R_@T0n6y6Dl;LXI&y<_9H}~JBFQQeTG(Ogb^WR1r4(cM+O`SDG|*-12hb!orx82 z0)-~lIj4{`IB|hj%1Jm36~qpV2nYmPxJZi;5s6&XU#tE1qmOpm zd*9Tj_TH=@jP8k+vOoxcmOzAeUpVnDj+QK1e9-Yn&zti}Ur*21Uwi>@*IjoVHDct# zg$uiTmLGi3K~bfedTg-a#2aqDdHncs_e{U*x<6mJ=$i#U`q6&tthesxbHDid>#sie z;6Fb-_Bij;q@HfK?Y4K^dh7UgHrV$E`#A_$9ChSdZ@hN+ zp$8+5Z@S@TFW6+#MrWLJ_NBkO;Qe<${PonS+kbDzI4ZyY?z`ulb@o=1r~K@+Q==$) z^wCEpO?TU6rxYF#y?v>#-hhjBz0TX~Jj6MAFEpz|fK4on0aPTc5` z2WEEnbeE%YLsAI5PaPaUPY;2J5E9%G>ajrI0wECS8mYoq>M)cGan40_;zcQI@FhsK zIAqZ!2!UiV0%c?Y zrZyRgm2{I*a?ZtZbl<)A zeeloOE3LK$$ws5G@XIegpEvLHGtSUhtkvp-i{d!x>bmN>YyR`jJM%uD`^#Vca`R0$ zd-au<-+AL7*Ijp=G?K2aWe-01z~t?AXsNag9X0yoGtL~d=9)egh-QY~JmSmca%X4f zNhh6Dsg(BIXYYDFN&6eMr2fv^|6YIn4Ia4vJ`m+n+}c{ccWSy{bSsOwE*|~-(PsirI##Qun>SQ!AyVRscpC2W}jVl`}n6C50Guf{AlYr=Xjc2wLLrJ~V8{2LFz2{zh;ntgO*mvK3Q%X6GpMCDh zuRfo9>`5oxdduw)KrpDS^}z@KcI+Vsl{;EDm^ksid+xsT#+z=Ke)rz{?A2dS|8nb% z3%^+~b?Vg7qgU3ZRbCuYrlbNbyg;&QZT(ZU_3Oj$hl^Yu61Y}V_q|82+brK#U> z_uUUUc>k`hzC#W=xP?dnQ`CFd+gR<@6#LS8>v*{SVWfh z*7yIv1F!t!rT5=|-wDSb@ALql`f9b>+R-8&&p-Qoec94gCQdAs%e96GsBd>kydN@j zL>yPX{_?94Lx-nHYVm9#rtxO}f(Y!bqahw)=h&7S3Z)(TML_3Il)UEV#W&|=6!m}x z=;Tgm2oZtB14F*cjMUF(8O>Q+14*8YswON(5d7pM-DgqLMH< zB+D6v&%F&1;|Ud@AZ8|(nN|s_G*qzzXtwMG6t{}|Dm-Y(D1kmf*tABJqB2#~OqR?_ zRLo3h=(Yli?u2c%lnrH}GoWcqNJcmxFjWbdq+thy0Fu=eD1_3_-IHPIR@jhS3BUrN z8E3!-a$pLeOCPuc<47n6%Vy_u#89$7NKb`LxAO-U=RYTbB<%p>K zE`R_@h*%Pa2-QntO2@tc02ZKTJ?Q)v2yvn(8YGu2T~h1oAGy-XsrL{F==FYBLPQ`s ziPB6qnNoW#gu0I|qW5U{q}thW$shlaG#XJkM!9m}fd>s4GW5BZo_lH5Yb&iZy0dfe zsMSVCgF0GUtBFs?uf29hd*`%iSKNE=eWON<*m0+wue|cg`Sa)ZE?=J1lj+l^N99tv zTIn1-Boz!FF>1XDYhQWA6$HnwG4A9OPJI8Pj|O!NKKhtrX54r0E3dqI!%a6|I&Io6 zJMBDi;>MLqxm>RHE?;)vz4z?2tVZWa-kU9)C2B<0MHy>Fw_m z5Ds2o&hs9@Gj@ZH-C$@>1vr{PAzpuc5gu!-zQ(+{b3OEKCp}da^N&R&p(aJ}40H=2 zdO}y0cjiC>S$KqjOhDZWm>TFh5_)wgI53CKC>aSIpaJLO1%!ea1vZxG1}92VAZiB9 z?_A;7!A@OJwoa39^K7Nry?EF(xbb(yQCXwBt<%s+6BA4T6jt~c1EHkH~0fl=DeXxy09#)>ce!2scQ)J7M&3T8yhMR`Dm-)9(vmNN~E z8%J;P+k))pHy-JKT}QY-6~Q<(|IGqWvQ-J`dYFwG8|T+`tcsIQUEzs81LktHkPu9x zlLn*X0l=C{*m3=K#K_u|yiMl*@9}XzciH-CM*>rLg*JNGq1`q2^^S=DOHkNo)??4j zvb}zr*;HJwgm;4C+LvRZ`*FUj$-eoI?ej^eEhHjeW<70GbXqN^0;D2Gs*=%I-}@? zmd_!ugC}#NkbI6%^ge1p0wgae8(#1z(`Y!%hE@6Qc&B6ToEB4mPxTm3;sF0-IyS9E zge@%`U-^RyHX98o=9mX||4BI-SX)_zXHnA^7^w}ZOG5Nbz_xc4cwBU@^FI+*`H^NY zsM_?3w&h2FvNHI}R(l>zU+BNQKTHJ#IGk}AjvIGf$o#$?%`0+! z;{1Hty8rLADhL5FvfJ)*Oz>$ZRYY{SgG-DEA#t;-<-@7vuv847O4=|L5tx0^gM2^>sJwt2y$ z0V&U~A-ldi28C+?vx`Y=B+~C2_)kOY2Dj?2p@4(|+0a zdhfA&Xt6(*&IuDhMBmiCT6b6EG`t82;+#cacm>zI=X> z`(m}k#aeHBS&-e;vU*sW^YWYL{lM~^E_sCf#t0-EOx5LlaM8e-f(`qxqM zelbfWM&xA3E>Iwa$?)l)1ZGY1-GkLk^*rNo!7nN*lVSsVJ1fK5?b zAY&twEF7@$Q4#SINEjS9Y@H#Shp3vUd{Q5Q&=?B9K>+_r+cm(KKJUe54I*#jeu2|J zMxnd=i59HUjq^Kf_EtuKRh%!50ehq0%V$`&LED8r0Eit>B&=1$B)KTQXd%NGq&bR! zX@bBR@-#Jz^eHJ3ArIm2XfoWsw{vR=K~w=(@JP6-9l(5jP+jfHJ`fQoS|u|mJsSxI zgMxtKS^ZSs+qT4a&F2ANL{@OLgV@RU2HH4x;_cchePB=mCY{$R^ngxt$XmcDZ(5P9 zv;cmw1(FVmlxX>=IZTHJz?)|jPfbTccmxOsrLF!Bg_QZ=-xrcnEj5+pS(6i6$jnYk;>A>7E=hhvT9`@y6H6>D(@^_L z(lpkAJ8Y)`;Xn-vI`m(pY9I^nnH7@q)A{S7X)>9DocUb7wa)=J!a!YwgZJGD7_^jZ z&5j%MC5nR~-InW9Qb2InG>4Oanbo&EIJDX(B+Ig0{@i>ZQ&^gsYG{5>EEt)---n&t zRbMn-3J&cOnGyw7u zD)|X(hte8*C+qm|&{b_^Y5GXY&lnLvx*-KI^eAP1=k@9{!zv1gbu|X!f3PZJrGC+l z5Q;03BOS8J0Dg}tZq;NMU~zhVeQiIhZ&#U-q3|?oP~zpkZJb#!c6jZ)`*)oeh`HoC zl#R*1)3duO?7Tmo{eGJ|XZ;HnLsX~lynhRg6@3C3yv)u_Fd1~Xs9NkN(QAAVILP}N z!+*A|A_5D;8Q1?PCtP$oWBGymwX3%=&4?0fUL{M&fQtGqPlNUv)rdBI5JATN-m_d4{##pTCoJ_*;n28Q1e4Ajug7>j&R=7n zY+hr9u7;8_@L=vSb`9U zAgyJ>tlemgOuI#PNCszIu4PEteSg+o9M%_0(#k3ijJAFEVk1w$Cef$bMKo8U-9}}(x;BU+6i9;yo{A!tnrLd>{XPrO%r#Cml z+!Peotib*VDw<(~;)cKnT;jydA}#)>`me%|5=$zc=I-uob1QN| z-+h(h?R&TD!g`!pIi8qF?*TGIa$_URsXVD!6T8mF!(Bn4T$4dY?F6=gmOHb9jl4Uj zJ__1b!OG5U+-~<1t8ynrWAAdHmsXeWItP&tJR$Rol zgRR^PMqVpHF)0s671fp`v%XUUgv>g%8`F`jOHYE!2H$&Ur4&*I9bNZ~&sV?v9ScP# zYVIg?o0cneVb)EM?QC$KteFt1GN`iWbA$<&eKN5|r-LL85mYk!-dk{lhyUGUMS#_F zfB)*zJDu#qe4Z&Le0SX&&3%12ap-zDDj&*Su{rOQjv@U-F1PgkL&H0T@dBB%A zJ=9N>uZ*Q9qt5R?))!ZCFUIem$J4Vtyp|U|Q$&7kR`GUS1Xr|qwILzZvws~jaJu|t zk>x$T?dSP&Kpo@4LiB5(6-M4HBze;BG)(rnTipLMM1H(nJHCKK(R%*&httCML4x9l z!j^`G|2+WB_bzccox8&7YFMIMqR9>BKg@BiTR*Pl_e}_0H!4gB-~aM^bB0L(6~$J_ zF5%SS5bV!##id>cnGTh<=C^uPNXmMF@UbFyL)H16=!!qB-UpQ?V145L@)-q65YQ!| zu9>u|;DtATA-XU%n1@_OpaX-oJ&VAe5ZJ(|Yp9$|d#ajIYGC@>S0O2u8R8FWkp)G4Ni*3QI)FOv6Sa ziuAXW3KJ4ug%N_x_&RR5JkjXzECH&zG0UD8V_5DR2`E+cJtM@ox~8pfOYxFEjuaw_ zF8EHo6;d@U_hr1IzrW4~$bQ%dE+4q`ZBBsoS5G7G|< zr0(6Yyc`@rHq`n@Xqtj^=FW@wV_y^#Zcetw83axo+hjv^Yh++9ebylY!(?lJ7d{%kqR$^-|2Psa_N{|HVMcaPQn_6ZhBWwB^D`@}z>Dk@gZSJRG z`0(V~8ivgRS7vnQ{XZXA{oix$=vxiz@%izD-eT>hM7Lw#tq%#W%RRbov-e{CE{w~s zTkrjNe5_SvRKKv*E%e6MY237T`m|vpQ#JFSiHXVhSI8}zx2Z#xC?4b z2Vt14B6z+sQg5AsdXOb8B_59juMXg(l!|*l!s{pai5D5QK{xsQi!!-!X*x6oMXiQC zjo0#XL`j5)u6>|Lu>Hvr#&Im)QCU;Px)5yre0!Ts6g;n6C{^b7d3m@T^Sq9iA@_zw zvi8T*8+KDPCIs%Y==GJK2bo*Y(Yf50Job}oI=y?0B8kUBWG==Of!1XI!F@#D*wr>N zdfU?{d3su?)bHGlO4t1x=?o&v>#fm(p(y-xT=ALhSjH9fs@Se!C!FCtsUi&q`Wk1D zV!znIjhoQ#PccD!e2$a{x}b!oBr$;ST(>_~-6bS}vNoZF(BOO5H&hfv$E_PO7UCDK z^GLpZ(p$;K17>(CET1A~Rh1JORcgUyPn1AG}WIQa2}8 zXO?-{(pryd&O4u9G?WGQ>lxj2J905Mvs>0l|FybRSm}>vH#HT>Q7K~6JXFpp;`|Aq zJt;~EA&VnX^Bx9suuXQ~!puxTzqJY9tL8|!CG32hohGjHHmUz&dH9i(wrE$w!Hn+`P7N^X#wUl^9 z+a|S)mY^W#dA7;i(SJ?jsQqXNwS_|d5WjAOX7d>p z_TND{{qaAR!~t|60f+!MGCDxPeTXasOJK~kxbVL<{BQpy1J#t(imf%~ot*o{5T=Z} zCIA35n*4Mn7<7}(#7&}6m8MEYPE)*5ASqH?maxkBB)!pwMI%#3hJTmZ4OAL7YuaR# zMAZ_;6B#Ie(`q%0C>ED+)Dd?2avFoy#E2DXS*>UbWHbZzpo`<(QT11f2V=qijfdQ)RU2fMg;MJ;fUH(BZx`j-Z-kq1o1tjMon7WPIgX-$$85< z$)h+`1m{C^;U7#IEVcZ{6zADph82+NBpfl8(sD?8axKIa_#eK#~ z{_c{dM^m4l#$%GD2I+%WMRm=~)<{wnb@E8I(HviqfS?5cXp|)BKjl=(Rgw%v=Yk`c zQdEf>e->uQ6eaOuFC;*milY!r@(rYi@v$1xe_Gmnjj-I2+AgD3a)49h^vCKI6NiRr z#KOZ(784*JF=VOIJ2gx9rx-xxB7Ub6qg$f_#j$q^i1H|L%&*FtF4YqF8=HrRG^ZEC zBp^*d7aH}(YB3^XG%f!;tz%1`%xLpMTs&I5{I@SS$!Tp!#3AVGS-wLmzMjkO z_L)Lfzc)(Y)^BiWmCCecZf)j;F87D-SG?pJrgT~yUr89(NqL<5eK19Den+ytTp)=q zo%aO3-@Y`+kUP%iJfAdN%`Mcl9Z_DIE@Tth^Ltz!VE6gHAB^Ozt>sgP@MJ294@QwO zCves8rFK0Gpusp8t=ln~^}DnCIbPKb^K+Js;H_!-Vm+(I`h<7{=s_eEGesmSU~nKz z__VNu5HMz5p;s=hRP;&C1nDo3S&|qF`b5X7#D2IOvV}wqFELFH7tM+tCe`+_7C0DS z5)2pZVwZ&3+lBzm&D|qQp%aX_v`n-gnA@fc<&Ee`Q@BLtuJ-YZ11{3SD6CP7dR6H^* zWJhsKR2#D7jn|$HlPY%*N>5t&83&yt)Ed5LlttWBh!tOal5r{s{gCWxP~RcM(`PFP zMUW|t*J`UjSn$;4DZTXO#zp91S*A_Ub8-ZkBZzZcsIa|aySv-=Z|p&!mjhza|N4ZYSAAzl~%a0gra-mXGH^;x8!!c zU*qXD_j@;3X)o9?$3VyEW5jBN}#c7DVwtK}cf^uFcx(D1Ru_g(71)1L{%o#yN&T=V_S{1JS zy`eGW-1W(iSOLx`A8os(Fq~|nlrbpdXe5x~z(hS*5Q>0Akmuefh@|937A_1WX+8xX z)va3EvKiTfGj+(U;3=-=Liuwl8?1V>@FiOVPfZ8<9RLxoq*tgA&Hu^!NF4;GLdS~( z1xa>vri0~{UU6%$+590F6l`o z`)2%zTf@R1`3W3JY%Ce%vX$ercevVw95~uK!lE zU|pVQmgms-iO{h2%kD^~eV6N0fz(%8+spoGT9`uewr}id6&arRLHI;gT#u4woPk|Z z`~nDTq-JtBZo!n5*^ESLya` zBuYw7&Mh7uW+&2ML!0zmSD$VH(_C_J`vwdNC34(K5*Nud9u~Km=N(N>%LsxW4q-mZ za+2)y;@p4bZXrc_4(L%7qE@-DsV_Ip%SMm)e+!3H{*;{~;RD9}VYlM<;dts{z*HqR zT>iiZy#%;_4txH9yk1*MiD;63^Jm(+t|>T^;UiZVl_mrB^am8gCGKRqoJmBzRM}xe zD{W0V>4XXy1~Z`EFlBzD7V|e3@kS00o7DAOBnnE91)Qel|EDE>ue%h%a=p&U@yAX9 zl=qFT2oh^kPgm_b5RHQ-#j1-7Jxc@t+73oDi9;mes=bpl^T>p>A+%A#0C9y{yM8T# zKq{c2Mo~n$KVB|zSVYo;ls#hfZ_+U8C#gUd{c5EmWc^7=l2W%qJatA5DUQu0DG(lT zKr%h>!$%>7t=^|Oe&MI zuGs%Mb^L?$)8yyv{pBy@e{ zo&@0cJhVO(O(x97w()b$Pv~C7aoUz=z@p~mdH0@K_vPh!LiGBE6L#tQ;x4nVrP1Q~ zxXvnk_q>kw`(K^DVlMyJ+n@gx4o0U7_$&>p6$(xtx$+v$tj>7d{o40FN&8x&xaxG? zdFNq1%!%H5zvlJKbN4M;+IW3XROD)Sn4Ma%t<4)bd6xV5ZC>A=OxV-R9oC@KP8Gi1 zSvT@<9WZo%N8K{WFbjO0lON#UCrMun#uF2tnua?d#O(~RM=9!|N{Um>>kbWaJzj_+ z_=vuqK#wq;Htz3%P?D_a*KI8Ge2Ys+pUkr1%!Po!M9=eon-I%5Jc6%!iKIv>9jpn zmXsNTuTDJnkgY!)#K8b550cRQ+p*~O!KSl=eLNG+neRv{*Xgen3cL`Q#w!%v6@{nD znAhnc-eg|e_*9#l$~A>)9csu0h898=kW)!T+#xXnMJZ@)^H=4SLWMZR98 zO;PWSX1tEh_)U1DZNRQ1dR08$KPC!e-!{G0+wgO`yPmcEe(cl{={s~DSGU6`)15GF zb$`XK<@qeux8ofSDX8C0r^R%%Y_q# zEem(>Z=AR=abOs}19CtZyi^cYDXR`bW^`}wTi5H|y8F>iIl+WEO~tY&X~{UHY`{g` z&=1Kf6}`h%&8fej4P8yXNZ4@Thb4|IC44WIcavWG`I?t@rB1VH-_oj^{zE>d z&ySObaN%rWTw43f5d~Hzy$*Njvbme)pAafXakm?n^R8ukGQ;fbRSB5jz-cp2`gzMB zfkv)a-Ld(rD;CWM5*}N{>7sdEkDcmJKj(=WQI9LRXXZuGAU2qJX_3Ox`8Y_D%Hm@^ ze|P;s^a@@#kI(0xrXGt9nKI6F^~gQP_eF)X!~tK=H?Ia$jH5uU=KjMW92VBJrjhQi ztqN@;O0uRJ182kH25r(Ir8K&1;cT*|No#VyQKW@RgUcDOv)snHQKd0+f`=(wkzcPb z9`wI68B_hX8MS>5f^gkezU`;n!@SVH&hMV4z2og#He_UEhENcq+^qhEIE8{fa<3Qp z&6@-ZtovHydpS}(A@rIbOS-__*#2vj`kDn>#a7t)a~6}&5o`Nd*LH|fm0s1=tcD8k zpZ(hlBnYd%5(OIqd5A-a`&M;!c4pVId{$1I^W*E|@mE^Kv+6B>uk%|Ucx6z}Jg51~ zUCy&s*WC#0$BKk>Y*n?7i76V;$l<(atDcnzF8hzcBn7Zamh7lJOophldDdB15GGOVhpBnzJlusCbCyBCVw+d5okD zz_Rps%pDLe#JqqABG#e*G;pvY7K!$}rAqtBs+G$Yo#@f|uju+?^#vqw2PPx6mN?MT zg&bkenH9V3a6n=6u-9zjmrQL3JsX{)-})NrtR<<0>QTJRPUiBY&d!1L&y}Um-vs*- zG@B{yk^o6+WusT|?s63Ak~K|JNY`S(wiZ@!L0Zt0aWVVGKil5ChEw&FC*p{6?r*tN z#0tM?0iVz$5s2FN^q$9+bYkqv#3S&)KRd;xr=tezBJzP)h^AhC(xvoMR6@w$SOR@a z8C5D;)H#DqP0?f~C+#{a7t+5nytw-GyW%N}dQJ@W2MNewT zA$bJsrg&9&L_CEh$U!>;xp;hx$0Y>)EWZv=f&gq-Z6AU`{?y>w*C3WR`4BuP6}niK zNLbm|PZ~P~^vXFd&=|N{xUnk^BSWPY7rW+l3ztEt3FC6MV{~Po3jMAvzu(}VdDB?L$lGsdaehiBb@!(%cJw2y`a@d(wqOAbc5Is z3htox&$--}ll}J7woHWtP8Gq|3BSjg^xR*0h4ZWH#4cqoH+ReLcd4S;SLxSUT}{@z zBo6jVwU;mi7y+F_N8MI%su6H`D{GOC7=xyK;+ConG7|C!g(N+8#3_+$KuhHxL#DB^+ z-5eMz0kCD)Kt{wW7#S!l2_}z{V2VIBh+|69qIacAElis>rSF;*`D`ktvc#iSgp*_| zheah{%7e?PN~#J_SH$e|Cr`k}8cWnsL{AJWJ$2zrV8PbbZ0O4G%QDki98UuLh zS%dAZeId-oUEYH{*WR3#mEm-_h7|rl#2uw}&(VFUj{()$f&$jvUJt$d?{D`g8YQln zhn#~*10cDh&p+FNqew{JR6_@q0Z(0Fu+gouO<6o%tq3yLeUN;pV% zhbFXgnJHmAQc;5Vo+;rw|LSh3XFzvLz^MLS6l_bHVjv`o4QnzxFOG)(Ne>AM#XT6XhKLU{ z%#ARH6~4M)AZD8RZ6z^`c^ljEOg8DC!<_JC~E`^P`8>q zul;Mk{(c#I#Egjgho%?uZn6dL<-Dex4F3!KiGTlOQzLXetFb*8>tlU5?cXI5cG9~2 z+uyUHqM@O*)ctN{QS|-rR3TNwc|8zw;rTeZnw&BqjsstOF8B`WR5sog*J$}R46 zJ06Pn-|m_+?G0Opax$MX<(dR0%O=u1Q~i+ z0E@bLZY8lA+y*}ij;@>bR!<1s&i?m)J8t- z4u0#{GDXCD**An5x4 z&X7Iuj?6AUK|GA(msK0|zH-VSL-!(^JM@WXc3|T+)vTeI;E&A$j+`W(#?9(qDng!o8m4%W%?^m=mv%fHqA`_^y#ftdXmqF zXVe+(kb-H%|M&|T_Z;3vS26VG1pU@s%}U|Bv$-lEc-By@ONe;%Z@%M zLAMfRcHyyvff-BM%Wf^HK3HiAS+G(KlM@LG9AYp#ps4%fAKrAb_L5pAyYrxiLhj0Q zPoNMHaDZL*`z+^uUfQ4Rd96q=YOs84m37nA#_N6O%{`3lo8|0N%;7O#`KQ6$E2K;M z;OH#AaoSdWI_6TN#PIu{VrGh`?W7KCGH{e>#6^hG*-}9UQW3b_fejK-k-L8~ zDnj4(Di^J}X_d3iMs6p2(XD#vr^v|y`n@HCsmDC1_IvZ^ViYpU zJojojBQ*3rp!l}Y-w-J9;8TAdUZrH2S$t~$&7Vi9LrrFgB*hyYLCgpfA%%3cEP=uR zo#F@GBV;CHO*(+Qx@*G}M@f9lFJ{S{b~VDX+Awmi-{u7Hbp6f1FU6d-2}R4}>97L5 z%BlOsCY%`4CUTf8kYg!Pj~@cBt`z{mq7pHKyQ(34>$F^l@4mY|Zpq>~Ey;A~xZ3(l z?s0ROzC4=KVzN0}WucTMgaXu7(C+R$s-G|vu{$P$b@O(yL&=?B<%#po_XKQenYV-X z_49)=rEHEl-g^0}W~arguOe5Qu$A7SF9c)RLG+w+Kc``=!$Tq0V5zc2_VDD)pz&S= z?#KEw=G)nQ*L62c9k8hBa60+t=o8(BnJ(+vx6}l!H10O-Yr`-kBSV3L=j4k^OG%V} z&iw?;&5BK%H|Q$N^njJ~SkXXm^r)0@hP7evw^dtad3-d#THxn#em*L`;;%?+&@etQ+d;TF5a zn~WJd-6?QqF-0zjftTv%5Xygm{N~S=4Mx7$3Yz6DrR%`;zfY%eQ_08Gqd}2?vh3b) zp%S@pD|?pS>qCYCl;ym5Jr?&H}8L>&?4c>nz|G?e`9mi4^s=0oSEm#E0jFy_te+-6pxGtSd|CE3C9lde{m! zGvW7^nC#H)JW_7Kyyh<2sP}rjQ0;lG1lY=wmdWG8j;DD5-ZeXkLg5h?F z@~ZiochLtc1S(xIgnqp(U8)dzSo(@ympr6D{gNAe{0^B@Kb%< zCJYHbH^tb_lmvU7Igjz$D+>H%kwZizDZ?c1_@OpR)Uv)w(Qy_+BFykT{}72JTI=g8 z>`}DuttFtIN3Ro)RbG4P;*4(u4mjSQF7H>J7yO@DHyYrK>Fe@^llT~RSNjJ{V|^o>BLoO;$THDof`stOV5vgn@bYosqj^4 zLE^8j5~={~(!?io6)cu6hv6XVtjLK6Rs1|Pb?HZ)+1bXKU#-WX^WI`>!O$QU834N! z2%IEVMD`5I`+_@Fwxn4d2H@^apby-w1^_HEun(dWtr;`5s26nvF?#T#x+Y#rj&?`} z4FM%MO-y3HOA3Eefp2Wf$D00VS|Zi?aZ0o2Gh64PA?^YtElC)g=p>WcCE3?!%Sj5RxQic2v`AyF{!q2jo0H9$GGu+3gX`fMGr-Eg$N-fJomxQ|VnwgeV^R9)!uB zI{aL_T`FS4Ieoh^NqXqom;^tX34Q(*z|QjY$Ek)R4H8PuA!D(Kw!hTc!x+lX-gyUvFyGU1%TnrvDSmi;OuptMUKutw2`lp za%gB<(C{k>*ra=AhDJLVR$O;SuxdkZhm+LEN^dunIb?|~9Z@A95w6n(R|H-oRg*+D z0C!+MpLO2v8o$V|58hT6BH^i%-tYz;&|NfVe#WxFGpUmWgeyGp*tgv+9mjnRrEr~v zaGK@7YNN?Ti&x4Co)x>4y2CU*@K|z*BQQ(Q_i3BL`?akmf9>Tr_X7F*rONEjIV5uL zgMO8)?~lc)uP-si*}hL!?I&H&lktUNG(WgF&kdH4bsOf6&d&umgK$N@?`&$6s$@3b z-h@)TtP0x9JLq-4W$)G~<%(QyhLU@4VRm(nHInUW%)GMYq3qShk<@p%*IxRA2Xhq!(oC0bR=x$H34 z90>fU#-A_4DleJW)gTmD(pjRP;}XVH4rd8lKgx}-$C~BBeGyGGM#|&B<4NU7!v`%r zl59|K}y-nuZV zr{&U+6Y{x*w)u;VV@zVY_66B1VdwM=wI!x$+hm(QNha7LBsb{mP3 z-|d{S$Kj%%W<}F$Drw^ki(o7fKh=Y+<$0~+*A}eaNy@&ir(_$PAVMQ=)4svCKl;k) z05rFJbebA)HfrSEEL!t#@`&b6}V+r$$MT^lA%Om&3eq;}z4tX3! zO1Ok%iYR6axZbb2z1~%|_-_50iPeeULPM)duWRh}Dv>ot^OsmvmoYqizUu+U)! z7EY{xf=rY-%6)Pje}pkb@`~VZ&8v<$WGkl3Dz-Wa~((G@)N@YiW-hvRkD2tODD($9j{7yKPTdeCE)3DlDa)? zI&@#Kf&ux?|AvdyNd#mX+9lpYmL_2_PFpe7UO606gsKgh zD6;qT_owNs)8>wY!0UN|%+F>~mT(2NjiuIhXNhazXQoL(aH) zVqHX9^j;K!pJ(OWLS0S+^?@G*hAsSiZCV%8<$x}iqXGa%wG49tY2s`45-Jl=?LqW2 z+G#2SYuvtm2ZD55u1MIY$uxSv(mwz)wt;SzY#7b z=%iul8=}^DeBLx+)e@xgP8HFPd0lY89|xMO1BRY$M4eP#QI7lnEzUG$M18St4W43=joc;}B&mI|crFqJby z>v_>mNenv8Rg5#BDKo1%4(38xFI2moUCh$&{nJ*AZbcFU zqv>QuVMjnAotRM1Z=+lKLkjW$J$sNfJT-%A;BEmiZT37yap55IN9y~~D_$nN{EA#Q z*<$P=u1b_h)FgsSY{zRA+&&YRKzTV+s?(2TK`Fdyg6d!o4j?q9-#lEo2Ph4X>evoq zV9K5eJK9}3k__U#Ra_&LUQKk^SJSt(;#|P?T&AHBH4M&@|3HkCk3J{HPj3T~90vG@ zEd>PSG@=kAjq{(MlGFCcCa6jX82V5iw5^02=`m;)BafzVRVm49eEN-(AfjD?OEF?BI*kwU`4n!)3VhJw3J<9?Q1GsQ5_1)HS9y;6(u#whEDKih4>r!Bp) zd6+2kJbX?LsrYrg7Rd@@C6l@R%U`o?IvNYtx4&&LetQyZS@k^SHWs|?kHsVtJVSz^ z9Xk-v^m42+p5jmp=WVl{M#@>cFKXT&&+Ozrot~fTx0{m@`Cd=LV|i?BiV9s_oKJDz z1X8>V4-gtYw0oV2T%~Q_i(YJG-|KYTIQVrQhl+j__I`j>wB4?w*A1TbMNgaWeOctZ z31(%?4e`ul_4S;-no9+`mt0*h`+bMur)GbWjdfuF{XbJtiYpNK??nR~wImN^hAJ}i z%5mU@@7vvwk^8Hw47Kqt#n~*AArPDz}-aWFELa> z4C%b3Dq{NF>Lnn!_^|SeplQq^%g;an3Q7cB8tUcxdd;6Dy!oDqp^0^J>Ry8B3b z8uHAM)CSGoZRGwii4*jAf5z~%Dnu3mcmPBGuSh&T|NF&&$7|`Rk59|bXTn#36sHbc zfnkARt5~1VJ@I2ahd!fJS!h<^0A=!v%si5L(!RRziftU13w5eRefd^ekTRPt{W!~0se`!4s*mG`CgL}2V-+DW{q>- zU~>1e-TJHhqR&KQg4>;&-{Ht#W52`VmNjp$leDSs&U<&>bx&t)i-n)Osl8rB$y&q8 zFa1N4mgt!rr>qk%+~uwLg@ePj*s$C_{{8xW1=_fXLIUjNrfhCB5x`Zt^SBdX&R_Ei z_tDmM(YsPuRFErE#1Z()j-f_ky#d9-fM*3^_lHA!OOtnM6jG}_x1$3;tccq1bSxON zq5*I7AIB~6@o=FuK_JW0WO}^cAK6@ovJ6L4WvtkPS8Y_eM7&sEj*QPKd6sLzZA^ygFIs{g*Y z`+hshsSpb5^Lm~f@H@9S)Ng^K5k=j$XbDe$?e~U~8dS^^oYXH|eS-x${}yz;y~$S< zYE`+qxS4e=S~iDZP_SFvt-xYn-qMy<@EqSa?IWj)5)eSCY-s*iGC^iApEH!=(SJYJ zt9pK_ZVZNOZ+QLidRy6$puRHL)pd#cnMJ4dxDjR%H=Ob~w`B5~&mMU0@p5;BeuZUO zHW-_ZELfjcDr!1~>?#g5J}c$0If|=HU};xzWh(7Y``qa}Ee+)Q?4SOpub5VQ?u&#@ z!C6hjaUJ5!d@d71;&yzuF`xL>aeQ4k`NtvUYfc+g}<&ax9XB}R2t7UT# zrWQ(Zn@=M~FlqTM+FT={|Jime22D!U!5oh223AAK7O{JRbkehU?A55`KGuDm__gse zqby1dGV(l>5{2|RjzOC6X=c^!OwoFR?3`5|^+#P1C=kZJHeFPX zain6Xwi+P5j?!*l>U+=y&}H*Xf$KUnOhE)XBPN{K3IvwNboJwmCiV%cgPfpmY0m{| ztCc9s@KABn9f6m3r8zDUU{j#{=OALp*JYkDArGGA6rY1??mbfyFSznZr=|)$iTo`% zFMg7IcWP-E&e?umb9yW(=7c+W*+cnInt482r-da1h7|_AY#RD^B@kZ*kz5OoD)9;G`hV%h%Vqckh+rv~q^kIMf9V|^ zQQUf}HM!Yb!?%oB)*7t-RD2E8=}9gq%$6aKVAq2KMD

2-jVR0)ZP0U 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 literal 0 HcmV?d00001 diff --git a/运营中枢/参考资料/卡若复盘格式_固定规则.md b/运营中枢/参考资料/卡若复盘格式_固定规则.md index a6f506fa..a7c49dd0 100644 --- a/运营中枢/参考资料/卡若复盘格式_固定规则.md +++ b/运营中枢/参考资料/卡若复盘格式_固定规则.md @@ -4,32 +4,49 @@ --- +## 五块与图标(必按此写) + +复盘由 **5 块** 组成,**每块必须有对应图标 + 小标题**,顺序固定: + +| 顺序 | 图标 | 块标题 | 说明 | +|:---:|:---:|:---|:---| +| 1 | 🎯 | **目标·结果·达成率** | 目标+结果+达成率 XX%,整行 ≤30 字 | +| 2 | 📌 | **过程** | 1、2、3 分点简述做了什么 | +| 3 | 💡 | **反思** | 1~3 点:做得好的 / 可改进的 | +| 4 | 📝 | **总结** | 一两句结论或可复用经验 | +| 5 | ▶ | **下一步执行** | 与本次任务、未完成项关联的下一步;无则写「无」 | + +书写时**每块标题必须带图标**,例如:**🎯 目标·结果·达成率**、**📌 过程**、**💡 反思**、**📝 总结**、**▶ 下一步执行**。 + +--- + ## 格式(唯一 · 必填 · 带图标) 复盘**只有这一种格式**。每块**一个图标 + 小标题**便于识别;**目标·结果·达成率**整行 ≤30 字;过程/反思之间可插入流程图或图片。**禁止在复盘块内使用表格**。 -``` -[卡若复盘](YYYY-MM-DD HH:mm) ← 强制:须填当次回复的**具体日期+具体时间**(如 2026-03-01 15:20),能加颜色则用颜色标出 +**复制用完整模板(标题与五块均带图标):** -🎯 目标·结果·达成率 -整行不超过 30 字:目标+结果+达成率 XX%,同一行写完。多任务可拆为 1 2 3 三句,每句仍 ≤30 字。 +```markdown +**[卡若复盘](YYYY-MM-DD HH:mm)** -📌 过程 +**🎯 目标·结果·达成率** +(整行 ≤30 字:目标+结果+达成率 XX%。多任务可拆为 1 2 3 三句,每句仍 ≤30 字。) + +**📌 过程** 1. 第一步做了什么。(一句) 2. 第二步做了什么。(一句) 3. 第三步做了什么。(一句) -(可在此块与 💡 反思 之间插入流程图、示意图等。) -💡 反思 +**💡 反思** 1. 做得好的或可复用的。(一句) 2. 可改进的或下次注意的。(一句) 3. 可选:结论或边界。(一句) -📝 总结 +**📝 总结** 结论或可复用经验。(一两句。) -▶ 下一步执行 -结合本对话与项目/卡若AI 整体目标,给出与当前任务、未完成项相关联的下一步规划;以实现目标为核心,可参考团队讨论与上下文。必须包含本对话**未完成或待跟进的文档/任务**;无则写「无」。 +**▶ 下一步执行** +结合本对话与项目/卡若AI 整体目标,给出与当前任务、未完成项相关联的下一步规划;以实现目标为核心。必须包含本对话未完成或待跟进的文档/任务;无则写「无」。 ``` **可选(仅当本对话涉及扫描任务时写):** diff --git a/运营中枢/参考资料/输出目录规范.md b/运营中枢/参考资料/输出目录规范.md index 670a0251..60d95347 100644 --- a/运营中枢/参考资料/输出目录规范.md +++ b/运营中枢/参考资料/输出目录规范.md @@ -44,6 +44,11 @@ 若新类型出现,在本表与 `卡若Ai的文件夹/README.md` 中同步增加说明。 +### 流程图与图示(强制) + +- **格式**:流程图、架构图等一律使用**图片格式(PNG)**提供,**不使用 HTML**。 +- **存放**:对外给用户的流程图存 `卡若Ai的文件夹/图片/` 并按规定登记;仓库内参考资料类流程图可放在 `运营中枢/参考资料/` 与对应说明文档同目录(如 `卡若AI_每次对话逻辑_流程图.png` 与 `卡若AI_每次对话逻辑_更新说明.md` 同目录)。 + --- ## 三、与「经验库」的区别 diff --git a/运营中枢/工作台/00_账号与API索引.md b/运营中枢/工作台/00_账号与API索引.md index ae32db0a..14d3595c 100644 --- a/运营中枢/工作台/00_账号与API索引.md +++ b/运营中枢/工作台/00_账号与API索引.md @@ -100,18 +100,6 @@ | 说明 | 必须用 API 或 Web 创建仓库才能显示在界面;禁止 SSH mkdir+init;推送统一用 HTTPS | -### api123.icu(UnifiedLLM 中转,阿猫 Mac 默认直连) - -| 项 | 值 | -| --------- | ------------------------------------------------------------------ | -| 控制台/取 Key | [https://api123.icu/console](https://api123.icu/console) | -| 使用教程 | [https://api123.icu/about](https://api123.icu/about)(图文在页面下方) | -| Base URL | `https://api123.icu`(部分客户端需 `https://api123.icu/v1`,按软件要求) | -| API Key(阿猫 Mac 直连用) | `sk-h7VW10iTSSXo6xJXe44nI1vUhsEcG3H8Z9XyFmWABvhaD4ZW` | -| 默认模型 | `claude-sonnet-4-6` | -| 说明 | 阿猫 Mac 上 Cursor/Claude Code/LobeChat 等默认 API 填此 Base URL + 上表 Key;详见《Claude_Code_api123配置说明》 | - - --- ## 二、数据库(明文) diff --git a/运营中枢/工作台/Claude_Code配置诊断_20260320.md b/运营中枢/工作台/Claude_Code配置诊断_20260320.md new file mode 100644 index 00000000..f8c84407 --- /dev/null +++ b/运营中枢/工作台/Claude_Code配置诊断_20260320.md @@ -0,0 +1,87 @@ +# Claude Code 配置诊断报告 + +> 生成时间:2026-03-20 + +--- + +## 一、当前配置信息 + +| 配置项 | 值 | +|--------|-----| +| **配置文件路径** | `~/.claude/settings.json` | +| **API Key** | `sk-h7VW10iTSSXo6xJXe44nI1vUhsEcG3H8Z9XyFmWABvhaD4ZW` | +| **Base URL** | `https://api123.icu` | +| **默认模型** | `claude-sonnet-4-5-20250929` (Sonnet 4.5) | +| **API 服务商** | api123.icu(中转服务) | + +--- + +## 二、配置验证结果 + +✅ **API 连接测试**:成功 +✅ **配置文件格式**:正确 +✅ **API Key 有效性**:已验证(测试请求成功返回) + +--- + +## 三、已执行的修复操作 + +1. ✅ 已运行 `fix_claude_503.sh` 修复脚本 +2. ✅ 已清理卡住的进程(PID: 11144, 11125) +3. ✅ 配置已更新为 `claude-sonnet-4-5-20250929`(避免 503 错误) + +--- + +## 四、使用说明 + +### 4.1 如果 claude 命令仍然出错 + +**请完全退出 Claude Code 后重新打开**: + +1. 在 Claude Code 窗口中按 `Esc` 或 `Cmd+C` 完全退出 +2. 关闭所有 Claude Code 相关窗口 +3. 重新打开终端,执行 `claude` 命令 + +### 4.2 如果出现 503 或 model_not_found 错误 + +当前配置已使用 `claude-sonnet-4-5-20250929`(Sonnet 4.5),这是 api123.icu 默认分组通常可用的模型。 + +如果仍出现 503,可以: +- 登录 [api123.icu](https://api123.icu) 控制台检查当前套餐/分组下哪些模型可用 +- 或联系 api123 客服开通 `claude-sonnet-4-6` 通道 + +### 4.3 如果出现 401 无效令牌错误 + +1. 登录 [api123.icu](https://api123.icu) → 控制台 → 令牌管理 +2. 确认令牌有效并重新复制(无首尾空格) +3. 检查账号余额/套餐是否有效 + +--- + +## 五、配置文件内容 + +```json +{ + "model": "claude-sonnet-4-5-20250929", + "env": { + "ANTHROPIC_API_KEY": "sk-h7VW10iTSSXo6xJXe44nI1vUhsEcG3H8Z9XyFmWABvhaD4ZW", + "ANTHROPIC_BASE_URL": "https://api123.icu", + "ANTHROPIC_MODEL": "claude-sonnet-4-5-20250929" + }, + "anthropicBaseUrl": "https://api123.icu", + "anthropicApiKey": "sk-h7VW10iTSSXo6xJXe44nI1vUhsEcG3H8Z9XyFmWABvhaD4ZW", + "defaultModel": "claude-sonnet-4-5-20250929" +} +``` + +--- + +## 六、相关文档 + +- 完整配置说明:`运营中枢/参考资料/Claude_Code_api123配置说明.md` +- 修复脚本:`运营中枢/参考资料/scripts/fix_claude_503.sh` +- 一键设置脚本:`运营中枢/工作台/阿猫Mac_设置api123为默认API.sh` + +--- + +*诊断完成时间:2026-03-20* diff --git a/运营中枢/工作台/Cursor写入优化方案_20260320.md b/运营中枢/工作台/Cursor写入优化方案_20260320.md new file mode 100644 index 00000000..3ee6244d --- /dev/null +++ b/运营中枢/工作台/Cursor写入优化方案_20260320.md @@ -0,0 +1,283 @@ +# Cursor 写入优化方案 + +> **分析时间**:2026-03-20 +> **问题**:每次写入 26 MB 太大,需要优化方案 + +--- + +## 一、为什么每次写入这么大? + +### 1.1 根本原因 + +**Cursor 的代码跟踪机制**: +- Cursor 不是按**文件级别**跟踪,而是按**代码片段级别**跟踪 +- 每个代码片段(函数、类、代码块)都会生成一个独立的 hash +- 一个文件可能被拆分成**数百到数千个**代码片段 +- 每个片段写入一行记录(~370 字节) + +**实际案例**: +- `index.tsx` 一个文件被写入 **33,019 次**(33,019 个代码片段) +- 最大请求:3,757 个文件 → 3,044,085 行(平均每个文件 810 个片段) + +### 1.2 数据冗余分析 + +| 指标 | 数值 | 说明 | +|------|------|------| +| **hash 重复率** | **0%** | hash 是主键,不会重复(这是正常的) | +| **文件重复写入** | **严重** | 同一文件在不同请求中被重复写入 | +| **字段冗余** | **中等** | requestId、conversationId 等字段重复存储 | + +**问题**: +- ✅ hash 不重复(正常,用于去重) +- ❌ 同一文件被写入多次(不同请求时重复扫描) +- ❌ 每个代码片段都单独存储(而不是文件级别) + +--- + +## 二、这个写入格式是否必要? + +### 2.1 必要性的分析 + +**Cursor 使用这些数据做什么**: +1. **代码变更检测**:通过 hash 判断代码是否被修改 +2. **AI 评分**:评估代码质量(scored_commits 表) +3. **对话关联**:关联代码片段与对话会话 +4. **模型追踪**:记录使用了哪个 AI 模型 + +**是否必要**: +- ✅ **部分必要**:代码变更检测、AI 评分确实需要 +- ❌ **过度细化**:代码片段级别太细,文件级别可能就够了 +- ❌ **重复写入**:同一文件在不同请求中重复扫描和写入 + +### 2.2 可以优化的地方 + +1. **降低粒度**:从代码片段级别 → 文件级别(减少 99% 的写入) +2. **去重优化**:同一文件在同一对话中只写入一次 +3. **字段精简**:某些字段可以合并或简化 +4. **定期清理**:清理旧数据,只保留最近 N 天的 + +--- + +## 三、处理方案 + +### 3.1 方案一:禁用代码跟踪(最彻底) + +**方法**:在 Cursor 设置中禁用代码跟踪功能 + +**步骤**: +1. 打开 Cursor Settings(Cmd+,) +2. 搜索 `tracking` 或 `code tracking` +3. 找到相关设置并禁用 + +**注意**:可能没有直接的设置项,需要查看 Cursor 官方文档或等待官方支持 + +**影响**: +- ✅ 完全停止写入 ai-code-tracking.db +- ❌ 可能失去代码变更检测功能 +- ❌ 可能影响 AI 评分功能 + +### 3.2 方案二:定期清理旧数据(推荐) + +**方法**:定期清理超过 N 天的旧数据,只保留最近的数据 + +**脚本**:创建定期清理脚本 + +```bash +#!/usr/bin/env bash +# 清理 ai-code-tracking.db 中超过 30 天的旧数据 + +DB="$HOME/.cursor/ai-tracking/ai-code-tracking.db" +DAYS_TO_KEEP=30 + +# 计算保留时间戳(30 天前) +CUTOFF_TS=$(date -v-${DAYS_TO_KEEP}d +%s)000 + +sqlite3 "$DB" " + DELETE FROM ai_code_hashes + WHERE createdAt < $CUTOFF_TS; + + VACUUM; +" +``` + +**优点**: +- ✅ 保留最近数据,不影响当前使用 +- ✅ 自动释放空间 +- ✅ 不影响 Cursor 功能 + +**缺点**: +- ❌ 仍然会写入新数据(只是定期清理旧数据) + +### 3.3 方案三:减少工作区数量 + +**方法**:减少 Cursor 同时打开的工作区数量 + +**当前状态**:7 个工作区根目录 + +**建议**: +- 只打开当前需要的工作区(1-2 个) +- 关闭不需要的工作区 + +**效果**: +- ✅ 减少扫描的文件数量 +- ✅ 减少每次写入的行数 +- ✅ 降低数据库增长速度 + +### 3.4 方案四:使用符号链接隔离大项目 + +**方法**:将大项目移到外置硬盘,用符号链接连接 + +**步骤**: +1. 将大项目移到外置硬盘 +2. 在原位置创建符号链接 +3. Cursor 仍然可以访问,但数据写入到外置硬盘 + +**优点**: +- ✅ 不占用主盘空间 +- ✅ 不影响功能 + +### 3.5 方案五:等待 Cursor 官方优化 + +**方法**:向 Cursor 官方反馈问题,等待优化 + +**反馈渠道**: +- Cursor Forum: https://forum.cursor.com +- GitHub Issues(如果有开源部分) +- 官方支持邮箱 + +**反馈内容**: +- ai-code-tracking.db 增长过快 +- 建议从代码片段级别改为文件级别跟踪 +- 建议添加自动清理机制 + +--- + +## 四、推荐方案组合 + +### 4.1 立即执行(解决当前问题) + +1. **定期清理脚本**(方案二) + - 每周清理一次超过 30 天的旧数据 + - 预计释放:每月 ~500 MB - 1 GB + +2. **减少工作区数量**(方案三) + - 只保留 1-2 个当前需要的工作区 + - 预计减少:每次写入减少 50-70% + +### 4.2 长期优化 + +1. **向 Cursor 官方反馈**(方案五) + - 建议优化跟踪粒度 + - 建议添加自动清理机制 + +2. **监控数据库大小** + - 每周检查一次 + - 超过 500 MB 时执行清理 + +--- + +## 五、优化脚本(已创建) + +### 5.1 定期清理脚本 + +**脚本路径**:`运营中枢/参考资料/scripts/cursor_clean_ai_tracking_old.sh` + +**使用方法**: +```bash +# Cmd+Q 退出 Cursor 后执行 +bash "/Users/karuo/Documents/个人/卡若AI/运营中枢/参考资料/scripts/cursor_clean_ai_tracking_old.sh" [保留天数,默认30] +``` + +**示例**: +```bash +# 保留最近 30 天(默认) +bash cursor_clean_ai_tracking_old.sh + +# 保留最近 7 天(更激进) +bash cursor_clean_ai_tracking_old.sh 7 + +# 保留最近 90 天(更保守) +bash cursor_clean_ai_tracking_old.sh 90 +``` + +**脚本功能**: +- 清理超过 N 天的旧数据(默认 30 天) +- 自动压缩数据库(VACUUM) +- 显示清理前后的对比数据 +- 安全检查(Cursor 运行时不允许执行) + +**脚本已创建**:`运营中枢/参考资料/scripts/cursor_clean_ai_tracking_old.sh` + +```bash +#!/usr/bin/env bash +# 清理 ai-code-tracking.db 中超过 N 天的旧数据(保留最近数据) + +DB="$HOME/.cursor/ai-tracking/ai-code-tracking.db" +DAYS_TO_KEEP=${1:-30} # 默认保留 30 天 + +if [ ! -f "$DB" ]; then + echo "❌ 未找到数据库:$DB" + exit 1 +fi + +# 检查 Cursor 是否在运行 +if pgrep -f "Cursor" >/dev/null 2>&1; then + echo "⚠️ Cursor 正在运行,请先退出 Cursor 后执行" + exit 1 +fi + +BEFORE_SIZE=$(du -m "$DB" | awk '{print $1}') +CUTOFF_TS=$(python3 -c "import time; print(int((time.time() - $DAYS_TO_KEEP * 86400) * 1000))") + +echo "🧹 清理超过 ${DAYS_TO_KEEP} 天的旧数据..." +sqlite3 "$DB" " + DELETE FROM ai_code_hashes + WHERE createdAt < $CUTOFF_TS; + + VACUUM; +" 2>&1 + +AFTER_SIZE=$(du -m "$DB" | awk '{print $1}') +SAVED=$((BEFORE_SIZE - AFTER_SIZE)) + +echo "✅ 清理完成" +echo " 清理前: ${BEFORE_SIZE} MB" +echo " 清理后: ${AFTER_SIZE} MB" +echo " 释放: ${SAVED} MB" +``` + +### 5.2 自动清理(可选) + +可以创建 LaunchAgent,每周自动清理一次(需要时再创建) + +--- + +## 六、总结 + +### 6.1 为什么这么大? + +1. **代码片段级别跟踪**:每个代码片段一行记录 +2. **文件被拆分**:一个文件可能被拆分成数百到数千个片段 +3. **批量写入**:一次请求可能扫描数千个文件 +4. **只增不删**:没有自动清理机制 + +### 6.2 是否必要? + +- **部分必要**:代码变更检测、AI 评分需要 +- **过度细化**:代码片段级别太细,可以优化为文件级别 +- **可以优化**:减少粒度、定期清理、减少工作区 + +### 6.3 处理方式 + +**立即执行**: +1. 定期清理旧数据(保留 30 天) +2. 减少工作区数量(只保留 1-2 个) + +**长期优化**: +1. 向 Cursor 官方反馈 +2. 监控数据库大小 +3. 考虑迁移到外置硬盘 + +--- + +*报告生成时间:2026-03-20* diff --git a/运营中枢/工作台/Cursor数据库写入分析报告_20260320.md b/运营中枢/工作台/Cursor数据库写入分析报告_20260320.md new file mode 100644 index 00000000..e8184d81 --- /dev/null +++ b/运营中枢/工作台/Cursor数据库写入分析报告_20260320.md @@ -0,0 +1,271 @@ +# Cursor 数据库写入分析报告 + +> **分析时间**:2026-03-20 +> **问题**:Cursor 自动关闭,数据库文件过大(总计约 23GB) + +--- + +## 一、问题总览 + +| 数据库/目录 | 大小 | 行数/文件数 | 状态 | +|-----------|------|------------|------| +| **state.vscdb** | **11 GB** | 73.8 万行 | 🔴 严重膨胀 | +| **ai-code-tracking.db** | **1.0 GB** | 358 万行 | 🔴 严重膨胀 | +| **snapshots/** | **11 GB** | 未知 | 🔴 严重膨胀 | +| **总计** | **~23 GB** | — | 🔴 需要立即处理 | + +--- + +## 二、ai-code-tracking.db 详细分析 + +### 2.1 数据库结构 + +```sql +CREATE TABLE ai_code_hashes ( + hash TEXT PRIMARY KEY, -- 代码哈希(主键) + source TEXT NOT NULL, -- 源代码内容 + fileExtension TEXT, -- 文件扩展名 + fileName TEXT, -- 文件名 + requestId TEXT, -- 请求ID + conversationId TEXT, -- 对话ID + timestamp INTEGER, -- 时间戳 + model TEXT, -- 模型名称 + createdAt INTEGER NOT NULL -- 创建时间 +); +``` + +### 2.2 数据规模 + +| 指标 | 数值 | +|------|------| +| **总行数** | **3,585,067 行** | +| **文件大小** | **1.0 GB** | +| **平均每行大小** | **~280 字节**(含索引开销) | +| **最后修改时间** | 2026-03-20 04:51 | + +### 2.3 写入内容 + +**每次写入的内容**: +- **hash**:代码片段的哈希值(用于去重) +- **source**:完整的源代码内容(这是主要占用) +- **fileExtension / fileName**:文件信息 +- **requestId / conversationId**:关联的请求和对话 +- **timestamp / createdAt**:时间戳 +- **model**:使用的 AI 模型 + +**写入触发时机**: +1. **Agent 分析代码时**:每次 Agent 读取/分析文件,都会生成哈希并存储 +2. **代码变更时**:文件修改后,Cursor 会重新计算哈希 +3. **对话中引用代码时**:在对话中提到代码片段,会记录到数据库 + +### 2.4 增长模式 + +**实测数据**(基于 6 天数据): +- **时间范围**:2026-03-13 至 2026-03-20(6 天) +- **总行数**:3,585,067 行 +- **平均每天增长**:**597,511 行** +- **每天增长大小**:**约 126 MB** +- **问题**:**只增不删**,没有过期清理机制 + +**增长原因**: +- 每次 Agent 分析代码时,会为每个文件/代码片段生成哈希并存储 +- 项目文件多、使用频繁 → 每天写入 60 万行 +- 6 天就积累了 358 万行、1.0 GB + +--- + +## 三、state.vscdb 详细分析 + +### 3.1 数据分布 + +| 数据类型 | 行数 | 占比 | 说明 | +|---------|------|------|------| +| **bubbleId**(对话气泡) | **706,381** | 95.7% | 所有聊天会话数据 | +| **agentKv:blob**(Agent 缓存) | **3,367** | 0.5% | 代码分析缓存 | +| **其他中间数据** | **28,267** | 3.8% | checkpointId / codeBlockDiff 等 | + +### 3.2 写入内容 + +**bubbleId(对话气泡)**: +- 每个对话会话一个主 key:`bubbleId:<会话UUID>` +- 子 key:`bubbleId:<会话UUID>:<子项UUID>`(消息、状态等) +- **平均大小**:约 **13-15 KB/条** +- **总占用**:约 **9.6 GB**(70.6 万行 × 13.5 KB) + +**agentKv:blob(Agent 缓存)**: +- Key 格式:`agentKv:blob:<64位十六进制>` +- Value:二进制 blob(代码/文件的哈希或嵌入向量) +- **平均大小**:约 **17 KB/条** +- **总占用**:约 **57 MB**(3,367 行 × 17 KB) + +### 3.3 增长模式 + +- **每次对话**:创建 1 个主 bubbleId + 多个子 key(每条消息、每个状态) +- **每次 Agent 分析**:可能写入多个 agentKv:blob +- **每天增长**:取决于对话数量和 Agent 使用频率 +- **问题**:**只增不删**,历史对话全部保留 + +--- + +## 四、snapshots 目录分析 + +### 4.1 目录大小 + +- **总大小**:**11 GB** +- **位置**:`~/Library/Application Support/Cursor/snapshots/` +- **子目录**: + - `codebases/`:**10 GB**(代码库快照) + - `roots/`:**1.1 GB**(工作区根目录快照) + +### 4.2 用途 + +- **代码快照**:用于代码对比、历史版本查看 +- **工作区快照**:保存工作区状态 +- **问题**:同样只增不删,长期积累导致 11 GB + +### 4.3 清理建议 + +- 可考虑清理旧快照(需确认 Cursor 是否依赖) +- 或迁移到外置硬盘 + +--- + +## 五、为什么这么大? + +### 5.1 根本原因 + +1. **没有过期清理机制** + - Cursor 设计上保留所有历史数据 + - 没有按时间/大小自动清理策略 + +2. **频繁写入且只增不删** + - 每次 Agent 分析 → 写入 ai_code_hashes + - 每次对话 → 写入 bubbleId + - 每次代码变更 → 重新计算哈希 + +3. **数据冗余** + - 同一代码片段可能被多次哈希存储 + - 对话历史完整保留(包括已不需要的旧对话) + +4. **数据库未压缩** + - SQLite 删除数据后不会自动回收空间 + - 需要手动执行 VACUUM + +### 5.2 写入频率估算 + +**ai-code-tracking.db**: +- 每次 Agent 分析:写入 **10-100 行**(取决于文件数量) +- 每次代码变更:写入 **1-10 行** +- **实测:每天约 60 万行** → **约 126 MB/天**(非常快!) + +**state.vscdb**: +- 每次对话:写入 **1 个主 bubbleId + N 个子 key**(N = 消息数) +- 每次 Agent 分析:可能写入 **1-10 个 agentKv:blob** +- **每天约 1-5 MB**(取决于对话频率) + +--- + +## 六、解决方案 + +### 6.1 立即处理(推荐) + +**方案一:智能瘦身(保留对话)** + +```bash +# Cmd+Q 退出 Cursor 后执行 +bash "/Users/karuo/Documents/个人/卡若AI/运营中枢/参考资料/scripts/cursor_slim_db.sh" +``` + +**效果**: +- 清理 agentKv:blob(可重建) +- 清理 bubbleId(对话会显示空白,但 jsonl 原文保留) +- VACUUM 压缩数据库 +- **预计释放:~20 GB** + +**方案二:清理 ai-code-tracking.db** + +```bash +# Cmd+Q 退出 Cursor 后执行 +bash "/Users/karuo/Documents/个人/卡若AI/运营中枢/参考资料/scripts/cursor_clean_ai_tracking.sh" +``` + +**效果**: +- 清空 ai_code_hashes(Cursor 会按需重建) +- 清理旧 scored_commits(保留最近 1000 条) +- VACUUM 压缩 +- **预计释放:~1 GB** + +**方案三:深度修复(会丢失对话)** + +```bash +# Cmd+Q 退出 Cursor 后执行 +bash "/Users/karuo/Documents/个人/卡若AI/运营中枢/参考资料/scripts/cursor_deep_fix.sh" +``` + +**效果**: +- 重置 state.vscdb(会丢失所有对话) +- 清理所有缓存 +- **预计释放:~23 GB** + +### 6.2 预防措施 + +**已启用**: +- ✅ LaunchAgent 自动瘦身(每周一凌晨 4:00) +- ✅ argv.json 已设 `--max-old-space-size=8192`(防止 V8 OOM) + +**建议**: +1. **定期手动瘦身**:每月执行一次 `cursor_slim_db.sh` +2. **减少同窗口工作区**:当前 7 个,建议控制在 3 个以内 +3. **关闭不需要的对话**:及时关闭不再使用的 Agent 对话 +4. **监控数据库大小**:定期检查 state.vscdb 和 ai-code-tracking.db 大小 + +### 6.3 长期方案 + +1. **迁移到外置硬盘**(不删数据) + ```bash + bash ".../cursor_move_global_storage.sh" /Volumes/外置硬盘/CursorData + ``` + +2. **等待 Cursor 官方修复**:向官方反馈数据库膨胀问题 + +--- + +## 七、执行建议 + +### 立即执行(解决自动关闭) + +1. **Cmd+Q 完全退出 Cursor** +2. **执行智能瘦身**: + ```bash + bash "/Users/karuo/Documents/个人/卡若AI/运营中枢/参考资料/scripts/cursor_slim_db.sh" + ``` +3. **执行 ai-tracking 清理**: + ```bash + bash "/Users/karuo/Documents/个人/卡若AI/运营中枢/参考资料/scripts/cursor_clean_ai_tracking.sh" + ``` +4. **重新打开 Cursor** + +**预计总释放**:~21 GB(state.vscdb 从 11GB → ~50MB,ai-code-tracking.db 从 1GB → ~10MB) + +### 后续维护 + +- **每周检查**:`du -sh ~/Library/Application\ Support/Cursor/User/globalStorage/state.vscdb` +- **每月瘦身**:执行 `cursor_slim_db.sh` +- **snapshots 目录**:待进一步分析后决定是否清理 + +--- + +## 八、数据保留说明 + +| 数据 | 清理后状态 | 恢复方式 | +|------|-----------|---------| +| **对话气泡(bubbleId)** | UI 显示空白 | 对话原文在 `~/.cursor/projects/*/agent-transcripts/*.jsonl` | +| **Agent 缓存(agentKv:blob)** | 清空 | Cursor 按需自动重建 | +| **ai_code_hashes** | 清空 | Cursor 按需自动重建 | +| **编辑器状态(ItemTable)** | 保留 | 不受影响 | + +**重要**:所有对话的完整 jsonl 文件都会保留,只是 Cursor UI 中不显示历史对话。 + +--- + +*报告生成时间:2026-03-20* diff --git a/运营中枢/工作台/Cursor根本性解决方案_24GB问题_20260320.md b/运营中枢/工作台/Cursor根本性解决方案_24GB问题_20260320.md new file mode 100644 index 00000000..d603c1f1 --- /dev/null +++ b/运营中枢/工作台/Cursor根本性解决方案_24GB问题_20260320.md @@ -0,0 +1,260 @@ +# Cursor 24GB 问题根本性解决方案 + +> **问题**:Cursor 数据库已膨胀到 24GB,导致自动关闭 +> **目标**:一次性解决,并建立长期预防机制 +> **日期**:2026-03-20 + +--- + +## 一、当前问题诊断 + +### 1.1 实际大小分布 + +| 文件/目录 | 大小 | 占比 | 可清理 | +|-----------|------|------|--------| +| **state.vscdb** | **11 GB** | 46% | ✅ 可清空 cursorDiskKV | +| **snapshots/** | **11 GB** | 46% | ✅ 可删除(代码快照) | +| **ai-code-tracking.db** | **1.0 GB** | 4% | ✅ 可清空 | +| **Partitions/** | 1.4 GB | 6% | ⚠️ 部分可清理 | +| **logs/** | 236 MB | 1% | ✅ 可清理旧日志 | +| **其他** | ~200 MB | 1% | ✅ 可清理缓存 | +| **总计** | **~24 GB** | 100% | | + +### 1.2 最大占用分析 + +**snapshots/codebases/** 中最大的几个: +- `7072d90f-...`: **8.4 GB**(单个代码库快照) +- `53ff244c-...`: **805 MB** +- `869d1dfb-...`: **418 MB** + +**问题根源**: +1. **代码快照无限增长**:每个工作区的代码快照都完整保存 +2. **对话数据只增不删**:70 万行对话气泡数据 +3. **代码跟踪过度细化**:代码片段级别跟踪,每天写入 60 万行 + +--- + +## 二、根本性解决方案 + +### 方案一:激进清理(推荐,立即执行)✅ + +**脚本**:`cursor_radical_clean.sh`(已创建) + +**清理内容**: +1. ✅ 清空 `ai-code-tracking.db`(Cursor 会按需重建) +2. ✅ 清空 `state.vscdb` 的 `cursorDiskKV`(对话显示空白,但 jsonl 原文保留) +3. ✅ 删除 `snapshots/` 目录(代码快照,可重建) +4. ✅ 清理所有缓存和临时文件 + +**预计释放**:**20-22 GB** + +**执行步骤**: +```bash +# 1. Cmd+Q 完全退出 Cursor +# 2. 执行清理脚本 +bash "/Users/karuo/Documents/个人/卡若AI/运营中枢/参考资料/scripts/cursor_radical_clean.sh" + +# 3. 重新打开 Cursor(首次启动会稍慢 10-20 秒) +``` + +**注意事项**: +- ✅ 对话原文在 `~/.cursor/projects/*/agent-transcripts/*.jsonl`(不会删除) +- ✅ Cursor 重启后会重建必要的数据库 +- ⚠️ 旧对话在 Cursor UI 中显示空白(但 jsonl 原文仍在) + +### 方案二:定期自动清理(长期预防) + +**脚本**:`cursor_clean_ai_tracking_old.sh`(已创建) + +**策略**: +- **每周执行一次**,保留最近 7 天数据 +- 或**每月执行一次**,保留最近 30 天数据 + +**自动执行**(可选): +创建 LaunchAgent,每周一凌晨 4:00 自动执行 + +### 方案三:减少工作区数量 + +**当前状态**:7 个工作区根目录 + +**建议**: +- 只保留 1-2 个当前需要的工作区 +- 关闭不需要的工作区 + +**效果**: +- ✅ 减少扫描的文件数量 +- ✅ 减少每次写入的行数(预计减少 50-70%) +- ✅ 减少 snapshots 占用 + +### 方案四:迁移到外置硬盘(不删数据) + +**方法**:将整个 `globalStorage` 迁移到外置硬盘 + +**脚本**:`cursor_move_global_storage.sh`(已有) + +**优点**: +- ✅ 不删除数据 +- ✅ 不占用主盘空间 +- ✅ 不影响功能 + +**缺点**: +- ⚠️ 需要外置硬盘 +- ⚠️ 数据仍在增长(只是换位置) + +--- + +## 三、立即执行步骤 + +### 3.1 激进清理(解决 24GB 问题) + +```bash +# 1. 完全退出 Cursor(Cmd+Q) +# 2. 执行激进清理 +bash "/Users/karuo/Documents/个人/卡若AI/运营中枢/参考资料/scripts/cursor_radical_clean.sh" + +# 3. 等待清理完成(可能需要 1-2 分钟) +# 4. 重新打开 Cursor +``` + +**预期结果**: +- 清理前:~24 GB +- 清理后:~2-3 GB +- 释放:~20-22 GB + +### 3.2 建立长期预防机制 + +**每周执行一次**(保留 7 天): +```bash +# Cmd+Q 退出 Cursor 后执行 +bash "/Users/karuo/Documents/个人/卡若AI/运营中枢/参考资料/scripts/cursor_clean_ai_tracking_old.sh" 7 +``` + +**或每月执行一次**(保留 30 天): +```bash +bash "/Users/karuo/Documents/个人/卡若AI/运营中枢/参考资料/scripts/cursor_clean_ai_tracking_old.sh" 30 +``` + +--- + +## 四、预防措施 + +### 4.1 减少工作区数量 + +**当前**:7 个工作区根目录 +**建议**:只保留 1-2 个当前需要的工作区 + +**操作**: +1. 关闭不需要的工作区(File → Close Folder) +2. 只打开当前正在使用的项目 + +### 4.2 定期监控 + +**每周检查一次**: +```bash +du -sh ~/Library/Application\ Support/Cursor/User/globalStorage/state.vscdb +du -sh ~/.cursor/ai-tracking/ai-code-tracking.db +du -sh ~/Library/Application\ Support/Cursor/snapshots +``` + +**超过阈值时清理**: +- `state.vscdb` > 2 GB → 执行 `cursor_slim_db.sh` +- `ai-code-tracking.db` > 500 MB → 执行 `cursor_clean_ai_tracking_old.sh 7` +- `snapshots/` > 5 GB → 执行 `cursor_radical_clean.sh`(只清理 snapshots) + +### 4.3 向 Cursor 官方反馈 + +**反馈内容**: +1. 数据库增长过快(24GB) +2. 建议优化跟踪粒度(代码片段 → 文件级别) +3. 建议添加自动清理机制 +4. 建议添加配置选项(禁用代码跟踪) + +**反馈渠道**: +- Cursor Forum: https://forum.cursor.com +- 官方支持邮箱 + +--- + +## 五、脚本清单 + +| 脚本 | 用途 | 预计释放 | +|------|------|----------| +| **cursor_radical_clean.sh** | 激进清理(一次性解决 24GB) | **20-22 GB** | +| cursor_clean_ai_tracking_old.sh | 定期清理旧数据(保留 N 天) | 500 MB - 1 GB/次 | +| cursor_slim_db.sh | 智能瘦身 state.vscdb | 10-11 GB | +| cursor_move_global_storage.sh | 迁移到外置硬盘 | 0(换位置) | + +--- + +## 六、执行建议 + +### 立即执行(解决 24GB) + +1. **Cmd+Q 完全退出 Cursor** +2. **执行激进清理**: + ```bash + bash "/Users/karuo/Documents/个人/卡若AI/运营中枢/参考资料/scripts/cursor_radical_clean.sh" + ``` +3. **重新打开 Cursor** + +### 长期预防 + +1. **每周执行一次清理**(保留 7 天) +2. **减少工作区数量**(只保留 1-2 个) +3. **定期监控数据库大小** +4. **向 Cursor 官方反馈** + +--- + +## 七、常见问题 + +### Q1: 清理后对话会丢失吗? + +**A**: 不会。对话原文保存在 `~/.cursor/projects/*/agent-transcripts/*.jsonl`,不会被删除。只是 Cursor UI 中显示空白,但原文仍在。 + +### Q2: 清理后 Cursor 功能会受影响吗? + +**A**: 不会。Cursor 会按需重建必要的数据库。首次启动会稍慢(10-20 秒),之后正常。 + +### Q3: 为什么不能禁用代码跟踪? + +**A**: Cursor 目前没有提供禁用选项。只能通过定期清理来缓解。建议向官方反馈。 + +### Q4: 清理后多久会再次达到 24GB? + +**A**: 取决于使用频率: +- **轻度使用**(每天 1-2 次分析):约 3-6 个月 +- **中度使用**(每天 5-10 次分析):约 1-2 个月 +- **重度使用**(每天 10+ 次分析):约 2-4 周 + +**建议**:每周执行一次清理(保留 7 天),可长期保持在 2-5 GB。 + +--- + +## 八、总结 + +### 8.1 根本原因 + +1. **代码快照无限增长**:snapshots/ 目录 11 GB +2. **对话数据只增不删**:state.vscdb 11 GB +3. **代码跟踪过度细化**:ai-code-tracking.db 每天写入 60 万行 + +### 8.2 解决方案 + +**立即执行**: +- ✅ 激进清理脚本(一次性释放 20-22 GB) + +**长期预防**: +- ✅ 每周清理旧数据(保留 7 天) +- ✅ 减少工作区数量(只保留 1-2 个) +- ✅ 定期监控数据库大小 + +### 8.3 预期效果 + +- **清理后**:从 24 GB → 2-3 GB +- **长期维护**:保持在 2-5 GB(每周清理) +- **不再自动关闭**:数据库大小恢复正常 + +--- + +*报告生成时间:2026-03-20* diff --git a/运营中枢/工作台/Cursor每次写入详细分析_20260320.md b/运营中枢/工作台/Cursor每次写入详细分析_20260320.md new file mode 100644 index 00000000..792d36ee --- /dev/null +++ b/运营中枢/工作台/Cursor每次写入详细分析_20260320.md @@ -0,0 +1,261 @@ +# Cursor 每次写入详细分析报告 + +> **分析时间**:2026-03-20 +> **目的**:了解每次写入的数据量、写入机制、写入内容 + +--- + +## 一、ai-code-tracking.db 写入分析 + +### 1.1 每次写入的数据量 + +**单次请求写入统计**(基于 50 个请求样本): + +| 指标 | 数值 | +|------|------| +| **平均每次请求写入行数** | **70,813 行** | +| **平均每次请求写入大小** | **553 KB**(仅 source 字段,不含其他字段) | +| **平均每行实际大小** | **~370 字节**(所有字段 + 数据库开销) | +| **字段大小明细** | hash(8) + source(8) + fileExtension(3) + fileName(44) + requestId(36) + conversationId(36) + model(1) + 时间戳(16) + 开销(200) ≈ 370 字节 | + +**写入范围**: +- **最小请求**:609 行,约 4.76 KB +- **最大请求**:3,044,085 行,约 23.8 MB(一次性写入) +- **典型请求**:1,000-5,000 行,约 8-40 KB + +### 1.2 写入机制 + +**触发时机**: +1. **Agent 分析代码时**:Cursor Agent 分析项目文件时,会批量写入 +2. **代码变更时**:文件修改后,Cursor 重新计算哈希 +3. **对话中引用代码时**:在对话中提到代码片段 + +**写入模式**: +- **批量写入**:每次请求会一次性写入多个文件(10-300 万行) +- **事务性**:同一 `requestId` 的所有写入在同一事务中完成 +- **去重机制**:通过 `hash` 主键去重,相同代码不会重复写入 + +**典型写入流程**: +``` +Agent 分析请求开始 + ↓ +生成 requestId(如 toolu_vrtx_01GWFNvmCNcoLhC42Bd6duvE) + ↓ +扫描项目文件(可能数千个文件) + ↓ +为每个文件/代码片段生成 hash + ↓ +批量写入数据库(一次事务写入数万行) + ↓ +写入完成 +``` + +### 1.3 写入内容详解 + +**表结构**: +```sql +CREATE TABLE ai_code_hashes ( + hash TEXT PRIMARY KEY, -- 代码哈希(主键,约 8 字节) + source TEXT NOT NULL, -- 源代码标识(约 8 字节,如 "composer") + fileExtension TEXT, -- 文件扩展名(如 "py", "md", "tsx") + fileName TEXT, -- 完整文件路径(平均 44 字节) + requestId TEXT, -- 请求ID(UUID,36 字节) + conversationId TEXT, -- 对话ID(UUID,36 字节) + timestamp INTEGER, -- 时间戳(8 字节) + model TEXT, -- 模型名称(如 "claude-4.6-sonnet-medium-thinking") + createdAt INTEGER NOT NULL -- 创建时间戳(8 字节) +); +``` + +**字段内容**: +- **hash**:8 位十六进制字符串(如 `2d377592`),用于唯一标识代码片段 +- **source**:标识来源,值为 `"composer"` 或 `"human"`(8 字节) + - `"composer"`:通过 Cursor Composer 生成的代码 + - `"human"`:人工编写的代码 +- **fileExtension**:文件扩展名(如 `py`, `md`, `tsx`, `json`) +- **fileName**:完整文件路径(平均 44 字节) +- **requestId**:UUID 格式(36 字节),标识单次 Agent 分析请求 +- **conversationId**:UUID 格式(36 字节),关联的对话会话 +- **model**:AI 模型名称(如 `claude-4.6-sonnet-medium-thinking`) + +**文件类型分布**(前 15 种): +| 扩展名 | 行数 | 占比 | +|--------|------|------| +| txt | 2,853,842 | 79.6% | +| md | 160,116 | 4.5% | +| py | 123,383 | 3.4% | +| tsx | 114,692 | 3.2% | +| php | 52,380 | 1.5% | +| csv | 51,939 | 1.4% | +| 其他 | 229,515 | 6.4% | + +### 1.4 为什么这么大? + +**数据量计算**: +- 总行数:3,585,067 行 +- 平均每行:~280 字节(字段 + 数据库开销) +- **理论大小**:3,585,067 × 280 字节 ≈ **958 MB** +- **实际文件大小**:1.0 GB +- **差异**:约 42 MB(索引、WAL 日志等) + +**增长速度快的原因**: +1. **批量写入**:每次 Agent 分析可能写入数万行 +2. **只增不删**:没有过期清理机制 +3. **频繁触发**:每次代码变更、每次 Agent 分析都会写入 +4. **项目文件多**:项目越大,每次写入越多 + +--- + +## 二、state.vscdb 写入分析 + +### 2.1 每次写入的数据量 + +**bubbleId(对话气泡)**: +- **平均大小**:约 **13-15 KB/条** +- **大小范围**:几 KB 到几十 KB +- **写入时机**:每次创建新对话、每次发送消息、每次状态变更 + +**agentKv:blob(Agent 缓存)**: +- **平均大小**:约 **1.5 KB/条** +- **大小范围**:0.02 KB - 14.63 KB +- **写入时机**:每次 Agent 分析代码时 + +### 2.2 写入机制 + +**bubbleId 写入流程**: +``` +创建新对话 + ↓ +生成 bubbleId(UUID) + ↓ +写入主记录:bubbleId:(包含对话元数据) + ↓ +每次发送消息 + ↓ +写入子记录:bubbleId::<子项UUID>(消息内容) + ↓ +每次状态变更 + ↓ +更新或新增子记录 +``` + +**agentKv:blob 写入流程**: +``` +Agent 分析代码 + ↓ +计算代码/文件的哈希(64 位十六进制) + ↓ +生成嵌入向量或缓存数据 + ↓ +写入:agentKv:blob:(二进制 blob) +``` + +### 2.3 写入内容详解 + +**bubbleId 内容结构**(JSON 格式): +```json +{ + "title": "对话标题", + "messages": [ + { + "role": "user", + "content": "用户消息内容" + }, + { + "role": "assistant", + "content": "AI 回复内容" + } + ], + "metadata": { + "createdAt": 时间戳, + "updatedAt": 时间戳, + ... + } +} +``` + +**agentKv:blob 内容**: +- **Key 格式**:`agentKv:blob:<64位十六进制hash>` +- **Value**:二进制 blob(代码嵌入向量、分析结果等) +- **用途**:用于快速判断代码是否变更、是否需要重新分析 + +### 2.4 数据分布 + +| 数据类型 | 行数 | 平均大小 | 总占用 | +|---------|------|----------|--------| +| **bubbleId(主)** | 706,381 | 13-15 KB | ~9.6 GB | +| **bubbleId(子)** | 未知 | 几 KB | 包含在 9.6 GB 中 | +| **agentKv:blob** | 3,367 | 1.5 KB | ~57 MB | +| **其他** | 28,267 | 变化 | ~1.3 GB | + +--- + +## 三、写入频率估算 + +### 3.1 ai-code-tracking.db + +**基于实测数据**(6 天,358 万行): +- **每天写入**:约 **60 万行** +- **每天增长**:约 **126 MB** +- **每次请求平均**:70,813 行,553 KB +- **每天请求次数估算**:60 万 ÷ 70,813 ≈ **8-9 次** Agent 分析 + +**典型场景**: +- **轻度使用**(每天 1-2 次分析):每天写入 7-14 万行,约 20-40 MB +- **中度使用**(每天 5-10 次分析):每天写入 35-70 万行,约 100-200 MB +- **重度使用**(每天 10+ 次分析):每天写入 70 万+ 行,200+ MB + +### 3.2 state.vscdb + +**bubbleId**: +- **每次新对话**:写入 1 个主记录(13-15 KB) +- **每次消息**:写入 1 个子记录(几 KB) +- **每天估算**:取决于对话数量和消息数 + +**agentKv:blob**: +- **每次 Agent 分析**:可能写入 1-10 个 blob(每个 1.5 KB) +- **每天估算**:取决于 Agent 使用频率 + +--- + +## 四、总结 + +### 4.1 每次写入大小 + +| 数据库 | 写入类型 | 平均大小 | 范围 | +|--------|---------|----------|------| +| **ai-code-tracking.db** | 单次请求 | **553 KB** | 4.76 KB - 23.8 MB | +| **state.vscdb** | bubbleId(主) | **13-15 KB** | 几 KB - 几十 KB | +| **state.vscdb** | agentKv:blob | **1.5 KB** | 0.02 KB - 14.63 KB | + +### 4.2 写入内容 + +**ai-code-tracking.db**: +- 代码哈希(hash) +- 源代码标识(source = "composer") +- 文件信息(fileName, fileExtension) +- 关联信息(requestId, conversationId, model) +- 时间戳 + +**state.vscdb**: +- **bubbleId**:对话消息、状态、元数据(JSON 格式) +- **agentKv:blob**:代码分析缓存(二进制 blob) + +### 4.3 写入机制 + +- **批量写入**:ai-code-tracking.db 每次请求批量写入数万行 +- **事务性**:同一请求的所有写入在同一事务中 +- **去重**:通过 hash 主键避免重复 +- **只增不删**:没有自动清理机制,导致持续增长 + +### 4.4 为什么这么大? + +1. **频繁写入**:每次 Agent 分析、每次对话都会写入 +2. **批量写入**:单次请求可能写入数万行 +3. **只增不删**:历史数据全部保留 +4. **项目规模**:项目文件越多,每次写入越多 +5. **数据库开销**:索引、WAL 日志等额外占用 + +--- + +*报告生成时间:2026-03-20* diff --git a/运营中枢/工作台/Cursor部分Agent对话Internal_Error分析与处理.md b/运营中枢/工作台/Cursor部分Agent对话Internal_Error分析与处理.md new file mode 100644 index 00000000..053921ce --- /dev/null +++ b/运营中枢/工作台/Cursor部分Agent对话Internal_Error分析与处理.md @@ -0,0 +1,84 @@ +# Cursor 部分 Agent 对话「Internal Error」分析与处理 + +> 现象:同一台电脑上,**当前这个对话能连上**,但像「阿猫的苹果笔记本」等**部分 Agent 对话**点进去就报 **Internal Error**(An unexpected error occurred on our servers...),Request ID 示例:`dfd66dc1-1a0a-4278-a272-7cc4aab7a8c6`。 +> 分析时间:2026-03-19 + +--- + +## 一、原因结论(不是网络) + +| 判断 | 说明 | +|------|------| +| **不是本机网络** | 同一台电脑、同一时刻,当前对话正常,说明网络和 Cursor 登录都正常。 | +| **是 Cursor 服务端报错** | 提示明确写的是 "**on our servers**",即请求在 Cursor 后端处理时出错。 | +| **和具体哪个 Agent/哪次对话有关** | 出错的只是某几个 Agent(如「阿猫的苹果笔记本」),且常伴随「刚改过很多文件」(如 8 Files 等),说明是**该会话的上下文或状态**在服务端触发了异常。 | + +可能触发服务端错误的原因(任一种或叠加): + +1. **该对话上下文过大或异常**:历史太长、附带 8+ 文件变更、或含有特殊字符/结构,服务端处理时崩了。 +2. **该 Agent 的会话状态损坏**:本机 `state.vscdb` 里该 Agent/会话的缓存(如 agentKv:blob)异常,同步到服务端时触发 bug。 +3. **Cursor 已知 bug**:本机已有记录的 `AgentAnalyticsOperationsMainService` SQLite 嵌套事务等,和 Agent 频繁读写有关,可能加剧某些会话加载失败。 + +--- + +## 二、推荐处理顺序(同机可操作) + +### 第 1 步:先点「Try again」 + +- 在报错界面点 **Try again**,有时是临时抖动,重试一次即可恢复。 +- 若连续 2~3 次仍报 Internal Error,进入第 2 步。 + +### 第 2 步:用新对话接续,不依赖坏会话 + +- **不要死磕那个报错的 Agent 对话**。 +- 新建一个 **Agent** 或 **新对话**,把该任务的关键信息(需求、api123 配置等)简短贴过去,在新对话里继续。 +- 旧对话仅作备份即可,不必再打开,避免反复触发服务端错误。 + +### 第 3 步:可选——轻量清理 Cursor 缓存(缓解本地状态异常) + +- 若希望减少「其他 Agent 也陆续连不上」的概率,可做一次**轻量清理**(不删聊天历史): + **完全退出 Cursor(Cmd+Q)** 后,在终端执行: + ```bash + bash "/Users/karuo/Documents/个人/卡若AI/运营中枢/参考资料/scripts/clear_cursor_cache.sh" + ``` +- 该脚本只删 `GPUCache`、`Cache`、`CachedData`,**不删** `state.vscdb`,不会清空 Agent 对话历史;重新打开 Cursor 后,有问题的会话仍可能报错,但新对话和其余 Agent 一般会更稳。 + +### 第 4 步:若仍大面积出现 Internal Error + +- 考虑在 **Cursor 完全退出后** 跑一次 **Agent 缓存瘦身**(会删 agentKv:blob,**对话历史保留**,Cursor 会按需重建索引): + 用 **`cursor_slim_db.sh`** 或 **`cursor_auto_slim.sh`**(见《Cursor闪退排查_20260304》),**不要用** `cursor_deep_fix.sh`(深度修复会移走整库,**会清掉所有 Agent 和所有聊天记录**)。 +- 仍无效则可保留 Request ID,向 Cursor 官方/Forum 反馈。 + +--- + +## 三、小结 + +| 项目 | 结论 | +|------|------| +| **原因** | **Agent/会话级** + **Cursor 服务端** 处理该会话时出错,不是网络也不是整机 Cursor 挂掉。 | +| **立刻可做** | Try again → 仍失败则用**新 Agent/新对话**接续,不反复打开报错会话。 | +| **可选** | 退出 Cursor 后执行 `clear_cursor_cache.sh`,必要时再按文档做 agent 缓存瘦身。 | + +--- + +## 四、Agent 列表一直 Loading / 点不了(数据文件被删或清空后) + +**现象**:右侧 Agent 列表一直显示加载中,或能看见列表但点击无反应、中间显示 "Loading Chat"。 + +**常见原因**:`state.vscdb` 被删、被清空(如跑过瘦身脚本清空了 cursorDiskKV)、或 composerData/bubbleId 损坏,导致 Cursor 无法加载对话内容。 + +**恢复步骤**(依赖 MongoDB 已归档的对话记录): + +1. **完全退出 Cursor**(Cmd+Q)。 +2. 在终端执行(从 MongoDB 写回 state.vscdb): + ```bash + cd "/Users/karuo/Documents/个人/卡若AI/01_卡资(金)/金仓_存储备份/聊天记录管理/脚本" + python3 agent_sync_restore.py restore --limit 80 + ``` +3. **重新打开 Cursor**,右侧 Agent 列表应可正常点击,对话可打开。 + +若需恢复更多条,可把 `--limit 80` 改为 `200` 或去掉 `--limit`(默认 200)。详见 `agent_sync_restore.py` 与聊天记录管理 SKILL。 + +--- + +*相关文档:《Cursor闪退排查_20260304》《clear_cursor_cache.sh》、聊天记录管理 SKILL* diff --git a/运营中枢/工作台/gitea_push_log.md b/运营中枢/工作台/gitea_push_log.md index f1ba5dec..f821e701 100644 --- a/运营中枢/工作台/gitea_push_log.md +++ b/运营中枢/工作台/gitea_push_log.md @@ -396,3 +396,4 @@ | 2026-03-18 16:29:27 | 🔄 卡若AI 同步 2026-03-18 16:29 | 更新:卡木、卡土、运营中枢工作台 | 排除 >20MB: 11 个 | | 2026-03-19 13:29:07 | 🔄 卡若AI 同步 2026-03-19 13:29 | 更新:Cursor规则、金仓、卡人、水桥平台对接、火炬、总索引与入口、运营中枢参考资料、运营中枢工作台 | 排除 >20MB: 11 个 | | 2026-03-19 13:29:38 | 🔄 卡若AI 同步 2026-03-19 13:29 | 更新:水桥平台对接、运营中枢参考资料、运营中枢工作台 | 排除 >20MB: 11 个 | +| 2026-03-19 13:43:52 | 🔄 卡若AI 同步 2026-03-19 13:43 | 更新:金仓、水桥平台对接、运营中枢工作台 | 排除 >20MB: 11 个 | diff --git a/运营中枢/工作台/代码管理.md b/运营中枢/工作台/代码管理.md index db877aef..236fff32 100644 --- a/运营中枢/工作台/代码管理.md +++ b/运营中枢/工作台/代码管理.md @@ -399,3 +399,4 @@ | 2026-03-18 16:29:27 | 成功 | 成功 | 🔄 卡若AI 同步 2026-03-18 16:29 | 更新:卡木、卡土、运营中枢工作台 | 排除 >20MB: 11 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) | | 2026-03-19 13:29:07 | 成功 | 成功 | 🔄 卡若AI 同步 2026-03-19 13:29 | 更新:Cursor规则、金仓、卡人、水桥平台对接、火炬、总索引与入口、运营中枢参考资料、运营中枢工作台 | 排除 >20MB: 11 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) | | 2026-03-19 13:29:38 | 成功 | 成功 | 🔄 卡若AI 同步 2026-03-19 13:29 | 更新:水桥平台对接、运营中枢参考资料、运营中枢工作台 | 排除 >20MB: 11 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) | +| 2026-03-19 13:43:52 | 成功 | 成功 | 🔄 卡若AI 同步 2026-03-19 13:43 | 更新:金仓、水桥平台对接、运营中枢工作台 | 排除 >20MB: 11 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) | diff --git a/运营中枢/工作台/卡罗帮/WebPomodoro_功能与静默命令对照表.md b/运营中枢/工作台/卡罗帮/WebPomodoro_功能与静默命令对照表.md new file mode 100644 index 00000000..bc7ca782 --- /dev/null +++ b/运营中枢/工作台/卡罗帮/WebPomodoro_功能与静默命令对照表.md @@ -0,0 +1,21 @@ +# WebPomodoro 功能与静默命令对照表 + +> 不打开 WebPomodoro 界面,用卡罗帮静默脚本实现专注/番茄钟。卡若AI 执行「开始专注」「静默番茄钟」时用本表命令。 + +--- + +## 静默命令(一律不打开 APP) + +| 需求 | 静默命令 / 方式 | +|----------------|------------------| +| 开始专注 25 分钟(默认) | `python3 运营中枢/工作台/卡罗帮/scripts/pomodoro_silent.py --minutes 25 --notify` | +| 专注 N 分钟 | `python3 .../pomodoro_silent.py -m N --notify` | +| 静默专注且不弹通知 | `python3 .../pomodoro_silent.py -m 25 --no-notify` | +| 短休息 5 分钟 | `python3 .../pomodoro_silent.py --rest-short` | +| 长休息 15 分钟 | `python3 .../pomodoro_silent.py --rest-long` | +| 后台运行(不占前台) | `nohup python3 .../pomodoro_silent.py -m 25 --notify &` 或 `python3 .../pomodoro_silent.py -m 25 &` | + +**脚本路径(卡若AI 工作区根为项目根)**: +`运营中枢/工作台/卡罗帮/scripts/pomodoro_silent.py` + +**禁止**:为实现「开始专注」而执行 `open -a WebPomodoro` 或 `open /Applications/WebPomodoro.app`(会打开图形界面,非静默)。 diff --git a/运营中枢/工作台/卡罗帮/WebPomodoro_静默控制方案_idea.md b/运营中枢/工作台/卡罗帮/WebPomodoro_静默控制方案_idea.md new file mode 100644 index 00000000..6aa5096b --- /dev/null +++ b/运营中枢/工作台/卡罗帮/WebPomodoro_静默控制方案_idea.md @@ -0,0 +1,79 @@ +# WebPomodoro(专注轻探)静默控制方案(卡罗帮 idea) + +> **目标**:不打开 WebPomodoro 图形界面,用命令行/脚本完成「开始专注 / 番茄钟计时 / 到时提醒」,供卡若AI 与自动化流程静默调用。 +> 维护:金仓;归属:卡罗帮(运营中枢/工作台/卡罗帮)。 + +--- + +## 一、WebPomodoro 官方 CLI 能力分析 + +### 1.1 应用信息(macOS) + +- **路径**:`/Applications/WebPomodoro.app` +- **Bundle ID**:`com.macpomodoro` +- **类型**:原生 Cocoa 应用(NSMainStoryboardFile、NSPrincipalClass=NSApplication),非 Electron。 +- **Info.plist**:未发现 `CFBundleURLTypes`,即**未注册 URL Scheme**(无 `webpomodoro://` 等)。 + +### 1.2 官方是否提供「不打开界面」的 CLI + +- 应用为纯 GUI 形态,**未提供**独立命令行工具或「无头」模式。 +- **结论**:官方没有「不启动 GUI、纯命令行」的静默接口;若用 `open -a WebPomodoro` 或 AppleScript 控制,都会带出窗口,**无法做到完全静默、不打开界面**。 + +### 1.3 若必须用 WebPomodoro 本身 + +- **AppleScript / JXA**:可控制已运行的 WebPomodoro(菜单、按钮),但需先启动 APP,会带出界面,**不是静默操作**。 +- **URL Scheme**:当前 plist 无 `CFBundleURLTypes`,无法通过 `open "webpomodoro://..."` 静默驱动。 + +--- + +## 二、静默控制思路(不打开 APP) + +核心思路:**用本方案提供的静默脚本实现「番茄钟 / 专注计时」**,不启动 WebPomodoro.app;需要「计时 + 到时提醒」时,直接调用脚本即可。 + +| WebPomodoro 功能 | 静默实现方式 | +|------------------|--------------| +| 开始专注(如 25 分钟) | 调用 `scripts/pomodoro_silent.py --minutes 25`(或 `--focus 25`) | +| 自定义时长 | `pomodoro_silent.py --minutes N` | +| 到时提醒 | 脚本内部用 macOS 通知(`osascript`)或仅写日志,不弹 APP 窗口 | +| 短休息 / 长休息 | `pomodoro_silent.py --rest-short` / `--rest-long`(可选,由脚本参数约定) | + +**与 Navicat 方案一致**:不打开原 APP,用「等价能力」的脚本/CLI 完成目标,实现**真正的静默操作**。 + +--- + +## 三、卡罗帮实现要点 + +### 3.1 静默脚本与对照表(已提供) + +- **脚本**:`运营中枢/工作台/卡罗帮/scripts/pomodoro_silent.py` +- **静默命令速查**:同目录 `WebPomodoro_功能与静默命令对照表.md` +- **行为**: + - 不启动 WebPomodoro.app,不打开任何图形界面。 + - 支持 `--minutes N`(专注时长,默认 25)、`--notify`(结束时发 macOS 通知)、`--no-notify`(仅日志)。 + - 可后台运行(如 `nohup ... &` 或由卡若AI/自动化调用),全程静默。 + +### 3.2 使用方式(卡若AI) + +- 用户说「开始专注」「静默专注 25 分钟」「不打开界面开一个番茄钟」等: + 直接执行:`python3 运营中枢/工作台/卡罗帮/scripts/pomodoro_silent.py --minutes 25 --notify`(或等价路径),**不**执行 `open -a WebPomodoro`。 +- 用户说「打开 WebPomodoro」「打开专注轻探」: + 若确需图形界面,再使用 `open -a WebPomodoro`;否则优先用静默脚本。 + +### 3.3 与 Skill / CLA 的衔接 + +- 若已有「专注轻探」或「WebPomodoro」的 Skill/CLA:在 Skill 中明确写「静默操作用 `pomodoro_silent.py`,禁止为执行计时而打开 WebPomodoro 界面」。 +- 触发词示例:**专注、番茄钟、静默专注、开始专注、不打开界面计时** → 调用静默脚本,不打开 APP。 + +--- + +## 四、无法静默替代的部分 + +- **WebPomodoro 独有功能**:如应用内的统计、主题、多设备同步等,无官方 API/CLI 时无法在不打开 APP 的前提下实现;本方案仅覆盖「计时 + 到时提醒」的静默等价。 + +--- + +## 五、版本记录 + +| 日期 | 变更 | +|------------|------| +| 2026-03-19 | 初版:WebPomodoro CLI 分析、静默思路、静默脚本说明与卡若AI 使用方式。 | diff --git a/运营中枢/工作台/卡罗帮/scripts/pomodoro_silent.py b/运营中枢/工作台/卡罗帮/scripts/pomodoro_silent.py new file mode 100644 index 00000000..3b77cadc --- /dev/null +++ b/运营中枢/工作台/卡罗帮/scripts/pomodoro_silent.py @@ -0,0 +1,111 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +静默番茄钟:不打开 WebPomodoro 界面,纯命令行计时 + 可选到时通知。 +供卡若AI / 自动化流程调用,实现「开始专注 N 分钟」的静默操作。 +归属:卡罗帮 · WebPomodoro 静默控制。 +""" +import argparse +import subprocess +import sys +import time +from pathlib import Path + +DEFAULT_MINUTES = 25 +SCRIPT_DIR = Path(__file__).resolve().parent +LOG_DIR = SCRIPT_DIR.parent / "logs" + + +def notify_macos(title: str, body: str) -> None: + """发送 macOS 原生通知(不打开任何 APP 窗口)。""" + try: + subprocess.run( + [ + "osascript", + "-e", + f'display notification "{body}" with title "{title}" sound name "default"', + ], + check=True, + capture_output=True, + ) + except Exception as e: + print(f"[静默番茄钟] 通知发送失败: {e}", file=sys.stderr) + + +def main() -> int: + parser = argparse.ArgumentParser( + description="静默番茄钟:不打开 WebPomodoro,命令行计时 + 可选到时通知" + ) + parser.add_argument( + "--minutes", "-m", + type=int, + default=DEFAULT_MINUTES, + help=f"专注时长(分钟),默认 {DEFAULT_MINUTES}", + ) + parser.add_argument( + "--notify", + action="store_true", + default=True, + help="结束时发送 macOS 通知(默认开启)", + ) + parser.add_argument( + "--no-notify", + action="store_true", + help="不发送通知,仅打印日志", + ) + parser.add_argument( + "--rest-short", + action="store_true", + help="短休息(5 分钟)", + ) + parser.add_argument( + "--rest-long", + action="store_true", + help="长休息(15 分钟)", + ) + parser.add_argument( + "--label", "-l", + type=str, + default="", + help="本次专注标签(会显示在通知中)", + ) + args = parser.parse_args() + + do_notify = args.notify and not args.no_notify + minutes = args.minutes + + if args.rest_short: + minutes = 5 + label = "短休息" + elif args.rest_long: + minutes = 15 + label = "长休息" + else: + label = args.label or "专注" + + seconds = minutes * 60 + LOG_DIR.mkdir(parents=True, exist_ok=True) + log_file = LOG_DIR / "pomodoro_silent.log" + + with open(log_file, "a", encoding="utf-8") as f: + f.write(f"[开始] {label} {minutes} 分钟\n") + + print(f"[静默番茄钟] 开始 {label},{minutes} 分钟,不打开任何界面。", flush=True) + if do_notify: + print("[静默番茄钟] 结束后将发送系统通知。", flush=True) + + time.sleep(seconds) + + msg = f"{label} {minutes} 分钟已结束。" + with open(log_file, "a", encoding="utf-8") as f: + f.write(f"[结束] {msg}\n") + + if do_notify: + notify_macos("静默番茄钟", msg) + + print(f"[静默番茄钟] {msg}", flush=True) + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/运营中枢/工作台/卡罗帮/专注静默_SKILL.md b/运营中枢/工作台/卡罗帮/专注静默_SKILL.md new file mode 100644 index 00000000..20bf3b05 --- /dev/null +++ b/运营中枢/工作台/卡罗帮/专注静默_SKILL.md @@ -0,0 +1,31 @@ +# 专注静默(WebPomodoro 静默控制) + +> **静默原则**:不打开 WebPomodoro 图形界面,所有「开始专注 / 番茄钟」均通过命令行脚本完成。归属:卡罗帮。 + +--- + +## 触发 + +用户说 **专注、番茄钟、静默专注、开始专注、WebPomodoro、专注轻探、不打开界面计时** 等,且意图为「开始一段专注/番茄钟」时,走本 Skill。 + +--- + +## 执行(强制静默) + +1. **禁止** 使用 `open -a WebPomodoro` 或 `open /Applications/WebPomodoro.app`(会打开界面,非静默)。 +2. **一律** 调用静默脚本: + - 脚本路径:`运营中枢/工作台/卡罗帮/scripts/pomodoro_silent.py` + - 默认 25 分钟 + 结束时系统通知: + `python3 运营中枢/工作台/卡罗帮/scripts/pomodoro_silent.py --minutes 25 --notify` + - 指定 N 分钟:`--minutes N` 或 `-m N` + - 不弹通知:`--no-notify` + - 短休息 5 分钟:`--rest-short`;长休息 15 分钟:`--rest-long` + - 后台运行:命令末尾加 `&` 或使用 `nohup ... &` +3. 静默命令速查:`运营中枢/工作台/卡罗帮/WebPomodoro_功能与静默命令对照表.md` + 方案说明:`运营中枢/工作台/卡罗帮/WebPomodoro_静默控制方案_idea.md` + +--- + +## 小结 + +- 专注/番茄钟需求 → 只执行 `pomodoro_silent.py`,不打开任何 APP 界面,即**静默操作**。 diff --git a/运营中枢/工作台/唯一MongoDB约定.md b/运营中枢/工作台/唯一MongoDB约定.md index ba0b7ef7..20298ab1 100644 --- a/运营中枢/工作台/唯一MongoDB约定.md +++ b/运营中枢/工作台/唯一MongoDB约定.md @@ -38,7 +38,7 @@ |:---|:---| | **KR / KR_*** | 神射手 用户资产、估值等 | | **wanzhi_esports** | 玩值电竞 App(网站、API) | -| **karuo_site** | 卡若ai网站(官网与控制台全量数据:技能、网关、工作流、任务、用户、前端/后端配置等) | +| **karuo_site** | 卡若ai网站(官网与控制台全量数据);**卡若 AI 主库**:记忆条目、**对话记录**、**消息内容**(聊天记录一律存此库、实时调用;MongoDB 不可用时记忆降级 记忆.md、聊天降级 fallback/recent_chats_fallback.json) | | 其他业务库 | 按需在该实例下新建,不另起 MongoDB 容器 | --- @@ -51,6 +51,23 @@ --- +## 数据恢复与正确挂载(必读) + +**唯一数据目录**:宿主机 `/Users/karuo/数据库/mongodb/data`(约 225GB)。数据必须通过**宿主机路径挂载**,不能改用 Docker 命名卷,否则会看到“空库”。 + +**正确启动方式**(恢复或日常启动): + +```bash +cd "/Users/karuo/Documents/开发/2、私域银行/数据中台/系统基座/config" +docker compose -f docker-compose-mongodb.yml up -d mongodb +``` + +**错误原因说明**:若用其他编排或 `docker run` 启动了同名容器且未挂载上述路径,而是用了 Docker 卷(如 `mongodb_data`),则容器内是空库,宿主机上的 200+GB 数据不会出现在库里。**务必只用数据中台这份 compose 起 datacenter_mongodb**。 + +**验证数据已挂载**:`docker inspect datacenter_mongodb` 中应看到 `"/Users/karuo/数据库/mongodb/data" -> "/data/db"`。 + +--- + ## 版本记录 | 日期 | 变更 | @@ -59,3 +76,4 @@ | 2026-02-26 | 新增 datacenter 分组约定;所有数据库相关 Docker 项目归入 datacenter,website 通过 datacenter_network 连接 | | 2026-02-27 | website 分组扩展:卡若ai网站、玩值大屏、Soul 创业实验归入 website;详见 `website分组清单.md` | | 2026-03-01 | 新增库 karuo_site;强制约定:新生成数据/配置一律只放唯一 MongoDB,不新建实例、不单独 27018 | +| 2026-03-19 | 恢复 225GB 数据:因容器曾用错误卷挂载导致“空库”;补充「数据恢复与正确挂载」说明,强制用数据中台 compose 启动 | diff --git a/运营中枢/工作台/本机数据库统一规则.md b/运营中枢/工作台/本机数据库统一规则.md index 5008ea4b..b85d4ef1 100644 --- a/运营中枢/工作台/本机数据库统一规则.md +++ b/运营中枢/工作台/本机数据库统一规则.md @@ -32,6 +32,8 @@ |:---|:---|:---| | 玩值电竞App | `wanzhi_esports` | 玩值电竞业务库,集合与索引见《玩值电竞_数据库设计》;连接串用本机统一 MongoDB。 | | 卡若ai网站 | `karuo_site` | 官网与控制台全量数据(技能、网关、工作流、任务、用户、frontend_config/backend_config 等);连接串用本机统一 MongoDB。 | +| Cursor/卡若AI 聊天记录 | `karuo_site`(对话记录、消息内容) | 聊天记录一律存 MongoDB,实时调用;不可用时用 fallback;详见 `01_卡资(金)/金仓_存储备份/聊天记录管理/SKILL.md`。 | +| 卡若AI 记忆条目 | `karuo_site`(记忆条目) | 长期记忆结构化存储(分类、标签、日期、内容);与 1、卡若:本人/记忆.md 同步;详见 `02_卡人(水)/水溪_整理归档/记忆系统/memory_mongo_schema.md`。 | ### MySQL(datacenter_mysql,端口 3307,归入 datacenter 编排) diff --git a/运营中枢/工作台/阿猫Mac_OpenClaw配置情况分析.md b/运营中枢/工作台/阿猫Mac_OpenClaw配置情况分析.md new file mode 100644 index 00000000..78e31259 --- /dev/null +++ b/运营中枢/工作台/阿猫Mac_OpenClaw配置情况分析.md @@ -0,0 +1,81 @@ +# 阿猫笔记本电脑 OpenClaw(龙虾)配置情况分析 + +> 分析依据:卡若AI 工作台现有文档、阿猫 Mac 健康报告(2026-03-04)、ClawX/OpenClaw 网关部署说明。 +> 分析时间:2026-03-19 + +--- + +## 一、结论摘要 + +| 项目 | 情况 | +|------|------| +| **阿猫 Mac 上是否有 OpenClaw 网关** | **无**。现有 OpenClaw 网关部署在卡若本机(神射手 Docker 编排),端口 18789。 | +| **阿猫 Mac 上是否有 ClawX 客户端 / ~/.openclaw** | **文档未记录**。2026-03-04 健康报告中未提及 ClawX、OpenClaw 或 `~/.openclaw`。 | +| **若阿猫要用 OpenClaw/ClawX** | 二选一:**远程连卡若的网关**,或 **本机装 ClawX 并自启网关**(需配置 `~/.openclaw` 与模型 API)。 | + +--- + +## 二、当前 OpenClaw 架构(卡若侧) + +- **网关部署位置**:卡若本机,`开发/2、私域银行/神射手` 目录下 `docker compose`,容器名 `website-openclaw-gateway`。 +- **端口**:18789(及 18790)。 +- **网关地址**:本机访问为 `http://127.0.0.1:18789`。 +- **配置来源**:卡若本机 `~/.openclaw`(含 `openclaw.json`),Docker 挂载该目录与 ClawX 共用。 +- **鉴权**:`~/.openclaw/openclaw.json` 内 `gateway.auth.token`(文档记录为 `clawx-c79e7d198b3c7c17057f7ff2caa52bdc`)。 +- **ClawX 使用方式**:在**同一台机器**上关闭「自动启动网关」,网关地址填 `http://127.0.0.1:18789`,Token 与上一致。详见《ClawX使用Docker网关说明》。 + +阿猫的 Mac(macbook.quwanzhi.com,用户 kr)是**另一台机器**,无法直接访问卡若本机 127.0.0.1:18789,除非通过内网/隧道/端口暴露。 + +--- + +## 三、阿猫 Mac 本机情况(来自健康报告) + +- **主机**:macbook.quwanzhi.com:22203,用户 **kr**。 +- **用途**:远程办公、飞书、Cursor、iCloud 同步婼瑄/卡若AI 等;**未提及** Docker、OpenClaw、ClawX、`~/.openclaw`。 +- **磁盘**:数据卷约 92% 占用,仅约 18 GB 可用,不适合再长期跑重型 Docker 服务。 +- **结论**:当前**没有**在阿猫 Mac 上部署 OpenClaw 网关或单独为阿猫记录 ClawX/OpenClaw 配置;若要用「龙虾」OpenClaw,需按下面两种方式之一配置。 + +--- + +## 四、阿猫 Mac 使用 OpenClaw 的两种方式 + +### 方式 A:远程连接卡若本机 OpenClaw 网关(推荐,无需在阿猫 Mac 跑网关) + +1. **卡若本机**:保持神射手 Docker 中 `website-openclaw-gateway` 运行,并将 18789 对阿猫可达(例如 Tailscale、frp、或局域网 IP 端口转发)。阿猫 Mac 健康报告中有 ham0 25.30.239.48,若与卡若同处 Tailscale 等内网,可用卡若机器的 Tailscale IP + 18789。 +2. **阿猫 Mac**: + - 安装 **ClawX**(若未安装)。 + - 关闭「自动启动网关」。 + - 网关地址填:`http://<卡若机器IP或域名>:18789`(例如 `http://25.x.x.x:18789` 或 `http://某域名:18789`)。 + - 鉴权 Token 与卡若本机 `~/.openclaw/openclaw.json` 中 `gateway.auth.token` 一致(见上文)。 +3. **优点**:不占阿猫 Mac 磁盘与内存,模型、技能等沿用卡若侧配置。 +4. **前提**:网络可达 + 卡若侧防火墙/路由器放行 18789(或仅内网/VPN 访问)。 + +### 方式 B:阿猫 Mac 本机安装 ClawX 并自启网关 + +1. **阿猫 Mac**:安装 ClawX,开启「自动启动网关」,由 ClawX 在本机启动 OpenClaw 网关进程。 +2. **配置**:在本机创建并维护 `~/.openclaw/openclaw.json`(以及可选 `~/.openclaw/workspace/IDENTITY.md` 等),配置模型 API(如 api123.icu Base URL + Token,见《Claude_Code_api123配置说明》)、`gateway.auth.token` 等。 +3. **缺点**:阿猫 Mac 磁盘已紧张(约 18 GB 可用)、内存 8 GB,本机常驻网关会占资源;且需单独维护一套模型与技能配置。 + +--- + +## 五、建议与后续可做事项 + +| 建议 | 说明 | +|------|------| +| **优先方式 A** | 在卡若侧暴露 18789(仅内网/VPN),阿猫 Mac 只装 ClawX 客户端并填远程网关地址 + Token,无需在阿猫 Mac 跑网关。 | +| **确认阿猫是否已装 ClawX** | 可 SSH 到阿猫 Mac(`ssh -p 22203 kr@macbook.quwanzhi.com`)执行:`ls -la ~/.openclaw 2>/dev/null || echo "无 .openclaw"`;`ls /Applications | grep -i claw`。 | +| **若采用方式 A** | 在 00_账号与API索引 或 本工作台 补充「阿猫 Mac ClawX 远程网关」一条:网关 URL、Token、使用场景(仅内网/VPN)。 | +| **若采用方式 B** | 可在阿猫 Mac 上复用《ClawX使用Docker网关说明》中的 Token 与配置结构,但 Base URL/模型 API 建议用 api123.icu 直连(见《Claude_Code_api123配置说明》阿猫 Mac 一节)。 | + +--- + +## 六、相关文档 + +- 《ClawX使用Docker网关说明》: ClawX 连本机 Docker OpenClaw 网关(卡若本机) +- 《ClawX_THINK模式与界面说明》:`~/.openclaw/openclaw.json`、IDENTITY.md、控制台 18789 +- 《阿猫Mac配置与健康分析_20260304》:阿猫 Mac 硬件、磁盘、用途 +- 《Claude_Code_api123配置说明》:阿猫 Mac 默认 API(api123.icu)与 Token + +--- + +*文档生成:卡若AI 工作台。* diff --git a/运营中枢/工作台/阿猫Mac_设置api123为默认API.sh b/运营中枢/工作台/阿猫Mac_设置api123为默认API.sh index 782ab3a3..9b1fb70d 100644 --- a/运营中枢/工作台/阿猫Mac_设置api123为默认API.sh +++ b/运营中枢/工作台/阿猫Mac_设置api123为默认API.sh @@ -8,12 +8,12 @@ CLAUDE_DIR="$HOME/.claude" SETTINGS="$CLAUDE_DIR/settings.json" BASE_URL="https://api123.icu" API_KEY="sk-h7VW10iTSSXo6xJXe44nI1vUhsEcG3H8Z9XyFmWABvhaD4ZW" -MODEL="claude-sonnet-4-6" +# 使用 Sonnet 4.5 避免 api123 default 分组 503(4.6 通道可能不可用) +MODEL="claude-sonnet-4-5-20250929" mkdir -p "$CLAUDE_DIR" -# 保留已有配置,仅更新 api base 与 key(Claude Code 常用字段) +# 保留已有配置,写入 CLI 用的 model/env 与旧版 anthropic* 字段 if [ -f "$SETTINGS" ]; then - # 用 Python 合并,避免 jq 依赖 python3 -c " import json, os p = '$SETTINGS' @@ -23,8 +23,13 @@ if os.path.exists(p): data = json.load(f) data['anthropicBaseUrl'] = '$BASE_URL' data['anthropicApiKey'] = '$API_KEY' -if 'defaultModel' not in data or not data.get('defaultModel'): - data['defaultModel'] = '$MODEL' +data['defaultModel'] = '$MODEL' +data['model'] = '$MODEL' +if 'env' not in data: + data['env'] = {} +data['env']['ANTHROPIC_API_KEY'] = '$API_KEY' +data['env']['ANTHROPIC_BASE_URL'] = '$BASE_URL' +data['env']['ANTHROPIC_MODEL'] = '$MODEL' with open(p, 'w') as f: json.dump(data, f, indent=2, ensure_ascii=False) print('已更新:', p) @@ -32,11 +37,17 @@ print('已更新:', p) else cat > "$SETTINGS" << EOF { + "model": "$MODEL", "anthropicBaseUrl": "$BASE_URL", "anthropicApiKey": "$API_KEY", - "defaultModel": "$MODEL" + "defaultModel": "$MODEL", + "env": { + "ANTHROPIC_API_KEY": "$API_KEY", + "ANTHROPIC_BASE_URL": "$BASE_URL", + "ANTHROPIC_MODEL": "$MODEL" + } } EOF echo "已创建: $SETTINGS" fi -echo "api123.icu 已设为默认 API,重启 Cursor/Claude Code 后生效。" +echo "api123.icu 已设为默认 API,模型为 $MODEL(避免 503)。请完全退出 Claude Code 后重新打开生效。"