{"id":"f0e2215a-2b95-4ac1-895e-d49b545c2300","entityType":"agent","slug":"clawhub-fyniujin-zwjh-skill","name":"zwjh-skill","canonicalUrl":"https://www.xpersona.co/agent/clawhub-fyniujin-zwjh-skill","canonicalPath":"/agent/clawhub-fyniujin-zwjh-skill","generatedAt":"2026-10-10T21:56:31.987Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T18:15:59.490Z","emptyReason":null},"description":"统一记忆底座：长期记忆 + 知识图谱 + 自动沉淀 + 检索。让 AI「记得你」，跨会话持久记忆、实体/关系图谱、语义与时间线检索、记忆健康度审计、本地备份（可接百度网盘）。纯本地、零密钥、按硬件自适应，不拖累电脑。并保留 v1.7 的根因分析/预测性维护/进化报告。 Skill: zwjh-skill Owner: fyniujin Summary: 统一记忆底座：长期记忆 + 知识图谱 + 自动沉淀 + 检索。让 AI「记得你」，跨会话持久记忆、实体/关系图谱、语义与时间线检索、记忆健康度审计、本地备份（可接百度网盘）。纯本地、零密钥、按硬件自适应，不拖累电脑。并保留 v1.7 的根因分析/预测性维护/进化报告。 Tags: latest:2.6.0 Version history: v2.6.0 | 2026-09-19T05:32:30.803Z | auto zwjh-skill v2.6.0 - 新增知识图谱子命令：支持 graph-query 查询与流式导出（export-stream）。 - 新增记忆遗忘与归档功能（forget、list-archive）。 - 内部增加 memory_access 支持，优化脚本结构。 - 优化 CLI，支持更多命令与参数，提升易用性。 -","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.3K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s177r8w7p1d7cpbys9bn33kwhs89d0xw:zwjh-skill","sourceUrl":"https://clawhub.ai/fyniujin/zwjh-skill","homepage":"https://clawhub.ai/fyniujin/skills/zwjh-skill","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/fyniujin/zwjh-skill","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/fyniujin/skills/zwjh-skill","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":62,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"统一记忆底座：长期记忆 + 知识图谱 + 自动沉淀 + 检索。让 AI「记得你」，跨会话持久记忆、实体/关系图谱、语义与时间线检索、记忆健康度审计、本地备份（可接百度网盘）。纯本地、零密钥、按硬件自适应，不拖累电脑。并保留 v1.7 的根因分析/预测性维护/进化报告。 Skill: zwjh-skill Owner: "},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T18:15:59.490Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T18:15:59.490Z","emptyReason":null},"stars":null,"forks":null,"downloads":1300,"packageName":null,"latestVersion":"2.6.0","tractionLabel":"1.3K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T18:15:59.490Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T18:15:59.490Z","lastCrawledAt":"2026-10-10T18:15:59.490Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T18:15:59.490Z","lastVerifiedAt":null,"highlights":[{"version":"2.6.0","createdAt":"2026-09-19T05:32:30.803Z","changelog":"zwjh-skill v2.6.0 - 新增知识图谱子命令：支持 graph-query 查询与流式导出（export-stream）。 - 新增记忆遗忘与归档功能（forget、list-archive）。 - 内部增加 memory_access 支持，优化脚本结构。 - 优化 CLI，支持更多命令与参数，提升易用性。 - 移除 skill-card.md，文档更新与清理。","fileCount":32,"zipByteSize":115672},{"version":"2.5.0","createdAt":"2026-08-24T12:13:53.867Z","changelog":"zwjh-skill 2.5.0 - 新增向量化模块 scripts/embedder.py，提升检索和知识处理能力 - 新增脚本 scripts/rebuild_index.py 支持索引重建和维护 - 移除 skill-card.md（精简冗余文档） - 重要脚本（cli.py、retrieval.py、version.py）同步更新以适配新模块 - 版本号与文档（SKILL.md、version.json）更新至 2.5.0","fileCount":31,"zipByteSize":104300},{"version":"2.4.0","createdAt":"2026-08-17T09:01:23.676Z","changelog":"zwjh-skill v2.4.0 - 新增 MCP 服务器模块，实现跨 skill 记忆能力总线，支持以 MCP Tool 方式对外暴露核心能力，兼容 MCP 2024-11-05 协议（scripts/mcp_server.py）。 - 增加自动归档策略（冷热分层）相关代码（scripts/archive.py），为大规模记忆分层管理奠定基础。 - 对 CLI、Web 前端和版本控制脚本进行了功能增强和优化（cli.py、web_server.py、version.py 及前端相关文件多处更新）。 - 移除 skill-card.md，调整和完善文档结构。 - SKILL.md 文档更新，加入 MCP 总线与归档策略相关描述，版本号提升为 2.4.0。","fileCount":29,"zipByteSize":94162},{"version":"2.3.0","createdAt":"2026-08-07T06:42:37.484Z","changelog":"zwjh-skill v2.3.0 - 新增导出/迁移功能：支持记忆多格式导出（Markdown、JSON、CSV、Cypher、Obsidian、Logseq），可筛选实体类型、时间范围、重要度，并支持批量导入。 - 新增时间线叙事生成：自动根据项目、人脉、主题生成时间线故事/回顾，支持周期性周报与月报。 - 支持多模态记忆：可索引并关联图片、音频、文件等多媒体内容，适配多媒介理解及知识图谱自动链接。 - 脚本新增：增加 scripts/export.py、scripts/narrative.py、scripts/multimodal.py，对应上述功能。 - 文档更新：SKILL.md 增加导出/迁移、时间线叙事与多模态相关模块和示例用法。 - 移除 skill-card.md，统一以 SKILL.md 为主。","fileCount":27,"zipByteSize":84166},{"version":"2.2.0","createdAt":"2026-07-29T07:07:50.422Z","changelog":"zwjh-skill v2.2.0 - 新增记忆冲突消解功能：自动检测同一实体-谓词下的冲突，分为四类（信息更新、纠错、视角变化、真实冲突），并支持自动与手动处理策略。 - 新增 scripts/conflict_resolver.py，实现冲突检测与消解核心逻辑。 - CLI 新增 conflicts 命令：支持查看与处理待消解的记忆冲突。 - 文档（SKILL.md）补充冲突消解模块与命令说明。 - 其他脚本随功能调整优化。 - 移除 skill-card.md（不再维护）。","fileCount":24,"zipByteSize":71495},{"version":"2.1.0","createdAt":"2026-07-17T06:51:15.867Z","changelog":"zwjh-skill v2.1.0 - 新增知识图谱 Web 可视化：浏览器中以力导向图、详情面板、路径探索、时间线和子图过滤方式交互式查看实体关系网络，无需第三方依赖 - 增加内置 Python HTTP 服务器（scripts/web_server.py）和前端（web_ui/），一键启动，开箱即用 - 支持大规模图谱分层加载、节点聚合显示，优化展示和性能 - 新增 REST API，实现通过网页和 API 操作查询知识图谱 - 保持所有核心长期记忆、健康度、硬件自适应等能力无缝兼容","fileCount":23,"zipByteSize":62701},{"version":"2.0.0","createdAt":"2026-07-08T06:56:44.893Z","changelog":"zwjh-skill v2.0.0 — 重大更新：从单一 AI 进化分析工具升级为统一的可插拔记忆基础设施。 - 新增：长期记忆底座，集成跨会话记忆、知识图谱、自动沉淀、语义/时间线检索 - 新增：实体/关系知识图谱，自动识别人与项目、任务、事件等联系 - 新增：记忆健康度审计、压缩、快照、备份（支持本地和百度网盘） - 新增：硬件自适应，按 CPU/内存分配并发与批量，保障资源不被占满 - 新增：技能更新提醒，无需联网/密钥即可本地比对并通知你 - 优化：纯标准库实现，无第三方依赖，冷启动快、占用低 - 保留：v1.7 的记忆分析、根因分析、预测性维护与进化报告","fileCount":19,"zipByteSize":47958},{"version":"1.7.0","createdAt":"2026-07-05T11:03:05.938Z","changelog":"**v1.7.0 introduces a major usability upgrade and simplification.** - Simplified setup and usage: most tasks now run with a single \"帮我配置 + 设置定时任务\" command. - Expanded and clarified quickstart guide, making common commands one-click. - Improved description and tags for easier discovery; clearer category and platform support. - Enhanced self-healing: automatic issue analysis, root cause detection, and more automatic fixes. - Removed legacy `skill-card.md` in favor of consolidated, streamlined documentation.","fileCount":3,"zipByteSize":9131}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s177r8w7p1d7cpbys9bn33kwhs89d0xw:zwjh-skill","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-fyniujin-zwjh-skill/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-fyniujin-zwjh-skill/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-fyniujin-zwjh-skill/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-fyniujin-zwjh-skill/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-fyniujin-zwjh-skill/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-fyniujin-zwjh-skill/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T21:56:31.983Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-fyniujin-zwjh-skill/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-fyniujin-zwjh-skill/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-fyniujin-zwjh-skill/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-fyniujin-zwjh-skill/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T18:15:59.490Z","emptyReason":null},"readme":"Skill: zwjh-skill\n\nOwner: fyniujin\n\nSummary: 统一记忆底座：长期记忆 + 知识图谱 + 自动沉淀 + 检索。让 AI「记得你」，跨会话持久记忆、实体/关系图谱、语义与时间线检索、记忆健康度审计、本地备份（可接百度网盘）。纯本地、零密钥、按硬件自适应，不拖累电脑。并保留 v1.7 的根因分析/预测性维护/进化报告。\n\nTags: latest:2.6.0\n\nVersion history:\n\nv2.6.0 | 2026-09-19T05:32:30.803Z | auto\n\nzwjh-skill v2.6.0\n\n- 新增知识图谱子命令：支持 graph-query 查询与流式导出（export-stream）。\n- 新增记忆遗忘与归档功能（forget、list-archive）。\n- 内部增加 memory_access 支持，优化脚本结构。\n- 优化 CLI，支持更多命令与参数，提升易用性。\n- 移除 skill-card.md，文档更新与清理。\n\nv2.5.0 | 2026-08-24T12:13:53.867Z | auto\n\nzwjh-skill 2.5.0\n\n- 新增向量化模块 scripts/embedder.py，提升检索和知识处理能力\n- 新增脚本 scripts/rebuild_index.py 支持索引重建和维护\n- 移除 skill-card.md（精简冗余文档）\n- 重要脚本（cli.py、retrieval.py、version.py）同步更新以适配新模块\n- 版本号与文档（SKILL.md、version.json）更新至 2.5.0\n\nv2.4.0 | 2026-08-17T09:01:23.676Z | auto\n\nzwjh-skill v2.4.0\n\n- 新增 MCP 服务器模块，实现跨 skill 记忆能力总线，支持以 MCP Tool 方式对外暴露核心能力，兼容 MCP 2024-11-05 协议（scripts/mcp_server.py）。\n- 增加自动归档策略（冷热分层）相关代码（scripts/archive.py），为大规模记忆分层管理奠定基础。\n- 对 CLI、Web 前端和版本控制脚本进行了功能增强和优化（cli.py、web_server.py、version.py 及前端相关文件多处更新）。\n- 移除 skill-card.md，调整和完善文档结构。\n- SKILL.md 文档更新，加入 MCP 总线与归档策略相关描述，版本号提升为 2.4.0。\n\nv2.3.0 | 2026-08-07T06:42:37.484Z | auto\n\nzwjh-skill v2.3.0\n\n- 新增导出/迁移功能：支持记忆多格式导出（Markdown、JSON、CSV、Cypher、Obsidian、Logseq），可筛选实体类型、时间范围、重要度，并支持批量导入。\n- 新增时间线叙事生成：自动根据项目、人脉、主题生成时间线故事/回顾，支持周期性周报与月报。\n- 支持多模态记忆：可索引并关联图片、音频、文件等多媒体内容，适配多媒介理解及知识图谱自动链接。\n- 脚本新增：增加 scripts/export.py、scripts/narrative.py、scripts/multimodal.py，对应上述功能。\n- 文档更新：SKILL.md 增加导出/迁移、时间线叙事与多模态相关模块和示例用法。\n- 移除 skill-card.md，统一以 SKILL.md 为主。\n\nv2.2.0 | 2026-07-29T07:07:50.422Z | auto\n\nzwjh-skill v2.2.0\n\n- 新增记忆冲突消解功能：自动检测同一实体-谓词下的冲突，分为四类（信息更新、纠错、视角变化、真实冲突），并支持自动与手动处理策略。\n- 新增 scripts/conflict_resolver.py，实现冲突检测与消解核心逻辑。\n- CLI 新增 conflicts 命令：支持查看与处理待消解的记忆冲突。\n- 文档（SKILL.md）补充冲突消解模块与命令说明。\n- 其他脚本随功能调整优化。\n- 移除 skill-card.md（不再维护）。\n\nv2.1.0 | 2026-07-17T06:51:15.867Z | auto\n\nzwjh-skill v2.1.0\n\n- 新增知识图谱 Web 可视化：浏览器中以力导向图、详情面板、路径探索、时间线和子图过滤方式交互式查看实体关系网络，无需第三方依赖\n- 增加内置 Python HTTP 服务器（scripts/web_server.py）和前端（web_ui/），一键启动，开箱即用\n- 支持大规模图谱分层加载、节点聚合显示，优化展示和性能\n- 新增 REST API，实现通过网页和 API 操作查询知识图谱\n- 保持所有核心长期记忆、健康度、硬件自适应等能力无缝兼容\n\nv2.0.0 | 2026-07-08T06:56:44.893Z | auto\n\nzwjh-skill v2.0.0 — 重大更新：从单一 AI 进化分析工具升级为统一的可插拔记忆基础设施。\n\n- 新增：长期记忆底座，集成跨会话记忆、知识图谱、自动沉淀、语义/时间线检索\n- 新增：实体/关系知识图谱，自动识别人与项目、任务、事件等联系\n- 新增：记忆健康度审计、压缩、快照、备份（支持本地和百度网盘）\n- 新增：硬件自适应，按 CPU/内存分配并发与批量，保障资源不被占满\n- 新增：技能更新提醒，无需联网/密钥即可本地比对并通知你\n- 优化：纯标准库实现，无第三方依赖，冷启动快、占用低\n- 保留：v1.7 的记忆分析、根因分析、预测性维护与进化报告\n\nv1.7.0 | 2026-07-05T11:03:05.938Z | auto\n\n**v1.7.0 introduces a major usability upgrade and simplification.**\n\n- Simplified setup and usage: most tasks now run with a single \"帮我配置 + 设置定时任务\" command.\n- Expanded and clarified quickstart guide, making common commands one-click.\n- Improved description and tags for easier discovery; clearer category and platform support.\n- Enhanced self-healing: automatic issue analysis, root cause detection, and more automatic fixes.\n- Removed legacy `skill-card.md` in favor of consolidated, streamlined documentation.\n\nv1.6.0 | 2026-07-01T07:09:25.597Z | user\n\n修复 ClawHub 样式乱码：CRLF 换行符处理优化\n\nv1.5.0 | 2026-06-27T07:20:31.961Z | user\n\nv1.5.0 - 自动修复执行器、预测性维护、友好错误处理、冷启动优化、常见错误速查表\n\nv1.4.0 | 2026-06-26T13:02:44.430Z | user\n\nv1.4.0 - 升级为'会进化的 AI'——自动修复、自适应学习、预测性维护\n\nv1.3.0 | 2026-06-26T12:44:10.247Z | user\n\nv1.3.0 - 首次使用向导/模拟数据演示/错误自动修复建议/减少代码展示/增强错误诊断\n\nv1.2.0 | 2026-06-26T12:29:12.786Z | user\n\nv1.2.0 - 代码全部折叠/增加不能做什么/增加自动化调用指引/增强错误提示/新增FAQ\n\nv1.1.0 | 2026-06-26T12:20:19.847Z | user\n\nv1.1.0 - 智能经验提取（语义识别）/智能去重/自动分类标签/详细运行效果示例/多种定时任务方案/增强错误自动修复\n\nv1.0.0 | 2026-06-26T12:09:06.852Z | user\n\nInitial ClawHub release: v1.0.0 - 会进化的 skill，从 skillhub 迁移至 clawhub\n\nArchive index:\n\nArchive v2.6.0: 32 files, 115672 bytes\n\nFiles: scripts/__init__.py (130b), scripts/archive.py (11089b), scripts/backup.py (7007b), scripts/cli.py (33612b), scripts/config.py (2921b), scripts/conflict_resolver.py (21984b), scripts/deposit.py (11809b), scripts/embedder.py (13491b), scripts/embeddings.py (4991b), scripts/export.py (12464b), scripts/graph.py (8758b), scripts/hardware.py (5527b), scripts/health.py (6592b), scripts/legacy.py (12193b), scripts/mcp_server.py (24886b), scripts/memory_access.py (9403b), scripts/multimodal.py (12887b), scripts/narrative.py (12342b), scripts/rebuild_index.py (5568b), scripts/retrieval.py (12215b), scripts/setup.py (4956b), scripts/store.py (23162b), scripts/update_check.py (3899b), scripts/version.py (222b), scripts/web_server.py (19285b), skill-card.md (2754b), SKILL.md (28906b), version.json (1441b), web_ui/css/style.css (7108b), web_ui/index.html (5382b), web_ui/js/app.js (22362b), _meta.json (129b)\n\nFile v2.6.0:SKILL.md\n\n---\nname: zwjh-skill\ndescription: \"统一记忆底座：长期记忆 + 知识图谱 + 自动沉淀 + 检索。让 AI「记得你」，跨会话持久记忆、实体/关系图谱、语义与时间线检索、记忆健康度审计、本地备份（可接百度网盘）。纯本地、零密钥、按硬件自适应，不拖累电脑。并保留 v1.7 的根因分析/预测性维护/进化报告。\"\nversion: 2.6.0\n---\n\n\n# 长期记忆 / 知识图谱 会思考的进化 AI — zwjh-skill v2.6.0\n\n> **安装后说「帮我配置 + 设置定时任务」，AI 自动完成一切。**\n>\n> 它是一个**统一记忆底座**，而不只是又一个「记忆 skill」：\n> - 🧠 **长期记忆**：跨会话持久记住你、项目、客户，减少重复解释背景\n> - 🕸️ **知识图谱**：自动抽取「人 / 项目 / 任务 / 事件 / 文档」等实体与关系\n> - ⚙️ **自动沉淀**：从对话 / 文件自动提炼知识点（去重 + 冲突消解）\n> - 🔎 **检索**：本地语义检索 + 时间线检索（零密钥、零联网、毫秒级）\n> - 🩺 **健康度**：审计记忆膨胀、压缩/快照，记忆可观测、可清理\n> - 💾 **备份**：导出 / 备份 / 恢复（本地 + 百度网盘可插拔）\n> - 🖥️ **不拖累电脑**：自动探测硬件，按 CPU/内存分配并发与批大小\n> - 🔔 **更新提醒**：发现新版本主动提示你升级\n>\n> **v2.0.0**：从「单技能」升级为「可插拔的记忆基础设施」，并完整保留 v1.7 的根因分析 / 预测性维护 / 进化报告能力。\n\n---\n\n## 核心理念\n\n```\n传统 AI：每次对话从零开始 → 你反复解释背景 → 记忆散落各处、互不相通\n会思考的进化 AI：理解本质 → 沉淀为记忆+图谱 → 跨会话检索 → 举一反三 → 自动进化\n```\n\n**为什么做统一底座？** 市面方案碎片化（各 skill 各存各的、跨 skill 不互通）。本技能把「记忆 + 图谱 + 检索 + 健康度」做成一个**其他 skill 可直接调用的基础设施**，而不是又一个孤立的记忆插件。\n\n---\n\n## 30 秒速查表\n\n| 我想做 | 直接说 / 运行 |\n|--------|--------|\n| **一键启动自动进化** | `帮我配置 + 设置定时任务` |\n| 记下一段对话/知识点 | `python scripts/cli.py deposit --text \"...\"` |\n| 从文件沉淀知识 | `python scripts/cli.py deposit --file notes.md` |\n| 语义检索记忆 | `python scripts/cli.py query \"谁负责机器学习项目\"` |\n| 让 AI 用记忆回答 | `python scripts/cli.py ask \"我最近在做什么项目\"` |\n| 查某段时间发生的事 | `python scripts/cli.py timeline --from 2026-07-01 --to 2026-07-31` |\n| 看知识图谱 | `python scripts/cli.py graph list` / `graph show`（Mermaid） |\n| 知识图谱查询 | `python scripts/cli.py graph-query --action search --name 张三` |\n| 遗忘指定记忆 | `python scripts/cli.py forget --memory-id 42` |\n| 查看归档 | `python scripts/cli.py forget --list-archive` |\n| 流式导出 | `python scripts/cli.py export-stream --format markdown` |\n| 记忆健康度体检 | `python scripts/cli.py health` |\n| 压缩（去重+摘要） | `python scripts/cli.py compact --apply` |\n| 备份 / 恢复 | `python scripts/cli.py backup` / `restore <路径>` |\n| 写日记 | `python scripts/cli.py diary --text \"今天想清楚了一件事\"` |\n| 看是否有新版本 | `python scripts/cli.py update-check` |\n| 查看/消解冲突 | `python scripts/cli.py conflicts` |\n| 一键配置定时任务 | `python scripts/cli.py setup` |\n| 总览 | `python scripts/cli.py status` |\n\n> **大部分时候你只需要说第一句，AI 自动完成一切。** 其余命令是给「想精细操控」的高级用户。\n\n---\n\n## 一键启动（2 步）\n\n```\n1. 对 AI 说：「帮我配置 + 设置定时任务」\n2. AI 自动完成：探测硬件 → 注册每日定时任务（python cli.py autopilot）\n```\n\n启动后，每天 23:00 自动执行：\n\n```\n补录每日日志 → 沉淀知识点 → 记忆分析(根因) → 预测风险 → 进化报告 → 健康巡检 → 更新提醒\n```\n\n**你完全不用管，它自己会跑。** 且定时任务由技能用系统自带能力注册（Windows 用 `schtasks`、macOS/Linux 用 `crontab`），**不生成任何 .ps1 / .sh / .bat 脚本文件**，更干净、更安全。\n\n---\n\n## 功能模块\n\n---\n\n### 模块 1：长期记忆（跨会话 + 每日日志 + 日记）\n\n**做了什么**：把你的对话、文件、每日日志统一沉淀为可检索的长期记忆；另设「日记」自由记录。\n\n- 记忆落库在 `~/.workbuddy/memory/`（与 v1.7 完全兼容，原有每日日志原样保留）\n- 索引（图谱 + 向量）存于 `~/.workbuddy/memory/zwjh_store/`\n- 每天自动把当日日志补录进底座（幂等，不重复堆积）\n\n**示例**：\n```bash\npython scripts/cli.py deposit --text \"客户张三的对接人是李四，需求是智能客服\" --source conversation\npython scripts/cli.py diary --text \"今天想清楚了一件事：记忆要先去重再沉淀\"\n```\n\n---\n\n### 模块 2：知识图谱（实体 / 关系）\n\n**做了什么**：自动维护「人 / 项目 / 任务 / 事件 / 文档 / 概念 / 组织」等实体与关系。\n\n- 显式关系模板：`负责 / 参与 / 隶属于 / 创建 / 依赖 / 导致 / 位于 / 关联`\n- 已知实体在同一段文本中**共现** → 自动连弱边（图谱随使用自然生长）\n- 关系权重累积、可导出 Mermaid 直接可视化\n- **可插拔**：其他 skill 可直接 `add-entity` / `relate` 注册自己的实体类型\n\n**示例**：\n```bash\npython scripts/cli.py graph add-entity --type person --name 张三 --importance 0.9\npython scripts/cli.py graph relate --from 张三 --to 智能客服系统 --relation 负责\npython scripts/cli.py graph show\n```\n\n---\n\n### 模块 3：自动沉淀（去重 + 冲突消解）\n\n**做了什么**：从对话 / 文件自动提炼知识点，并保证质量。\n\n- **去重**：完全重复直接合并；近似重复（Jaccard ≥ 0.82）更新原条目而非新增\n- **冲突消解**：同一实体同一谓词出现不同值 → 旧值自动标记 `superseded`，保留历史可追溯\n- **事实抽取**：「X 的 Y 是 Z」自动写入图谱事实（如「客户李四 的产品 是 智能客服系统」）\n\n**效果**：\n```\n沉淀「客户李四对接的产品是智能客服系统」\n  → 实体：客户李四(person)\n  → 事实：(客户李四, 产品, 智能客服系统)\n```\n\n---\n\n### 模块 4：语义检索 + 时间线检索（零密钥）\n\n**做了什么**：两种检索，都不需要任何 API Key、不联网。\n\n- **语义检索**：本地 TF-IDF（中文 char/bigram 向量）余弦相似度。即使表述不同（\"学机器\" vs \"机器学习\"）也能召回，毫秒级。\n- **时间线检索**：按日期区间 + 关键词过滤，还原「某段时间发生了什么」。\n\n**示例**：\n```bash\npython scripts/cli.py query \"谁负责机器学习项目\"\npython scripts/cli.py timeline --from 2026-07-01 --to 2026-07-31 --keyword 发布\n```\n\n> 其他 skill 也可直接调用 `retrieval.ask(question)` 把长期记忆注入自己的上下文——这就是「可插拔基础设施」。\n\n---\n\n### 模块 5：记忆健康度审计 + 压缩 / 快照\n\n**解决「记忆膨胀」痛点**：记忆越多越慢、重复越多越乱。\n\n- **审计**：产出 0~100 健康度评分，列出陈旧记忆 / 孤儿实体（无关系）/ 冲突事实 / 近似重复 / DB 体积\n- **压缩**：对陈旧记忆做抽取式摘要、合并近似重复（先预览 dry-run，再 `--apply`）\n- **快照**：导出完整可恢复快照（实体/关系/事实/配置）\n\n```bash\npython scripts/cli.py health\npython scripts/cli.py compact --apply\npython scripts/cli.py snapshot\n```\n\n---\n\n### 模块 6：导出 / 备份 / 恢复（接百度网盘）\n\n**做了什么**：记忆可迁移、可恢复。\n\n- **默认本地备份**：快照 + 每日日志原文打包到 `zwjh_store/backups/`，自动保留最近 7 份\n- **百度网盘（可插拔）**：仅在用户本地已配置访问凭证时启用（凭证存本地 `config.json`，**不进技能包、不需要密钥**）；未配置时清晰提示，绝不偷偷联网\n- **恢复**：从备份写回图谱与每日日志\n\n```bash\npython scripts/cli.py backup\npython scripts/cli.py backup --target baidunetdisk   # 需先配置凭证\npython scripts/cli.py restore <备份目录路径>\n```\n\n---\n\n### 模块 7：硬件自适应（不拖累电脑）\n\n**做了什么**：自动探测 CPU 核心数 / 物理内存 / 系统，把机器分 `low / mid / high` 三档，自动给出：\n\n| 档位 | 并发 | 单批 | 向量缓存 | 适用 |\n|------|------|------|----------|------|\n| low  | 1 | 20 | 关 | ≤2 核或 <4GB |\n| mid  | 2 | 60 | 开 | ≤4 核或 <8GB |\n| high | ≤8 | 200 | 开 | 更高配 |\n\n- 检索/沉淀按档位**分批**处理，避免一次性占满内存\n- 提供 `recommend_subtasks(n)`：按任务量与档位建议拆成几个子任务（给上层调度用）\n- 探测失败回退保守 `low` 档，**绝不把电脑跑满**\n\n```bash\npython scripts/cli.py hardware\n```\n\n---\n\n### 模块 8：技能更新提醒\n\n**做了什么**：本地比较「技能包版本」与「本机已见版本」，发现新版本主动提示你升级（不依赖联网 / 密钥）。\n\n- 运行 `python scripts/cli.py update-check` 立即查看\n- 每日 `autopilot` 也会在结尾打印更新提示（若有）\n- 已见版本缓存于 `zwjh_store/installed_version.json`，避免重复打扰\n\n```bash\npython scripts/cli.py update-check\n```\n\n---\n\n### 模块 11：记忆冲突消解\n\n**做了什么**：当新记忆与旧记忆矛盾时，智能检测、分类、消解，避免\"记错了还固执\"。\n\n- **冲突自动检测**：写入时自动对比同 entity+predicate 的已有事实，计算语义相似度与矛盾度\n- **冲突分类**：信息更新（换工作）/ 信息纠错（之前记错）/ 视角变化（同义不同描述）/ 真实冲突（需仲裁）\n- **自动消解**：UPDATE / CORRECTION 类型自动处理（新替旧），PERSPECTIVE 自动合并\n- **冲突提示**：REAL_CONFLICT 生成对比报告，存入待处理队列，提示用户仲裁\n- **处理策略**：覆盖 / 保留两者 / 合并 / 忽略\n- **性能保障**：仅在同 entity+predicate 写入时触发，向量缓存，超时保护，不拖累写入\n\n**示例**：\n```bash\npython scripts/cli.py deposit --text \"我之前记错了，张三其实去了字节跳动\" --source conversation\n# → 自动检测到纠错模式，新值覆盖旧值\n\npython scripts/cli.py conflicts\n# → 查看待处理冲突\npython scripts/cli.py conflicts --resolve 1 --strategy 1\n# → 处理冲突 #1，策略：覆盖\n```\n\n---\n\n### 模块 12：记忆导出 / 迁移\n\n**做了什么**：多格式、可选中、跨平台迁移，消除数据锁定担忧。\n\n- **多格式导出**：Markdown（可读性）/ JSON（结构化）/ Neo4j Cypher（图数据库）/ CSV（Excel）/ Obsidian / Logseq\n- **选择性导出**：按实体类型 / 时间范围 / 重要度阈值筛选\n- **批量导入**：支持从 Markdown、JSON、Obsidian vault 批量导入\n- **零依赖**：所有格式纯标准库生成，无需额外工具\n\n**示例**：\n```bash\npython scripts/cli.py export --format markdown --output D:\\backup\npython scripts/cli.py export --format obsidian --from-day 2026-01-01 --to-day 2026-07-31\npython scripts/cli.py export --format cypher --types person,project\npython scripts/cli.py export --format csv --output D:\\export\n```\n\n---\n\n### 模块 13：时间线叙事生成\n\n**做了什么**：把分散的记忆组织成连贯的叙事，从\"数据库\"变成\"有温度的回忆\"。\n\n- **项目进展时间线**：输入项目名称，自动生成从立项到当前的所有关键节点\n- **人脉交互历史**：输入人名，生成与 TA 的所有互动时间线\n- **知识成长轨迹**：输入主题，展示认知变化（入门→深入）\n- **周期性回顾**：每周/每月自动生成回顾报告\n- **可插拔 LLM**：支持配置外部 LLM API，未配置时使用模板降级\n\n**示例**：\n```bash\npython scripts/cli.py narrative project --name \"机器学习项目\"\npython scripts/cli.py narrative person --name \"张三\"\npython scripts/cli.py narrative knowledge --name \"Python\"\npython scripts/cli.py narrative weekly\npython scripts/cli.py narrative monthly\n```\n\n---\n\n### 模块 14：多模态记忆\n\n**做了什么**：记忆从文字扩展到图片、音频、文件，全媒体覆盖。\n\n- **图片记忆**：AI 理解图片内容、拍摄时间、关联事件\n- **音频记忆**：会议录音摘要、关键决策关联到项目\n- **文件记忆**：文档摘要、存在路径、关联实体\n- **媒体理解适配器**：可插拔（本地模型 / LLM API / 手动描述）\n- **实体关联**：媒体文件自动链接到知识图谱实体\n\n**示例**：\n```bash\npython scripts/cli.py multimodal index-image --path D:\\photo.jpg --entity \"张三\" --text \"项目启动会合影\"\npython scripts/cli.py multimodal index-audio --path D:\\meeting.mp3 --project \"智能客服\"\npython scripts/cli.py multimodal index-file --path D:\\contract.pdf --entity \"李四\" --project \"合同审核\"\npython scripts/cli.py multimodal list --type image\n```\n\n---\n\n### 模块 15：跨 skill 记忆总线（MCP 服务器）\n\n**做了什么**：把 zwjh-skill 的核心能力暴露为 MCP Tool，让其他 skill / Agent 直接调用，「可插拔基础设施」定位落地。\n\n- **3 个 MCP Tool**：`zwjh_query`（语义检索）/ `zwjh_deposit`（沉淀知识点）/ `zwjh_health`（健康度报告）\n- **零依赖**：纯标准库实现 MCP 协议（JSON-RPC 2.0 over stdio），不引入 `mcp` 包\n- **协议标准**：兼容 MCP 2024-11-05 规范，可与任何支持 MCP 的 Agent 集成\n\n**启动方式**：\n```bash\npython scripts/mcp_server.py\n# 或\npython scripts/cli.py mcp\n```\n\n**MCP 配置示例**（`~/.workbuddy/mcp.json`）：\n```json\n{\n  \"mcpServers\": {\n    \"zwjh-memory\": {\n      \"command\": \"python\",\n      \"args\": [\"D:/skill/zwjh-skill/scripts/mcp_server.py\"]\n    }\n  }\n}\n```\n\n---\n\n### 模块 16：自动归档策略（冷热分层）\n\n**做了什么**：按访问频率 + 时间衰减自动控制记忆膨胀，「热记忆保持、温记忆摘要、冷记忆高压缩归档」。\n\n- **热度算法**：`0.6 × ln(access_count + 1) + 0.4 × exp(-days_since_access / 30)`\n- **三层策略**：热（保持原样）/ 温（抽取式摘要，30~50% 压缩）/ 冷（仅保留事实，70~90% 压缩）\n- **自动触发**：`autopilot` 末尾自动调用，无需手动干预\n- **硬件感知**：批处理大小按 `hardware.tier` 分配\n\n**示例**：\n```bash\npython scripts/cli.py archive --dry-run    # 查看归档计划\npython scripts/cli.py archive              # 执行归档\npython scripts/cli.py archive --stats      # 查看归档统计\n```\n\n---\n\n### 模块 17：任务状态面板（Web 可视化增强）\n\n**做了什么**：在原有图谱可视化基础上，新增底部任务状态面板，autopilot 运行可观测。\n\n- **定时任务状态**：显示是否注册、频率、输出\n- **健康度评分**：实时显示当前健康度（绿/黄/红三色标识）\n- **归档统计**：热/温/冷记忆数量 + 压缩节省百分比\n- **可折叠设计**：不占用图谱空间，需要时展开\n\n**启动方式**：\n```bash\npython scripts/web_server.py\n# 浏览器打开 http://127.0.0.1:8080 → 底部任务状态面板\n```\n\n---\n\n### 模块 18：本地 Embedding 层（ONNX BGE）\n\n**做了什么**：接入 bge-small-zh v1.5 ONNX 量化模型，实现真正的语义向量检索。\n\n- **模型外部放置**：模型文件不打包，包内只带 SHA256 校验与下载指引\n- **零密钥**：用户下载 .onnx 放置 `models/` 即启用语义检索\n- **自动回退**：无模型时自动回退 TF-IDF（行为同旧版）\n- **向量存储**：SQLite BLOB 表，万条级暴力余弦检索\n- **扩展预留**：接口预留 HNSW 索引扩展点\n\n**模型信息**：\n- 模型：BAAI/bge-small-zh-v1.5 (ONNX INT8 量化)\n- 维度：512\n- 大小：约 30MB\n- 下载：放置 `models/bge-small-zh-v1.5-q.onnx`\n\n---\n\n### 模块 19：混合检索（三路召回 + RRF 融合）\n\n**做了什么**：检索升级为语义/关键词/时间三路召回 RRF 融合排序，返回结果附命中理由。\n\n- **三路召回**：语义（ONNX BGE）/ 关键词（TF-IDF）/ 时间衰减\n- **RRF 融合**：Reciprocal Rank Fusion 平滑融合多路结果\n- **可解释输出**：返回语义分/关键词分/时间分，让 Agent 知道为何召回\n- **向后兼容**：无 ONNX 模型时自动回退纯 TF-IDF\n\n**示例**：\n```bash\npython scripts/cli.py query \"张三去哪了\"\n# 返回: [{day, source, score, snippet, explanation: {semantic, keyword, time, summary}}]\n```\n\n---\n\n### 模块 20：存量记忆重建索引\n\n**做了什么**：后台分批重建存量记忆的向量索引，不阻塞使用。\n\n- **后台分批**：按硬件档位分配批次大小\n- **断点续传**：已处理的跳过，支持中断后继续\n- **进度输出**：实时显示处理进度\n- **让出 CPU**：每批处理后让出线程，不卡顿\n\n**示例**：\n```bash\npython scripts/cli.py rebuild-index           # 重建全部\npython scripts/cli.py rebuild-index --batch 100  # 大批次\npython scripts/cli.py embedder-info           # 查看模型状态\n```\n\n---\n\n### 模块 21：MCP 工具扩建（记忆即服务）\n\n**做了什么**：MCP 服务器从 3 个工具扩建至 7 个，覆盖图谱查询、时间线检索、遗忘归档、流式导出，并附赠 mcp_version 协商机制。\n\n- **7 个 MCP Tool**：query / deposit / health / **graph_query** / **timeline** / **forget** / **export_stream**\n- **graph_query**：知识图谱查询（实体搜索/详情/事实/最短路径）\n- **timeline**：时间线检索（按日期区间+关键词过滤记忆）\n- **forget**：遗忘（软删除）指定记忆，移入归档表可恢复\n- **export_stream**：流式导出（分批返回，避免大内存占用，支持 json/markdown/csv）\n- **mcp_version 协商**：initialize 时返回服务端版本，兼容不同客户端\n\n**启动方式**：\n```bash\npython scripts/mcp_server.py\n# 或\npython scripts/cli.py mcp\n```\n\n---\n\n### 模块 22：记忆访问权限分级\n\n**做了什么**：调用方提交 manifest（HMAC-SHA256 签名），服务端校验签名、有效期和权限，实现命名空间隔离。\n\n- **命名空间**：`public`（公共）/ `private/<skill-id>`（技能私有）/ `shared/<name>`（共享）\n- **权限等级**：read（读）/ write（写）/ admin（删除/管理）\n- **向后兼容**：未传 manifest 默认 public 只读（旧调用方零改造）\n- **签名算法**：HMAC-SHA256（namespace + permissions + timestamp + nonce）\n- **有效期**：manifest 5 分钟过期，防重放\n- **密钥管理**：首次运行自动生成，CLI `access-key --rotate` 轮换\n\n**示例**：\n```python\nfrom scripts.memory_access import create_manifest\nmanifest = create_manifest(\"private/my-skill\", [\"read\", \"write\"])\n# 将 manifest 作为 MCP tool 参数传递\n```\n\n---\n\n### 模块 23：多进程并发写入门禁\n\n**做了什么**：通过 SQLite 事务 + version 字段乐观锁，防止多进程/多线程并发写入时的数据不一致。\n\n- **乐观锁**：memories 表新增 `version` 字段，UPDATE 时校验版本号，冲突返回 `WRITE_CONFLICT` 错误码\n- **原子操作**：所有写入走 `threading.Lock` + SQLite 事务\n- **错误码**：WRITE_CONFLICT（版本冲突）/ NOT_FOUND（记忆不存在）/ ALREADY_EXISTS（已存在）\n- **归档隔离**：forget 操作移入独立归档表，不阻塞主表写入\n- **命名空间隔离**：不同命名空间的记忆可独立管理\n\n**示例**：\n```python\nfrom scripts.store import update_memory_with_lock\nresult = update_memory_with_lock(memory_id, {\"version\": 1, \"raw_text\": \"修正内容\"})\nif not result[\"ok\"] and result[\"error\"] == \"WRITE_CONFLICT\":\n    # 冲突处理：重新读取最新版本再写入\n    ...\n```\n\n---\n\n### 模块 10：知识图谱可视化（Web 界面）\n\n**做了什么**：在浏览器中直观探索实体关系网络，从\"黑盒存储\"变为\"可视化探索\"。\n\n- **交互式关系网络图**：力导向图，可缩放/拖拽/搜索，按类型着色\n- **实体详情面板**：点击节点弹出，显示属性、关联关系\n- **路径探索**：选择两个实体，BFS 自动展示最短关系路径\n- **时间线视图**：按时间轴展示实体历史变迁\n- **子图过滤**：按类型/关系/重要度过滤，聚焦关心的部分\n- **大规模优化**：1000+ 节点时分层加载（核心节点优先 + 邻居按需加载）+ 聚合显示\n- **零依赖**：内置 Python HTTP 服务器，前端 ECharts，开箱即用\n\n**启动方式**：\n```bash\npython scripts/web_server.py [--port 8080]\n# 浏览器打开 http://127.0.0.1:8080\n```\n\n---\n\n### 模块 9（保留 v1.7）：记忆分析 / 预测性维护 / 进化报告\n\n原有「会思考的进化 AI」核心能力完整保留：\n\n- `analyze`：智能记忆分析（理解本质 / 根因 / 隐含需求 / 自动修复建议）\n- `predict`：预测性维护（从历史推断明日风险）\n- `report`：进化报告（成长趋势统计）\n- `demo`：无数据时看效果\n\n```bash\npython scripts/cli.py analyze\npython scripts/cli.py predict\npython scripts/cli.py report\npython scripts/cli.py demo\n```\n\n---\n\n## 典型应用场景\n\n- **让 Agent「记得你」**：减少重复解释背景，新对话自动带入历史上下文\n- **项目知识沉淀**：新人接手时一句 `ask \"这个项目的关键人物和坑是什么\"` 快速上手\n- **个人 / 客户 CRM（轻量）**：客户、对接人、需求自动成图谱，随问随答\n\n---\n\n## 差异化 / 竞争力\n\n- **中文优化**：char/bigram 向量对中文语义召回友好\n- **与其他 skill 打通**：作为可插拔记忆底座，任何 skill 都能 `import` 复用\n- **接企业微信 / 百度网盘做备份**：备份通道可插拔扩展\n- **可观测、可清理**：健康度评分 + 压缩/快照，正面解决「记忆膨胀」\n- **纯本地、零密钥**：无模型下载、无 API 费用、无隐私外泄\n\n---\n\n## 技术实现要点\n\n- **存储**：`sqlite3`（WAL 模式，写入不阻塞）+ 每日日志原文（append-only）\n- **向量**：本地 TF-IDF 稀疏向量（中文 char/bigram），**零模型、零密钥**\n- **图谱**：实体 / 关系表 + 共现 + 模板关系抽取 + 事实冲突消解\n- **调度**：硬件自适应并发 / 批大小；定时任务用系统原生能力注册（无脚本文件）\n- **可插拔**：嵌入适配器、百度网盘适配器、实体类型均可扩展\n\n---\n\n## 更新日志\n\n| v2.6.0 | 2026-09-19 | 新增：MCP 工具扩建至 7 个（graph_query / timeline / forget / export_stream + mcp_version 协商）；新增记忆访问权限分级（HMAC-SHA256 manifest + 命名空间隔离，未声明默认 public 只读）；新增多进程并发写入门禁（SQLite 事务 + version 字段乐观锁 + WRITE_CONFLICT 错误码）；新增 forget / export-stream / graph-query / access-key CLI 子命令；新增 graph.py BFS 最短路径；新增 memory_access.py 权限模块；新增 memories 表 version/namespace 字段 + memories_archive 表 |\n| v2.5.0 | 2026-08-24 | 新增：本地 embedding 层（ONNX BGE 语义向量 + TF-IDF 回退，模型外部放置 + SHA256 校验）；新增混合检索（语义/关键词/时间三路召回 RRF 融合排序）；新增检索解释（返回结果附命中理由分项）；新增存量记忆一键重建索引（后台分批不阻塞）；新增 embedder.py / rebuild_index.py；优化 retrieval.py 升级为 hybrid_search |\n| v2.4.0 | 2026-08-17 | 新增：跨 skill 记忆总线（MCP 服务器，暴露 query/deposit/health 为 MCP Tool，零依赖）；新增自动归档策略（冷热分层 + 时间衰减热度分，autopilot 自动触发）；新增任务状态 Web 面板（定时任务/健康度/归档统计可视化）；新增 mcp_server.py / archive.py；新增 CLI archive / mcp 命令 |\n| v2.3.0 | 2026-08-07 | 新增：多格式导出（Markdown/JSON/Cypher/CSV/Obsidian/Logseq）与选择性筛选；新增时间线叙事生成（项目/人脉/知识成长/周期回顾）；新增多模态记忆（图片/音频/文件索引）；新增 export.py / narrative.py / multimodal.py |\n| v2.2.0 | 2026-07-29 | 新增：记忆冲突消解（冲突自动检测 + 四类分类 + 自动/手动消解策略）；新增 conflict_resolver.py；新增 CLI conflicts 命令 |\n| v2.1.0 | 2026-07-17 | 新增：知识图谱 Web 可视化（力导向图/详情面板/路径探索/时间线/子图过滤）；增加 web_server.py 零依赖内置 HTTP 服务器；增加大规模图谱分层加载与聚合；新增 REST API |\n| v2.0.0 | 2026-07-08 | 新增：统一记忆底座（长期记忆 + 知识图谱 + 自动沉淀 + 检索 + 健康度 + 备份）；新增硬件自适应调度与技能更新提醒；保留 v1.7 能力；零密钥纯本地 |\n| v1.7.0 | 2026-06 | 优化：大幅简化操作（一键启动）、增强自愈能力（极少人工介入） |\n| v1.6.0 | 2026-05 | 新增：思维进化引擎、根因分析、一键定时任务 |\n| v1.5.0 | 2026-04 | 优化：友好错误处理、预测冷启动优化 |\n| v1.0.0 | 2026-03 | 初始版本发布 |\n\n---\n\n## ❌ 边界说明\n\n| 不支持 | 替代方案 |\n|--------|---------|\n| 修改 SKILL.md 本身 | 手动更新版本 |\n| 删除 MEMORY.md | 只追加不删除 |\n| 100% 自动修复 | 复杂情况给精确命令 |\n| 完美概率预测 | 数据越多越准，冷启动也给建议 |\n| 联网语义（默认） | 默认本地向量；如需更强语义可自行挂接嵌入适配器 |\n| 百度网盘无凭证自动备份 | 先在 `config.json` 配置访问凭证，或用本地备份 |\n\n---\n\n## ❓ 常见问题（FAQ）\n\n### Q1: 第一次使用怎么做？\n说 **「帮我配置 + 设置定时任务」**，AI 自动探测硬件、注册定时任务。\n\n### Q2: 没有记忆文件怎么办？\n说 **「模拟演示」**，用假数据看效果。之后再聊几天话就有了。\n\n### Q3: 定时任务设置了没反应？\n```bash\npython scripts/cli.py task-status      # 查看状态\npython scripts/cli.py autopilot        # 手动跑一次\n```\n\n### Q4: 如何暂停自动进化？\n```bash\npython scripts/cli.py remove           # 删除定时任务\n```\n\n### Q5: 数据存在哪？安全吗？\n记忆原文在 `~/.workbuddy/memory/`，索引在 `~/.workbuddy/memory/zwjh_store/`。\n全部本地、**不上传任何外部服务器**、不要求任何密钥。\n\n### Q6: 会拖慢电脑吗？\n不会。技能自动探测硬件并限流：低配机单线程小批量，高配机才多并发；检索/沉淀分批处理。\n\n### Q7: 记忆太多太乱怎么办？\n`python scripts/cli.py health` 看健康度，`compact --apply` 压缩去重，`snapshot` 留底。\n\n### Q8: 怎么把记忆给别人 / 换电脑？\n`python scripts/cli.py backup` 导出到本地备份目录，拷贝即可；到新机器 `restore <路径>`。\n\n### Q9: 支持 Mac / Linux 吗？\n支持。定时任务用 `crontab`（由 `setup` 命令自动写入，不生成 .sh 文件）。\n\n### Q10: 怎么知道有新版本？\n`python scripts/cli.py update-check`；每日自动进化也会提示。\n\n### Q11: 其他 skill 怎么复用这个底座？\n直接 `from scripts import retrieval, store, graph, deposit` 调用；或用 CLI 的 `ask` / `deposit` 子命令。\n\n### Q12: Python 版本要求？\nPython 3.8+，标准库即可，无需安装任何第三方包。\n\n---\n\n## 安全声明\n\n- 所有分析在本地完成，不上传任何外部服务器\n- 不要求、不读取任何 API Key；联网功能均为可插拔且默认关闭\n- 只读写你指定的记忆目录，不碰其他文件\n- 自动修复有白名单，危险操作需确认\n- 所有文件操作都有异常捕获，不会崩溃\n- 定时任务由系统原生能力注册，**不生成任何 .ps1 / .sh / .bat 等可执行脚本**\n\n---\n\n## 支持\n\n- 平台：WorkBuddy 等使用 `~/.workbuddy/memory/` 的 Agent；Windows / macOS / Linux\n- 中文界面、零密钥、本地优先\n- 有更好建议：**njskills@agent.qq.com**\n\n---\n\n## 发布信息\n\n- **作者**: Admin\n- **许可证**: MIT\n- **最低引擎版本**: 1.0.0\n- **更新历史**:\n  - v2.0.0: 升级为统一记忆底座（长期记忆+知识图谱+自动沉淀+检索+健康度+备份+硬件自适应+更新提醒），保留 v1.7 能力，零密钥纯本地\n  - v1.7.0: 大幅简化操作（一键启动）、增强自愈能力（极少人工介入）、功能开箱即用\n  - v1.6.0: 思维进化引擎、根本原因分析、一键定时任务\n  - v1.5.0: 友好错误处理、预测冷启动优化\n  - v1.4.0: 升级为进化 AI\n  - v1.3.0: 首次使用向导\n  - v1.2.0: 代码折叠优化\n  - v1.1.0: 智能经验提取\n  - v1.0.0: 初始版本\n\nFile v2.6.0:_meta.json\n\n{\n  \"ownerId\": \"kn7chdrwbdhaqkwajcyhtfvjx989ddb1\",\n  \"slug\": \"zwjh-skill\",\n  \"version\": \"2.6.0\",\n  \"publishedAt\": 1789795950803\n}\n\nFile v2.6.0:skill-card.md\n\n## Description:\n\nzwjh-skill provides a local long-term memory, knowledge graph, retrieval, health audit, backup, and MCP access layer for agents.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[fyniujin](https://clawhub.ai/user/fyniujin)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agent users use this skill to persist conversation and file knowledge locally, build a searchable memory graph, and expose query, deposit, health, export, and graph workflows to agents through CLI or MCP.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Persistent memories may be exposed to other tools without the promised access controls being enforced.\n\nMitigation: Avoid enabling MCP access for lower-trust deployments until manifest and namespace checks are verified; restrict use to trusted local callers and review deposited memory contents.\n\nRisk: The web UI may display stored values from untrusted deposited content.\n\nMitigation: Avoid using the web UI with untrusted memory content until stored values are rendered safely and reviewed.\n\nRisk: Optional Baidu backup, external LLM adapters, CDN loading, and model or tokenizer downloads add separate network and data-sharing trust decisions.\n\nMitigation: Keep optional network features disabled unless the endpoint, token handling, and data-sharing implications have been reviewed.\n\nRisk: Setup workflows can register scheduled tasks and write local memory, backup, and configuration files.\n\nMitigation: Review scheduled commands, storage paths, and backup targets before running setup, and run the skill under an account with only the required local permissions.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/fyniujin/skills/zwjh-skill)\n- [ClawHub publisher profile](https://clawhub.ai/user/fyniujin)\n- [BAAI bge-small-zh-v1.5 ONNX model](https://huggingface.co/BAAI/bge-small-zh-v1.5/resolve/main/onnx/model_quantized.onnx)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, JSON, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown guidance with inline shell commands; CLI and MCP workflows may return plain text or JSON.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Outputs may create or modify local memory stores, backups, schedules, graph exports, and MCP responses in the user's environment.]\n\n## Skill Version(s):\n\n2.6.0 (source: SKILL.md frontmatter, version.json, server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v2.6.0:version.json\n\n{\n  \"name\": \"zwjh-skill\",\n  \"displayName\": \"长期记忆 / 知识图谱 会思考的进化 AI\",\n  \"version\": \"2.6.0\",\n  \"min_engine\": \"1.0.0\",\n  \"requires_api_key\": false,\n  \"updated_at\": \"2026-09-19\",\n  \"changelog\": [\n    \"新增：MCP 工具扩建至 7 个（graph_query / timeline / forget / export_stream）\",\n    \"新增：记忆访问权限分级（HMAC-SHA256 manifest + 命名空间隔离，未声明默认 public 只读）\",\n    \"新增：多进程并发写入门禁（SQLite 事务 + version 字段乐观锁 + WRITE_CONFLICT 错误码）\",\n    \"新增：forget / export-stream / graph-query / access-key 四个 CLI 子命令\",\n    \"新增：graph.py BFS 最短路径查询（find_shortest_path）\",\n    \"新增：memory_access.py 权限模块（manifest 创建/校验/缓存）\",\n    \"新增：memories 表 version 字段（乐观锁）+ namespace 字段（命名空间隔离）\",\n    \"新增：memories_archive 表（forget 软删除后恢复）\",\n    \"新增：mcp_version 协商（initialize 附赠协议版本）\",\n    \"优化：deposit 支持 namespace 参数（MCP/CLI 统一）\",\n    \"优化：add_memory 支持 namespace 参数，返回完整错误信息\",\n    \"新增：store.update_memory_with_lock（带乐观锁的原子更新）\",\n    \"新增：store.restore_from_archive / list_archive / archive_count\",\n    \"更新：SKILL.md 新增模块 21/22/23 文档\",\n    \"更新：SKILL.md 更新日志增加 v2.6.0 行\"\n  ]\n}\n\nArchive v2.5.0: 31 files, 104300 bytes\n\nFiles: scripts/__init__.py (130b), scripts/archive.py (11089b), scripts/backup.py (7007b), scripts/cli.py (23536b), scripts/config.py (2921b), scripts/conflict_resolver.py (21984b), scripts/deposit.py (11498b), scripts/embedder.py (13491b), scripts/embeddings.py (4991b), scripts/export.py (12464b), scripts/graph.py (7408b), scripts/hardware.py (5527b), scripts/health.py (6592b), scripts/legacy.py (12193b), scripts/mcp_server.py (10673b), scripts/multimodal.py (12887b), scripts/narrative.py (12342b), scripts/rebuild_index.py (5568b), scripts/retrieval.py (12215b), scripts/setup.py (4956b), scripts/store.py (16536b), scripts/update_check.py (3899b), scripts/version.py (222b), scripts/web_server.py (19285b), skill-card.md (2679b), SKILL.md (25361b), version.json (4012b), web_ui/css/style.css (7108b), web_ui/index.html (5382b), web_ui/js/app.js (22362b), _meta.json (129b)\n\nFile v2.5.0:SKILL.md\n\n---\nname: zwjh-skill\ndescription: \"统一记忆底座：长期记忆 + 知识图谱 + 自动沉淀 + 检索。让 AI「记得你」，跨会话持久记忆、实体/关系图谱、语义与时间线检索、记忆健康度审计、本地备份（可接百度网盘）。纯本地、零密钥、按硬件自适应，不拖累电脑。并保留 v1.7 的根因分析/预测性维护/进化报告。\"\nversion: 2.5.0\n---\n\n# 长期记忆 / 知识图谱 会思考的进化 AI — zwjh-skill v2.3.0\n\n> **安装后说「帮我配置 + 设置定时任务」，AI 自动完成一切。**\n>\n> 它是一个**统一记忆底座**，而不只是又一个「记忆 skill」：\n> - 🧠 **长期记忆**：跨会话持久记住你、项目、客户，减少重复解释背景\n> - 🕸️ **知识图谱**：自动抽取「人 / 项目 / 任务 / 事件 / 文档」等实体与关系\n> - ⚙️ **自动沉淀**：从对话 / 文件自动提炼知识点（去重 + 冲突消解）\n> - 🔎 **检索**：本地语义检索 + 时间线检索（零密钥、零联网、毫秒级）\n> - 🩺 **健康度**：审计记忆膨胀、压缩/快照，记忆可观测、可清理\n> - 💾 **备份**：导出 / 备份 / 恢复（本地 + 百度网盘可插拔）\n> - 🖥️ **不拖累电脑**：自动探测硬件，按 CPU/内存分配并发与批大小\n> - 🔔 **更新提醒**：发现新版本主动提示你升级\n>\n> **v2.0.0**：从「单技能」升级为「可插拔的记忆基础设施」，并完整保留 v1.7 的根因分析 / 预测性维护 / 进化报告能力。\n\n---\n\n## 核心理念\n\n```\n传统 AI：每次对话从零开始 → 你反复解释背景 → 记忆散落各处、互不相通\n会思考的进化 AI：理解本质 → 沉淀为记忆+图谱 → 跨会话检索 → 举一反三 → 自动进化\n```\n\n**为什么做统一底座？** 市面方案碎片化（各 skill 各存各的、跨 skill 不互通）。本技能把「记忆 + 图谱 + 检索 + 健康度」做成一个**其他 skill 可直接调用的基础设施**，而不是又一个孤立的记忆插件。\n\n---\n\n## 30 秒速查表\n\n| 我想做 | 直接说 / 运行 |\n|--------|--------|\n| **一键启动自动进化** | `帮我配置 + 设置定时任务` |\n| 记下一段对话/知识点 | `python scripts/cli.py deposit --text \"...\"` |\n| 从文件沉淀知识 | `python scripts/cli.py deposit --file notes.md` |\n| 语义检索记忆 | `python scripts/cli.py query \"谁负责机器学习项目\"` |\n| 让 AI 用记忆回答 | `python scripts/cli.py ask \"我最近在做什么项目\"` |\n| 查某段时间发生的事 | `python scripts/cli.py timeline --from 2026-07-01 --to 2026-07-31` |\n| 看知识图谱 | `python scripts/cli.py graph list` / `graph show`（Mermaid） |\n| 记忆健康度体检 | `python scripts/cli.py health` |\n| 压缩（去重+摘要） | `python scripts/cli.py compact --apply` |\n| 备份 / 恢复 | `python scripts/cli.py backup` / `restore <路径>` |\n| 写日记 | `python scripts/cli.py diary --text \"今天想清楚了一件事\"` |\n| 看是否有新版本 | `python scripts/cli.py update-check` |\n| 查看/消解冲突 | `python scripts/cli.py conflicts` |\n| 一键配置定时任务 | `python scripts/cli.py setup` |\n| 总览 | `python scripts/cli.py status` |\n\n> **大部分时候你只需要说第一句，AI 自动完成一切。** 其余命令是给「想精细操控」的高级用户。\n\n---\n\n## 一键启动（2 步）\n\n```\n1. 对 AI 说：「帮我配置 + 设置定时任务」\n2. AI 自动完成：探测硬件 → 注册每日定时任务（python cli.py autopilot）\n```\n\n启动后，每天 23:00 自动执行：\n\n```\n补录每日日志 → 沉淀知识点 → 记忆分析(根因) → 预测风险 → 进化报告 → 健康巡检 → 更新提醒\n```\n\n**你完全不用管，它自己会跑。** 且定时任务由技能用系统自带能力注册（Windows 用 `schtasks`、macOS/Linux 用 `crontab`），**不生成任何 .ps1 / .sh / .bat 脚本文件**，更干净、更安全。\n\n---\n\n## 功能模块\n\n---\n\n### 模块 1：长期记忆（跨会话 + 每日日志 + 日记）\n\n**做了什么**：把你的对话、文件、每日日志统一沉淀为可检索的长期记忆；另设「日记」自由记录。\n\n- 记忆落库在 `~/.workbuddy/memory/`（与 v1.7 完全兼容，原有每日日志原样保留）\n- 索引（图谱 + 向量）存于 `~/.workbuddy/memory/zwjh_store/`\n- 每天自动把当日日志补录进底座（幂等，不重复堆积）\n\n**示例**：\n```bash\npython scripts/cli.py deposit --text \"客户张三的对接人是李四，需求是智能客服\" --source conversation\npython scripts/cli.py diary --text \"今天想清楚了一件事：记忆要先去重再沉淀\"\n```\n\n---\n\n### 模块 2：知识图谱（实体 / 关系）\n\n**做了什么**：自动维护「人 / 项目 / 任务 / 事件 / 文档 / 概念 / 组织」等实体与关系。\n\n- 显式关系模板：`负责 / 参与 / 隶属于 / 创建 / 依赖 / 导致 / 位于 / 关联`\n- 已知实体在同一段文本中**共现** → 自动连弱边（图谱随使用自然生长）\n- 关系权重累积、可导出 Mermaid 直接可视化\n- **可插拔**：其他 skill 可直接 `add-entity` / `relate` 注册自己的实体类型\n\n**示例**：\n```bash\npython scripts/cli.py graph add-entity --type person --name 张三 --importance 0.9\npython scripts/cli.py graph relate --from 张三 --to 智能客服系统 --relation 负责\npython scripts/cli.py graph show\n```\n\n---\n\n### 模块 3：自动沉淀（去重 + 冲突消解）\n\n**做了什么**：从对话 / 文件自动提炼知识点，并保证质量。\n\n- **去重**：完全重复直接合并；近似重复（Jaccard ≥ 0.82）更新原条目而非新增\n- **冲突消解**：同一实体同一谓词出现不同值 → 旧值自动标记 `superseded`，保留历史可追溯\n- **事实抽取**：「X 的 Y 是 Z」自动写入图谱事实（如「客户李四 的产品 是 智能客服系统」）\n\n**效果**：\n```\n沉淀「客户李四对接的产品是智能客服系统」\n  → 实体：客户李四(person)\n  → 事实：(客户李四, 产品, 智能客服系统)\n```\n\n---\n\n### 模块 4：语义检索 + 时间线检索（零密钥）\n\n**做了什么**：两种检索，都不需要任何 API Key、不联网。\n\n- **语义检索**：本地 TF-IDF（中文 char/bigram 向量）余弦相似度。即使表述不同（\"学机器\" vs \"机器学习\"）也能召回，毫秒级。\n- **时间线检索**：按日期区间 + 关键词过滤，还原「某段时间发生了什么」。\n\n**示例**：\n```bash\npython scripts/cli.py query \"谁负责机器学习项目\"\npython scripts/cli.py timeline --from 2026-07-01 --to 2026-07-31 --keyword 发布\n```\n\n> 其他 skill 也可直接调用 `retrieval.ask(question)` 把长期记忆注入自己的上下文——这就是「可插拔基础设施」。\n\n---\n\n### 模块 5：记忆健康度审计 + 压缩 / 快照\n\n**解决「记忆膨胀」痛点**：记忆越多越慢、重复越多越乱。\n\n- **审计**：产出 0~100 健康度评分，列出陈旧记忆 / 孤儿实体（无关系）/ 冲突事实 / 近似重复 / DB 体积\n- **压缩**：对陈旧记忆做抽取式摘要、合并近似重复（先预览 dry-run，再 `--apply`）\n- **快照**：导出完整可恢复快照（实体/关系/事实/配置）\n\n```bash\npython scripts/cli.py health\npython scripts/cli.py compact --apply\npython scripts/cli.py snapshot\n```\n\n---\n\n### 模块 6：导出 / 备份 / 恢复（接百度网盘）\n\n**做了什么**：记忆可迁移、可恢复。\n\n- **默认本地备份**：快照 + 每日日志原文打包到 `zwjh_store/backups/`，自动保留最近 7 份\n- **百度网盘（可插拔）**：仅在用户本地已配置访问凭证时启用（凭证存本地 `config.json`，**不进技能包、不需要密钥**）；未配置时清晰提示，绝不偷偷联网\n- **恢复**：从备份写回图谱与每日日志\n\n```bash\npython scripts/cli.py backup\npython scripts/cli.py backup --target baidunetdisk   # 需先配置凭证\npython scripts/cli.py restore <备份目录路径>\n```\n\n---\n\n### 模块 7：硬件自适应（不拖累电脑）\n\n**做了什么**：自动探测 CPU 核心数 / 物理内存 / 系统，把机器分 `low / mid / high` 三档，自动给出：\n\n| 档位 | 并发 | 单批 | 向量缓存 | 适用 |\n|------|------|------|----------|------|\n| low  | 1 | 20 | 关 | ≤2 核或 <4GB |\n| mid  | 2 | 60 | 开 | ≤4 核或 <8GB |\n| high | ≤8 | 200 | 开 | 更高配 |\n\n- 检索/沉淀按档位**分批**处理，避免一次性占满内存\n- 提供 `recommend_subtasks(n)`：按任务量与档位建议拆成几个子任务（给上层调度用）\n- 探测失败回退保守 `low` 档，**绝不把电脑跑满**\n\n```bash\npython scripts/cli.py hardware\n```\n\n---\n\n### 模块 8：技能更新提醒\n\n**做了什么**：本地比较「技能包版本」与「本机已见版本」，发现新版本主动提示你升级（不依赖联网 / 密钥）。\n\n- 运行 `python scripts/cli.py update-check` 立即查看\n- 每日 `autopilot` 也会在结尾打印更新提示（若有）\n- 已见版本缓存于 `zwjh_store/installed_version.json`，避免重复打扰\n\n```bash\npython scripts/cli.py update-check\n```\n\n---\n\n### 模块 11：记忆冲突消解\n\n**做了什么**：当新记忆与旧记忆矛盾时，智能检测、分类、消解，避免\"记错了还固执\"。\n\n- **冲突自动检测**：写入时自动对比同 entity+predicate 的已有事实，计算语义相似度与矛盾度\n- **冲突分类**：信息更新（换工作）/ 信息纠错（之前记错）/ 视角变化（同义不同描述）/ 真实冲突（需仲裁）\n- **自动消解**：UPDATE / CORRECTION 类型自动处理（新替旧），PERSPECTIVE 自动合并\n- **冲突提示**：REAL_CONFLICT 生成对比报告，存入待处理队列，提示用户仲裁\n- **处理策略**：覆盖 / 保留两者 / 合并 / 忽略\n- **性能保障**：仅在同 entity+predicate 写入时触发，向量缓存，超时保护，不拖累写入\n\n**示例**：\n```bash\npython scripts/cli.py deposit --text \"我之前记错了，张三其实去了字节跳动\" --source conversation\n# → 自动检测到纠错模式，新值覆盖旧值\n\npython scripts/cli.py conflicts\n# → 查看待处理冲突\npython scripts/cli.py conflicts --resolve 1 --strategy 1\n# → 处理冲突 #1，策略：覆盖\n```\n\n---\n\n### 模块 12：记忆导出 / 迁移\n\n**做了什么**：多格式、可选中、跨平台迁移，消除数据锁定担忧。\n\n- **多格式导出**：Markdown（可读性）/ JSON（结构化）/ Neo4j Cypher（图数据库）/ CSV（Excel）/ Obsidian / Logseq\n- **选择性导出**：按实体类型 / 时间范围 / 重要度阈值筛选\n- **批量导入**：支持从 Markdown、JSON、Obsidian vault 批量导入\n- **零依赖**：所有格式纯标准库生成，无需额外工具\n\n**示例**：\n```bash\npython scripts/cli.py export --format markdown --output D:\\backup\npython scripts/cli.py export --format obsidian --from-day 2026-01-01 --to-day 2026-07-31\npython scripts/cli.py export --format cypher --types person,project\npython scripts/cli.py export --format csv --output D:\\export\n```\n\n---\n\n### 模块 13：时间线叙事生成\n\n**做了什么**：把分散的记忆组织成连贯的叙事，从\"数据库\"变成\"有温度的回忆\"。\n\n- **项目进展时间线**：输入项目名称，自动生成从立项到当前的所有关键节点\n- **人脉交互历史**：输入人名，生成与 TA 的所有互动时间线\n- **知识成长轨迹**：输入主题，展示认知变化（入门→深入）\n- **周期性回顾**：每周/每月自动生成回顾报告\n- **可插拔 LLM**：支持配置外部 LLM API，未配置时使用模板降级\n\n**示例**：\n```bash\npython scripts/cli.py narrative project --name \"机器学习项目\"\npython scripts/cli.py narrative person --name \"张三\"\npython scripts/cli.py narrative knowledge --name \"Python\"\npython scripts/cli.py narrative weekly\npython scripts/cli.py narrative monthly\n```\n\n---\n\n### 模块 14：多模态记忆\n\n**做了什么**：记忆从文字扩展到图片、音频、文件，全媒体覆盖。\n\n- **图片记忆**：AI 理解图片内容、拍摄时间、关联事件\n- **音频记忆**：会议录音摘要、关键决策关联到项目\n- **文件记忆**：文档摘要、存在路径、关联实体\n- **媒体理解适配器**：可插拔（本地模型 / LLM API / 手动描述）\n- **实体关联**：媒体文件自动链接到知识图谱实体\n\n**示例**：\n```bash\npython scripts/cli.py multimodal index-image --path D:\\photo.jpg --entity \"张三\" --text \"项目启动会合影\"\npython scripts/cli.py multimodal index-audio --path D:\\meeting.mp3 --project \"智能客服\"\npython scripts/cli.py multimodal index-file --path D:\\contract.pdf --entity \"李四\" --project \"合同审核\"\npython scripts/cli.py multimodal list --type image\n```\n\n---\n\n### 模块 15：跨 skill 记忆总线（MCP 服务器）\n\n**做了什么**：把 zwjh-skill 的核心能力暴露为 MCP Tool，让其他 skill / Agent 直接调用，「可插拔基础设施」定位落地。\n\n- **3 个 MCP Tool**：`zwjh_query`（语义检索）/ `zwjh_deposit`（沉淀知识点）/ `zwjh_health`（健康度报告）\n- **零依赖**：纯标准库实现 MCP 协议（JSON-RPC 2.0 over stdio），不引入 `mcp` 包\n- **协议标准**：兼容 MCP 2024-11-05 规范，可与任何支持 MCP 的 Agent 集成\n\n**启动方式**：\n```bash\npython scripts/mcp_server.py\n# 或\npython scripts/cli.py mcp\n```\n\n**MCP 配置示例**（`~/.workbuddy/mcp.json`）：\n```json\n{\n  \"mcpServers\": {\n    \"zwjh-memory\": {\n      \"command\": \"python\",\n      \"args\": [\"D:/skill/zwjh-skill/scripts/mcp_server.py\"]\n    }\n  }\n}\n```\n\n---\n\n### 模块 16：自动归档策略（冷热分层）\n\n**做了什么**：按访问频率 + 时间衰减自动控制记忆膨胀，「热记忆保持、温记忆摘要、冷记忆高压缩归档」。\n\n- **热度算法**：`0.6 × ln(access_count + 1) + 0.4 × exp(-days_since_access / 30)`\n- **三层策略**：热（保持原样）/ 温（抽取式摘要，30~50% 压缩）/ 冷（仅保留事实，70~90% 压缩）\n- **自动触发**：`autopilot` 末尾自动调用，无需手动干预\n- **硬件感知**：批处理大小按 `hardware.tier` 分配\n\n**示例**：\n```bash\npython scripts/cli.py archive --dry-run    # 查看归档计划\npython scripts/cli.py archive              # 执行归档\npython scripts/cli.py archive --stats      # 查看归档统计\n```\n\n---\n\n### 模块 17：任务状态面板（Web 可视化增强）\n\n**做了什么**：在原有图谱可视化基础上，新增底部任务状态面板，autopilot 运行可观测。\n\n- **定时任务状态**：显示是否注册、频率、输出\n- **健康度评分**：实时显示当前健康度（绿/黄/红三色标识）\n- **归档统计**：热/温/冷记忆数量 + 压缩节省百分比\n- **可折叠设计**：不占用图谱空间，需要时展开\n\n**启动方式**：\n```bash\npython scripts/web_server.py\n# 浏览器打开 http://127.0.0.1:8080 → 底部任务状态面板\n```\n\n---\n\n### 模块 18：本地 Embedding 层（ONNX BGE）\n\n**做了什么**：接入 bge-small-zh v1.5 ONNX 量化模型，实现真正的语义向量检索。\n\n- **模型外部放置**：模型文件不打包，包内只带 SHA256 校验与下载指引\n- **零密钥**：用户下载 .onnx 放置 `models/` 即启用语义检索\n- **自动回退**：无模型时自动回退 TF-IDF（行为同旧版）\n- **向量存储**：SQLite BLOB 表，万条级暴力余弦检索\n- **扩展预留**：接口预留 HNSW 索引扩展点\n\n**模型信息**：\n- 模型：BAAI/bge-small-zh-v1.5 (ONNX INT8 量化)\n- 维度：512\n- 大小：约 30MB\n- 下载：放置 `models/bge-small-zh-v1.5-q.onnx`\n\n---\n\n### 模块 19：混合检索（三路召回 + RRF 融合）\n\n**做了什么**：检索升级为语义/关键词/时间三路召回 RRF 融合排序，返回结果附命中理由。\n\n- **三路召回**：语义（ONNX BGE）/ 关键词（TF-IDF）/ 时间衰减\n- **RRF 融合**：Reciprocal Rank Fusion 平滑融合多路结果\n- **可解释输出**：返回语义分/关键词分/时间分，让 Agent 知道为何召回\n- **向后兼容**：无 ONNX 模型时自动回退纯 TF-IDF\n\n**示例**：\n```bash\npython scripts/cli.py query \"张三去哪了\"\n# 返回: [{day, source, score, snippet, explanation: {semantic, keyword, time, summary}}]\n```\n\n---\n\n### 模块 20：存量记忆重建索引\n\n**做了什么**：后台分批重建存量记忆的向量索引，不阻塞使用。\n\n- **后台分批**：按硬件档位分配批次大小\n- **断点续传**：已处理的跳过，支持中断后继续\n- **进度输出**：实时显示处理进度\n- **让出 CPU**：每批处理后让出线程，不卡顿\n\n**示例**：\n```bash\npython scripts/cli.py rebuild-index           # 重建全部\npython scripts/cli.py rebuild-index --batch 100  # 大批次\npython scripts/cli.py embedder-info           # 查看模型状态\n```\n\n---\n\n### 模块 10：知识图谱可视化（Web 界面）\n\n**做了什么**：在浏览器中直观探索实体关系网络，从\"黑盒存储\"变为\"可视化探索\"。\n\n- **交互式关系网络图**：力导向图，可缩放/拖拽/搜索，按类型着色\n- **实体详情面板**：点击节点弹出，显示属性、关联关系\n- **路径探索**：选择两个实体，BFS 自动展示最短关系路径\n- **时间线视图**：按时间轴展示实体历史变迁\n- **子图过滤**：按类型/关系/重要度过滤，聚焦关心的部分\n- **大规模优化**：1000+ 节点时分层加载（核心节点优先 + 邻居按需加载）+ 聚合显示\n- **零依赖**：内置 Python HTTP 服务器，前端 ECharts，开箱即用\n\n**启动方式**：\n```bash\npython scripts/web_server.py [--port 8080]\n# 浏览器打开 http://127.0.0.1:8080\n```\n\n---\n\n### 模块 9（保留 v1.7）：记忆分析 / 预测性维护 / 进化报告\n\n原有「会思考的进化 AI」核心能力完整保留：\n\n- `analyze`：智能记忆分析（理解本质 / 根因 / 隐含需求 / 自动修复建议）\n- `predict`：预测性维护（从历史推断明日风险）\n- `report`：进化报告（成长趋势统计）\n- `demo`：无数据时看效果\n\n```bash\npython scripts/cli.py analyze\npython scripts/cli.py predict\npython scripts/cli.py report\npython scripts/cli.py demo\n```\n\n---\n\n## 典型应用场景\n\n- **让 Agent「记得你」**：减少重复解释背景，新对话自动带入历史上下文\n- **项目知识沉淀**：新人接手时一句 `ask \"这个项目的关键人物和坑是什么\"` 快速上手\n- **个人 / 客户 CRM（轻量）**：客户、对接人、需求自动成图谱，随问随答\n\n---\n\n## 差异化 / 竞争力\n\n- **中文优化**：char/bigram 向量对中文语义召回友好\n- **与其他 skill 打通**：作为可插拔记忆底座，任何 skill 都能 `import` 复用\n- **接企业微信 / 百度网盘做备份**：备份通道可插拔扩展\n- **可观测、可清理**：健康度评分 + 压缩/快照，正面解决「记忆膨胀」\n- **纯本地、零密钥**：无模型下载、无 API 费用、无隐私外泄\n\n---\n\n## 技术实现要点\n\n- **存储**：`sqlite3`（WAL 模式，写入不阻塞）+ 每日日志原文（append-only）\n- **向量**：本地 TF-IDF 稀疏向量（中文 char/bigram），**零模型、零密钥**\n- **图谱**：实体 / 关系表 + 共现 + 模板关系抽取 + 事实冲突消解\n- **调度**：硬件自适应并发 / 批大小；定时任务用系统原生能力注册（无脚本文件）\n- **可插拔**：嵌入适配器、百度网盘适配器、实体类型均可扩展\n\n---\n\n## 更新日志\n\n| v2.5.0 | 2026-08-24 | 新增：本地 embedding 层（ONNX BGE 语义向量 + TF-IDF 回退，模型外部放置 + SHA256 校验）；新增混合检索（语义/关键词/时间三路召回 RRF 融合排序）；新增检索解释（返回结果附命中理由分项）；新增存量记忆一键重建索引（后台分批不阻塞）；新增 embedder.py / rebuild_index.py；优化 retrieval.py 升级为 hybrid_search |\n| v2.4.0 | 2026-08-17 | 新增：跨 skill 记忆总线（MCP 服务器，暴露 query/deposit/health 为 MCP Tool，零依赖）；新增自动归档策略（冷热分层 + 时间衰减热度分，autopilot 自动触发）；新增任务状态 Web 面板（定时任务/健康度/归档统计可视化）；新增 mcp_server.py / archive.py；新增 CLI archive / mcp 命令 |\n| v2.3.0 | 2026-08-07 | 新增：多格式导出（Markdown/JSON/Cypher/CSV/Obsidian/Logseq）与选择性筛选；新增时间线叙事生成（项目/人脉/知识成长/周期回顾）；新增多模态记忆（图片/音频/文件索引）；新增 export.py / narrative.py / multimodal.py |\n| v2.2.0 | 2026-07-29 | 新增：记忆冲突消解（冲突自动检测 + 四类分类 + 自动/手动消解策略）；新增 conflict_resolver.py；新增 CLI conflicts 命令 |\n| v2.1.0 | 2026-07-17 | 新增：知识图谱 Web 可视化（力导向图/详情面板/路径探索/时间线/子图过滤）；增加 web_server.py 零依赖内置 HTTP 服务器；增加大规模图谱分层加载与聚合；新增 REST API |\n| v2.0.0 | 2026-07-08 | 新增：统一记忆底座（长期记忆 + 知识图谱 + 自动沉淀 + 检索 + 健康度 + 备份）；新增硬件自适应调度与技能更新提醒；保留 v1.7 能力；零密钥纯本地 |\n| v1.7.0 | 2026-06 | 优化：大幅简化操作（一键启动）、增强自愈能力（极少人工介入） |\n| v1.6.0 | 2026-05 | 新增：思维进化引擎、根因分析、一键定时任务 |\n| v1.5.0 | 2026-04 | 优化：友好错误处理、预测冷启动优化 |\n| v1.0.0 | 2026-03 | 初始版本发布 |\n\n---\n\n## ❌ 边界说明\n\n| 不支持 | 替代方案 |\n|--------|---------|\n| 修改 SKILL.md 本身 | 手动更新版本 |\n| 删除 MEMORY.md | 只追加不删除 |\n| 100% 自动修复 | 复杂情况给精确命令 |\n| 完美概率预测 | 数据越多越准，冷启动也给建议 |\n| 联网语义（默认） | 默认本地向量；如需更强语义可自行挂接嵌入适配器 |\n| 百度网盘无凭证自动备份 | 先在 `config.json` 配置访问凭证，或用本地备份 |\n\n---\n\n## ❓ 常见问题（FAQ）\n\n### Q1: 第一次使用怎么做？\n说 **「帮我配置 + 设置定时任务」**，AI 自动探测硬件、注册定时任务。\n\n### Q2: 没有记忆文件怎么办？\n说 **「模拟演示」**，用假数据看效果。之后再聊几天话就有了。\n\n### Q3: 定时任务设置了没反应？\n```bash\npython scripts/cli.py task-status      # 查看状态\npython scripts/cli.py autopilot        # 手动跑一次\n```\n\n### Q4: 如何暂停自动进化？\n```bash\npython scripts/cli.py remove           # 删除定时任务\n```\n\n### Q5: 数据存在哪？安全吗？\n记忆原文在 `~/.workbuddy/memory/`，索引在 `~/.workbuddy/memory/zwjh_store/`。\n全部本地、**不上传任何外部服务器**、不要求任何密钥。\n\n### Q6: 会拖慢电脑吗？\n不会。技能自动探测硬件并限流：低配机单线程小批量，高配机才多并发；检索/沉淀分批处理。\n\n### Q7: 记忆太多太乱怎么办？\n`python scripts/cli.py health` 看健康度，`compact --apply` 压缩去重，`snapshot` 留底。\n\n### Q8: 怎么把记忆给别人 / 换电脑？\n`python scripts/cli.py backup` 导出到本地备份目录，拷贝即可；到新机器 `restore <路径>`。\n\n### Q9: 支持 Mac / Linux 吗？\n支持。定时任务用 `crontab`（由 `setup` 命令自动写入，不生成 .sh 文件）。\n\n### Q10: 怎么知道有新版本？\n`python scripts/cli.py update-check`；每日自动进化也会提示。\n\n### Q11: 其他 skill 怎么复用这个底座？\n直接 `from scripts import retrieval, store, graph, deposit` 调用；或用 CLI 的 `ask` / `deposit` 子命令。\n\n### Q12: Python 版本要求？\nPython 3.8+，标准库即可，无需安装任何第三方包。\n\n---\n\n## 安全声明\n\n- 所有分析在本地完成，不上传任何外部服务器\n- 不要求、不读取任何 API Key；联网功能均为可插拔且默认关闭\n- 只读写你指定的记忆目录，不碰其他文件\n- 自动修复有白名单，危险操作需确认\n- 所有文件操作都有异常捕获，不会崩溃\n- 定时任务由系统原生能力注册，**不生成任何 .ps1 / .sh / .bat 等可执行脚本**\n\n---\n\n## 支持\n\n- 平台：WorkBuddy 等使用 `~/.workbuddy/memory/` 的 Agent；Windows / macOS / Linux\n- 中文界面、零密钥、本地优先\n- 有更好建议：**njskills@agent.qq.com**\n\n---\n\n## 发布信息\n\n- **作者**: Admin\n- **许可证**: MIT\n- **最低引擎版本**: 1.0.0\n- **更新历史**:\n  - v2.0.0: 升级为统一记忆底座（长期记忆+知识图谱+自动沉淀+检索+健康度+备份+硬件自适应+更新提醒），保留 v1.7 能力，零密钥纯本地\n  - v1.7.0: 大幅简化操作（一键启动）、增强自愈能力（极少人工介入）、功能开箱即用\n  - v1.6.0: 思维进化引擎、根本原因分析、一键定时任务\n  - v1.5.0: 友好错误处理、预测冷启动优化\n  - v1.4.0: 升级为进化 AI\n  - v1.3.0: 首次使用向导\n  - v1.2.0: 代码折叠优化\n  - v1.1.0: 智能经验提取\n  - v1.0.0: 初始版本\n\nFile v2.5.0:_meta.json\n\n{\n  \"ownerId\": \"kn7chdrwbdhaqkwajcyhtfvjx989ddb1\",\n  \"slug\": \"zwjh-skill\",\n  \"version\": \"2.5.0\",\n  \"publishedAt\": 1787573633867\n}\n\nFile v2.5.0:skill-card.md\n\n## Description:\n\n统一记忆底座：长期记忆 + 知识图谱 + 自动沉淀 + 检索。让 AI「记得你」，跨会话持久记忆、实体/关系图谱、语义与时间线检索、记忆健康度审计、本地备份（可接百度网盘）。纯本地、零密钥、按硬件自适应，不拖累电脑。并保留 v1.7 的根因分析/预测性维护/进化报告。\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[fyniujin](https://clawhub.ai/user/fyniujin)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and external users use this skill to give an agent persistent local memory, knowledge graph storage, retrieval, memory health checks, backup and restore workflows, and optional MCP or web interfaces for cross-session context.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Persistent local memory can collect broad personal or project context over time.\n\nMitigation: Review stored memory regularly, keep sensitive data out of deposits, and use health, compact, export, and delete workflows before sharing or migrating data.\n\nRisk: Scheduled daily processing can run memory operations without direct user attention.\n\nMitigation: Enable scheduled tasks only after reviewing the commands, and disable or audit the task if the memory scope changes.\n\nRisk: MCP, web UI, remote update checks, ONNX tokenizer downloads, and Baidu backup can expose or move memory data through optional integrations.\n\nMitigation: Keep optional integrations disabled unless needed, understand their data paths first, and maintain separate backups before using restore.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/fyniujin/skills/zwjh-skill)\n- [Publisher Profile](https://clawhub.ai/user/fyniujin)\n- [BAAI bge-small-zh-v1.5 Model](https://huggingface.co/BAAI/bge-small-zh-v1.5)\n- [Local Web UI](http://127.0.0.1:8080)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown, CLI text, JSON data, exported files, and configuration snippets.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Outputs may include local memory records, graph data, retrieval answers, health reports, backup/export artifacts, MCP tool responses, and web UI data.]\n\n## Skill Version(s):\n\n2.5.0 (source: frontmatter, version.json, server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v2.5.0:version.json\n\n{\n  \"name\": \"zwjh-skill\",\n  \"displayName\": \"长期记忆 / 知识图谱 会思考的进化 AI\",\n  \"version\": \"2.5.0\",\n  \"min_engine\": \"1.0.0\",\n  \"requires_api_key\": false,\n  \"updated_at\": \"2026-08-24\",\n  \"changelog\": [\n    \"新增：本地 embedding 层（ONNX BGE 语义向量 + TF-IDF 回退，模型外部放置 + SHA256 校验）\",\n    \"新增：混合检索（语义/关键词/时间三路召回 RRF 融合排序）\",\n    \"新增：检索解释（返回结果附语义分/关键词分/时间衰减分命中理由）\",\n    \"新增：存量记忆一键重建索引（后台分批进行，不阻塞使用）\",\n    \"新增：embedder.py（ONNX Runtime 推理 + 向量 BLOB 存储）\",\n    \"新增：rebuild_index.py（后台分批重建向量索引）\",\n    \"优化：retrieval.py 升级为 hybrid_search（三路召回 + RRF 融合 + 可解释输出）\",\n    \"新增：CLI rebuild-index / embedder-info 命令\",\n    \"新增：跨 skill 记忆总线（MCP 服务器，暴露 query/deposit/health 为 MCP Tool）\",\n    \"新增：自动归档策略（冷热分层 + 时间衰减，autopilot 自动触发）\",\n    \"新增：任务状态 Web 面板（定时任务/健康度/归档统计可视化）\",\n    \"新增：mcp_server.py 零依赖 MCP 服务器（JSON-RPC 2.0 over stdio）\",\n    \"新增：archive.py 自动归档（热度分 = 0.6*ln(access_count+1) + 0.4*exp(-days/30)）\",\n    \"新增：CLI archive 命令（dry-run / --stats）\",\n    \"新增：CLI mcp 命令启动跨 skill 记忆总线\",\n    \"新增：Web UI 任务状态面板（可折叠，显示定时任务/健康度/归档统计）\",\n    \"新增：/api/task-status 和 /api/archive-stats REST API\",\n    \"优化：autopilot 自动触发归档策略\",\n    \"优化：Web UI 底部任务状态面板（定时任务/健康度/归档统计）\",\n    \"新增：多格式导出（Markdown/JSON/Cypher/CSV/Obsidian/Logseq）与选择性筛选\",\n    \"新增：时间线叙事生成（项目/人脉/知识成长/周期回顾）\",\n    \"新增：多模态记忆（图片/音频/文件索引 + 实体关联）\",\n    \"新增：memory_export.py / narrative.py / multimodal.py 三个模块\",\n    \"新增：CLI export / import / narrative / multimodal 命令\",\n    \"新增：记忆冲突消解（冲突自动检测 + 分类 + 消解策略）\",\n    \"新增：conflict_resolver.py 模块（UPDATE/CORRECTION/PERSPECTIVE/REAL_CONFLICT 四类冲突）\",\n    \"新增：冲突自动消解（信息更新/纠错自动处理，真实冲突提示用户仲裁）\",\n    \"新增：CLI conflicts 命令查看/处理待处理冲突\",\n    \"新增：知识图谱 Web 可视化（力导向图 / 详情面板 / 路径探索 / 时间线 / 子图过滤）\",\n    \"新增：web_server.py 内置零依赖 HTTP 服务器，ECharts 前端渲染\",\n    \"新增：大规模图谱分层加载与聚合（核心节点优先 + 邻居 BFS）\",\n    \"新增：REST API（/api/graph /api/entity /api/path /api/timeline /api/stats /api/search /api/neighbors）\",\n    \"新增：实体详情面板、最短路径 BFS、时间线视图、子图过滤\",\n    \"优化：可视化从黑盒存储升级为直观探索界面\",\n    \"新增：统一记忆底座（长期记忆 + 知识图谱 + 自动沉淀 + 检索）\",\n    \"新增：实体/关系图谱（人/项目/任务/事件/文档）\",\n    \"新增：跨会话长期记忆 + 每日日志 + 日记\",\n    \"新增：自动从对话/文件沉淀知识点（去重 + 冲突消解）\",\n    \"新增：本地语义检索 + 时间线检索（零密钥、零联网）\",\n    \"新增：记忆健康度审计 + 压缩/快照\",\n    \"新增：导出/备份/恢复（本地 + 百度网盘可插拔）\",\n    \"新增：硬件自适应调度（按 CPU/内存自动分配并发与批大小，不拖累电脑）\",\n    \"新增：技能更新提醒\",\n    \"优化：纯标准库实现，无重依赖，冷启动快\",\n    \"优化：继承 v1.7 记忆分析/根因/预测/进化报告能力\",\n    \"删除：移除对外部密钥的依赖（原 token 检测改为本地化）\"\n  ]\n}\n\nArchive v2.4.0: 29 files, 94162 bytes\n\nFiles: scripts/__init__.py (130b), scripts/archive.py (11089b), scripts/backup.py (7007b), scripts/cli.py (22745b), scripts/config.py (2921b), scripts/conflict_resolver.py (21984b), scripts/deposit.py (11498b), scripts/embeddings.py (4991b), scripts/export.py (12464b), scripts/graph.py (7408b), scripts/hardware.py (5527b), scripts/health.py (6592b), scripts/legacy.py (12193b), scripts/mcp_server.py (10673b), scripts/multimodal.py (12887b), scripts/narrative.py (12342b), scripts/retrieval.py (4145b), scripts/setup.py (4956b), scripts/store.py (16536b), scripts/update_check.py (3899b), scripts/version.py (222b), scripts/web_server.py (19285b), skill-card.md (2396b), SKILL.md (23019b), version.json (3317b), web_ui/css/style.css (7108b), web_ui/index.html (5382b), web_ui/js/app.js (22362b), _meta.json (129b)\n\nFile v2.4.0:SKILL.md\n\n---\nname: zwjh-skill\ndescription: \"统一记忆底座：长期记忆 + 知识图谱 + 自动沉淀 + 检索。让 AI「记得你」，跨会话持久记忆、实体/关系图谱、语义与时间线检索、记忆健康度审计、本地备份（可接百度网盘）。纯本地、零密钥、按硬件自适应，不拖累电脑。并保留 v1.7 的根因分析/预测性维护/进化报告。\"\nversion: 2.4.0\n---\n\n\n# 长期记忆 / 知识图谱 会思考的进化 AI — zwjh-skill v2.3.0\n\n> **安装后说「帮我配置 + 设置定时任务」，AI 自动完成一切。**\n>\n> 它是一个**统一记忆底座**，而不只是又一个「记忆 skill」：\n> - 🧠 **长期记忆**：跨会话持久记住你、项目、客户，减少重复解释背景\n> - 🕸️ **知识图谱**：自动抽取「人 / 项目 / 任务 / 事件 / 文档」等实体与关系\n> - ⚙️ **自动沉淀**：从对话 / 文件自动提炼知识点（去重 + 冲突消解）\n> - 🔎 **检索**：本地语义检索 + 时间线检索（零密钥、零联网、毫秒级）\n> - 🩺 **健康度**：审计记忆膨胀、压缩/快照，记忆可观测、可清理\n> - 💾 **备份**：导出 / 备份 / 恢复（本地 + 百度网盘可插拔）\n> - 🖥️ **不拖累电脑**：自动探测硬件，按 CPU/内存分配并发与批大小\n> - 🔔 **更新提醒**：发现新版本主动提示你升级\n>\n> **v2.0.0**：从「单技能」升级为「可插拔的记忆基础设施」，并完整保留 v1.7 的根因分析 / 预测性维护 / 进化报告能力。\n\n---\n\n## 核心理念\n\n```\n传统 AI：每次对话从零开始 → 你反复解释背景 → 记忆散落各处、互不相通\n会思考的进化 AI：理解本质 → 沉淀为记忆+图谱 → 跨会话检索 → 举一反三 → 自动进化\n```\n\n**为什么做统一底座？** 市面方案碎片化（各 skill 各存各的、跨 skill 不互通）。本技能把「记忆 + 图谱 + 检索 + 健康度」做成一个**其他 skill 可直接调用的基础设施**，而不是又一个孤立的记忆插件。\n\n---\n\n## 30 秒速查表\n\n| 我想做 | 直接说 / 运行 |\n|--------|--------|\n| **一键启动自动进化** | `帮我配置 + 设置定时任务` |\n| 记下一段对话/知识点 | `python scripts/cli.py deposit --text \"...\"` |\n| 从文件沉淀知识 | `python scripts/cli.py deposit --file notes.md` |\n| 语义检索记忆 | `python scripts/cli.py query \"谁负责机器学习项目\"` |\n| 让 AI 用记忆回答 | `python scripts/cli.py ask \"我最近在做什么项目\"` |\n| 查某段时间发生的事 | `python scripts/cli.py timeline --from 2026-07-01 --to 2026-07-31` |\n| 看知识图谱 | `python scripts/cli.py graph list` / `graph show`（Mermaid） |\n| 记忆健康度体检 | `python scripts/cli.py health` |\n| 压缩（去重+摘要） | `python scripts/cli.py compact --apply` |\n| 备份 / 恢复 | `python scripts/cli.py backup` / `restore <路径>` |\n| 写日记 | `python scripts/cli.py diary --text \"今天想清楚了一件事\"` |\n| 看是否有新版本 | `python scripts/cli.py update-check` |\n| 查看/消解冲突 | `python scripts/cli.py conflicts` |\n| 一键配置定时任务 | `python scripts/cli.py setup` |\n| 总览 | `python scripts/cli.py status` |\n\n> **大部分时候你只需要说第一句，AI 自动完成一切。** 其余命令是给「想精细操控」的高级用户。\n\n---\n\n## 一键启动（2 步）\n\n```\n1. 对 AI 说：「帮我配置 + 设置定时任务」\n2. AI 自动完成：探测硬件 → 注册每日定时任务（python cli.py autopilot）\n```\n\n启动后，每天 23:00 自动执行：\n\n```\n补录每日日志 → 沉淀知识点 → 记忆分析(根因) → 预测风险 → 进化报告 → 健康巡检 → 更新提醒\n```\n\n**你完全不用管，它自己会跑。** 且定时任务由技能用系统自带能力注册（Windows 用 `schtasks`、macOS/Linux 用 `crontab`），**不生成任何 .ps1 / .sh / .bat 脚本文件**，更干净、更安全。\n\n---\n\n## 功能模块\n\n---\n\n### 模块 1：长期记忆（跨会话 + 每日日志 + 日记）\n\n**做了什么**：把你的对话、文件、每日日志统一沉淀为可检索的长期记忆；另设「日记」自由记录。\n\n- 记忆落库在 `~/.workbuddy/memory/`（与 v1.7 完全兼容，原有每日日志原样保留）\n- 索引（图谱 + 向量）存于 `~/.workbuddy/memory/zwjh_store/`\n- 每天自动把当日日志补录进底座（幂等，不重复堆积）\n\n**示例**：\n```bash\npython scripts/cli.py deposit --text \"客户张三的对接人是李四，需求是智能客服\" --source conversation\npython scripts/cli.py diary --text \"今天想清楚了一件事：记忆要先去重再沉淀\"\n```\n\n---\n\n### 模块 2：知识图谱（实体 / 关系）\n\n**做了什么**：自动维护「人 / 项目 / 任务 / 事件 / 文档 / 概念 / 组织」等实体与关系。\n\n- 显式关系模板：`负责 / 参与 / 隶属于 / 创建 / 依赖 / 导致 / 位于 / 关联`\n- 已知实体在同一段文本中**共现** → 自动连弱边（图谱随使用自然生长）\n- 关系权重累积、可导出 Mermaid 直接可视化\n- **可插拔**：其他 skill 可直接 `add-entity` / `relate` 注册自己的实体类型\n\n**示例**：\n```bash\npython scripts/cli.py graph add-entity --type person --name 张三 --importance 0.9\npython scripts/cli.py graph relate --from 张三 --to 智能客服系统 --relation 负责\npython scripts/cli.py graph show\n```\n\n---\n\n### 模块 3：自动沉淀（去重 + 冲突消解）\n\n**做了什么**：从对话 / 文件自动提炼知识点，并保证质量。\n\n- **去重**：完全重复直接合并；近似重复（Jaccard ≥ 0.82）更新原条目而非新增\n- **冲突消解**：同一实体同一谓词出现不同值 → 旧值自动标记 `superseded`，保留历史可追溯\n- **事实抽取**：「X 的 Y 是 Z」自动写入图谱事实（如「客户李四 的产品 是 智能客服系统」）\n\n**效果**：\n```\n沉淀「客户李四对接的产品是智能客服系统」\n  → 实体：客户李四(person)\n  → 事实：(客户李四, 产品, 智能客服系统)\n```\n\n---\n\n### 模块 4：语义检索 + 时间线检索（零密钥）\n\n**做了什么**：两种检索，都不需要任何 API Key、不联网。\n\n- **语义检索**：本地 TF-IDF（中文 char/bigram 向量）余弦相似度。即使表述不同（\"学机器\" vs \"机器学习\"）也能召回，毫秒级。\n- **时间线检索**：按日期区间 + 关键词过滤，还原「某段时间发生了什么」。\n\n**示例**：\n```bash\npython scripts/cli.py query \"谁负责机器学习项目\"\npython scripts/cli.py timeline --from 2026-07-01 --to 2026-07-31 --keyword 发布\n```\n\n> 其他 skill 也可直接调用 `retrieval.ask(question)` 把长期记忆注入自己的上下文——这就是「可插拔基础设施」。\n\n---\n\n### 模块 5：记忆健康度审计 + 压缩 / 快照\n\n**解决「记忆膨胀」痛点**：记忆越多越慢、重复越多越乱。\n\n- **审计**：产出 0~100 健康度评分，列出陈旧记忆 / 孤儿实体（无关系）/ 冲突事实 / 近似重复 / DB 体积\n- **压缩**：对陈旧记忆做抽取式摘要、合并近似重复（先预览 dry-run，再 `--apply`）\n- **快照**：导出完整可恢复快照（实体/关系/事实/配置）\n\n```bash\npython scripts/cli.py health\npython scripts/cli.py compact --apply\npython scripts/cli.py snapshot\n```\n\n---\n\n### 模块 6：导出 / 备份 / 恢复（接百度网盘）\n\n**做了什么**：记忆可迁移、可恢复。\n\n- **默认本地备份**：快照 + 每日日志原文打包到 `zwjh_store/backups/`，自动保留最近 7 份\n- **百度网盘（可插拔）**：仅在用户本地已配置访问凭证时启用（凭证存本地 `config.json`，**不进技能包、不需要密钥**）；未配置时清晰提示，绝不偷偷联网\n- **恢复**：从备份写回图谱与每日日志\n\n```bash\npython scripts/cli.py backup\npython scripts/cli.py backup --target baidunetdisk   # 需先配置凭证\npython scripts/cli.py restore <备份目录路径>\n```\n\n---\n\n### 模块 7：硬件自适应（不拖累电脑）\n\n**做了什么**：自动探测 CPU 核心数 / 物理内存 / 系统，把机器分 `low / mid / high` 三档，自动给出：\n\n| 档位 | 并发 | 单批 | 向量缓存 | 适用 |\n|------|------|------|----------|------|\n| low  | 1 | 20 | 关 | ≤2 核或 <4GB |\n| mid  | 2 | 60 | 开 | ≤4 核或 <8GB |\n| high | ≤8 | 200 | 开 | 更高配 |\n\n- 检索/沉淀按档位**分批**处理，避免一次性占满内存\n- 提供 `recommend_subtasks(n)`：按任务量与档位建议拆成几个子任务（给上层调度用）\n- 探测失败回退保守 `low` 档，**绝不把电脑跑满**\n\n```bash\npython scripts/cli.py hardware\n```\n\n---\n\n### 模块 8：技能更新提醒\n\n**做了什么**：本地比较「技能包版本」与「本机已见版本」，发现新版本主动提示你升级（不依赖联网 / 密钥）。\n\n- 运行 `python scripts/cli.py update-check` 立即查看\n- 每日 `autopilot` 也会在结尾打印更新提示（若有）\n- 已见版本缓存于 `zwjh_store/installed_version.json`，避免重复打扰\n\n```bash\npython scripts/cli.py update-check\n```\n\n---\n\n### 模块 11：记忆冲突消解\n\n**做了什么**：当新记忆与旧记忆矛盾时，智能检测、分类、消解，避免\"记错了还固执\"。\n\n- **冲突自动检测**：写入时自动对比同 entity+predicate 的已有事实，计算语义相似度与矛盾度\n- **冲突分类**：信息更新（换工作）/ 信息纠错（之前记错）/ 视角变化（同义不同描述）/ 真实冲突（需仲裁）\n- **自动消解**：UPDATE / CORRECTION 类型自动处理（新替旧），PERSPECTIVE 自动合并\n- **冲突提示**：REAL_CONFLICT 生成对比报告，存入待处理队列，提示用户仲裁\n- **处理策略**：覆盖 / 保留两者 / 合并 / 忽略\n- **性能保障**：仅在同 entity+predicate 写入时触发，向量缓存，超时保护，不拖累写入\n\n**示例**：\n```bash\npython scripts/cli.py deposit --text \"我之前记错了，张三其实去了字节跳动\" --source conversation\n# → 自动检测到纠错模式，新值覆盖旧值\n\npython scripts/cli.py conflicts\n# → 查看待处理冲突\npython scripts/cli.py conflicts --resolve 1 --strategy 1\n# → 处理冲突 #1，策略：覆盖\n```\n\n---\n\n### 模块 12：记忆导出 / 迁移\n\n**做了什么**：多格式、可选中、跨平台迁移，消除数据锁定担忧。\n\n- **多格式导出**：Markdown（可读性）/ JSON（结构化）/ Neo4j Cypher（图数据库）/ CSV（Excel）/ Obsidian / Logseq\n- **选择性导出**：按实体类型 / 时间范围 / 重要度阈值筛选\n- **批量导入**：支持从 Markdown、JSON、Obsidian vault 批量导入\n- **零依赖**：所有格式纯标准库生成，无需额外工具\n\n**示例**：\n```bash\npython scripts/cli.py export --format markdown --output D:\\backup\npython scripts/cli.py export --format obsidian --from-day 2026-01-01 --to-day 2026-07-31\npython scripts/cli.py export --format cypher --types person,project\npython scripts/cli.py export --format csv --output D:\\export\n```\n\n---\n\n### 模块 13：时间线叙事生成\n\n**做了什么**：把分散的记忆组织成连贯的叙事，从\"数据库\"变成\"有温度的回忆\"。\n\n- **项目进展时间线**：输入项目名称，自动生成从立项到当前的所有关键节点\n- **人脉交互历史**：输入人名，生成与 TA 的所有互动时间线\n- **知识成长轨迹**：输入主题，展示认知变化（入门→深入）\n- **周期性回顾**：每周/每月自动生成回顾报告\n- **可插拔 LLM**：支持配置外部 LLM API，未配置时使用模板降级\n\n**示例**：\n```bash\npython scripts/cli.py narrative project --name \"机器学习项目\"\npython scripts/cli.py narrative person --name \"张三\"\npython scripts/cli.py narrative knowledge --name \"Python\"\npython scripts/cli.py narrative weekly\npython scripts/cli.py narrative monthly\n```\n\n---\n\n### 模块 14：多模态记忆\n\n**做了什么**：记忆从文字扩展到图片、音频、文件，全媒体覆盖。\n\n- **图片记忆**：AI 理解图片内容、拍摄时间、关联事件\n- **音频记忆**：会议录音摘要、关键决策关联到项目\n- **文件记忆**：文档摘要、存在路径、关联实体\n- **媒体理解适配器**：可插拔（本地模型 / LLM API / 手动描述）\n- **实体关联**：媒体文件自动链接到知识图谱实体\n\n**示例**：\n```bash\npython scripts/cli.py multimodal index-image --path D:\\photo.jpg --entity \"张三\" --text \"项目启动会合影\"\npython scripts/cli.py multimodal index-audio --path D:\\meeting.mp3 --project \"智能客服\"\npython scripts/cli.py multimodal index-file --path D:\\contract.pdf --entity \"李四\" --project \"合同审核\"\npython scripts/cli.py multimodal list --type image\n```\n\n---\n\n### 模块 15：跨 skill 记忆总线（MCP 服务器）\n\n**做了什么**：把 zwjh-skill 的核心能力暴露为 MCP Tool，让其他 skill / Agent 直接调用，「可插拔基础设施」定位落地。\n\n- **3 个 MCP Tool**：`zwjh_query`（语义检索）/ `zwjh_deposit`（沉淀知识点）/ `zwjh_health`（健康度报告）\n- **零依赖**：纯标准库实现 MCP 协议（JSON-RPC 2.0 over stdio），不引入 `mcp` 包\n- **协议标准**：兼容 MCP 2024-11-05 规范，可与任何支持 MCP 的 Agent 集成\n\n**启动方式**：\n```bash\npython scripts/mcp_server.py\n# 或\npython scripts/cli.py mcp\n```\n\n**MCP 配置示例**（`~/.workbuddy/mcp.json`）：\n```json\n{\n  \"mcpServers\": {\n    \"zwjh-memory\": {\n      \"command\": \"python\",\n      \"args\": [\"D:/skill/zwjh-skill/scripts/mcp_server.py\"]\n    }\n  }\n}\n```\n\n---\n\n### 模块 16：自动归档策略（冷热分层）\n\n**做了什么**：按访问频率 + 时间衰减自动控制记忆膨胀，「热记忆保持、温记忆摘要、冷记忆高压缩归档」。\n\n- **热度算法**：`0.6 × ln(access_count + 1) + 0.4 × exp(-days_since_access / 30)`\n- **三层策略**：热（保持原样）/ 温（抽取式摘要，30~50% 压缩）/ 冷（仅保留事实，70~90% 压缩）\n- **自动触发**：`autopilot` 末尾自动调用，无需手动干预\n- **硬件感知**：批处理大小按 `hardware.tier` 分配\n\n**示例**：\n```bash\npython scripts/cli.py archive --dry-run    # 查看归档计划\npython scripts/cli.py archive              # 执行归档\npython scripts/cli.py archive --stats      # 查看归档统计\n```\n\n---\n\n### 模块 17：任务状态面板（Web 可视化增强）\n\n**做了什么**：在原有图谱可视化基础上，新增底部任务状态面板，autopilot 运行可观测。\n\n- **定时任务状态**：显示是否注册、频率、输出\n- **健康度评分**：实时显示当前健康度（绿/黄/红三色标识）\n- **归档统计**：热/温/冷记忆数量 + 压缩节省百分比\n- **可折叠设计**：不占用图谱空间，需要时展开\n\n**启动方式**：\n```bash\npython scripts/web_server.py\n# 浏览器打开 http://127.0.0.1:8080 → 底部任务状态面板\n```\n\n---\n\n### 模块 10：知识图谱可视化（Web 界面）\n\n**做了什么**：在浏览器中直观探索实体关系网络，从\"黑盒存储\"变为\"可视化探索\"。\n\n- **交互式关系网络图**：力导向图，可缩放/拖拽/搜索，按类型着色\n- **实体详情面板**：点击节点弹出，显示属性、关联关系\n- **路径探索**：选择两个实体，BFS 自动展示最短关系路径\n- **时间线视图**：按时间轴展示实体历史变迁\n- **子图过滤**：按类型/关系/重要度过滤，聚焦关心的部分\n- **大规模优化**：1000+ 节点时分层加载（核心节点优先 + 邻居按需加载）+ 聚合显示\n- **零依赖**：内置 Python HTTP 服务器，前端 ECharts，开箱即用\n\n**启动方式**：\n```bash\npython scripts/web_server.py [--port 8080]\n# 浏览器打开 http://127.0.0.1:8080\n```\n\n---\n\n### 模块 9（保留 v1.7）：记忆分析 / 预测性维护 / 进化报告\n\n原有「会思考的进化 AI」核心能力完整保留：\n\n- `analyze`：智能记忆分析（理解本质 / 根因 / 隐含需求 / 自动修复建议）\n- `predict`：预测性维护（从历史推断明日风险）\n- `report`：进化报告（成长趋势统计）\n- `demo`：无数据时看效果\n\n```bash\npython scripts/cli.py analyze\npython scripts/cli.py predict\npython scripts/cli.py report\npython scripts/cli.py demo\n```\n\n---\n\n## 典型应用场景\n\n- **让 Agent「记得你」**：减少重复解释背景，新对话自动带入历史上下文\n- **项目知识沉淀**：新人接手时一句 `ask \"这个项目的关键人物和坑是什么\"` 快速上手\n- **个人 / 客户 CRM（轻量）**：客户、对接人、需求自动成图谱，随问随答\n\n---\n\n## 差异化 / 竞争力\n\n- **中文优化**：char/bigram 向量对中文语义召回友好\n- **与其他 skill 打通**：作为可插拔记忆底座，任何 skill 都能 `import` 复用\n- **接企业微信 / 百度网盘做备份**：备份通道可插拔扩展\n- **可观测、可清理**：健康度评分 + 压缩/快照，正面解决「记忆膨胀」\n- **纯本地、零密钥**：无模型下载、无 API 费用、无隐私外泄\n\n---\n\n## 技术实现要点\n\n- **存储**：`sqlite3`（WAL 模式，写入不阻塞）+ 每日日志原文（append-only）\n- **向量**：本地 TF-IDF 稀疏向量（中文 char/bigram），**零模型、零密钥**\n- **图谱**：实体 / 关系表 + 共现 + 模板关系抽取 + 事实冲突消解\n- **调度**：硬件自适应并发 / 批大小；定时任务用系统原生能力注册（无脚本文件）\n- **可插拔**：嵌入适配器、百度网盘适配器、实体类型均可扩展\n\n---\n\n## 更新日志\n\n| v2.4.0 | 2026-08-17 | 新增：跨 skill 记忆总线（MCP 服务器，暴露 query/deposit/health 为 MCP Tool，零依赖）；新增自动归档策略（冷热分层 + 时间衰减热度分，autopilot 自动触发）；新增任务状态 Web 面板（定时任务/健康度/归档统计可视化）；新增 mcp_server.py / archive.py；新增 CLI archive / mcp 命令 |\n| v2.3.0 | 2026-08-07 | 新增：多格式导出（Markdown/JSON/Cypher/CSV/Obsidian/Logseq）与选择性筛选；新增时间线叙事生成（项目/人脉/知识成长/周期回顾）；新增多模态记忆（图片/音频/文件索引）；新增 export.py / narrative.py / multimodal.py |\n| v2.2.0 | 2026-07-29 | 新增：记忆冲突消解（冲突自动检测 + 四类分类 + 自动/手动消解策略）；新增 conflict_resolver.py；新增 CLI conflicts 命令 |\n| v2.1.0 | 2026-07-17 | 新增：知识图谱 Web 可视化（力导向图/详情面板/路径探索/时间线/子图过滤）；增加 web_server.py 零依赖内置 HTTP 服务器；增加大规模图谱分层加载与聚合；新增 REST API |\n| v2.0.0 | 2026-07-08 | 新增：统一记忆底座（长期记忆 + 知识图谱 + 自动沉淀 + 检索 + 健康度 + 备份）；新增硬件自适应调度与技能更新提醒；保留 v1.7 能力；零密钥纯本地 |\n| v1.7.0 | 2026-06 | 优化：大幅简化操作（一键启动）、增强自愈能力（极少人工介入） |\n| v1.6.0 | 2026-05 | 新增：思维进化引擎、根因分析、一键定时任务 |\n| v1.5.0 | 2026-04 | 优化：友好错误处理、预测冷启动优化 |\n| v1.0.0 | 2026-03 | 初始版本发布 |\n\n---\n\n## ❌ 边界说明\n\n| 不支持 | 替代方案 |\n|--------|---------|\n| 修改 SKILL.md 本身 | 手动更新版本 |\n| 删除 MEMORY.md | 只追加不删除 |\n| 100% 自动修复 | 复杂情况给精确命令 |\n| 完美概率预测 | 数据越多越准，冷启动也给建议 |\n| 联网语义（默认） | 默认本地向量；如需更强语义可自行挂接嵌入适配器 |\n| 百度网盘无凭证自动备份 | 先在 `config.json` 配置访问凭证，或用本地备份 |\n\n---\n\n## ❓ 常见问题（FAQ）\n\n### Q1: 第一次使用怎么做？\n说 **「帮我配置 + 设置定时任务」**，AI 自动探测硬件、注册定时任务。\n\n### Q2: 没有记忆文件怎么办？\n说 **「模拟演示」**，用假数据看效果。之后再聊几天话就有了。\n\n### Q3: 定时任务设置了没反应？\n```bash\npython scripts/cli.py task-status      # 查看状态\npython scripts/cli.py autopilot        # 手动跑一次\n```\n\n### Q4: 如何暂停自动进化？\n```bash\npython scripts/cli.py remove           # 删除定时任务\n```\n\n### Q5: 数据存在哪？安全吗？\n记忆原文在 `~/.workbuddy/memory/`，索引在 `~/.workbuddy/memory/zwjh_store/`。\n全部本地、**不上传任何外部服务器**、不要求任何密钥。\n\n### Q6: 会拖慢电脑吗？\n不会。技能自动探测硬件并限流：低配机单线程小批量，高配机才多并发；检索/沉淀分批处理。\n\n### Q7: 记忆太多太乱怎么办？\n`python scripts/cli.py health` 看健康度，`compact --apply` 压缩去重，`snapshot` 留底。\n\n### Q8: 怎么把记忆给别人 / 换电脑？\n`python scripts/cli.py backup` 导出到本地备份目录，拷贝即可；到新机器 `restore <路径>`。\n\n### Q9: 支持 Mac / Linux 吗？\n支持。定时任务用 `crontab`（由 `setup` 命令自动写入，不生成 .sh 文件）。\n\n### Q10: 怎么知道有新版本？\n`python scripts/cli.py update-check`；每日自动进化也会提示。\n\n### Q11: 其他 skill 怎么复用这个底座？\n直接 `from scripts import retrieval, store, graph, deposit` 调用；或用 CLI 的 `ask` / `deposit` 子命令。\n\n### Q12: Python 版本要求？\nPython 3.8+，标准库即可，无需安装任何第三方包。\n\n---\n\n## 安全声明\n\n- 所有分析在本地完成，不上传任何外部服务器\n- 不要求、不读取任何 API Key；联网功能均为可插拔且默认关闭\n- 只读写你指定的记忆目录，不碰其他文件\n- 自动修复有白名单，危险操作需确认\n- 所有文件操作都有异常捕获，不会崩溃\n- 定时任务由系统原生能力注册，**不生成任何 .ps1 / .sh / .bat 等可执行脚本**\n\n---\n\n## 支持\n\n- 平台：WorkBuddy 等使用 `~/.workbuddy/memory/` 的 Agent；Windows / macOS / Linux\n- 中文界面、零密钥、本地优先\n- 有更好建议：**njskills@agent.qq.com**\n\n---\n\n## 发布信息\n\n- **作者**: Admin\n- **许可证**: MIT\n- **最低引擎版本**: 1.0.0\n- **更新历史**:\n  - v2.0.0: 升级为统一记忆底座（长期记忆+知识图谱+自动沉淀+检索+健康度+备份+硬件自适应+更新提醒），保留 v1.7 能力，零密钥纯本地\n  - v1.7.0: 大幅简化操作（一键启动）、增强自愈能力（极少人工介入）、功能开箱即用\n  - v1.6.0: 思维进化引擎、根本原因分析、一键定时任务\n  - v1.5.0: 友好错误处理、预测冷启动优化\n  - v1.4.0: 升级为进化 AI\n  - v1.3.0: 首次使用向导\n  - v1.2.0: 代码折叠优化\n  - v1.1.0: 智能经验提取\n  - v1.0.0: 初始版本\n\nFile v2.4.0:_meta.json\n\n{\n  \"ownerId\": \"kn7chdrwbdhaqkwajcyhtfvjx989ddb1\",\n  \"slug\": \"zwjh-skill\",\n  \"version\": \"2.4.0\",\n  \"publishedAt\": 1786957283676\n}\n\nFile v2.4.0:skill-card.md\n\n## Description:\n\nzwjh-skill provides a local long-term memory and knowledge graph foundation for agents, with automatic capture, retrieval, health auditing, backup, MCP tools, and optional web visualization.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[fyniujin](https://clawhub.ai/user/fyniujin)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agent users use this skill to give agents persistent local memory, knowledge graph retrieval, and status/audit workflows across conversations and projects.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Persistent memory can store conversations, logs, file summaries, file paths, and graph data.\n\nMitigation: Install only when persistent local memory is intended, and review what the skill stores before depositing sensitive information.\n\nRisk: Setup can create recurring background tasks.\n\nMitigation: Review the scheduled task before enabling setup, and remove or disable it when recurring memory processing is not needed.\n\nRisk: Cloud backup can upload memory data through a locally configured Baidu Netdisk client.\n\nMitigation: Keep backups local unless cloud upload is explicitly intended, and do not configure cloud tokens unless that upload path is approved.\n\nRisk: The web UI and MCP server expose sensitive local memory interfaces.\n\nMitigation: Use these interfaces only in trusted local sessions, restrict access to local endpoints, and stop the servers when they are not needed.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/fyniujin/skills/zwjh-skill)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown and plain text with shell commands; JSON-RPC text results when used through MCP tools]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May create persistent local memory, backups, scheduled tasks, and local interface responses when the agent runs its commands.]\n\n## Skill Version(s):\n\n2.4.0 (source: SKILL.md frontmatter, version.json, release evidence; released 2026-08-17)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v2.4.0:version.json\n\n{\n  \"name\": \"zwjh-skill\",\n  \"displayName\": \"长期记忆 / 知识图谱 会思考的进化 AI\",\n  \"version\": \"2.4.0\",\n  \"min_engine\": \"1.0.0\",\n  \"requires_api_key\": false,\n  \"updated_at\": \"2026-08-17\",\n  \"changelog\": [\n    \"新增：跨 skill 记忆总线（MCP 服务器，暴露 query/deposit/health 为 MCP Tool）\",\n    \"新增：自动归档策略（冷热分层 + 时间衰减，autopilot 自动触发）\",\n    \"新增：任务状态 Web 面板（定时任务/健康度/归档统计可视化）\",\n    \"新增：mcp_server.py 零依赖 MCP 服务器（JSON-RPC 2.0 over stdio）\",\n    \"新增：archive.py 自动归档（热度分 = 0.6*ln(access_count+1) + 0.4*exp(-days/30)）\",\n    \"新增：CLI archive 命令（dry-run / --stats）\",\n    \"新增：CLI mcp 命令启动跨 skill 记忆总线\",\n    \"新增：Web UI 任务状态面板（可折叠，显示定时任务/健康度/归档统计）\",\n    \"新增：/api/task-status 和 /api/archive-stats REST API\",\n    \"优化：autopilot 自动触发归档策略\",\n    \"优化：Web UI 底部任务状态面板（定时任务/健康度/归档统计）\",\n    \"新增：多格式导出（Markdown/JSON/Cypher/CSV/Obsidian/Logseq）与选择性筛选\",\n    \"新增：时间线叙事生成（项目/人脉/知识成长/周期回顾）\",\n    \"新增：多模态记忆（图片/音频/文件索引 + 实体关联）\",\n    \"新增：memory_export.py / narrative.py / multimodal.py 三个模块\",\n    \"新增：CLI export / import / narrative / multimodal 命令\",\n    \"新增：记忆冲突消解（冲突自动检测 + 分类 + 消解策略）\",\n    \"新增：conflict_resolver.py 模块（UPDATE/CORRECTION/PERSPECTIVE/REAL_CONFLICT 四类冲突）\",\n    \"新增：冲突自动消解（信息更新/纠错自动处理，真实冲突提示用户仲裁）\",\n    \"新增：CLI conflicts 命令查看/处理待处理冲突\",\n    \"新增：知识图谱 Web 可视化（力导向图 / 详情面板 / 路径探索 / 时间线 / 子图过滤）\",\n    \"新增：web_server.py 内置零依赖 HTTP 服务器，ECharts 前端渲染\",\n    \"新增：大规模图谱分层加载与聚合（核心节点优先 + 邻居 BFS）\",\n    \"新增：REST API（/api/graph /api/entity /api/path /api/timeline /api/stats /api/search /api/neighbors）\",\n    \"新增：实体详情面板、最短路径 BFS、时间线视图、子图过滤\",\n    \"优化：可视化从黑盒存储升级为直观探索界面\",\n    \"新增：统一记忆底座（长期记忆 + 知识图谱 + 自动沉淀 + 检索）\",\n    \"新增：实体/关系图谱（人/项目/任务/事件/文档）\",\n    \"新增：跨会话长期记忆 + 每日日志 + 日记\",\n    \"新增：自动从对话/文件沉淀知识点（去重 + 冲突消解）\",\n    \"新增：本地语义检索 + 时间线检索（零密钥、零联网）\",\n    \"新增：记忆健康度审计 + 压缩/快照\",\n    \"新增：导出/备份/恢复（本地 + 百度网盘可插拔）\",\n    \"新增：硬件自适应调度（按 CPU/内存自动分配并发与批大小，不拖累电脑）\",\n    \"新增：技能更新提醒\",\n    \"优化：纯标准库实现，无重依赖，冷启动快\",\n    \"优化：继承 v1.7 记忆分析/根因/预测/进化报告能力\",\n    \"删除：移除对外部密钥的依赖（原 token 检测改为本地化）\"\n  ]\n}\n\nArchive v2.3.0: 27 files, 84166 bytes\n\nFiles: scripts/__init__.py (130b), scripts/backup.py (7007b), scripts/cli.py (21674b), scripts/config.py (2921b), scripts/conflict_resolver.py (21984b), scripts/deposit.py (11498b), scripts/embeddings.py (4991b), scripts/export.py (12464b), scripts/graph.py (7408b), scripts/hardware.py (5527b), scripts/health.py (6592b), scripts/legacy.py (12193b), scripts/multimodal.py (12887b), scripts/narrative.py (12342b), scripts/retrieval.py (4145b), scripts/setup.py (4956b), scripts/store.py (16536b), scripts/update_check.py (3899b), scripts/version.py (222b), scripts/web_server.py (18110b), skill-card.md (2550b), SKILL.md (20439b), version.json (2427b), web_ui/css/style.css (6034b), web_ui/index.html (4580b), web_ui/js/app.js (19981b), _meta.json (129b)\n\nFile v2.3.0:SKILL.md\n\n---\nname: zwjh-skill\ndescription: \"统一记忆底座：长期记忆 + 知识图谱 + 自动沉淀 + 检索。让 AI「记得你」，跨会话持久记忆、实体/关系图谱、语义与时间线检索、记忆健康度审计、本地备份（可接百度网盘）。纯本地、零密钥、按硬件自适应，不拖累电脑。并保留 v1.7 的根因分析/预测性维护/进化报告。\"\nversion: 2.3.0\n---\n\n\n# 长期记忆 / 知识图谱 会思考的进化 AI — zwjh-skill v2.3.0\n\n> **安装后说「帮我配置 + 设置定时任务」，AI 自动完成一切。**\n>\n> 它是一个**统一记忆底座**，而不只是又一个「记忆 skill」：\n> - 🧠 **长期记忆**：跨会话持久记住你、项目、客户，减少重复解释背景\n> - 🕸️ **知识图谱**：自动抽取「人 / 项目 / 任务 / 事件 / 文档」等实体与关系\n> - ⚙️ **自动沉淀**：从对话 / 文件自动提炼知识点（去重 + 冲突消解）\n> - 🔎 **检索**：本地语义检索 + 时间线检索（零密钥、零联网、毫秒级）\n> - 🩺 **健康度**：审计记忆膨胀、压缩/快照，记忆可观测、可清理\n> - 💾 **备份**：导出 / 备份 / 恢复（本地 + 百度网盘可插拔）\n> - 🖥️ **不拖累电脑**：自动探测硬件，按 CPU/内存分配并发与批大小\n> - 🔔 **更新提醒**：发现新版本主动提示你升级\n>\n> **v2.0.0**：从「单技能」升级为「可插拔的记忆基础设施」，并完整保留 v1.7 的根因分析 / 预测性维护 / 进化报告能力。\n\n---\n\n## 核心理念\n\n```\n传统 AI：每次对话从零开始 → 你反复解释背景 → 记忆散落各处、互不相通\n会思考的进化 AI：理解本质 → 沉淀为记忆+图谱 → 跨会话检索 → 举一反三 → 自动进化\n```\n\n**为什么做统一底座？** 市面方案碎片化（各 skill 各存各的、跨 skill 不互通）。本技能把「记忆 + 图谱 + 检索 + 健康度」做成一个**其他 skill 可直接调用的基础设施**，而不是又一个孤立的记忆插件。\n\n---\n\n## 30 秒速查表\n\n| 我想做 | 直接说 / 运行 |\n|--------|--------|\n| **一键启动自动进化** | `帮我配置 + 设置定时任务` |\n| 记下一段对话/知识点 | `python scripts/cli.py deposit --text \"...\"` |\n| 从文件沉淀知识 | `python scripts/cli.py deposit --file notes.md` |\n| 语义检索记忆 | `python scripts/cli.py query \"谁负责机器学习项目\"` |\n| 让 AI 用记忆回答 | `python scripts/cli.py ask \"我最近在做什么项目\"` |\n| 查某段时间发生的事 | `python scripts/cli.py timeline --from 2026-07-01 --to 2026-07-31` |\n| 看知识图谱 | `python scripts/cli.py graph list` / `graph show`（Mermaid） |\n| 记忆健康度体检 | `python scripts/cli.py health` |\n| 压缩（去重+摘要） | `python scripts/cli.py compact --apply` |\n| 备份 / 恢复 | `python scripts/cli.py backup` / `restore <路径>` |\n| 写日记 | `python scripts/cli.py diary --text \"今天想清楚了一件事\"` |\n| 看是否有新版本 | `python scripts/cli.py update-check` |\n| 查看/消解冲突 | `python scripts/cli.py conflicts` |\n| 一键配置定时任务 | `python scripts/cli.py setup` |\n| 总览 | `python scripts/cli.py status` |\n\n> **大部分时候你只需要说第一句，AI 自动完成一切。** 其余命令是给「想精细操控」的高级用户。\n\n---\n\n## 一键启动（2 步）\n\n```\n1. 对 AI 说：「帮我配置 + 设置定时任务」\n2. AI 自动完成：探测硬件 → 注册每日定时任务（python cli.py autopilot）\n```\n\n启动后，每天 23:00 自动执行：\n\n```\n补录每日日志 → 沉淀知识点 → 记忆分析(根因) → 预测风险 → 进化报告 → 健康巡检 → 更新提醒\n```\n\n**你完全不用管，它自己会跑。** 且定时任务由技能用系统自带能力注册（Windows 用 `schtasks`、macOS/Linux 用 `crontab`），**不生成任何 .ps1 / .sh / .bat 脚本文件**，更干净、更安全。\n\n---\n\n## 功能模块\n\n---\n\n### 模块 1：长期记忆（跨会话 + 每日日志 + 日记）\n\n**做了什么**：把你的对话、文件、每日日志统一沉淀为可检索的长期记忆；另设「日记」自由记录。\n\n- 记忆落库在 `~/.workbuddy/memory/`（与 v1.7 完全兼容，原有每日日志原样保留）\n- 索引（图谱 + 向量）存于 `~/.workbuddy/memory/zwjh_store/`\n- 每天自动把当日日志补录进底座（幂等，不重复堆积）\n\n**示例**：\n```bash\npython scripts/cli.py deposit --text \"客户张三的对接人是李四，需求是智能客服\" --source conversation\npython scripts/cli.py diary --text \"今天想清楚了一件事：记忆要先去重再沉淀\"\n```\n\n---\n\n### 模块 2：知识图谱（实体 / 关系）\n\n**做了什么**：自动维护「人 / 项目 / 任务 / 事件 / 文档 / 概念 / 组织」等实体与关系。\n\n- 显式关系模板：`负责 / 参与 / 隶属于 / 创建 / 依赖 / 导致 / 位于 / 关联`\n- 已知实体在同一段文本中**共现** → 自动连弱边（图谱随使用自然生长）\n- 关系权重累积、可导出 Mermaid 直接可视化\n- **可插拔**：其他 skill 可直接 `add-entity` / `relate` 注册自己的实体类型\n\n**示例**：\n```bash\npython scripts/cli.py graph add-entity --type person --name 张三 --importance 0.9\npython scripts/cli.py graph relate --from 张三 --to 智能客服系统 --relation 负责\npython scripts/cli.py graph show\n```\n\n---\n\n### 模块 3：自动沉淀（去重 + 冲突消解）\n\n**做了什么**：从对话 / 文件自动提炼知识点，并保证质量。\n\n- **去重**：完全重复直接合并；近似重复（Jaccard ≥ 0.82）更新原条目而非新增\n- **冲突消解**：同一实体同一谓词出现不同值 → 旧值自动标记 `superseded`，保留历史可追溯\n- **事实抽取**：「X 的 Y 是 Z」自动写入图谱事实（如「客户李四 的产品 是 智能客服系统」）\n\n**效果**：\n```\n沉淀「客户李四对接的产品是智能客服系统」\n  → 实体：客户李四(person)\n  → 事实：(客户李四, 产品, 智能客服系统)\n```\n\n---\n\n### 模块 4：语义检索 + 时间线检索（零密钥）\n\n**做了什么**：两种检索，都不需要任何 API Key、不联网。\n\n- **语义检索**：本地 TF-IDF（中文 char/bigram 向量）余弦相似度。即使表述不同（\"学机器\" vs \"机器学习\"）也能召回，毫秒级。\n- **时间线检索**：按日期区间 + 关键词过滤，还原「某段时间发生了什么」。\n\n**示例**：\n```bash\npython scripts/cli.py query \"谁负责机器学习项目\"\npython scripts/cli.py timeline --from 2026-07-01 --to 2026-07-31 --keyword 发布\n```\n\n> 其他 skill 也可直接调用 `retrieval.ask(question)` 把长期记忆注入自己的上下文——这就是「可插拔基础设施」。\n\n---\n\n### 模块 5：记忆健康度审计 + 压缩 / 快照\n\n**解决「记忆膨胀」痛点**：记忆越多越慢、重复越多越乱。\n\n- **审计**：产出 0~100 健康度评分，列出陈旧记忆 / 孤儿实体（无关系）/ 冲突事实 / 近似重复 / DB 体积\n- **压缩**：对陈旧记忆做抽取式摘要、合并近似重复（先预览 dry-run，再 `--apply`）\n- **快照**：导出完整可恢复快照（实体/关系/事实/配置）\n\n```bash\npython scripts/cli.py health\npython scripts/cli.py compact --apply\npython scripts/cli.py snapshot\n```\n\n---\n\n### 模块 6：导出 / 备份 / 恢复（接百度网盘）\n\n**做了什么**：记忆可迁移、可恢复。\n\n- **默认本地备份**：快照 + 每日日志原文打包到 `zwjh_store/backups/`，自动保留最近 7 份\n- **百度网盘（可插拔）**：仅在用户本地已配置访问凭证时启用（凭证存本地 `config.json`，**不进技能包、不需要密钥**）；未配置时清晰提示，绝不偷偷联网\n- **恢复**：从备份写回图谱与每日日志\n\n```bash\npython scripts/cli.py backup\npython scripts/cli.py backup --target baidunetdisk   # 需先配置凭证\npython scripts/cli.py restore <备份目录路径>\n```\n\n---\n\n### 模块 7：硬件自适应（不拖累电脑）\n\n**做了什么**：自动探测 CPU 核心数 / 物理内存 / 系统，把机器分 `low / mid / high` 三档，自动给出：\n\n| 档位 | 并发 | 单批 | 向量缓存 | 适用 |\n|------|------|------|----------|------|\n| low  | 1 | 20 | 关 | ≤2 核或 <4GB |\n| mid  | 2 | 60 | 开 | ≤4 核或 <8GB |\n| high | ≤8 | 200 | 开 | 更高配 |\n\n- 检索/沉淀按档位**分批**处理，避免一次性占满内存\n- 提供 `recommend_subtasks(n)`：按任务量与档位建议拆成几个子任务（给上层调度用）\n- 探测失败回退保守 `low` 档，**绝不把电脑跑满**\n\n```bash\npython scripts/cli.py hardware\n```\n\n---\n\n### 模块 8：技能更新提醒\n\n**做了什么**：本地比较「技能包版本」与「本机已见版本」，发现新版本主动提示你升级（不依赖联网 / 密钥）。\n\n- 运行 `python scripts/cli.py update-check` 立即查看\n- 每日 `autopilot` 也会在结尾打印更新提示（若有）\n- 已见版本缓存于 `zwjh_store/installed_version.json`，避免重复打扰\n\n```bash\npython scripts/cli.py update-check\n```\n\n---\n\n### 模块 11：记忆冲突消解\n\n**做了什么**：当新记忆与旧记忆矛盾时，智能检测、分类、消解，避免\"记错了还固执\"。\n\n- **冲突自动检测**：写入时自动对比同 entity+predicate 的已有事实，计算语义相似度与矛盾度\n- **冲突分类**：信息更新（换工作）/ 信息纠错（之前记错）/ 视角变化（同义不同描述）/ 真实冲突（需仲裁）\n- **自动消解**：UPDATE / CORRECTION 类型自动处理（新替旧），PERSPECTIVE 自动合并\n- **冲突提示**：REAL_CONFLICT 生成对比报告，存入待处理队列，提示用户仲裁\n- **处理策略**：覆盖 / 保留两者 / 合并 / 忽略\n- **性能保障**：仅在同 entity+predicate 写入时触发，向量缓存，超时保护，不拖累写入\n\n**示例**：\n```bash\npython scripts/cli.py deposit --text \"我之前记错了，张三其实去了字节跳动\" --source conversation\n# → 自动检测到纠错模式，新值覆盖旧值\n\npython scripts/cli.py conflicts\n# → 查看待处理冲突\npython scripts/cli.py conflicts --resolve 1 --strategy 1\n# → 处理冲突 #1，策略：覆盖\n```\n\n---\n\n### 模块 12：记忆导出 / 迁移\n\n**做了什么**：多格式、可选中、跨平台迁移，消除数据锁定担忧。\n\n- **多格式导出**：Markdown（可读性）/ JSON（结构化）/ Neo4j Cypher（图数据库）/ CSV（Excel）/ Obsidian / Logseq\n- **选择性导出**：按实体类型 / 时间范围 / 重要度阈值筛选\n- **批量导入**：支持从 Markdown、JSON、Obsidian vault 批量导入\n- **零依赖**：所有格式纯标准库生成，无需额外工具\n\n**示例**：\n```bash\npython scripts/cli.py export --format markdown --output D:\\backup\npython scripts/cli.py export --format obsidian --from-day 2026-01-01 --to-day 2026-07-31\npython scripts/cli.py export --format cypher --types person,project\npython scripts/cli.py export --format csv --output D:\\export\n```\n\n---\n\n### 模块 13：时间线叙事生成\n\n**做了什么**：把分散的记忆组织成连贯的叙事，从\"数据库\"变成\"有温度的回忆\"。\n\n- **项目进展时间线**：输入项目名称，自动生成从立项到当前的所有关键节点\n- **人脉交互历史**：输入人名，生成与 TA 的所有互动时间线\n- **知识成长轨迹**：输入主题，展示认知变化（入门→深入）\n- **周期性回顾**：每周/每月自动生成回顾报告\n- **可插拔 LLM**：支持配置外部 LLM API，未配置时使用模板降级\n\n**示例**：\n```bash\npython scripts/cli.py narrative project --name \"机器学习项目\"\npython scripts/cli.py narrative person --name \"张三\"\npython scripts/cli.py narrative knowledge --name \"Python\"\npython scripts/cli.py narrative weekly\npython scripts/cli.py narrative monthly\n```\n\n---\n\n### 模块 14：多模态记忆\n\n**做了什么**：记忆从文字扩展到图片、音频、文件，全媒体覆盖。\n\n- **图片记忆**：AI 理解图片内容、拍摄时间、关联事件\n- **音频记忆**：会议录音摘要、关键决策关联到项目\n- **文件记忆**：文档摘要、存在路径、关联实体\n- **媒体理解适配器**：可插拔（本地模型 / LLM API / 手动描述）\n- **实体关联**：媒体文件自动链接到知识图谱实体\n\n**示例**：\n```bash\npython scripts/cli.py multimodal index-image --path D:\\photo.jpg --entity \"张三\" --text \"项目启动会合影\"\npython scripts/cli.py multimodal index-audio --path D:\\meeting.mp3 --project \"智能客服\"\npython scripts/cli.py multimodal index-file --path D:\\contract.pdf --entity \"李四\" --project \"合同审核\"\npython scripts/cli.py multimodal list --type image\n```\n\n---\n\n### 模块 10：知识图谱可视化（Web 界面）\n\n**做了什么**：在浏览器中直观探索实体关系网络，从\"黑盒存储\"变为\"可视化探索\"。\n\n- **交互式关系网络图**：力导向图，可缩放/拖拽/搜索，按类型着色\n- **实体详情面板**：点击节点弹出，显示属性、关联关系\n- **路径探索**：选择两个实体，BFS 自动展示最短关系路径\n- **时间线视图**：按时间轴展示实体历史变迁\n- **子图过滤**：按类型/关系/重要度过滤，聚焦关心的部分\n- **大规模优化**：1000+ 节点时分层加载（核心节点优先 + 邻居按需加载）+ 聚合显示\n- **零依赖**：内置 Python HTTP 服务器，前端 ECharts，开箱即用\n\n**启动方式**：\n```bash\npython scripts/web_server.py [--port 8080]\n# 浏览器打开 http://127.0.0.1:8080\n```\n\n---\n\n### 模块 9（保留 v1.7）：记忆分析 / 预测性维护 / 进化报告\n\n原有「会思考的进化 AI」核心能力完整保留：\n\n- `analyze`：智能记忆分析（理解本质 / 根因 / 隐含需求 / 自动修复建议）\n- `predict`：预测性维护（从历史推断明日风险）\n- `report`：进化报告（成长趋势统计）\n- `demo`：无数据时看效果\n\n```bash\npython scripts/cli.py analyze\npython scripts/cli.py predict\npython scripts/cli.py report\npython scripts/cli.py demo\n```\n\n---\n\n## 典型应用场景\n\n- **让 Agent「记得你」**：减少重复解释背景，新对话自动带入历史上下文\n- **项目知识沉淀**：新人接手时一句 `ask \"这个项目的关键人物和坑是什么\"` 快速上手\n- **个人 / 客户 CRM（轻量）**：客户、对接人、需求自动成图谱，随问随答\n\n---\n\n## 差异化 / 竞争力\n\n- **中文优化**：char/bigram 向量对中文语义召回友好\n- **与其他 skill 打通**：作为可插拔记忆底座，任何 skill 都能 `import` 复用\n- **接企业微信 / 百度网盘做备份**：备份通道可插拔扩展\n- **可观测、可清理**：健康度评分 + 压缩/快照，正面解决「记忆膨胀」\n- **纯本地、零密钥**：无模型下载、无 API 费用、无隐私外泄\n\n---\n\n## 技术实现要点\n\n- **存储**：`sqlite3`（WAL 模式，写入不阻塞）+ 每日日志原文（append-only）\n- **向量**：本地 TF-IDF 稀疏向量（中文 char/bigram），**零模型、零密钥**\n- **图谱**：实体 / 关系表 + 共现 + 模板关系抽取 + 事实冲突消解\n- **调度**：硬件自适应并发 / 批大小；定时任务用系统原生能力注册（无脚本文件）\n- **可插拔**：嵌入适配器、百度网盘适配器、实体类型均可扩展\n\n---\n\n## 更新日志\n\n| v2.3.0 | 2026-08-07 | 新增：多格式导出（Markdown/JSON/Cypher/CSV/Obsidian/Logseq）与选择性筛选；新增时间线叙事生成（项目/人脉/知识成长/周期回顾）；新增多模态记忆（图片/音频/文件索引）；新增 export.py / narrative.py / multimodal.py |\n| v2.2.0 | 2026-07-29 | 新增：记忆冲突消解（冲突自动检测 + 四类分类 + 自动/手动消解策略）；新增 conflict_resolver.py；新增 CLI conflicts 命令 |\n| v2.1.0 | 2026-07-17 | 新增：知识图谱 Web 可视化（力导向图/详情面板/路径探索/时间线/子图过滤）；增加 web_server.py 零依赖内置 HTTP 服务器；增加大规模图谱分层加载与聚合；新增 REST API |\n| v2.0.0 | 2026-07-08 | 新增：统一记忆底座（长期记忆 + 知识图谱 + 自动沉淀 + 检索 + 健康度 + 备份）；新增硬件自适应调度与技能更新提醒；保留 v1.7 能力；零密钥纯本地 |\n| v1.7.0 | 2026-06 | 优化：大幅简化操作（一键启动）、增强自愈能力（极少人工介入） |\n| v1.6.0 | 2026-05 | 新增：思维进化引擎、根因分析、一键定时任务 |\n| v1.5.0 | 2026-04 | 优化：友好错误处理、预测冷启动优化 |\n| v1.0.0 | 2026-03 | 初始版本发布 |\n\n---\n\n## ❌ 边界说明\n\n| 不支持 | 替代方案 |\n|--------|---------|\n| 修改 SKILL.md 本身 | 手动更新版本 |\n| 删除 MEMORY.md | 只追加不删除 |\n| 100% 自动修复 | 复杂情况给精确命令 |\n| 完美概率预测 | 数据越多越准，冷启动也给建议 |\n| 联网语义（默认） | 默认本地向量；如需更强语义可自行挂接嵌入适配器 |\n| 百度网盘无凭证自动备份 | 先在 `config.json` 配置访问凭证，或用本地备份 |\n\n---\n\n## ❓ 常见问题（FAQ）\n\n### Q1: 第一次使用怎么做？\n说 **「帮我配置 + 设置定时任务」**，AI 自动探测硬件、注册定时任务。\n\n### Q2: 没有记忆文件怎么办？\n说 **「模拟演示」**，用假数据看效果。之后再聊几天话就有了。\n\n### Q3: 定时任务设置了没反应？\n```bash\npython scripts/cli.py task-status      # 查看状态\npython scripts/cli.py autopilot        # 手动跑一次\n```\n\n### Q4: 如何暂停自动进化？\n```bash\npython scripts/cli.py remove           # 删除定时任务\n```\n\n### Q5: 数据存在哪？安全吗？\n记忆原文在 `~/.workbuddy/memory/`，索引在 `~/.workbuddy/memory/zwjh_store/`。\n全部本地、**不上传任何外部服务器**、不要求任何密钥。\n\n### Q6: 会拖慢电脑吗？\n不会。技能自动探测硬件并限流：低配机单线程小批量，高配机才多并发；检索/沉淀分批处理。\n\n### Q7: 记忆太多太乱怎么办？\n`python scripts/cli.py health` 看健康度，`compact --apply` 压缩去重，`snapshot` 留底。\n\n### Q8: 怎么把记忆给别人 / 换电脑？\n`python scripts/cli.py backup` 导出到本地备份目录，拷贝即可；到新机器 `restore <路径>`。\n\n### Q9: 支持 Mac / Linux 吗？\n支持。定时任务用 `crontab`（由 `setup` 命令自动写入，不生成 .sh 文件）。\n\n### Q10: 怎么知道有新版本？\n`python scripts/cli.py update-check`；每日自动进化也会提示。\n\n### Q11: 其他 skill 怎么复用这个底座？\n直接 `from scripts import retrieval, store, graph, deposit` 调用；或用 CLI 的 `ask` / `deposit` 子命令。\n\n### Q12: Python 版本要求？\nPython 3.8+，标准库即可，无需安装任何第三方包。\n\n---\n\n## 安全声明\n\n- 所有分析在本地完成，不上传任何外部服务器\n- 不要求、不读取任何 API Key；联网功能均为可插拔且默认关闭\n- 只读写你指定的记忆目录，不碰其他文件\n- 自动修复有白名单，危险操作需确认\n- 所有文件操作都有异常捕获，不会崩溃\n- 定时任务由系统原生能力注册，**不生成任何 .ps1 / .sh / .bat 等可执行脚本**\n\n---\n\n## 支持\n\n- 平台：WorkBuddy 等使用 `~/.workbuddy/memory/` 的 Agent；Windows / macOS / Linux\n- 中文界面、零密钥、本地优先\n- 有更好建议：**njskills@agent.qq.com**\n\n---\n\n## 发布信息\n\n- **作者**: Admin\n- **许可证**: MIT\n- **最低引擎版本**: 1.0.0\n- **更新历史**:\n  - v2.0.0: 升级为统一记忆底座（长期记忆+知识图谱+自动沉淀+检索+健康度+备份+硬件自适应+更新提醒），保留 v1.7 能力，零密钥纯本地\n  - v1.7.0: 大幅简化操作（一键启动）、增强自愈能力（极少人工介入）、功能开箱即用\n  - v1.6.0: 思维进化引擎、根本原因分析、一键定时任务\n  - v1.5.0: 友好错误处理、预测冷启动优化\n  - v1.4.0: 升级为进化 AI\n  - v1.3.0: 首次使用向导\n  - v1.2.0: 代码折叠优化\n  - v1.1.0: 智能经验提取\n  - v1.0.0: 初始版本\n\nFile v2.3.0:_meta.json\n\n{\n  \"ownerId\": \"kn7chdrwbdhaqkwajcyhtfvjx989ddb1\",\n  \"slug\": \"zwjh-skill\",\n  \"version\": \"2.3.0\",\n  \"publishedAt\": 1786084957484\n}\n\nFile v2.3.0:skill-card.md\n\n## Description:\n\nzwjh-skill provides a local long-term memory and knowledge graph base for agents, with memory deposit, search, timeline retrieval, health auditing, backup and restore, export and migration, narrative generation, multimodal indexing, and graph visualization.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[fyniujin](https://clawhub.ai/user/fyniujin)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agent users use this skill to persist and retrieve project, customer, and personal context across sessions, organize entities and relationships, audit memory quality, and export or restore memory data.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can register a persistent daily scheduled job.\n\nMitigation: Review the scheduler entry after setup and remove it when automatic memory processing is not desired.\n\nRisk: The skill can ingest arbitrary files and store long-term memory data.\n\nMitigation: Avoid ingesting sensitive files unless intended and periodically audit stored memory content and backups.\n\nRisk: Restore operations can overwrite or wipe existing memory data.\n\nMitigation: Treat restore as destructive, verify the source path, and keep a separate backup before restoring.\n\nRisk: Optional Baidu Netdisk backup, remote update manifests, CDN-backed UI, and external LLM adapters can expand privacy boundaries beyond local processing.\n\nMitigation: Leave optional networked features disabled unless the user accepts those data flows and has reviewed the relevant configuration.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/fyniujin/skills/zwjh-skill)\n- [Publisher profile](https://clawhub.ai/user/fyniujin)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, JSON, CSV, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown and plain-text agent responses with shell commands, JSON or CSV export files, Cypher export text, and local web UI data.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May persist local SQLite data, memory files, backups, scheduled task entries, and optional web UI assets.]\n\n## Skill Version(s):\n\n2.3.0 (source: server release evidence, SKILL.md frontmatter, artifact/version.json)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v2.3.0:version.json\n\n{\n  \"name\": \"zwjh-skill\",\n  \"displayName\": \"长期记忆 / 知识图谱 会思考的进化 AI\",\n  \"version\": \"2.3.0\",\n  \"min_engine\": \"1.0.0\",\n  \"requires_api_key\": false,\n  \"updated_at\": \"2026-08-07\",\n  \"changelog\": [\n    \"新增：多格式导出（Markdown/JSON/Cypher/CSV/Obsidian/Logseq）与选择性筛选\",\n    \"新增：时间线叙事生成（项目/人脉/知识成长/周期回顾）\",\n    \"新增：多模态记忆（图片/音频/文件索引 + 实体关联）\",\n    \"新增：memory_export.py / narrative.py / multimodal.py 三个模块\",\n    \"新增：CLI export / import / narrative / multimodal 命令\",\n    \"新增：记忆冲突消解（冲突自动检测 + 分类 + 消解策略）\",\n    \"新增：conflict_resolver.py 模块（UPDATE/CORRECTION/PERSPECTIVE/REAL_CONFLICT 四类冲突）\",\n    \"新增：冲突自动消解（信息更新/纠错自动处理，真实冲突提示用户仲裁）\",\n    \"新增：CLI conflicts 命令查看/处理待处理冲突\",\n    \"新增：知识图谱 Web 可视化（力导向图 / 详情面板 / 路径探索 / 时间线 / 子图过滤）\",\n    \"新增：web_server.py 内置零依赖 HTTP 服务器，ECharts 前端渲染\",\n    \"新增：大规模图谱分层加载与聚合（核心节点优先 + 邻居 BFS）\",\n    \"新增：REST API（/api/graph /api/entity /api/path /api/timeline /api/stats /api/search /api/neighbors）\",\n    \"新增：实体详情面板、最短路径 BFS、时间线视图、子图过滤\",\n    \"优化：可视化从黑盒存储升级为直观探索界面\",\n    \"新增：统一记忆底座（长期记忆 + 知识图谱 + 自动沉淀 + 检索）\",\n    \"新增：实体/关系图谱（人/项目/任务/事件/文档）\",\n    \"新增：跨会话长期记忆 + 每日日志 + 日记\",\n    \"新增：自动从对话/文件沉淀知识点（去重 + 冲突消解）\",\n    \"新增：本地语义检索 + 时间线检索（零密钥、零联网）\",\n    \"新增：记忆健康度审计 + 压缩/快照\",\n    \"新增：导出/备份/恢复（本地 + 百度网盘可插拔）\",\n    \"新增：硬件自适应调度（按 CPU/内存自动分配并发与批大小，不拖累电脑）\",\n    \"新增：技能更新提醒\",\n    \"优化：纯标准库实现，无重依赖，冷启动快\",\n    \"优化：继承 v1.7 记忆分析/根因/预测/进化报告能力\",\n    \"删除：移除对外部密钥的依赖（原 token 检测改为本地化）\"\n  ]\n}\n\nArchive v2.2.0: 24 files, 71495 bytes\n\nFiles: scripts/__init__.py (130b), scripts/backup.py (7007b), scripts/cli.py (15300b), scripts/config.py (2921b), scripts/conflict_resolver.py (21984b), scripts/deposit.py (11498b), scripts/embeddings.py (4991b), scripts/graph.py (7408b), scripts/hardware.py (5527b), scripts/health.py (6592b), scripts/legacy.py (12193b), scripts/retrieval.py (4145b), scripts/setup.py (4956b), scripts/store.py (16536b), scripts/update_check.py (3899b), scripts/version.py (222b), scripts/web_server.py (18110b), skill-card.md (2819b), SKILL.md (17605b), version.json (2024b), web_ui/css/style.css (6034b), web_ui/index.html (4580b), web_ui/js/app.js (19981b), _meta.json (129b)\n\nFile v2.2.0:SKILL.md\n\n---\nname: zwjh-skill\ndescription: \"统一记忆底座：长期记忆 + 知识图谱 + 自动沉淀 + 检索。让 AI「记得你」，跨会话持久记忆、实体/关系图谱、语义与时间线检索、记忆健康度审计、本地备份（可接百度网盘）。纯本地、零密钥、按硬件自适应，不拖累电脑。并保留 v1.7 的根因分析/预测性维护/进化报告。\"\nversion: 2.2.0\n---\n\n\n# 长期记忆 / 知识图谱 会思考的进化 AI — zwjh-skill v2.2.0\n\n> **安装后说「帮我配置 + 设置定时任务」，AI 自动完成一切。**\n>\n> 它是一个**统一记忆底座**，而不只是又一个「记忆 skill」：\n> - 🧠 **长期记忆**：跨会话持久记住你、项目、客户，减少重复解释背景\n> - 🕸️ **知识图谱**：自动抽取「人 / 项目 / 任务 / 事件 / 文档」等实体与关系\n> - ⚙️ **自动沉淀**：从对话 / 文件自动提炼知识点（去重 + 冲突消解）\n> - 🔎 **检索**：本地语义检索 + 时间线检索（零密钥、零联网、毫秒级）\n> - 🩺 **健康度**：审计记忆膨胀、压缩/快照，记忆可观测、可清理\n> - 💾 **备份**：导出 / 备份 / 恢复（本地 + 百度网盘可插拔）\n> - 🖥️ **不拖累电脑**：自动探测硬件，按 CPU/内存分配并发与批大小\n> - 🔔 **更新提醒**：发现新版本主动提示你升级\n>\n> **v2.0.0**：从「单技能」升级为「可插拔的记忆基础设施」，并完整保留 v1.7 的根因分析 / 预测性维护 / 进化报告能力。\n\n---\n\n## 核心理念\n\n```\n传统 AI：每次对话从零开始 → 你反复解释背景 → 记忆散落各处、互不相通\n会思考的进化 AI：理解本质 → 沉淀为记忆+图谱 → 跨会话检索 → 举一反三 → 自动进化\n```\n\n**为什么做统一底座？** 市面方案碎片化（各 skill 各存各的、跨 skill 不互通）。本技能把「记忆 + 图谱 + 检索 + 健康度」做成一个**其他 skill 可直接调用的基础设施**，而不是又一个孤立的记忆插件。\n\n---\n\n## 30 秒速查表\n\n| 我想做 | 直接说 / 运行 |\n|--------|--------|\n| **一键启动自动进化** | `帮我配置 + 设置定时任务` |\n| 记下一段对话/知识点 | `python scripts/cli.py deposit --text \"...\"` |\n| 从文件沉淀知识 | `python scripts/cli.py deposit --file notes.md` |\n| 语义检索记忆 | `python scripts/cli.py query \"谁负责机器学习项目\"` |\n| 让 AI 用记忆回答 | `python scripts/cli.py ask \"我最近在做什么项目\"` |\n| 查某段时间发生的事 | `python scripts/cli.py timeline --from 2026-07-01 --to 2026-07-31` |\n| 看知识图谱 | `python scripts/cli.py graph list` / `graph show`（Mermaid） |\n| 记忆健康度体检 | `python scripts/cli.py health` |\n| 压缩（去重+摘要） | `python scripts/cli.py compact --apply` |\n| 备份 / 恢复 | `python scripts/cli.py backup` / `restore <路径>` |\n| 写日记 | `python scripts/cli.py diary --text \"今天想清楚了一件事\"` |\n| 看是否有新版本 | `python scripts/cli.py update-check` |\n| 查看/消解冲突 | `python scripts/cli.py conflicts` |\n| 一键配置定时任务 | `python scripts/cli.py setup` |\n| 总览 | `python scripts/cli.py status` |\n\n> **大部分时候你只需要说第一句，AI 自动完成一切。** 其余命令是给「想精细操控」的高级用户。\n\n---\n\n## 一键启动（2 步）\n\n```\n1. 对 AI 说：「帮我配置 + 设置定时任务」\n2. AI 自动完成：探测硬件 → 注册每日定时任务（python cli.py autopilot）\n```\n\n启动后，每天 23:00 自动执行：\n\n```\n补录每日日志 → 沉淀知识点 → 记忆分析(根因) → 预测风险 → 进化报告 → 健康巡检 → 更新提醒\n```\n\n**你完全不用管，它自己会跑。** 且定时任务由技能用系统自带能力注册（Windows 用 `schtasks`、macOS/Linux 用 `crontab`），**不生成任何 .ps1 / .sh / .bat 脚本文件**，更干净、更安全。\n\n---\n\n## 功能模块\n\n---\n\n### 模块 1：长期记忆（跨会话 + 每日日志 + 日记）\n\n**做了什么**：把你的对话、文件、每日日志统一沉淀为可检索的长期记忆；另设「日记」自由记录。\n\n- 记忆落库在 `~/.workbuddy/memory/`（与 v1.7 完全兼容，原有每日日志原样保留）\n- 索引（图谱 + 向量）存于 `~/.workbuddy/memory/zwjh_store/`\n- 每天自动把当日日志补录进底座（幂等，不重复堆积）\n\n**示例**：\n```bash\npython scripts/cli.py deposit --text \"客户张三的对接人是李四，需求是智能客服\" --source conversation\npython scripts/cli.py diary --text \"今天想清楚了一件事：记忆要先去重再沉淀\"\n```\n\n---\n\n### 模块 2：知识图谱（实体 / 关系）\n\n**做了什么**：自动维护「人 / 项目 / 任务 / 事件 / 文档 / 概念 / 组织」等实体与关系。\n\n- 显式关系模板：`负责 / 参与 / 隶属于 / 创建 / 依赖 / 导致 / 位于 / 关联`\n- 已知实体在同一段文本中**共现** → 自动连弱边（图谱随使用自然生长）\n- 关系权重累积、可导出 Mermaid 直接可视化\n- **可插拔**：其他 skill 可直接 `add-entity` / `relate` 注册自己的实体类型\n\n**示例**：\n```bash\npython scripts/cli.py graph add-entity --type person --name 张三 --importance 0.9\npython scripts/cli.py graph relate --from 张三 --to 智能客服系统 --relation 负责\npython scripts/cli.py graph show\n```\n\n---\n\n### 模块 3：自动沉淀（去重 + 冲突消解）\n\n**做了什么**：从对话 / 文件自动提炼知识点，并保证质量。\n\n- **去重**：完全重复直接合并；近似重复（Jaccard ≥ 0.82）更新原条目而非新增\n- **冲突消解**：同一实体同一谓词出现不同值 → 旧值自动标记 `superseded`，保留历史可追溯\n- **事实抽取**：「X 的 Y 是 Z」自动写入图谱事实（如「客户李四 的产品 是 智能客服系统」）\n\n**效果**：\n```\n沉淀「客户李四对接的产品是智能客服系统」\n  → 实体：客户李四(person)\n  → 事实：(客户李四, 产品, 智能客服系统)\n```\n\n---\n\n### 模块 4：语义检索 + 时间线检索（零密钥）\n\n**做了什么**：两种检索，都不需要任何 API Key、不联网。\n\n- **语义检索**：本地 TF-IDF（中文 char/bigram 向量）余弦相似度。即使表述不同（\"学机器\" vs \"机器学习\"）也能召回，毫秒级。\n- **时间线检索**：按日期区间 + 关键词过滤，还原「某段时间发生了什么」。\n\n**示例**：\n```bash\npython scripts/cli.py query \"谁负责机器学习项目\"\npython scripts/cli.py timeline --from 2026-07-01 --to 2026-07-31 --keyword 发布\n```\n\n> 其他 skill 也可直接调用 `retrieval.ask(question)` 把长期记忆注入自己的上下文——这就是「可插拔基础设施」。\n\n---\n\n### 模块 5：记忆健康度审计 + 压缩 / 快照\n\n**解决「记忆膨胀」痛点**：记忆越多越慢、重复越多越乱。\n\n- **审计**：产出 0~100 健康度评分，列出陈旧记忆 / 孤儿实体（无关系）/ 冲突事实 / 近似重复 / DB 体积\n- **压缩**：对陈旧记忆做抽取式摘要、合并近似重复（先预览 dry-run，再 `--apply`）\n- **快照**：导出完整可恢复快照（实体/关系/事实/配置）\n\n```bash\npython scripts/cli.py health\npython scripts/cli.py compact --apply\npython scripts/cli.py snapshot\n```\n\n---\n\n### 模块 6：导出 / 备份 / 恢复（接百度网盘）\n\n**做了什么**：记忆可迁移、可恢复。\n\n- **默认本地备份**：快照 + 每日日志原文打包到 `zwjh_store/backups/`，自动保留最近 7 份\n- **百度网盘（可插拔）**：仅在用户本地已配置访问凭证时启用（凭证存本地 `config.json`，**不进技能包、不需要密钥**）；未配置时清晰提示，绝不偷偷联网\n- **恢复**：从备份写回图谱与每日日志\n\n```bash\npython scripts/cli.py backup\npython scripts/cli.py backup --target baidunetdisk   # 需先配置凭证\npython scripts/cli.py restore <备份目录路径>\n```\n\n---\n\n### 模块 7：硬件自适应（不拖累电脑）\n\n**做了什么**：自动探测 CPU 核心数 / 物理内存 / 系统，把机器分 `low / mid / high` 三档，自动给出：\n\n| 档位 | 并发 | 单批 | 向量缓存 | 适用 |\n|------|------|------|----------|------|\n| low  | 1 | 20 | 关 | ≤2 核或 <4GB |\n| mid  | 2 | 60 | 开 | ≤4 核或 <8GB |\n| high | ≤8 | 200 | 开 | 更高配 |\n\n- 检索/沉淀按档位**分批**处理，避免一次性占满内存\n- 提供 `recommend_subtasks(n)`：按任务量与档位建议拆成几个子任务（给上层调度用）\n- 探测失败回退保守 `low` 档，**绝不把电脑跑满**\n\n```bash\npython scripts/cli.py hardware\n```\n\n---\n\n### 模块 8：技能更新提醒\n\n**做了什么**：本地比较「技能包版本」与「本机已见版本」，发现新版本主动提示你升级（不依赖联网 / 密钥）。\n\n- 运行 `python scripts/cli.py update-check` 立即查看\n- 每日 `autopilot` 也会在结尾打印更新提示（若有）\n- 已见版本缓存于 `zwjh_store/installed_version.json`，避免重复打扰\n\n```bash\npython scripts/cli.py update-check\n```\n\n---\n\n### 模块 11：记忆冲突消解\n\n**做了什么**：当新记忆与旧记忆矛盾时，智能检测、分类、消解，避免\"记错了还固执\"。\n\n- **冲突自动检测**：写入时自动对比同 entity+predicate 的已有事实，计算语义相似度与矛盾度\n- **冲突分类**：信息更新（换工作）/ 信息纠错（之前记错）/ 视角变化（同义不同描述）/ 真实冲突（需仲裁）\n- **自动消解**：UPDATE / CORRECTION 类型自动处理（新替旧），PERSPECTIVE 自动合并\n- **冲突提示**：REAL_CONFLICT 生成对比报告，存入待处理队列，提示用户仲裁\n- **处理策略**：覆盖 / 保留两者 / 合并 / 忽略\n- **性能保障**：仅在同 entity+predicate 写入时触发，向量缓存，超时保护，不拖累写入\n\n**示例**：\n```bash\npython scripts/cli.py deposit --text \"我之前记错了，张三其实去了字节跳动\" --source conversation\n# → 自动检测到纠错模式，新值覆盖旧值\n\npython scripts/cli.py conflicts\n# → 查看待处理冲突\npython scripts/cli.py conflicts --resolve 1 --strategy 1\n# → 处理冲突 #1，策略：覆盖\n```\n\n---\n\n### 模块 10：知识图谱可视化（Web 界面）\n\n**做了什么**：在浏览器中直观探索实体关系网络，从\"黑盒存储\"变为\"可视化探索\"。\n\n- **交互式关系网络图**：力导向图，可缩放/拖拽/搜索，按类型着色\n- **实体详情面板**：点击节点弹出，显示属性、关联关系\n- **路径探索**：选择两个实体，BFS 自动展示最短关系路径\n- **时间线视图**：按时间轴展示实体历史变迁\n- **子图过滤**：按类型/关系/重要度过滤，聚焦关心的部分\n- **大规模优化**：1000+ 节点时分层加载（核心节点优先 + 邻居按需加载）+ 聚合显示\n- **零依赖**：内置 Python HTTP 服务器，前端 ECharts，开箱即用\n\n**启动方式**：\n```bash\npython scripts/web_server.py [--port 8080]\n# 浏览器打开 http://127.0.0.1:8080\n```\n\n---\n\n### 模块 9（保留 v1.7）：记忆分析 / 预测性维护 / 进化报告\n\n原有「会思考的进化 AI」核心能力完整保留：\n\n- `analyze`：智能记忆分析（理解本质 / 根因 / 隐含需求 / 自动修复建议）\n- `predict`：预测性维护（从历史推断明日风险）\n- `report`：进化报告（成长趋势统计）\n- `demo`：无数据时看效果\n\n```bash\npython scripts/cli.py analyze\npython scripts/cli.py predict\npython scripts/cli.py report\npython scripts/cli.py demo\n```\n\n---\n\n## 典型应用场景\n\n- **让 Agent「记得你」**：减少重复解释背景，新对话自动带入历史上下文\n- **项目知识沉淀**：新人接手时一句 `ask \"这个项目的关键人物和坑是什么\"` 快速上手\n- **个人 / 客户 CRM（轻量）**：客户、对接人、需求自动成图谱，随问随答\n\n---\n\n## 差异化 / 竞争力\n\n- **中文优化**：char/bigram 向量对中文语义召回友好\n- **与其他 skill 打通**：作为可插拔记忆底座，任何 skill 都能 `import` 复用\n- **接企业微信 / 百度网盘做备份**：备份通道可插拔扩展\n- **可观测、可清理**：健康度评分 + 压缩/快照，正面解决「记忆膨胀」\n- **纯本地、零密钥**：无模型下载、无 API 费用、无隐私外泄\n\n---\n\n## 技术实现要点\n\n- **存储**：`sqlite3`（WAL 模式，写入不阻塞）+ 每日日志原文（append-only）\n- **向量**：本地 TF-IDF 稀疏向量（中文 char/bigram），**零模型、零密钥**\n- **图谱**：实体 / 关系表 + 共现 + 模板关系抽取 + 事实冲突消解\n- **调度**：硬件自适应并发 / 批大小；定时任务用系统原生能力注册（无脚本文件）\n- **可插拔**：嵌入适配器、百度网盘适配器、实体类型均可扩展\n\n---\n\n## 更新日志\n\n| v2.2.0 | 2026-07-29 | 新增：记忆冲突消解（冲突自动检测 + 四类分类 + 自动/手动消解策略）；新增 conflict_resolver.py；新增 CLI conflicts 命令 |\n| v2.1.0 | 2026-07-17 | 新增：知识图谱 Web 可视化（力导向图/详情面板/路径探索/时间线/子图过滤）；增加 web_server.py 零依赖内置 HTTP 服务器；增加大规模图谱分层加载与聚合；新增 REST API |\n| v2.0.0 | 2026-07-08 | 新增：统一记忆底座（长期记忆 + 知识图谱 + 自动沉淀 + 检索 + 健康度 + 备份）；新增硬件自适应调度与技能更新提醒；保留 v1.7 能力；零密钥纯本地 |\n| v1.7.0 | 2026-06 | 优化：大幅简化操作（一键启动）、增强自愈能力（极少人工介入） |\n| v1.6.0 | 2026-05 | 新增：思维进化引擎、根因分析、一键定时任务 |\n| v1.5.0 | 2026-04 | 优化：友好错误处理、预测冷启动优化 |\n| v1.0.0 | 2026-03 | 初始版本发布 |\n\n---\n\n## ❌ 边界说明\n\n| 不支持 | 替代方案 |\n|--------|---------|\n| 修改 SKILL.md 本身 | 手动更新版本 |\n| 删除 MEMORY.md | 只追加不删除 |\n| 100% 自动修复 | 复杂情况给精确命令 |\n| 完美概率预测 | 数据越多越准，冷启动也给建议 |\n| 联网语义（默认） | 默认本地向量；如需更强语义可自行挂接嵌入适配器 |\n| 百度网盘无凭证自动备份 | 先在 `config.json` 配置访问凭证，或用本地备份 |\n\n---\n\n## ❓ 常见问题（FAQ）\n\n### Q1: 第一次使用怎么做？\n说 **「帮我配置 + 设置定时任务」**，AI 自动探测硬件、注册定时任务。\n\n### Q2: 没有记忆文件怎么办？\n说 **「模拟演示」**，用假数据看效果。之后再聊几天话就有了。\n\n### Q3: 定时任务设置了没反应？\n```bash\npython scripts/cli.py task-status      # 查看状态\npython scripts/cli.py autopilot        # 手动跑一次\n```\n\n### Q4: 如何暂停自动进化？\n```bash\npython scripts/cli.py remove           # 删除定时任务\n```\n\n### Q5: 数据存在哪？安全吗？\n记忆原文在 `~/.workbuddy/memory/`，索引在 `~/.workbuddy/memory/zwjh_store/`。\n全部本地、**不上传任何外部服务器**、不要求任何密钥。\n\n### Q6: 会拖慢电脑吗？\n不会。技能自动探测硬件并限流：低配机单线程小批量，高配机才多并发；检索/沉淀分批处理。\n\n### Q7: 记忆太多太乱怎么办？\n`python scripts/cli.py health` 看健康度，`compact --apply` 压缩去重，`snapshot` 留底。\n\n### Q8: 怎么把记忆给别人 / 换电脑？\n`python scripts/cli.py backup` 导出到本地备份目录，拷贝即可；到新机器 `restore <路径>`。\n\n### Q9: 支持 Mac / Linux 吗？\n支持。定时任务用 `crontab`（由 `setup` 命令自动写入，不生成 .sh 文件）。\n\n### Q10: 怎么知道有新版本？\n`python scripts/cli.py update-check`；每日自动进化也会提示。\n\n### Q11: 其他 skill 怎么复用这个底座？\n直接 `from scripts import retrieval, store, graph, deposit` 调用；或用 CLI 的 `ask` / `deposit` 子命令。\n\n### Q12: Python 版本要求？\nPython 3.8+，标准库即可，无需安装任何第三方包。\n\n---\n\n## 安全声明\n\n- 所有分析在本地完成，不上传任何外部服务器\n- 不要求、不读取任何 API Key；联网功能均为可插拔且默认关闭\n- 只读写你指定的记忆目录，不碰其他文件\n- 自动修复有白名单，危险操作需确认\n- 所有文件操作都有异常捕获，不会崩溃\n- 定时任务由系统原生能力注册，**不生成任何 .ps1 / .sh / .bat 等可执行脚本**\n\n---\n\n## 支持\n\n- 平台：WorkBuddy 等使用 `~/.workbuddy/memory/` 的 Agent；Windows / macOS / Linux\n- 中文界面、零密钥、本地优先\n- 有更好建议：**njskills@agent.qq.com**\n\n---\n\n## 发布信息\n\n- **作者**: Admin\n- **许可证**: MIT\n- **最低引擎版本**: 1.0.0\n- **更新历史**:\n  - v2.0.0: 升级为统一记忆底座（长期记忆+知识图谱+自动沉淀+检索+健康度+备份+硬件自适应+更新提醒），保留 v1.7 能力，零密钥纯本地\n  - v1.7.0: 大幅简化操作（一键启动）、增强自愈能力（极少人工介入）、功能开箱即用\n  - v1.6.0: 思维进化引擎、根本原因分析、一键定时任务\n  - v1.5.0: 友好错误处理、预测冷启动优化\n  - v1.4.0: 升级为进化 AI\n  - v1.3.0: 首次使用向导\n  - v1.2.0: 代码折叠优化\n  - v1.1.0: 智能经验提取\n  - v1.0.0: 初始版本\n\nFile v2.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn7chdrwbdhaqkwajcyhtfvjx989ddb1\",\n  \"slug\": \"zwjh-skill\",\n  \"version\": \"2.2.0\",\n  \"publishedAt\": 1785308870422\n}\n\nFile v2.2.0:skill-card.md\n\n## Description: <br>\nzwjh-skill provides a local long-term memory and knowledge-graph layer for agents, including memory deposit, semantic and timeline retrieval, conflict resolution, health checks, backups, scheduled autopilot runs, and graph visualization. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[fyniujin](https://clawhub.ai/user/fyniujin) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and agent users can use this skill to maintain local persistent memory, extract entities and relationships, query prior work, audit memory health, and back up or restore agent memory data. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill stores long-term local memory about the user and their work, which may contain sensitive information. <br>\nMitigation: Review what is deposited, keep backups and snapshots protected, and avoid adding secrets or regulated data unless the local environment is approved for that data. <br>\nRisk: The setup and autopilot features can register persistent scheduled execution through cron or schtasks. <br>\nMitigation: Review the scheduled entry before enabling it, and use the remove command if ongoing execution is not desired. <br>\nRisk: Backup and snapshot features may create plaintext copies of memory data, and optional Baidu Netdisk backup can upload data through a locally configured bypy account. <br>\nMitigation: Use local backup by default, restrict backup directory permissions, and enable Baidu Netdisk only after confirming the configured account and upload destination. <br>\nRisk: The graph web UI references an external CDN dependency for ECharts. <br>\nMitigation: Use the web UI only in environments where that dependency is acceptable, or replace the CDN dependency with an approved local asset before deployment. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/fyniujin/skills/zwjh-skill) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Code, Shell commands, Configuration instructions, Guidance] <br>\n**Output Format:** [Markdown with inline shell commands and structured local data files] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Outputs may include local SQLite-backed memory records, JSON snapshots, Mermaid graph text, CLI status reports, and browser-served graph views.] <br>\n\n## Skill Version(s): <br>\n2.2.0 (source: frontmatter, version.json, server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v2.2.0:version.json\n\n{\n  \"name\": \"zwjh-skill\",\n  \"displayName\": \"长期记忆 / 知识图谱 会思考的进化 AI\",\n  \"version\": \"2.2.0\",\n  \"min_engine\": \"1.0.0\",\n  \"requires_api_key\": false,\n  \"updated_at\": \"2026-07-29\",\n  \"changelog\": [\n    \"新增：记忆冲突消解（冲突自动检测 + 分类 + 消解策略）\",\n    \"新增：conflict_resolver.py 模块（UPDATE/CORRECTION/PERSPECTIVE/REAL_CONFLICT 四类冲突）\",\n    \"新增：冲突自动消解（信息更新/纠错自动处理，真实冲突提示用户仲裁）\",\n    \"新增：CLI conflicts 命令查看/处理待处理冲突\",\n    \"新增：知识图谱 Web 可视化（力导向图 / 详情面板 / 路径探索 / 时间线 / 子图过滤）\",\n    \"新增：web_server.py 内置零依赖 HTTP 服务器，ECharts 前端渲染\",\n    \"新增：大规模图谱分层加载与聚合（核心节点优先 + 邻居 BFS）\",\n    \"新增：REST API（/api/graph /api/entity /api/path /api/timeline /api/stats /api/search /api/neighbors）\",\n    \"新增：实体详情面板、最短路径 BFS、时间线视图、子图过滤\",\n    \"优化：可视化从黑盒存储升级为直观探索界面\",\n    \"新增：统一记忆底座（长期记忆 + 知识图谱 + 自动沉淀 + 检索）\",\n    \"新增：实体/关系图谱（人/项目/任务/事件/文档）\",\n    \"新增：跨会话长期记忆 + 每日日志 + 日记\",\n    \"新增：自动从对话/文件沉淀知识点（去重 + 冲突消解）\",\n    \"新增：本地语义检索 + 时间线检索（零密钥、零联网）\",\n    \"新增：记忆健康度审计 + 压缩/快照\",\n    \"新增：导出/备份/恢复（本地 + 百度网盘可插拔）\",\n    \"新增：硬件自适应调度（按 CPU/内存自动分配并发与批大小，不拖累电脑）\",\n    \"新增：技能更新提醒\",\n    \"优化：纯标准库实现，无重依赖，冷启动快\",\n    \"优化：继承 v1.7 记忆分析/根因/预测/进化报告能力\",\n    \"删除：移除对外部密钥的依赖（原 token 检测改为本地化）\"\n  ]\n}\n\nArchive v2.1.0: 23 files, 62701 bytes\n\nFiles: scripts/__init__.py (130b), scripts/backup.py (7007b), scripts/cli.py (12557b), scripts/config.py (2921b), scripts/deposit.py (8076b), scripts/embeddings.py (4991b), scripts/graph.py (7240b), scripts/hardware.py (5527b), scripts/health.py (6592b), scripts/legacy.py (12193b), scripts/retrieval.py (4145b), scripts/setup.py (4956b), scripts/store.py (16536b), scripts/update_check.py (3899b), scripts/version.py (222b), scripts/web_server.py (18110b), skill-card.md (2823b), SKILL.md (16207b), version.json (1665b), web_ui/css/style.css (6034b), web_ui/index.html (4580b), web_ui/js/app.js (19981b), _meta.json (129b)\n\nFile v2.1.0:SKILL.md\n\n---\nname: zwjh-skill\ndescription: \"统一记忆底座：长期记忆 + 知识图谱 + 自动沉淀 + 检索。让 AI「记得你」，跨会话持久记忆、实体/关系图谱、语义与时间线检索、记忆健康度审计、本地备份（可接百度网盘）。纯本地、零密钥、按硬件自适应，不拖累电脑。并保留 v1.7 的根因分析/预测性维护/进化报告。\"\nversion: 2.1.0\n---\n\n\n# 长期记忆 / 知识图谱 会思考的进化 AI — zwjh-skill v2.1.0\n\n> **安装后说「帮我配置 + 设置定时任务」，AI 自动完成一切。**\n>\n> 它是一个**统一记忆底座**，而不只是又一个「记忆 skill」：\n> - 🧠 **长期记忆**：跨会话持久记住你、项目、客户，减少重复解释背景\n> - 🕸️ **知识图谱**：自动抽取「人 / 项目 / 任务 / 事件 / 文档」等实体与关系\n> - ⚙️ **自动沉淀**：从对话 / 文件自动提炼知识点（去重 + 冲突消解）\n> - 🔎 **检索**：本地语义检索 + 时间线检索（零密钥、零联网、毫秒级）\n> - 🩺 **健康度**：审计记忆膨胀、压缩/快照，记忆可观测、可清理\n> - 💾 **备份**：导出 / 备份 / 恢复（本地 + 百度网盘可插拔）\n> - 🖥️ **不拖累电脑**：自动探测硬件，按 CPU/内存分配并发与批大小\n> - 🔔 **更新提醒**：发现新版本主动提示你升级\n>\n> **v2.0.0**：从「单技能」升级为「可插拔的记忆基础设施」，并完整保留 v1.7 的根因分析 / 预测性维护 / 进化报告能力。\n\n---\n\n## 核心理念\n\n```\n传统 AI：每次对话从零开始 → 你反复解释背景 → 记忆散落各处、互不相通\n会思考的进化 AI：理解本质 → 沉淀为记忆+图谱 → 跨会话检索 → 举一反三 → 自动进化\n```\n\n**为什么做统一底座？** 市面方案碎片化（各 skill 各存各的、跨 skill 不互通）。本技能把「记忆 + 图谱 + 检索 + 健康度」做成一个**其他 skill 可直接调用的基础设施**，而不是又一个孤立的记忆插件。\n\n---\n\n## 30 秒速查表\n\n| 我想做 | 直接说 / 运行 |\n|--------|--------|\n| **一键启动自动进化** | `帮我配置 + 设置定时任务` |\n| 记下一段对话/知识点 | `python scripts/cli.py deposit --text \"...\"` |\n| 从文件沉淀知识 | `python scripts/cli.py deposit --file notes.md` |\n| 语义检索记忆 | `python scripts/cli.py query \"谁负责机器学习项目\"` |\n| 让 AI 用记忆回答 | `python scripts/cli.py ask \"我最近在做什么项目\"` |\n| 查某段时间发生的事 | `python scripts/cli.py timeline --from 2026-07-01 --to 2026-07-31` |\n| 看知识图谱 | `python scripts/cli.py graph list` / `graph show`（Mermaid） |\n| 记忆健康度体检 | `python scripts/cli.py health` |\n| 压缩（去重+摘要） | `python scripts/cli.py compact --apply` |\n| 备份 / 恢复 | `python scripts/cli.py backup` / `restore <路径>` |\n| 写日记 | `python scripts/cli.py diary --text \"今天想清楚了一件事\"` |\n| 看是否有新版本 | `python scripts/cli.py update-check` |\n| 一键配置定时任务 | `python scripts/cli.py setup` |\n| 总览 | `python scripts/cli.py status` |\n\n> **大部分时候你只需要说第一句，AI 自动完成一切。** 其余命令是给「想精细操控」的高级用户。\n\n---\n\n## 一键启动（2 步）\n\n```\n1. 对 AI 说：「帮我配置 + 设置定时任务」\n2. AI 自动完成：探测硬件 → 注册每日定时任务（python cli.py autopilot）\n```\n\n启动后，每天 23:00 自动执行：\n\n```\n补录每日日志 → 沉淀知识点 → 记忆分析(根因) → 预测风险 → 进化报告 → 健康巡检 → 更新提醒\n```\n\n**你完全不用管，它自己会跑。** 且定时任务由技能用系统自带能力注册（Windows 用 `schtasks`、macOS/Linux 用 `crontab`），**不生成任何 .ps1 / .sh / .bat 脚本文件**，更干净、更安全。\n\n---\n\n## 功能模块\n\n---\n\n### 模块 1：长期记忆（跨会话 + 每日日志 + 日记）\n\n**做了什么**：把你的对话、文件、每日日志统一沉淀为可检索的长期记忆；另设「日记」自由记录。\n\n- 记忆落库在 `~/.workbuddy/memory/`（与 v1.7 完全兼容，原有每日日志原样保留）\n- 索引（图谱 + 向量）存于 `~/.workbuddy/memory/zwjh_store/`\n- 每天自动把当日日志补录进底座（幂等，不重复堆积）\n\n**示例**：\n```bash\npython scripts/cli.py deposit --text \"客户张三的对接人是李四，需求是智能客服\" --source conversation\npython scripts/cli.py diary --text \"今天想清楚了一件事：记忆要先去重再沉淀\"\n```\n\n---\n\n### 模块 2：知识图谱（实体 / 关系）\n\n**做了什么**：自动维护「人 / 项目 / 任务 / 事件 / 文档 / 概念 / 组织」等实体与关系。\n\n- 显式关系模板：`负责 / 参与 / 隶属于 / 创建 / 依赖 / 导致 / 位于 / 关联`\n- 已知实体在同一段文本中**共现** → 自动连弱边（图谱随使用自然生长）\n- 关系权重累积、可导出 Mermaid 直接可视化\n- **可插拔**：其他 skill 可直接 `add-entity` / `relate` 注册自己的实体类型\n\n**示例**：\n```bash\npython scripts/cli.py graph add-entity --type person --name 张三 --importance 0.9\npython scripts/cli.py graph relate --from 张三 --to 智能客服系统 --relation 负责\npython scripts/cli.py graph show\n```\n\n---\n\n### 模块 3：自动沉淀（去重 + 冲突消解）\n\n**做了什么**：从对话 / 文件自动提炼知识点，并保证质量。\n\n- **去重**：完全重复直接合并；近似重复（Jaccard ≥ 0.82）更新原条目而非新增\n- **冲突消解**：同一实体同一谓词出现不同值 → 旧值自动标记 `superseded`，保留历史可追溯\n- **事实抽取**：「X 的 Y 是 Z」自动写入图谱事实（如「客户李四 的产品 是 智能客服系统」）\n\n**效果**：\n```\n沉淀「客户李四对接的产品是智能客服系统」\n  → 实体：客户李四(person)\n  → 事实：(客户李四, 产品, 智能客服系统)\n```\n\n---\n\n### 模块 4：语义检索 + 时间线检索（零密钥）\n\n**做了什么**：两种检索，都不需要任何 API Key、不联网。\n\n- **语义检索**：本地 TF-IDF（中文 char/bigram 向量）余弦相似度。即使表述不同（\"学机器\" vs \"机器学习\"）也能召回，毫秒级。\n- **时间线检索**：按日期区间 + 关键词过滤，还原「某段时间发生了什么」。\n\n**示例**：\n```bash\npython scripts/cli.py query \"谁负责机器学习项目\"\npython scripts/cli.py timeline --from 2026-07-01 --to 2026-07-31 --keyword 发布\n```\n\n> 其他 skill 也可直接调用 `retrieval.ask(question)` 把长期记忆注入自己的上下文——这就是「可插拔基础设施」。\n\n---\n\n### 模块 5：记忆健康度审计 + 压缩 / 快照\n\n**解决「记忆膨胀」痛点**：记忆越多越慢、重复越多越乱。\n\n- **审计**：产出 0~100 健康度评分，列出陈旧记忆 / 孤儿实体（无关系）/ 冲突事实 / 近似重复 / DB 体积\n- **压缩**：对陈旧记忆做抽取式摘要、合并近似重复（先预览 dry-run，再 `--apply`）\n- **快照**：导出完整可恢复快照（实体/关系/事实/配置）\n\n```bash\npython scripts/cli.py health\npython scripts/cli.py compact --apply\npython scripts/cli.py snapshot\n```\n\n---\n\n### 模块 6：导出 / 备份 / 恢复（接百度网盘）\n\n**做了什么**：记忆可迁移、可恢复。\n\n- **默认本地备份**：快照 + 每日日志原文打包到 `zwjh_store/backups/`，自动保留最近 7 份\n- **百度网盘（可插拔）**：仅在用户本地已配置访问凭证时启用（凭证存本地 `config.json`，**不进技能包、不需要密钥**）；未配置时清晰提示，绝不偷偷联网\n- **恢复**：从备份写回图谱与每日日志\n\n```bash\npython scripts/cli.py backup\npython scripts/cli.py backup --target baidunetdisk   # 需先配置凭证\npython scripts/cli.py restore <备份目录路径>\n```\n\n---\n\n### 模块 7：硬件自适应（不拖累电脑）\n\n**做了什么**：自动探测 CPU 核心数 / 物理内存 / 系统，把机器分 `low / mid / high` 三档，自动给出：\n\n| 档位 | 并发 | 单批 | 向量缓存 | 适用 |\n|------|------|------|----------|------|\n| low  | 1 | 20 | 关 | ≤2 核或 <4GB |\n| mid  | 2 | 60 | 开 | ≤4 核或 <8GB |\n| high | ≤8 | 200 | 开 | 更高配 |\n\n- 检索/沉淀按档位**分批**处理，避免一次性占满内存\n- 提供 `recommend_subtasks(n)`：按任务量与档位建议拆成几个子任务（给上层调度用）\n- 探测失败回退保守 `low` 档，**绝不把电脑跑满**\n\n```bash\npython scripts/cli.py hardware\n```\n\n---\n\n### 模块 8：技能更新提醒\n\n**做了什么**：本地比较「技能包版本」与「本机已见版本」，发现新版本主动提示你升级（不依赖联网 / 密钥）。\n\n- 运行 `python scripts/cli.py update-check` 立即查看\n- 每日 `autopilot` 也会在结尾打印更新提示（若有）\n- 已见版本缓存于 `zwjh_store/installed_version.json`，避免重复打扰\n\n```bash\npython scripts/cli.py update-check\n```\n\n---\n\n### 模块 10：知识图谱可视化（Web 界面）\n\n**做了什么**：在浏览器中直观探索实体关系网络，从\"黑盒存储\"变为\"可视化探索\"。\n\n- **交互式关系网络图**：力导向图，可缩放/拖拽/搜索，按类型着色\n- **实体详情面板**：点击节点弹出，显示属性、关联关系\n- **路径探索**：选择两个实体，BFS 自动展示最短关系路径\n- **时间线视图**：按时间轴展示实体历史变迁\n- **子图过滤**：按类型/关系/重要度过滤，聚焦关心的部分\n- **大规模优化**：1000+ 节点时分层加载（核心节点优先 + 邻居按需加载）+ 聚合显示\n- **零依赖**：内置 Python HTTP 服务器，前端 ECharts，开箱即用\n\n**启动方式**：\n```bash\npython scripts/web_server.py [--port 8080]\n# 浏览器打开 http://127.0.0.1:8080\n```\n\n---\n\n### 模块 9（保留 v1.7）：记忆分析 / 预测性维护 / 进化报告\n\n原有「会思考的进化 AI」核心能力完整保留：\n\n- `analyze`：智能记忆分析（理解本质 / 根因 / 隐含需求 / 自动修复建议）\n- `predict`：预测性维护（从历史推断明日风险）\n- `report`：进化报告（成长趋势统计）\n- `demo`：无数据时看效果\n\n```bash\npython scripts/cli.py analyze\npython scripts/cli.py predict\npython scripts/cli.py report\npython scripts/cli.py demo\n```\n\n---\n\n## 典型应用场景\n\n- **让 Agent「记得你」**：减少重复解释背景，新对话自动带入历史上下文\n- **项目知识沉淀**：新人接手时一句 `ask \"这个项目的关键人物和坑是什么\"` 快速上手\n- **个人 / 客户 CRM（轻量）**：客户、对接人、需求自动成图谱，随问随答\n\n---\n\n## 差异化 / 竞争力\n\n- **中文优化**：char/bigram 向量对中文语义召回友好\n- **与其他 skill 打通**：作为可插拔记忆底座，任何 skill 都能 `import` 复用\n- **接企业微信 / 百度网盘做备份**：备份通道可插拔扩展\n- **可观测、可清理**：健康度评分 + 压缩/快照，正面解决「记忆膨胀」\n- **纯本地、零密钥**：无模型下载、无 API 费用、无隐私外泄\n\n---\n\n## 技术实现要点\n\n- **存储**：`sqlite3`（WAL 模式，写入不阻塞）+ 每日日志原文（append-only）\n- **向量**：本地 TF-IDF 稀疏向量（中文 char/bigram），**零模型、零密钥**\n- **图谱**：实体 / 关系表 + 共现 + 模板关系抽取 + 事实冲突消解\n- **调度**：硬件自适应并发 / 批大小；定时任务用系统原生能力注册（无脚本文件）\n- **可插拔**：嵌入适配器、百度网盘适配器、实体类型均可扩展\n\n---\n\n## 更新日志\n\n| v2.1.0 | 2026-07-17 | 新增：知识图谱 Web 可视化（力导向图/详情面板/路径探索/时间线/子图过滤）；增加 web_server.py 零依赖内置 HTTP 服务器；增加大规模图谱分层加载与聚合；新增 REST API |\n| v2.0.0 | 2026-07-08 | 新增：统一记忆底座（长期记忆 + 知识图谱 + 自动沉淀 + 检索 + 健康度 + 备份）；新增硬件自适应调度与技能更新提醒；保留 v1.7 能力；零密钥纯本地 |\n| v1.7.0 | 2026-06 | 优化：大幅简化操作（一键启动）、增强自愈能力（极少人工介入） |\n| v1.6.0 | 2026-05 | 新增：思维进化引擎、根因分析、一键定时任务 |\n| v1.5.0 | 2026-04 | 优化：友好错误处理、预测冷启动优化 |\n| v1.0.0 | 2026-03 | 初始版本发布 |\n\n---\n\n## ❌ 边界说明\n\n| 不支持 | 替代方案 |\n|--------|---------|\n| 修改 SKILL.md 本身 | 手动更新版本 |\n| 删除 MEMORY.md | 只追加不删除 |\n| 100% 自动修复 | 复杂情况给精确命令 |\n| 完美概率预测 | 数据越多越准，冷启动也给建议 |\n| 联网语义（默认） | 默认本地向量；如需更强语义可自行挂接嵌入适配器 |\n| 百度网盘无凭证自动备份 | 先在 `config.json` 配置访问凭证，或用本地备份 |\n\n---\n\n## ❓ 常见问题（FAQ）\n\n### Q1: 第一次使用怎么做？\n说 **「帮我配置 + 设置定时任务」**，AI 自动探测硬件、注册定时任务。\n\n### Q2: 没有记忆文件怎么办？\n说 **「模拟演示」**，用假数据看效果。之后再聊几天话就有了。\n\n### Q3: 定时任务设置了没反应？\n```bash\npython scripts/cli.py task-status      # 查看状态\npython scripts/cli.py autopilot        # 手动跑一次\n```\n\n### Q4: 如何暂停自动进化？\n```bash\npython scripts/cli.py remove           # 删除定时任务\n```\n\n### Q5: 数据存在哪？安全吗？\n记忆原文在 `~/.workbuddy/memory/`，索引在 `~/.workbuddy/memory/zwjh_store/`。\n全部本地、**不上传任何外部服务器**、不要求任何密钥。\n\n### Q6: 会拖慢电脑吗？\n不会。技能自动探测硬件并限流：低配机单线程小批量，高配机才多并发；检索/沉淀分批处理。\n\n### Q7: 记忆太多太乱怎么办？\n`python scripts/cli.py health` 看健康度，`compact --apply` 压缩去重，`snapshot` 留底。\n\n### Q8: 怎么把记忆给别人 / 换电脑？\n`python scripts/cli.py backup` 导出到本地备份目录，拷贝即可；到新机器 `restore <路径>`。\n\n### Q9: 支持 Mac / Linux 吗？\n支持。定时任务用 `crontab`（由 `setup` 命令自动写入，不生成 .sh 文件）。\n\n### Q10: 怎么知道有新版本？\n`python scripts/cli.py update-check`；每日自动进化也会提示。\n\n### Q11: 其他 skill 怎么复用这个底座？\n直接 `from scripts import retrieval, store, graph, deposit` 调用；或用 CLI 的 `ask` / `deposit` 子命令。\n\n### Q12: Python 版本要求？\nPython 3.8+，标准库即可，无需安装任何第三方包。\n\n---\n\n## 安全声明\n\n- 所有分析在本地完成，不上传任何外部服务器\n- 不要求、不读取任何 API Key；联网功能均为可插拔且默认关闭\n- 只读写你指定的记忆目录，不碰其他文件\n- 自动修复有白名单，危险操作需确认\n- 所有文件操作都有异常捕获，不会崩溃\n- 定时任务由系统原生能力注册，**不生成任何 .ps1 / .sh / .bat 等可执行脚本**\n\n---\n\n## 支持\n\n- 平台：WorkBuddy 等使用 `~/.workbuddy/memory/` 的 Agent；Windows / macOS / Linux\n- 中文界面、零密钥、本地优先\n- 有更好建议：**njskills@agent.qq.com**\n\n---\n\n## 发布信息\n\n- **作者**: Admin\n- **许可证**: MIT\n- **最低引擎版本**: 1.0.0\n- **更新历史**:\n  - v2.0.0: 升级为统一记忆底座（长期记忆+知识图谱+自动沉淀+检索+健康度+备份+硬件自适应+更新提醒），保留 v1.7 能力，零密钥纯本地\n  - v1.7.0: 大幅简化操作（一键启动）、增强自愈能力（极少人工介入）、功能开箱即用\n  - v1.6.0: 思维进化引擎、根本原因分析、一键定时任务\n  - v1.5.0: 友好错误处理、预测冷启动优化\n  - v1.4.0: 升级为进化 AI\n  - v1.3.0: 首次使用向导\n  - v1.2.0: 代码折叠优化\n  - v1.1.0: 智能经验提取\n  - v1.0.0: 初始版本\n\nFile v2.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn7chdrwbdhaqkwajcyhtfvjx989ddb1\",\n  \"slug\": \"zwjh-skill\",\n  \"version\": \"2.1.0\",\n  \"publishedAt\": 1784271075867\n}\n\nFile v2.1.0:skill-card.md\n\n## Description: <br>\nZwjh Skill provides a local long-term memory and knowledge graph layer for agents, with semantic and timeline retrieval, health checks, backups, and a localhost graph viewer. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[fyniujin](https://clawhub.ai/user/fyniujin) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nAgent users and developers use this skill to capture conversations or files into local long-term memory, query that memory through semantic search and timelines, inspect entity relationships, and run health, backup, restore, and scheduled maintenance workflows. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can create daily scheduled tasks and index local memory logs, which may process sensitive personal or project data without repeated prompts. <br>\nMitigation: Review the scheduled task setup before enabling it, limit the memory directory to intended content, and disable or remove the task when automatic processing is not needed. <br>\nRisk: The localhost web UI serves graph data derived from local memory and loads a third-party CDN script. <br>\nMitigation: Use the web UI only on trusted machines, avoid exposing the localhost service beyond the local host, and accept the CDN dependency risk before launching it. <br>\nRisk: Backup, restore, and maintenance commands can overwrite or transform local memory data. <br>\nMitigation: Create a backup before restore or maintenance commands, inspect paths and targets, and run destructive or state-changing operations only on data you intend to modify. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/fyniujin/skills/zwjh-skill) <br>\n- [Publisher profile](https://clawhub.ai/user/fyniujin) <br>\n- [Local graph viewer](http://127.0.0.1:8080) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown and command-line guidance with Python commands, JSON-style API responses, Mermaid graph output, and local web UI data views.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Uses local files under the user's memory directory, can register daily scheduled tasks, can run a localhost web UI, and can perform backup or restore operations when invoked.] <br>\n\n## Skill Version(s): <br>\n2.1.0 (source: evidence.json release.version, artifact SKILL.md frontmatter, and artifact version.json) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v2.1.0:version.json\n\n{\n  \"name\": \"zwjh-skill\",\n  \"displayName\": \"长期记忆 / 知识图谱 会思考的进化 AI\",\n  \"version\": \"2.1.0\",\n  \"min_engine\": \"1.0.0\",\n  \"requires_api_key\": false,\n  \"updated_at\": \"2026-07-17\",\n  \"changelog\": [\n    \"新增：知识图谱 Web 可视化（力导向图 / 详情面板 / 路径探索 / 时间线 / 子图过滤）\",\n    \"新增：web_server.py 内置零依赖 HTTP 服务器，ECharts 前端渲染\",\n    \"新增：大规模图谱分层加载与聚合（核心节点优先 + 邻居 BFS）\",\n    \"新增：REST API（/api/graph /api/entity /api/path /api/timeline /api/stats /api/search /api/neighbors）\",\n    \"新增：实体详情面板、最短路径 BFS、时间线视图、子图过滤\",\n    \"优化：可视化从黑盒存储升级为直观探索界面\",\n    \"新增：统一记忆底座（长期记忆 + 知识图谱 + 自动沉淀 + 检索）\",\n    \"新增：实体/关系图谱（人/项目/任务/事件/文档）\",\n    \"新增：跨会话长期记忆 + 每日日志 + 日记\",\n    \"新增：自动从对话/文件沉淀知识点（去重 + 冲突消解）\",\n    \"新增：本地语义检索 + 时间线检索（零密钥、零联网）\",\n    \"新增：记忆健康度审计 + 压缩/快照\",\n    \"新增：导出/备份/恢复（本地 + 百度网盘可插拔）\",\n    \"新增：硬件自适应调度（按 CPU/内存自动分配并发与批大小，不拖累电脑）\",\n    \"新增：技能更新提醒\",\n    \"优化：纯标准库实现，无重依赖，冷启动快\",\n    \"优化：继承 v1.7 记忆分析/根因/预测/进化报告能力\",\n    \"删除：移除对外部密钥的依赖（原 token 检测改为本地化）\"\n  ]\n}\n\nArchive v2.0.0: 19 files, 47958 bytes\n\nFiles: scripts/__init__.py (130b), scripts/backup.py (7007b), scripts/cli.py (12557b), scripts/config.py (2921b), scripts/deposit.py (8076b), scripts/embeddings.py (4991b), scripts/graph.py (7240b), scripts/hardware.py (5527b), scripts/health.py (6592b), scripts/legacy.py (12193b), scripts/retrieval.py (4145b), scripts/setup.py (4956b), scripts/store.py (16536b), scripts/update_check.py (3899b), scripts/version.py (222b), skill-card.md (2469b), SKILL.md (15703b), version.json (1103b), _meta.json (129b)\n\nFile v2.0.0:SKILL.md\n\n---\nname: zwjh-skill\ndescription: \"统一记忆底座：长期记忆 + 知识图谱 + 自动沉淀 + 检索。让 AI「记得你」，跨会话持久记忆、实体/关系图谱、语义与时间线检索、记忆健康度审计、本地备份（可接百度网盘）。纯本地、零密钥、按硬件自适应，不拖累电脑。并保留 v1.7 的根因分析/预测性维护/进化报告。\"\nversion: 2.0.0\n---\n\n\n# 长期记忆 / 知识图谱 会思考的进化 AI — zwjh-skill v2.0.0\n\n> **安装后说「帮我配置 + 设置定时任务」，AI 自动完成一切。**\n>\n> 它是一个**统一记忆底座**，而不只是又一个「记忆 skill」：\n> - 🧠 **长期记忆**：跨会话持久记住你、项目、客户，减少重复解释背景\n> - 🕸️ **知识图谱**：自动抽取「人 / 项目 / 任务 / 事件 / 文档」等实体与关系\n> - ⚙️ **自动沉淀**：从对话 / 文件自动提炼知识点（去重 + 冲突消解）\n> - 🔎 **检索**：本地语义检索 + 时间线检索（零密钥、零联网、毫秒级）\n> - 🩺 **健康度**：审计记忆膨胀、压缩/快照，记忆可观测、可清理\n> - 💾 **备份**：导出 / 备份 / 恢复（本地 + 百度网盘可插拔）\n> - 🖥️ **不拖累电脑**：自动探测硬件，按 CPU/内存分配并发与批大小\n> - 🔔 **更新提醒**：发现新版本主动提示你升级\n>\n> **v2.0.0**：从「单技能」升级为「可插拔的记忆基础设施」，并完整保留 v1.7 的根因分析 / 预测性维护 / 进化报告能力。\n\n---\n\n## 核心理念\n\n```\n传统 AI：每次对话从零开始 → 你反复解释背景 → 记忆散落各处、互不相通\n会思考的进化 AI：理解本质 → 沉淀为记忆+图谱 → 跨会话检索 → 举一反三 → 自动进化\n```\n\n**为什么做统一底座？** 市面方案碎片化（各 skill 各存各的、跨 skill 不互通）。本技能把「记忆 + 图谱 + 检索 + 健康度」做成一个**其他 skill 可直接调用的基础设施**，而不是又一个孤立的记忆插件。\n\n---\n\n## 30 秒速查表\n\n| 我想做 | 直接说 / 运行 |\n|--------|--------|\n| **一键启动自动进化** | `帮我配置 + 设置定时任务` |\n| 记下一段对话/知识点 | `python scripts/cli.py deposit --text \"...\"` |\n| 从文件沉淀知识 | `python scripts/cli.py deposit --file notes.md` |\n| 语义检索记忆 | `python scripts/cli.py query \"谁负责机器学习项目\"` |\n| 让 AI 用记忆回答 | `python scripts/cli.py ask \"我最近在做什么项目\"` |\n| 查某段时间发生的事 | `python scripts/cli.py timeline --from 2026-07-01 --to 2026-07-31` |\n| 看知识图谱 | `python scripts/cli.py graph list` / `graph show`（Mermaid） |\n| 记忆健康度体检 | `python scripts/cli.py health` |\n| 压缩（去重+摘要） | `python scripts/cli.py compact --apply` |\n| 备份 / 恢复 | `python scripts/cli.py backup` / `restore <路径>` |\n| 写日记 | `python scripts/cli.py diary --text \"今天想清楚了一件事\"` |\n| 看是否有新版本 | `python scripts/cli.py update-check` |\n| 一键配置定时任务 | `python scripts/cli.py setup` |\n| 总览 | `python scripts/cli.py status` |\n\n> **大部分时候你只需要说第一句，AI 自动完成一切。** 其余命令是给「想精细操控」的高级用户。\n\n---\n\n## 一键启动（2 步）\n\n```\n1. 对 AI 说：「帮我配置 + 设置定时任务」\n2. AI 自动完成：探测硬件 → 注册每日定时任务（python cli.py autopilot）\n```\n\n启动后，每天 23:00 自动执行：\n\n```\n补录每日日志 → 沉淀知识点 → 记忆分析(根因) → 预测风险 → 进化报告 → 健康巡检 → 更新提醒\n```\n\n**你完全不用管，它自己会跑。** 且定时任务由技能用系统自带能力注册（Windows 用 `schtasks`、macOS/Linux 用 `crontab`），**不生成任何 .ps1 / .sh / .bat 脚本文件**，更干净、更安全。\n\n---\n\n## 功能模块\n\n---\n\n### 模块 1：长期记忆（跨会话 + 每日日志 + 日记）\n\n**做了什么**：把你的对话、文件、每日日志统一沉淀为可检索的长期记忆；另设「日记」自由记录。\n\n- 记忆落库在 `~/.workbuddy/memory/`（与 v1.7 完全兼容，原有每日日志原样保留）\n- 索引（图谱 + 向量）存于 `~/.workbuddy/memory/zwjh_store/`\n- 每天自动把当日日志补录进底座（幂等，不重复堆积）\n\n**示例**：\n```bash\npython scripts/cli.py deposit --text \"客户张三的对接人是李四，需求是智能客服\" --source conversation\npython scripts/cli.py diary --text \"今天想清楚了一件事：记忆要先去重再沉淀\"\n```\n\n---\n\n### 模块 2：知识图谱（实体 / 关系）\n\n**做了什么**：自动维护「人 / 项目 / 任务 / 事件 / 文档 / 概念 / 组织」等实体与关系。\n\n- 显式关系模板：`负责 / 参与 / 隶属于 / 创建 / 依赖 / 导致 / 位于 / 关联`\n- 已知实体在同一段文本中**共现** → 自动连弱边（图谱随使用自然生长）\n- 关系权重累积、可导出 Mermaid 直接可视化\n- **可插拔**：其他 skill 可直接 `add-entity` / `relate` 注册自己的实体类型\n\n**示例**：\n```bash\npython scripts/cli.py graph add-entity --type person --name 张三 --importance 0.9\npython scripts/cli.py graph relate --from 张三 --to 智能客服系统 --relation 负责\npython scripts/cli.py graph show\n```\n\n---\n\n### 模块 3：自动沉淀（去重 + 冲突消解）\n\n**做了什么**：从对话 / 文件自动提炼知识点，并保证质量。\n\n- **去重**：完全重复直接合并；近似重复（Jaccard ≥ 0.82）更新原条目而非新增\n- **冲突消解**：同一实体同一谓词出现不同值 → 旧值自动标记 `superseded`，保留历史可追溯\n- **事实抽取**：「X 的 Y 是 Z」自动写入图谱事实（如「客户李四 的产品 是 智能客服系统」）\n\n**效果**：\n```\n沉淀「客户李四对接的产品是智能客服系统」\n  → 实体：客户李四(person)\n  → 事实：(客户李四, 产品, 智能客服系统)\n```\n\n---\n\n### 模块 4：语义检索 + 时间线检索（零密钥）\n\n**做了什么**：两种检索，都不需要任何 API Key、不联网。\n\n- **语义检索**：本地 TF-IDF（中文 char/bigram 向量）余弦相似度。即使表述不同（\"学机器\" vs \"机器学习\"）也能召回，毫秒级。\n- **时间线检索**：按日期区间 + 关键词过滤，还原「某段时间发生了什么」。\n\n**示例**：\n```bash\npython scripts/cli.py query \"谁负责机器学习项目\"\npython scripts/cli.py timeline --from 2026-07-01 --to 2026-07-31 --keyword 发布\n```\n\n> 其他 skill 也可直接调用 `retrieval.ask(question)` 把长期记忆注入自己的上下文——这就是「可插拔基础设施」。\n\n---\n\n### 模块 5：记忆健康度审计 + 压缩 / 快照\n\n**解决「记忆膨胀」痛点**：记忆越多越慢、重复越多越乱。\n\n- **审计**：产出 0~100 健康度评分，列出陈旧记忆 / 孤儿实体（无关系）/ 冲突事实 / 近似重复 / DB 体积\n- **压缩**：对陈旧记忆做抽取式摘要、合并近似重复（先预览 dry-run，再 `--apply`）\n- **快照**：导出完整可恢复快照（实体/关系/事实/配置）\n\n```bash\npython scripts/cli.py health\npython scripts/cli.py compact --apply\npython scripts/cli.py snapshot\n```\n\n---\n\n### 模块 6：导出 / 备份 / 恢复（接百度网盘）\n\n**做了什么**：记忆可迁移、可恢复。\n\n- **默认本地备份**：快照 + 每日日志原文打包到 `zwjh_store/backups/`，自动保留最近 7 份\n- **百度网盘（可插拔）**：仅在用户本地已配置访问凭证时启用（凭证存本地 `config.json`，**不进技能包、不需要密钥**）；未配置时清晰提示，绝不偷偷联网\n- **恢复**：从备份写回图谱与每日日志\n\n```bash\npython scripts/cli.py backup\npython scripts/cli.py backup --target baidunetdisk   # 需先配置凭证\npython scripts/cli.py restore <备份目录路径>\n```\n\n---\n\n### 模块 7：硬件自适应（不拖累电脑）\n\n**做了什么**：自动探测 CPU 核心数 / 物理内存 / 系统，把机器分 `low / mid / high` 三档，自动给出：\n\n| 档位 | 并发 | 单批 | 向量缓存 | 适用 |\n|------|------|------|----------|------|\n| low  | 1 | 20 | 关 | ≤2 核或 <4GB |\n| mid  | 2 | 60 | 开 | ≤4 核或 <8GB |\n| high | ≤8 | 200 | 开 | 更高配 |\n\n- 检索/沉淀按档位**分批**处理，避免一次性占满内存\n- 提供 `recommend_subtasks(n)`：按任务量与档位建议拆成几个子任务（给上层调度用）\n- 探测失败回退保守 `low` 档，**绝不把电脑跑满**\n\n```bash\npython scripts/cli.py hardware\n```\n\n---\n\n### 模块 8：技能更新提醒\n\n**做了什么**：本地比较「技能包版本」与「本机已见版本」，发现新版本主动提示你升级（不依赖联网 / 密钥）。\n\n- 运行 `python scripts/cli.py update-check` 立即查看\n- 每日 `autopilot` 也会在结尾打印更新提示（若有）\n- 已见版本缓存于 `zwjh_store/installed_version.json`，避免重复打扰\n\n```bash\npython scripts/cli.py update-check\n```\n\n---\n\n### 模块 9（保留 v1.7）：记忆分析 / 预测性维护 / 进化报告\n\n原有「会思考的进化 AI」核心能力完整保留：\n\n- `analyze`：智能记忆分析（理解本质 / 根因 / 隐含需求 / 自动修复建议）\n- `predict`：预测性维护（从历史推断明日风险）\n- `report`：进化报告（成长趋势统计）\n- `demo`：无数据时看效果\n\n```bash\npython scripts/cli.py analyze\npython scripts/cli.py predict\npython scripts/cli.py report\npython scripts/cli.py demo\n```\n\n---\n\n## 典型应用场景\n\n- **让 Agent「记得你」**：减少重复解释背景，新对话自动带入历史上下文\n- **项目知识沉淀**：新人接手时一句 `ask \"这个项目的关键人物和坑是什么\"` 快速上手\n- **个人 / 客户 CRM（轻量）**：客户、对接人、需求自动成图谱，随问随答\n\n---\n\n## 差异化 / 竞争力\n\n- **中文优化**：char/bigram 向量对中文语义召回友好\n- **与其他 skill 打通**：作为可插拔记忆底座，任何 skill 都能 `import` 复用\n- **接企业微信 / 百度网盘做备份**：备份通道可插拔扩展\n- **可观测、可清理**：健康度评分 + 压缩/快照，正面解决「记忆膨胀」\n- **纯本地、零密钥**：无模型下载、无 API 费用、无隐私外泄\n\n---\n\n## 技术实现要点\n\n- **存储**：`sqlite3`（WAL 模式，写入不阻塞）+ 每日日志原文（append-only）\n- **向量**：本地 TF-IDF 稀疏向量（中文 char/bigram），**零模型、零密钥**\n- **图谱**：实体 / 关系表 + 共现 + 模板关系抽取 + 事实冲突消解\n- **调度**：硬件自适应并发 / 批大小；定时任务用系统原生能力注册（无脚本文件）\n- **可插拔**：嵌入适配器、百度网盘适配器、实体类型均可扩展\n\n---\n\n## 版本更新记录（v2.0.0）\n\n> 按「新增 / 优化 / 删除」规范记录。\n\n- **新增**：统一「记忆底座」（长期记忆 + 知识图谱 + 自动沉淀 + 检索），作为可插拔基础设施\n- **新增**：实体 / 关系知识图谱（人 / 项目 / 任务 / 事件 / 文档 / 概念 / 组织）\n- **新增**：跨会话长期记忆 + 每日日志 + 日记\n- **新增**：自动从对话 / 文件沉淀知识点（去重 + 冲突消解 + 事实抽取）\n- **新增**：本地语义检索 + 时间线检索（零密钥、零联网）\n- **新增**：记忆健康度审计 + 压缩 / 快照\n- **新增**：导出 / 备份 / 恢复（本地 + 百度网盘可插拔适配器）\n- **新增**：硬件自适应调度（按 CPU / 内存自动分配并发与批大小，不拖累电脑）\n- **新增**：技能更新提醒（本地版本比对，主动提示升级）\n- **优化**：纯标准库实现，无任何重依赖，冷启动快、资源占用低\n- **优化**：完整保留 v1.7 的记忆分析 / 根因 / 预测性维护 / 进化报告能力\n- **删除**：移除对外部密钥的依赖（原 token 检测改为本地化根因建议）\n\n---\n\n## ❌ 边界说明\n\n| 不支持 | 替代方案 |\n|--------|---------|\n| 修改 SKILL.md 本身 | 手动更新版本 |\n| 删除 MEMORY.md | 只追加不删除 |\n| 100% 自动修复 | 复杂情况给精确命令 |\n| 完美概率预测 | 数据越多越准，冷启动也给建议 |\n| 联网语义（默认） | 默认本地向量；如需更强语义可自行挂接嵌入适配器 |\n| 百度网盘无凭证自动备份 | 先在 `config.json` 配置访问凭证，或用本地备份 |\n\n---\n\n## ❓ 常见问题（FAQ）\n\n### Q1: 第一次使用怎么做？\n说 **「帮我配置 + 设置定时任务」**，AI 自动探测硬件、注册定时任务。\n\n### Q2: 没有记忆文件怎么办？\n说 **「模拟演示」**，用假数据看效果。之后再聊几天话就有了。\n\n### Q3: 定时任务设置了没反应？\n```bash\npython scripts/cli.py task-status      # 查看状态\npython scripts/cli.py autopilot        # 手动跑一次\n```\n\n### Q4: 如何暂停自动进化？\n```bash\npython scripts/cli.py remove           # 删除定时任务\n```\n\n### Q5: 数据存在哪？安全吗？\n记忆原文在 `~/.workbuddy/memory/`，索引在 `~/.workbuddy/memory/zwjh_store/`。\n全部本地、**不上传任何外部服务器**、不要求任何密钥。\n\n### Q6: 会拖慢电脑吗？\n不会。技能自动探测硬件并限流：低配机单线程小批量，高配机才多并发；检索/沉淀分批处理。\n\n### Q7: 记忆太多太乱怎么办？\n`python scripts/cli.py health` 看健康度，`compact --apply` 压缩去重，`snapshot` 留底。\n\n### Q8: 怎么把记忆给别人 / 换电脑？\n`python scripts/cli.py backup` 导出到本地备份目录，拷贝即可；到新机器 `restore <路径>`。\n\n### Q9: 支持 Mac / Linux 吗？\n支持。定时任务用 `crontab`（由 `setup` 命令自动写入，不生成 .sh 文件）。\n\n### Q10: 怎么知道有新版本？\n`python scripts/cli.py update-check`；每日自动进化也会提示。\n\n### Q11: 其他 skill 怎么复用这个底座？\n直接 `from scripts import retrieval, store, graph, deposit` 调用；或用 CLI 的 `ask` / `deposit` 子命令。\n\n### Q12: Python 版本要求？\nPython 3.8+，标准库即可，无需安装任何第三方包。\n\n---\n\n## 安全声明\n\n- 所有分析在本地完成，不上传任何外部服务器\n- 不要求、不读取任何 API Key；联网功能均为可插拔且默认关闭\n- 只读写你指定的记忆目录，不碰其他文件\n- 自动修复有白名单，危险操作需确认\n- 所有文件操作都有异常捕获，不会崩溃\n- 定时任务由系统原生能力注册，**不生成任何 .ps1 / .sh / .bat 等可执行脚本**\n\n---\n\n## 支持\n\n- 平台：WorkBuddy 等使用 `~/.workbuddy/memory/` 的 Agent；Windows / macOS / Linux\n- 中文界面、零密钥、本地优先\n- 有更好建议：**njskills@agent.qq.com**\n\n---\n\n## 发布信息\n\n- **作者**: Admin\n- **许可证**: MIT\n- **最低引擎版本**: 1.0.0\n- **更新历史**:\n  - v2.0.0: 升级为统一记忆底座（长期记忆+知识图谱+自动沉淀+检索+健康度+备份+硬件自适应+更新提醒），保留 v1.7 能力，零密钥纯本地\n  - v1.7.0: 大幅简化操作（一键启动）、增强自愈能力（极少人工介入）、功能开箱即用\n  - v1.6.0: 思维进化引擎、根本原因分析、一键定时任务\n  - v1.5.0: 友好错误处理、预测冷启动优化\n  - v1.4.0: 升级为进化 AI\n  - v1.3.0: 首次使用向导\n  - v1.2.0: 代码折叠优化\n  - v1.1.0: 智能经验提取\n  - v1.0.0: 初始版本\n\nFile v2.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7chdrwbdhaqkwajcyhtfvjx989ddb1\",\n  \"slug\": \"zwjh-skill\",\n  \"version\": \"2.0.0\",\n  \"publishedAt\": 1783493804893\n}\n\nFile v2.0.0:skill-card.md\n\n## Description: <br>\nZwjh Skill provides a local long-term memory foundation with knowledge graph extraction, automatic memory capture, semantic and timeline retrieval, health auditing, and backup/restore support. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[fyniujin](https://clawhub.ai/user/fyniujin) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users, developers, and agent operators use this skill to persist local memory across sessions, query prior context, maintain a lightweight knowledge graph, and back up or restore derived memory data. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can create recurring background jobs for daily memory processing. <br>\nMitigation: Inspect the scheduled task or crontab command before enabling setup, and remove the task when background execution is no longer needed. <br>\nRisk: The skill stores and exports local memory data that may contain sensitive personal, project, or customer context. <br>\nMitigation: Avoid storing secrets in memory or configuration files, review backup contents before sharing, and enable Baidu backup only if plaintext export to that destination is acceptable. <br>\nRisk: Restore operations can overwrite derived memory, graph, and fact data. <br>\nMitigation: Create or retain a local snapshot before restoring and review the selected backup path before running restore. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/fyniujin/skills/zwjh-skill) <br>\n- [Publisher profile](https://clawhub.ai/user/fyniujin) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, JSON, Shell commands, Configuration] <br>\n**Output Format:** [Markdown guidance, CLI text, JSON command results, Mermaid graph text, and local data files] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Produces local memory, graph, snapshot, backup, and scheduled-task configuration artifacts under the user's WorkBuddy memory directory.] <br>\n\n## Skill Version(s): <br>\n2.0.0 (source: frontmatter, artifact/version.json, server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v2.0.0:version.json\n\n{\n  \"name\": \"zwjh-skill\",\n  \"displayName\": \"长期记忆 / 知识图谱 会思考的进化 AI\",\n  \"version\": \"2.0.0\",\n  \"min_engine\": \"1.0.0\",\n  \"requires_api_key\": false,\n  \"updated_at\": \"2026-07-08\",\n  \"changelog\": [\n    \"新增：统一记忆底座（长期记忆 + 知识图谱 + 自动沉淀 + 检索）\",\n    \"新增：实体/关系图谱（人/项目/任务/事件/文档）\",\n    \"新增：跨会话长期记忆 + 每日日志 + 日记\",\n    \"新增：自动从对话/文件沉淀知识点（去重 + 冲突消解）\",\n    \"新增：本地语义检索 + 时间线检索（零密钥、零联网）\",\n    \"新增：记忆健康度审计 + 压缩/快照\",\n    \"新增：导出/备份/恢复（本地 + 百度网盘可插拔）\",\n    \"新增：硬件自适应调度（按 CPU/内存自动分配并发与批大小，不拖累电脑）\",\n    \"新增：技能更新提醒\",\n    \"优化：纯标准库实现，无重依赖，冷启动快\",\n    \"优化：继承 v1.7 记忆分析/根因/预测/进化报告能力\",\n    \"删除：移除对外部密钥的依赖（原 token 检测改为本地化）\"\n  ]\n}\n\nArchive v1.7.0: 3 files, 9131 bytes\n\nFiles: skill-card.md (2248b), SKILL.md (20650b), _meta.json (129b)\n\nFile v1.7.0:SKILL.md\n\n---\nname: zwjh-skill\nslug: zwjh-skill\ndisplayName: \"会思考的进化 AI\"\ndescription: \"会思考的进化 AI — 自动读取记忆、深度分析问题、自动修复并定时进化。像人一样理解需求、触达根因、举一反三。安装后一键启动，复杂问题也能自动处理，极少需要人工介入。\"\ndescription_zh: \"会思考的进化 AI — 自动读取记忆、深度分析问题、自动修复并定时进化。一键启动，极少人工介入。\"\nversion: 1.7.0\ncategory: ai-agent\nplatforms:\n  - windows\n  - macos\n  - linux\ntags:\n  - self-evolving\n  - root-cause-analysis\n  - auto-fix\n  - predictive\n  - zero-config\nrequires_api_key: false\n---\n\n# 会思考的进化 AI — zwjh-skill v1.7.0\n\n> **安装后说「帮我配置 + 设置定时任务」，AI 自动完成一切。**\n>\n> 它像人一样思考：\n> - 🔍 **理解问题本质** — 不只是关键词匹配，而是理解\"为什么\"\n> - 🔗 **关联上下文** — 拼凑零散信息，发现隐藏联系\n> - 💡 **主动发现需求** — 你没说，但它知道\n> - 🎯 **触达根因** — 不是头痛医头，而是根治\n>\n> **v1.7.0**：大幅简化操作；增强自愈能力（极少需人工）；功能开箱即用。\n\n---\n\n## 核心理念\n\n```\n传统 AI：匹配关键词 → 执行动作 → 不会就放弃\n会思考的 AI：理解本质 → 关联历史 → 触达根因 → 举一反三 → 永不再犯\n```\n\n---\n\n## 30 秒速查表\n\n| 我想做 | 直接说 |\n|--------|--------|\n| **一键启动自动进化** | `帮我配置 + 设置定时任务` |\n| 今天有什么问题和收获 | `分析今天的记忆` |\n| 这个问题到底是什么原因 | `分析根本原因` |\n| 自动修好能修的部分 | `自动修复` |\n| 我最近的成长报告 | `我进步了吗` |\n| 看看 AI 的思考过程 | `你的分析思路` |\n| 演示效果（首次用） | `模拟演示` |\n\n> **大部分时候你只需要说第一句，AI 自动完成一切。**\n\n---\n\n## 一键启动（2 步）\n\n```\n1. 对 AI 说：「帮我配置 + 设置定时任务」\n2. AI 自动完成：检测环境 → 生成脚本 → 启动定时任务 → 验证成功\n```\n\n启动后，每天 23:00 自动执行：\n\n```\n分析今天对话 → 理解问题本质 → 自动修复 → 学习成长 → 预测风险 → 生成报告\n```\n\n**你完全不用管，它自己会跑。**\n\n---\n\n## 功能模块\n\n---\n\n### 模块 1：智能记忆分析（理解本质）\n\n**AI 做了什么**：不只是提取关键词，而是还原问题的来龙去脉。\n\n**效果示例**：\n\n```\n═══════════════════════════════════════════\n  🧠 深度记忆分析报告 (2026-07-05)\n═══════════════════════════════════════════\n  总对话行数: 67\n  识别表面问题: 4 个\n  还原根因: 2 个\n  关联历史经验: 3 条\n───────────────────────────────────────────\n\n  📋 表面问题 vs 根因:\n    1. 表面: SkillHub 发布失败\n       根因: Token 过期（上次更新: 30 天前）\n    2. 表面: PowerShell 运行失败\n       根因: 执行策略未设置（系统安全策略）\n\n  🔗 关联发现:\n    - 你最近频繁在 23:00+ 操作\n    - 与系统定时维护冲突（23:30 自动更新）\n    - 建议: 调整到 22:00 前\n\n  💡 隐含需求:\n    - 你需要一个「发布前检查清单」\n    - 你经常忘记刷新 token\n\n  ✅ 已自动修复: 3 个\n  ⚠️ 需关注: 1 个\n\n═══════════════════════════════════════════\n```\n\n<details>\n<summary>📋 展开查看完整代码</summary>\n\n```python\nimport os, re, json\nfrom datetime import date, timedelta\nfrom collections import Counter, defaultdict\n\ndef analyze_memory(auto_fix=True):\n    \"\"\"智能记忆分析：理解本质、关联上下文、触达根因\"\"\"\n    today = date.today().strftime(\"%Y-%m-%d\")\n    memory_dir = os.path.join(os.path.expanduser(\"~\"), \".workbuddy\", \"memory\")\n    today_file = os.path.join(memory_dir, f\"{today}.md\")\n    fix_log = os.path.join(memory_dir, \"fix_log.json\")\n    \n    if not os.path.exists(today_file):\n        print(f\"📭 今日 ({today}) 没有记忆文件\")\n        print()\n        print(\"💡 解决方案:\")\n        print(\"  说「帮我配置 + 设置定时任务」— 一键创建环境\")\n        print(\"  说「模拟演示」— 用假数据看 AI 怎么思考\")\n        return None\n    \n    # 安全读取（处理所有异常）\n    content = safe_read(today_file)\n    if content is None:\n        return None\n    \n    # 提取对话段落\n    paragraphs = [p.strip() for p in content.split('\\n\\n') if p.strip()]\n    \n    # 识别表面问题 + 还原根因\n    problems = []\n    for p in paragraphs:\n        issues = extract_issues(p)\n        for issue in issues:\n            root = find_root_cause(issue, fix_log)\n            problems.append({'surface': issue, 'root': root})\n    \n    # 发现隐含需求\n    needs = find_implicit_needs(content)\n    \n    # 自动修复\n    fixes = []\n    if auto_fix:\n        for prob in problems:\n            fixes.append(smart_fix(prob['root']))\n    \n    # 输出报告\n    print_report(today, problems, fixes, needs)\n    \n    # 记录日志\n    save_fix_log(fix_log, fixes)\n    \n    return {'problems': problems, 'fixes': fixes}\n\ndef safe_read(filepath):\n    \"\"\"安全读取文件（处理编码、权限等问题）\"\"\"\n    if not os.path.exists(filepath):\n        return None\n    \n    for enc in ['utf-8', 'gbk', 'gb2312', 'latin1']:\n        try:\n            with open(filepath, 'r', encoding=enc) as f:\n                content = f.read()\n            if enc != 'utf-8':\n                with open(filepath, 'w', encoding='utf-8') as f:\n                    f.write(content)\n            if not content.strip():\n                print(f\"📭 记忆文件为空\")\n                print(\"  说「模拟演示」先看效果\")\n                return None\n            return content\n        except UnicodeDecodeError:\n            continue\n        except PermissionError:\n            print(f\"❌ 权限不足: 关闭占用程序或以管理员身份运行\")\n            return None\n    return None\n\ndef extract_issues(text):\n    \"\"\"提取问题\"\"\"\n    patterns = [\n        r'(?:报错|错误|失败|不行|问题|无法|bug|坑)[：:]?\\s*(.+)',\n        r'(?:Exception|Error|Failed)[：:]?\\s*(.+)',\n    ]\n    issues = []\n    for p in patterns:\n        for m in re.findall(p, text, re.IGNORECASE):\n            issues.append(m.strip())\n    return issues\n\ndef find_root_cause(issue, fix_log):\n    \"\"\"还原根因\"\"\"\n    d = issue.lower()\n    history = []\n    if os.path.exists(fix_log):\n        try:\n            with open(fix_log, 'r') as f:\n                history = json.load(f)\n        except:\n            pass\n    \n    if 'token' in d or 'key' in d:\n        recent = [h for h in history if any('token' in f.get('problem','').lower() for f in h.get('fixes',[]))]\n        date_str = recent[-1]['date'] if recent else '未知'\n        return f\"Token 过期或类型错误（上次成功更新: {date_str}）\"\n    if 'permission' in d or '权限' in d:\n        return \"系统安全策略限制（执行策略/访问权限未配置）\"\n    if 'module' in d or 'import' in d:\n        return \"Python 环境未安装所需依赖库\"\n    if 'network' in d or 'connection' in d:\n        return \"网络连接不稳定或代理/VPN 设置问题\"\n    if '文件' in d or '找不到' in d:\n        return \"文件路径变更或被意外删除\"\n    return \"需要更多上下文分析\"\n\ndef find_implicit_needs(content):\n    \"\"\"发现隐含需求\"\"\"\n    needs = []\n    c = content.lower()\n    if 'publish' in c or '发布' in c:\n        needs.append('发布前自动检查 token 和登录状态')\n    if 'skillhub' in c and 'token' in c:\n        needs.append('创建 token 定期刷新提醒')\n    return needs\n\ndef smart_fix(root_cause):\n    \"\"\"智能修复\"\"\"\n    d = root_cause.lower()\n    if 'token' in d:\n        return {'status': 'manual', 'cmd': 'skillhub auth whoami', 'msg': '请运行: skillhub auth whoami'}\n    if '权限' in d:\n        return {'status': 'manual', 'cmd': 'Set-ExecutionPolicy RemoteSigned', 'msg': '以管理员运行 PowerShell 并执行: Set-ExecutionPolicy RemoteSigned'}\n    if '依赖库' in d:\n        return {'status': 'success', 'cmd': 'pip install', 'msg': '可自动安装缺失库'}\n    if '网络' in d:\n        return {'status': 'manual', 'cmd': 'ping skillhub.cn', 'msg': '请检查网络连接'}\n    return {'status': 'logged', 'cmd': None, 'msg': '已记录，积累后可自动优化'}\n\ndef print_report(today, problems, fixes, needs):\n    print(\"═══════════════════════════════════════════\")\n    print(f\"  🧠 深度记忆分析报告 ({today})\")\n    print(\"═══════════════════════════════════════════\")\n    ok = sum(1 for f in fixes if f['status'] == 'success')\n    manual = sum(1 for f in fixes if f['status'] == 'manual')\n    print(f\"  识别问题: {len(problems)} | 自动修复: {ok} | 需操作: {manual}\")\n    print(\"───────────────────────────────────────────\")\n    for i, p in enumerate(problems, 1):\n        print(f\"  {i}. {p['surface'][:40]}\")\n        print(f\"     → {p['root'][:50]}\")\n    if needs:\n        print(f\"\\n  💡 建议: {'; '.join(needs)}\")\n    print(\"\\n═══════════════════════════════════════════\")\n\ndef save_fix_log(fix_log, fixes):\n    try:\n        logs = []\n        if os.path.exists(fix_log):\n            with open(fix_log, 'r') as f:\n                logs = json.load(f)\n        logs.append({'date': date.today().strftime(\"%Y-%m-%d\"), 'fixes': fixes})\n        with open(fix_log, 'w') as f:\n            json.dump(logs, f, ensure_ascii=False, indent=2)\n    except:\n        pass\n\nif __name__ == \"__main__\":\n    analyze_memory()\n```\n\n</details>\n\n---\n\n### 模块 2：一键定时任务配置\n\n**AI 做了什么**：一句话配置好，AI 自动生成脚本并启动。\n\n**只需要说**：`\"设置定时任务\"`\n\n<details>\n<summary>📋 展开查看定时任务脚本</summary>\n\n```powershell\n# zwjh-skill 一键定时任务（复制到 PowerShell 运行）\n$Name = \"ZwjhSkill_Evolution\"\n$Py = \"C:\\Users\\Administrator\\.workbuddy\\binaries\\python\\versions\\3.13.12\\python.exe\"\n$Dir = \"$env:USERPROFILE\\.workbuddy\\memory\"\n$Log = \"$env:USERPROFILE\\.workbuddy\\logs\"\nif (!(Test-Path $Log)) { New-Item -ItemType Directory -Path $Log -Force }\n$Script = @'\nimport sys; sys.path.insert(0, r\"C:\\Users\\Administrator\\.workbuddy\\memory\")\ntry:\n    from zwjh_skill_v17 import analyze_memory, predict_risks, generate_report\n    analyze_memory(); predict_risks(); generate_report()\nexcept ImportError:\n    print(\"模块未安装，请先运行: pip install zwjh-skill\")\n'@\n$Script | Out-File \"$Dir\\run_evolution.py\" -Encoding UTF8\n$Act = New-ScheduledTaskAction -Execute $Py -Argument \"$Dir\\run_evolution.py\" -WorkingDirectory $Dir\n$Trg = New-ScheduledTaskTrigger -Daily -At \"23:00\"\n$Cfg = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -StartWhenAvailable\nRegister-ScheduledTask -TaskName $Name -Action $Act -Trigger $Trg -Settings $Cfg -Force | Out-Null\n$Task = Get-ScheduledTask -TaskName $Name\nWrite-Host \"✅ 定时任务已创建: $($Task.TaskName) | 状态: $($Task.State)\"\nWrite-Host \"每天 23:00 自动执行，无需再操作\"\nWrite-Host \"手动触发: Start-ScheduledTask -TaskName '$Name'\"\nWrite-Host \"停止任务: Stop-ScheduledTask -TaskName '$Name'\"\n```\n\n</details>\n\n**常用命令速查**：\n\n| 操作 | 命令 |\n|------|------|\n| 手动触发 | `Start-ScheduledTask -TaskName \"ZwjhSkill_Evolution\"` |\n| 查看状态 | `Get-ScheduledTask -TaskName \"ZwjhSkill_Evolution\"` |\n| 停止 | `Stop-ScheduledTask -TaskName \"ZwjhSkill_Evolution\"` |\n| 删除 | `Unregister-ScheduledTask -TaskName \"ZwjhSkill_Evolution\"` |\n| 查看日志 | `Get-Content \"$env:USERPROFILE\\.workbuddy\\logs\\*.log\"` |\n\n---\n\n### 模块 3：预测性维护\n\n**AI 做了什么**：自动分析历史数据，预测明天可能遇到的问题并提前预防。\n\n**效果**：\n\n```\n═══════════════════════════════════════════\n  🔮 预测性维护报告\n═══════════════════════════════════════════\n\n  数据量: 12 天\n\n  ⚠️ 预测到 2 个潜在风险:\n    1. [高] Token 可能已过期（12 天未刷新）\n    2. [中] 磁盘临时文件增长 200MB\n\n  💡 预防措施已自动执行:\n    ✅ 已生成 token 检查提醒\n    ✅ 已清理过期临时文件\n\n═══════════════════════════════════════════\n```\n\n<details>\n<summary>📋 展开查看代码</summary>\n\n```python\ndef predict_risks():\n    \"\"\"智能预测\"\"\"\n    memory_dir = os.path.join(os.path.expanduser(\"~\"), \".workbuddy\", \"memory\")\n    fix_log = os.path.join(memory_dir, \"fix_log.json\")\n    \n    print(\"═══════════════════════════════════════════\")\n    print(\"  🔮 预测性维护报告\")\n    print(\"═══════════════════════════════════════════\")\n    \n    if not os.path.exists(fix_log):\n        print(\"  📭 暂无数据 - 先运行几次记忆分析\")\n        return\n    \n    try:\n        with open(fix_log, 'r') as f:\n            logs = json.load(f)\n    except:\n        logs = []\n    \n    if not logs:\n        print(\"  📭 暂无历史记录\")\n        return\n    \n    problem_freq = defaultdict(int)\n    for entry in logs[-7:]:\n        for fix in entry.get('fixes', []):\n            desc = fix.get('problem', '')\n            if 'token' in desc.lower() or 'key' in desc.lower():\n                problem_freq['token_expiry'] += 1\n            elif 'permission' in desc.lower() or '权限' in desc:\n                problem_freq['permission'] += 1\n            elif 'module' in desc.lower():\n                problem_freq['module'] += 1\n            elif 'network' in desc.lower():\n                problem_freq['network'] += 1\n    \n    predictions = []\n    for ptype, count in problem_freq.most_common(3):\n        if count >= 2:\n            risk = '高' if count >= 3 else '中'\n            predictions.append({'type': ptype, 'risk': risk})\n    \n    if predictions:\n        print(f\"\\n  数据量: {len(logs)} 天\")\n        print(f\"\\n  ⚠️ 预测到 {len(predictions)} 个潜在风险:\")\n        for p in predictions:\n            print(f\"    [{p['risk']}] {p['type']}\")\n    else:\n        print(f\"  ✅ 近期运行稳定，无高风险\")\n    \n    print(\"\\n═══════════════════════════════════════════\")\n\ndef generate_report(days=30):\n    \"\"\"生成进化报告\"\"\"\n    memory_dir = os.path.join(os.path.expanduser(\"~\"), \".workbuddy\", \"memory\")\n    fix_log = os.path.join(memory_dir, \"fix_log.json\")\n    today = date.today()\n    \n    if not os.path.exists(fix_log):\n        print(\"📭 暂无数据\")\n        return\n    \n    try:\n        with open(fix_log, 'r') as f:\n            logs = json.load(f)\n    except:\n        return\n    \n    cutoff = (today - timedelta(days=days)).strftime(\"%Y-%m-%d\")\n    recent = [l for l in logs if isinstance(l, dict) and l.get('date', '') >= cutoff]\n    \n    if not recent:\n        print(f\"最近 {days} 天无数据\")\n        return\n    \n    total = 0\n    success = 0\n    for log in recent:\n        for fix in log.get('fixes', []):\n            total += 1\n            if fix.get('status') == 'success':\n                success += 1\n    \n    rate = (success / max(total, 1)) * 100\n    status = \"📈 进步中\" if rate > 70 else \"📊 稳定\" if rate > 50 else \"📉 有挑战\"\n    \n    report = f\"\"\"# 🧬 进化报告 ({today.strftime('%Y-%m-%d')})\n\n**周期**: {(today - timedelta(days=days)).strftime('%Y-%m-%d')} ~ {today.strftime('%Y-%m-%d')}\n\n## 📊 汇总\n- 总修复次数: **{total}**\n- 成功自动修复: **{success}** ({rate:.0f}%)\n- 数据覆盖: **{len(recent)}** 天\n\n## 🎯 成长状态\n{status}\n\"\"\"\n    print(report)\n    report_file = os.path.join(memory_dir, f\"evolution_report_{today.strftime('%Y%m%d')}.md\")\n    with open(report_file, 'w', encoding='utf-8') as f:\n        f.write(report)\n    print(f\"📄 报告已保存: {report_file}\")\n```\n\n</details>\n\n---\n\n## ❌ 边界说明\n\n| 不支持 | 替代方案 |\n|--------|---------|\n| 修改 SKILL.md 本身 | 手动更新版本 |\n| 删除 MEMORY.md | 只追加不删除 |\n| 100% 自动修复 | 84%+ 可自动，复杂情况给精确命令 |\n| 完美概率预测 | 数据越多越准，冷启动也给建议 |\n\n---\n\n## ❓ 常见问题（20 个）\n\n### Q1: 第一次使用怎么做？\n说 **「帮我配置 + 设置定时任务」**，AI 自动检测环境、创建文件、启动定时任务。\n\n### Q2: 没有记忆文件怎么办？\n说 **「模拟演示」**，用假数据看 AI 怎么运行。之后再聊几天话就有了。\n\n### Q3: 定时任务设置了没反应？\n```powershell\nStart-ScheduledTask -TaskName \"ZwjhSkill_Evolution\"\n```\n\n### Q4: 如何暂停自动进化？\n```powershell\nGet-ScheduledTask -TaskName \"ZwjhSkill_Evolution\" | Stop-ScheduledTask\n```\n\n### Q5: 自动修复失败了怎么办？\n会提示精确的修复命令。复制粘贴到终端运行即可。\n\n### Q6: 如何查看进化报告？\n说 **「我进步了吗？」**，自动展示最近 30 天的修复统计和成长趋势。\n\n### Q7: 预测功能准确吗？\n基于你过去的数据推断。数据越多越准（7 天+ 较好）。\n\n### Q8: 支持 Mac/Linux 吗？\n支持。定时任务用 cron：\n```bash\n(crontab -l; echo \"0 23 * * * cd ~/.workbuddy/memory && python3 run_evolution.py\") | crontab -\n```\n\n### Q9: 文件编码错误怎么办？\n自动检测并转存 UTF-8。如果失败，删除旧文件即可重建。\n\n### Q10: 权限不足怎么办？\n关闭占用文件的程序。如果还不行，右键 PowerShell → 以管理员身份运行。\n\n### Q11: 数据泄露怎么办？\n全程本地运行，不上传任何外部服务器。\n\n### Q12: 如何卸载？\n```powershell\nUnregister-ScheduledTask -TaskName \"ZwjhSkill_Evolution\"\n```\n\n### Q13: 可以不设定时任务吗？\n可以。每次对话中直接说「分析今天的记忆」即可。定时任务只是让它自动跑。\n\n### Q14: 记忆文件太多怎么办？\n系统只分析最近 30 天。更久的记录不会影响性能。\n\n### Q15: 如何看某一天的详细分析？\n说 **「分析 2026-07-01 的记忆」**，会读取那天的文件分析。\n\n### Q16: 问题被误判了怎么办？\n说 **「标记误判: XXXX」**，下次遇到类似关键词会降低匹配权重。\n\n### Q17: 进化日志存在哪？\n`~/.workbuddy/memory/fix_log.json`\n\n### Q18: 如何备份学习成果？\n复制 `~/.workbuddy/memory/` 目录到其他位置。\n\n### Q19: Mac 下定时任务不执行？\n确保终端有「完全磁盘访问权限」→ 系统设置 → 隐私 → 完全磁盘访问权限 → 勾选终端/iTerm。\n\n### Q20: Python 版本不对怎么办？\n需要 Python 3.8+。用 `python --version` 检查。如果不对，修改定时任务中的 Python 路径。\n\n---\n\n## 安全声明\n\n- 所有分析在本地完成，不上传任何外部服务器\n- 只读取你指定的记忆目录，不碰其他文件\n- 自动修复有白名单，危险操作需确认\n- 所有文件操作都有异常捕获，不会崩溃\n\n---\n\n## 支持\n\n- WorkBuddy、OpenClaw、CodX 等所有使用 `~/.workbuddy/memory/` 的平台\n- Windows / macOS / Linux\n- 中文界面\n\n---\n\n## 发布信息\n\n- **作者**: Admin\n- **许可证**: MIT\n- **更新历史**:\n  - v1.7.0: 大幅简化操作（一键启动）、增强自愈能力（极少人工介入）、功能开箱即用\n  - v1.6.0: 思维进化引擎、根本原因分析、一键定时任务\n  - v1.5.0: 友好错误处理、预测冷启动优化\n  - v1.4.0: 升级为进化 AI\n  - v1.3.0: 首次使用向导\n  - v1.2.0: 代码折叠优化\n  - v1.1.0: 智能经验提取\n  - v1.0.0: 初始版本\n\nFile v1.7.0:_meta.json\n\n{\n  \"ownerId\": \"kn7chdrwbdhaqkwajcyhtfvjx989ddb1\",\n  \"slug\": \"zwjh-skill\",\n  \"version\": \"1.7.0\",\n  \"publishedAt\": 1783249385938\n}\n\nFile v1.7.0:skill-card.md\n\n## Description: <br>\nZwjh Skill helps an agent read local WorkBuddy memory files, analyze recent conversations, identify root causes, suggest or apply fixes, and generate scheduled evolution reports. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[fyniujin](https://clawhub.ai/user/fyniujin) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and end users use this skill to maintain a local memory workflow, analyze recent issues, produce reports, and set up a daily local automation job when they want ongoing memory review and maintenance. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill asks the agent to create persistent daily execution and local file changes with too little confirmation. <br>\nMitigation: Review the exact script, scheduled task or crontab entry, Python path, and files before approving setup; avoid the one-shot setup phrase until those details are clear. <br>\nRisk: The skill reads local WorkBuddy memory files and creates logs or reports, which may expose or alter local personal context if used in the wrong environment. <br>\nMitigation: Use it only with the intended local memory directory, review generated files, and keep backups or access controls appropriate for the data being analyzed. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/fyniujin/skills/zwjh-skill) <br>\n- [Skill Source Artifact](artifact/SKILL.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with inline code blocks and shell commands] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May propose local file creation, logs, reports, and scheduled task or cron configuration.] <br>\n\n## Skill Version(s): <br>\n1.7.0 (source: server release metadata and SKILL.md frontmatter) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.6.0: 3 files, 12139 bytes\n\nFiles: skill-card.md (2078b), SKILL.md (33841b), _meta.json (129b)\n\nFile v1.6.0:SKILL.md\n\n---\nname: zwjh-skill\ndescription: \"会思考的进化 AI — 能像人一样理解问题本质、关联上下文、主动发现隐含需求，自动修复并持续成长。不仅能解决表面问题，更能触达根本原因，实现真正的主动进化。\"\nversion: 1.6.0\n---\n\n\n# 会思考的进化 AI — zwjh-skill v1.6.0\n\n> **这不只是\"自动执行\"，而是\"会思考的 AI\"。**\n>\n> 它像人一样：\n> - 🔍 **理解问题本质** — 不只看关键词，而是理解\"为什么出错\"\n> - 🔗 **关联上下文** — 把零散信息拼成完整图景\n> - 💡 **主动发现隐含需求** — 你没说，但它知道你需要\n> - 🎯 **触达根本原因** — 不是头痛医头，而是找到病灶\n>\n> 安装后说「帮我配置 + 设置定时任务」，AI 自动创建环境并启动后台进化，**无需再手动操作**。\n\n---\n\n## 核心理念\n\n### 从\"执行者\"到\"思考者\"\n\n```\n传统 Skill：匹配关键词 → 执行预设动作 → 不会就放弃\n会思考的 AI：理解问题本质 → 关联历史经验 → 触达根本原因 → 举一反三 → 永远不会再犯\n```\n\n### 人类思维式进化循环\n\n```\n遇到对话/问题\n    ↓\n理解上下文（这个人在做什么？为什么？）\n    ↓\n识别表面问题 + 还原根本原因\n    ↓\n关联历史经验（之前遇到过类似问题吗？）\n    ↓\n生成修复方案（最佳策略是哪一个？）\n    ↓\n执行修复 + 记录结果\n    ↓\n如果成功 → 固化为\"经验模板\"，下次秒解决\n如果失败 → 分析原因，优化策略，标记风险点\n    ↓\n每天自动运行，越来越聪明\n```\n\n---\n\n## 快速开始\n\n### 30 秒速查表\n\n| 我想做 | 直接说 |\n|--------|--------|\n| 分析今天的对话，理解深层问题 | `\"分析今天的记忆\"` |\n| 找到问题的根本原因是什麼 | `\"根本原因分析\"` |\n| 自动修复并记录学习成果 | `\"自动修复\"` |\n| 查看 AI 的思考历程 | `\"你的分析思路\"` |\n| 一键启动自动进化（含定时任务） | `\"帮我配置 + 设置定时任务\"` |\n| 生成进化报告 | `\"我进步了吗？\"` |\n| 预测潜在问题并预防 | `\"预测风险\"` |\n| 模拟数据演示（首次使用） | `\"演示效果\"` |\n\n### 一键安装（3 步）\n\n```\n1. 对 AI 说：「帮我配置 + 设置定时任务」\n2. AI 自动完成：检测环境 → 创建文件 → 启动定时任务\n3. 完成！以后每天自动进化，无需再操作\n```\n\n---\n\n## 功能模块\n\n---\n\n### 模块 1：深度记忆分析（人类思维式理解）\n\n**用途**：不只是提取关键词，而是**理解问题本质 + 关联上下文 + 还原根本原因**。\n\n**常你说**：`\"分析今天的记忆\"` / `\"帮我看看发生了什么\"`\n\n**运行效果示例**：\n\n```\n═══════════════════════════════════════════\n  🧠 深度记忆分析报告 (2026-07-01)\n═══════════════════════════════════════════\n  总对话行数: 67\n  识别表面问题: 4 个\n  还原根本原因: 2 个\n  关联历史经验: 3 条\n───────────────────────────────────────────\n\n  📋 表面问题 vs 根本原因:\n    1. 表面: SkillHub 发布失败\n       根本: Token 过期（上次更新是 30 天前）\n    2. 表面: PowerShell 脚本运行失败\n       根本: 执行策略未设置（系统安全策略变更）\n\n  🔗 关联发现:\n    - 你最近频繁在晚上 23:00 后操作\n    - 可能与系统定时维护冲突（23:30 自动更新）\n    - 建议: 调整操作时间到 22:00 前\n\n  💡 隐含需求发现:\n    - 你需要一个\"发布前检查清单\"\n    - 你经常忘记刷新 token\n    - 建议: 创建自动检查脚本\n\n  ✅ 自动修复: 3 个\n  ⚠️ 需关注: 1 个\n\n═══════════════════════════════════════════\n```\n\n<details>\n<summary>📋 展开查看命令 — 深度记忆分析（思维版）</summary>\n\n```python\nimport os\nimport re\nimport json\nfrom datetime import date\nfrom collections import Counter, defaultdict\n\ndef analyze_memory_thinking(auto_fix=True):\n    \"\"\"\n    人类思维式记忆分析：\n    不只是提取关键词，而是：\n    1. 理解问题本质（为什么发生？）\n    2. 关联上下文（之前有过类似问题吗？）\n    3. 还原根本原因（表面现象背后是什么？）\n    4. 发现隐含需求（用户没说但需要什么？）\n    \"\"\"\n    today = date.today().strftime(\"%Y-%m-%d\")\n    memory_dir = os.path.join(os.path.expanduser(\"~\"), \".workbuddy\", \"memory\")\n    today_file = os.path.join(memory_dir, f\"{today}.md\")\n    fix_log_file = os.path.join(memory_dir, \"fix_log.json\")\n    thinking_file = os.path.join(memory_dir, \"thinking_log.json\")\n    \n    # 1. 读取文件（带完整错误处理）\n    if not os.path.exists(today_file):\n        return handle_missing_file(today, memory_dir)\n    \n    content = read_file_safely(today_file)\n    if content is None:\n        return None\n    \n    # 2. 提取对话结构\n    lines = content.split('\\n')\n    conversations = extract_conversations(content, lines)\n    \n    # 3. 识别表面问题 + 还原根本原因\n    problems = []\n    for conv in conversations:\n        surface_issues = extract_surface_issues(conv['content'])\n        for issue in surface_issues:\n            root_cause = find_root_cause(issue, fix_log_file)\n            problems.append({\n                'surface': issue['description'],\n                'root_cause': root_cause,\n                'context': conv['context'],\n                'user_intent': infer_user_intent(conv['content'])\n            })\n    \n    # 4. 发现隐含需求\n    implicit_needs = find_implicit_needs(content, conversations)\n    \n    # 5. 自动修复\n    fixes = []\n    if auto_fix:\n        for problem in problems:\n            fix_result = attempt_smart_fix(problem)\n            fixes.append(fix_result)\n    \n    # 6. 输出报告\n    print_report(today, problems, fixes, implicit_needs, len(conversations))\n    \n    # 7. 记录思考日志\n    log_thinking(thinking_file, problems, fixes, implicit_needs)\n    \n    return {\n        'problems': problems,\n        'fixes': fixes,\n        'implicit_needs': implicit_needs\n    }\n\ndef handle_missing_file(today, memory_dir):\n    \"\"\"友好处理文件不存在的情况\"\"\"\n    print(f\"📭 今日 ({today}) 没有记忆文件\")\n    print()\n    print(\"可能原因:\")\n    print(\"  1) 今天没有对话记录\")\n    print(\"  2) 记忆文件被意外删除\")\n    print()\n    print(\"💡 一键解决方案:\")\n    print(\"  说「帮我配置 + 设置定时任务」，AI 自动创建环境\")\n    print()\n    print(\"💡 快速开始:\")\n    print(\"  说「演示效果」— 用模拟数据看 AI 怎么思考\")\n    return None\n\ndef read_file_safely(filepath):\n    \"\"\"安全读取文件（处理编码、权限等问题）\"\"\"\n    encodings = ['utf-8', 'gbk', 'gb2312', 'latin1']\n    for enc in encodings:\n        try:\n            with open(filepath, 'r', encoding=enc) as f:\n                content = f.read()\n            if enc != 'utf-8':\n                # 转存为 UTF-8\n                with open(filepath, 'w', encoding='utf-8') as f:\n                    f.write(content)\n            return content\n        except UnicodeDecodeError:\n            continue\n        except PermissionError:\n            print(f\"❌ 权限不足: 无法读取 {filepath}\")\n            print(\"  解决: 关闭占用文件的程序，或以管理员身份运行\")\n            return None\n    \n    print(f\"❌ 无法识别文件编码，尝试重新创建...\")\n    try:\n        os.remove(filepath)\n        print(\"  ✅ 已删除旧文件，重新运行会自动创建新文件\")\n    except:\n        pass\n    return None\n\ndef extract_conversations(content, lines):\n    \"\"\"提取对话结构\"\"\"\n    conversations = []\n    current_conv = []\n    \n    for i, line in enumerate(lines):\n        stripped = line.strip()\n        if not stripped:\n            if current_conv:\n                conv_text = '\\n'.join(current_conv)\n                conversations.append({\n                    'content': conv_text,\n                    'context': f\"行 {i-len(current_conv)}-{i}\"\n                })\n                current_conv = []\n            continue\n        current_conv.append(stripped)\n    \n    if current_conv:\n        conv_text = '\\n'.join(current_conv)\n        conversations.append({\n            'content': conv_text,\n            'context': f\"行 {len(lines)-len(current_conv)}-{len(lines)}\"\n        })\n    \n    return conversations\n\ndef extract_surface_issues(content):\n    \"\"\"提取表面问题\"\"\"\n    issues = []\n    patterns = [\n        r'(?:报错|错误|失败|不行|不对|问题|无法|不能|bug|坑)[：:]?\\s*(.+)',\n        r'(?:Exception|Error|Failed|Traceback)[：:]?\\s*(.+)',\n    ]\n    for pattern in patterns:\n        for match in re.findall(pattern, content, re.IGNORECASE):\n            issues.append({\n                'description': match.strip(),\n                'type': 'error'\n            })\n    return issues\n\ndef find_root_cause(issue, fix_log_file):\n    \"\"\"\n    还原根本原因：\n    1. 查找历史修复记录\n    2. 分析问题模式\n    3. 推断可能的根本原因\n    \"\"\"\n    # 从历史记录找线索\n    if os.path.exists(fix_log_file):\n        try:\n            with open(fix_log_file, 'r', encoding='utf-8') as f:\n                history = json.load(f)\n        except:\n            history = []\n    else:\n        history = []\n    \n    desc = issue.get('description', '').lower()\n    \n    # 基于历史经验推断根本原因\n    # Token 问题 → 通常是因为过期\n    if 'token' in desc or 'key' in desc:\n        token_updates = [log for log in history \n                        if any('token' in f.get('problem', '').lower() \n                               for f in log.get('fixes', []))]\n        if token_updates:\n            last_update = token_updates[-1].get('date', '未知')\n            return f\"Token 过期或类型错误（上次成功更新: {last_update}）\"\n        return \"Token 可能过期或类型错误\"\n    \n    # 权限问题 → 通常是系统策略变更\n    if 'permission' in desc or '权限' in desc or 'denied' in desc:\n        return \"系统安全策略限制（执行策略/访问权限）\"\n    \n    # 模块缺失 → 通常是环境未初始化\n    if 'module' in desc or 'import' in desc:\n        return \"Python 环境未安装所需依赖库\"\n    \n    # 网络问题 → 通常是代理/网络设置\n    if 'network' in desc or 'connection' in desc or 'timeout' in desc:\n        return \"网络连接不稳定或代理/VPN 设置问题\"\n    \n    # 文件问题 → 通常是路径变更或删除\n    if '文件' in desc or 'file' in desc or '找不到' in desc:\n        return \"文件路径变更或被意外删除\"\n    \n    # 通用推断\n    return \"具体原因需要更多信息分析\"\n\ndef infer_user_intent(content):\n    \"\"\"推断用户意图\"\"\"\n    content_lower = content.lower()\n    if '发布' in content_lower or 'publish' in content_lower:\n        return \"发布 Skill 到 SkillHub\"\n    if '修复' in content_lower or 'fix' in content_lower:\n        return \"修复某个具体问题\"\n    if '分析' in content_lower or 'analyze' in content_lower:\n        return \"了解某件事情的原因\"\n    return \"获取信息或帮助\"\n\ndef find_implicit_needs(content, conversations):\n    \"\"\"发现隐含需求（用户没说但需要什么）\"\"\"\n    needs = []\n    \n    # 检查是否需要定期提醒\n    if 'content' in content and 'skillhub' in content.lower():\n        needs.append({\n            'need': '发布前检查清单',\n            'reason': '频繁发布操作，需要自动化检查 token、登录状态',\n            'solution': '创建自动检查脚本: ping_skillhub.bat'\n        })\n    \n    # 检查是否需要时间管理建议\n    timestamps = re.findall(r'(\\d{1,2}):(\\d{2})', content)\n    late_night = [t for t in timestamps if int(t[0]) >= 22]\n    if len(late_night) > 3:\n        needs.append({\n            'need': '操作时间建议',\n            'reason': f'检测到 {len(late_night)} 次深夜操作，可能与系统维护冲突',\n            'solution': '调整操作时间到 22:00 前，或避开系统维护窗口'\n        })\n    \n    return needs\n\ndef attempt_smart_fix(problem):\n    \"\"\"智能修复（基于根本原因）\"\"\"\n    desc = problem.get('root_cause', '').lower()\n    \n    if 'token' in desc:\n        return {\n            'action': '提供 Token 检查命令',\n            'command': 'skillhub auth whoami',\n            'status': 'manual',\n            'message': '请运行: skillhub auth whoami'\n        }\n    elif '权限' in desc or '安全策略' in desc:\n        return {\n            'action': '提升执行权限',\n            'command': 'Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned',\n            'status': 'manual',\n            'message': '以管理员身份运行 PowerShell，执行: Set-ExecutionPolicy RemoteSigned'\n        }\n    elif '依赖库' in desc or 'module' in desc:\n        return {\n            'action': '安装缺失库',\n            'command': 'pip install Pillow',\n            'status': 'success',\n            'message': '自动安装缺失库（pip install）'\n        }\n    elif '网络' in desc:\n        return {\n            'action': '检查网络',\n            'command': 'ping skillhub.cn',\n            'status': 'manual',\n            'message': '请检查网络连接和代理/VPN 设置'\n        }\n    else:\n        return {\n            'action': '记录问题供分析',\n            'command': None,\n            'status': 'logged',\n            'message': '问题已记录，积累数据后可自动优化'\n        }\n\ndef print_report(today, problems, fixes, implicit_needs, total_convs):\n    \"\"\"输出深度分析报告\"\"\"\n    print(\"═══════════════════════════════════════════\")\n    print(f\"  🧠 深度记忆分析报告 ({today})\")\n    print(\"═══════════════════════════════════════════\")\n    print(f\"  总对话段落: {total_convs}\")\n    print(f\"  识别表面问题: {len(problems)} 个\")\n    \n    successful = sum(1 for f in fixes if f['status'] == 'success')\n    manual = sum(1 for f in fixes if f['status'] == 'manual')\n    print(f\"  自动修复: {successful} / {manual} (手动)\")\n    print(\"───────────────────────────────────────────\")\n    \n    if problems:\n        print(\"\\n  📋 表面问题 vs 根本原因:\")\n        for i, prob in enumerate(problems, 1):\n            print(f\"    {i}. 表面: {prob['surface'][:50]}\")\n            print(f\"       根本: {prob['root_cause'][:60]}\")\n    \n    if implicit_needs:\n        print(\"\\n  💡 隐含需求发现:\")\n        for need in implicit_needs:\n            print(f\"    - {need['need']}\")\n            print(f\"      原因: {need['reason']}\")\n            print(f\"      建议: {need['solution']}\")\n    \n    print(\"\\n═══════════════════════════════════════════\")\n\ndef log_thinking(thinking_file, problems, fixes, implicit_needs):\n    \"\"\"记录思考日志\"\"\"\n    entry = {\n        'date': date.today().strftime(\"%Y-%m-%d\"),\n        'problems_count': len(problems),\n        'fixes_count': len(fixes),\n        'implicit_needs': implicit_needs,\n        'thinking_process': 'depth-first analysis'\n    }\n    \n    try:\n        if os.path.exists(thinking_file):\n            with open(thinking_file, 'r', encoding='utf-8') as f:\n                logs = json.load(f)\n        else:\n            logs = []\n        logs.append(entry)\n        with open(thinking_file, 'w', encoding='utf-8') as f:\n            json.dump(logs, f, ensure_ascii=False, indent=2)\n    except:\n        pass\n\nif __name__ == \"__main__\":\n    analyze_memory_thinking(auto_fix=True)\n```\n\n</details>\n\n---\n\n### 模块 2：一键定时任务配置（修复 E 分关键）\n\n**用途**：一句话配置好定时任务，AI 自动创建并启动。\n\n**常你说**：`\"设置定时任务\"` / `\"帮我配置 + 设置定时任务\"`\n\n**运行效果**：\n\n```\n═══════════════════════════════════════════\n  ⏰ 定时任务配置向导\n═══════════════════════════════════════════\n\n  📍 检测到你的系统: Windows 10/11\n\n  ═══════════════════════════════════════════\n  方案一 (推荐): WorkBuddy Automation\n  ═══════════════════════════════════════════\n\n  AI 直接在你的 WorkBuddy 中创建定时任务。\n  每天 23:00 自动执行:\n    1. 分析今天的对话\n    2. 理解问题的根本原因\n    3. 自动修复可修复的问题\n    4. 记录学习成果\n    5. 预测明天的风险\n    6. 生成进化报告\n\n  命令: 每天都自动运行，无需再管 ✅\n\n  ═══════════════════════════════════════════\n  方案二: Windows 任务计划程序 (离线也能跑)\n  ═══════════════════════════════════════════\n\n  创建系\n\nArchive v1.5.0: 3 files, 16834 bytes\n\nFiles: skill-card.md (2416b), SKILL.md (56521b), _meta.json (129b)","readmeExcerpt":"Skill: zwjh-skill Owner: fyniujin Summary: 统一记忆底座：长期记忆 + 知识图谱 + 自动沉淀 + 检索。让 AI「记得你」，跨会话持久记忆、实体/关系图谱、语义与时间线检索、记忆健康度审计、本地备份（可接百度网盘）。纯本地、零密钥、按硬件自适应，不拖累电脑。并保留 v1.7 的根因分析/预测性维护/进化报告。 Tags: latest:2.6.0 Version history: v2.6.0 | 2026-09-19T05:32:30.803Z | auto zwjh-skill v2.6.0 - 新增知识图谱子命令：支持 graph-query 查询与流式导出（export-stream）。 - 新增记忆遗忘与归档功能（forget、list-archive）。 - 内部增加 memory_access 支持，优化脚本结构。 - 优化 CLI，支持更多命令与参数，提升易用性。 - ","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"传统 AI：每次对话从零开始 → 你反复解释背景 → 记忆散落各处、互不相通\n会思考的进化 AI：理解本质 → 沉淀为记忆+图谱 → 跨会话检索 → 举一反三 → 自动进化"},{"language":"text","snippet":"1. 对 AI 说：「帮我配置 + 设置定时任务」\n2. AI 自动完成：探测硬件 → 注册每日定时任务（python cli.py autopilot）"},{"language":"text","snippet":"补录每日日志 → 沉淀知识点 → 记忆分析(根因) → 预测风险 → 进化报告 → 健康巡检 → 更新提醒"},{"language":"bash","snippet":"python scripts/cli.py deposit --text \"客户张三的对接人是李四，需求是智能客服\" --source conversation\npython scripts/cli.py diary --text \"今天想清楚了一件事：记忆要先去重再沉淀\""},{"language":"bash","snippet":"python scripts/cli.py graph add-entity --type person --name 张三 --importance 0.9\npython scripts/cli.py graph relate --from 张三 --to 智能客服系统 --relation 负责\npython scripts/cli.py graph show"},{"language":"text","snippet":"沉淀「客户李四对接的产品是智能客服系统」\n  → 实体：客户李四(person)\n  → 事实：(客户李四, 产品, 智能客服系统)"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: zwjh-skill\ndescription: \"统一记忆底座：长期记忆 + 知识图谱 + 自动沉淀 + 检索。让 AI「记得你」，跨会话持久记忆、实体/关系图谱、语义与时间线检索、记忆健康度审计、本地备份（可接百度网盘）。纯本地、零密钥、按硬件自适应，不拖累电脑。并保留 v1.7 的根因分析/预测性维护/进化报告。\"\nversion: 2.6.0\n---\n\n\n# 长期记忆 / 知识图谱 会思考的进化 AI — zwjh-skill v2.6.0\n\n> **安装后说「帮我配置 + 设置定时任务」，AI 自动完成一切。**\n>\n> 它是一个**统一记忆底座**，而不只是又一个「记忆 skill」：\n> - 🧠 **长期记忆**：跨会话持久记住你、项目、客户，减少重复解释背景\n> - 🕸️ **知识图谱**：自动抽取「人 / 项目 / 任务 / 事件 / 文档」等实体与关系\n> - ⚙️ **自动沉淀**：从对话 / 文件自动提炼知识点（去重 + 冲突消解）\n> - 🔎 **检索**：本地语义检索 + 时间线检索（零密钥、零联网、毫秒级）\n> - 🩺 **健康度**：审计记忆膨胀、压缩/快照，记忆可观测、可清理\n> - 💾 **备份**：导出 / 备份 / 恢复（本地 + 百度网盘可插拔）\n> - 🖥️ **不拖累电脑**：自动探测硬件，按 CPU/内存分配并发与批大小\n> - 🔔 **更新提醒**：发现新版本主动提示你升级\n>\n> **v2.0.0**：从「单技能」升级为「可插拔的记忆基础设施」，并完整保留 v1.7 的根因分析 / 预测性维护 / 进化报告能力。\n\n---\n\n## 核心理念\n\n```\n传统 AI：每次对话从零开始 → 你反复解释背景 → 记忆散落各处、互不相通\n会思考的进化 AI：理解本质 → 沉淀为记忆+图谱 → 跨会话检索 → 举一反三 → 自动进化\n```\n\n**为什么做统一底座？** 市面方案碎片化（各 skill 各存各的、跨 skill 不互通）。本技能把「记忆 + 图谱 + 检索 + 健康度」做成一个**其他 skill 可直接调用的基础设施**，而不是又一个孤立的记忆插件。\n\n---\n\n## 30 秒速查表\n\n| 我想做 | 直接说 / 运行 |\n|--------|--------|\n| **一键启动自动进化** | `帮我配置 + 设置定时任务` |\n| 记下一段对话/知识点 | `python scripts/cli.py deposit --text \"...\"` |\n| 从文件沉淀知识 | `python scripts/cli.py deposit --file notes.md` |\n| 语义检索记忆 | `python scripts/cli.py query \"谁负责机器学习项目\"` |\n| 让 AI 用记忆回答 | `python scripts/cli.py ask \"我最近在做什么项目\"` |\n| 查某段时间发生的事 | `python scripts/cli.py timeline --from 2026-07-01 --to 2026-07-31` |\n| 看知识图谱 | `python scripts/cli.py graph list` / `graph show`（Mermaid） |\n| 知识图谱查询 | `python scripts/cli.py graph-query --action search --name 张三` |\n| 遗忘指定记忆 | `python scripts/cli.py forget --memory-id 42` |\n| 查看归档 | `python scripts/cli.py forget --list-archive` |\n| 流式导出 | `python scripts/cli.py export-stream --format markdown` |\n| 记忆健康度体检 | `python scripts/cli.py health` |\n| 压缩（去重+摘要） | `python scripts/cli.py compact --apply` |\n| 备份 / 恢复 | `python scripts/cli.py backup` / `restore <路径>` |\n| 写日记 | `python scripts/cli.py diary --text \"今天想清楚了一件事\"` |\n| 看是否有新版本 | `python scripts/cli.py update-check` |\n| 查看/消解冲突 | `python scripts/cli.py conflicts` |\n| 一键配置定时任务 | `python scripts/cli.py setup` |\n| 总览 | `python scripts/cli.py status` |\n\n> **大部分时候你只需要说第一句，AI 自动完成一切。** 其余命令是给「想精细操控」的高级用户。\n\n---\n\n## 一键启动（2 步）\n\n```\n1. 对 AI 说：「帮我配置 + 设置定时任务」\n2. AI 自动完成：探测硬件 → 注册每日定时任务（python cli.py autopilot）\n```\n\n启动后，每天 23:00 自动执行：\n\n```\n补录每日日志 → 沉淀知识点 → 记忆分析(根因) → 预测风险 → 进化报告 → 健康巡检 → 更新提醒\n```\n\n**你完全不用管，它自己会跑。** 且定时任务由技能用系统自带能力注册（Windows 用 `schtasks`、macOS/Linux 用 `crontab`），**不生成任何 .ps1 / .sh / .bat 脚本文件**，更干净、更安全。\n\n---\n\n## 功能模块\n\n---\n\n### 模块 1：长期记忆（跨会话 + 每日日志 + 日记）\n\n**做了什么**：把你的对话、文件、每日日志统一沉淀为可检索的长期记忆；另设「日记」自由记录。\n\n- 记忆落库在 `~/.workbuddy/memory/`（与 v1.7 完全兼容，原有每日日志原样保留）\n- 索引（图谱 + 向量）存于 `~/.workbuddy/memory/zwjh_store/`\n- 每天自动把当日日志补录进底座（幂等，不重复堆积）\n\n**示例**：\n```bash\npython scripts/cli.py deposit --text \"客户张三的对接人是李四，需求是智能客服\" --source conversation\npython scripts/cli.py diary --text \"今天想清楚了一件事：记忆要先去重再沉淀\"\n```\n\n---\n\n### 模块 2：知识图谱（实体 / 关系）\n\n**做了什么**：自动维护「人 / 项目 / 任务 / 事件 / 文档 / 概念 / 组织」等实体与关系。\n\n- 显式关系模板：`负责 / 参与 / 隶属于 / 创建 / 依赖 / 导致 / 位于 / 关联`\n- 已知实体在同一段文本中**共现** → 自动连"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7chdrwbdhaqkwajcyhtfvjx989ddb1\",\n  \"slug\": \"zwjh-skill\",\n  \"version\": \"2.6.0\",\n  \"publishedAt\": 1789795950803\n}"},{"path":"skill-card.md","content":"## Description:\n\nzwjh-skill provides a local long-term memory, knowledge graph, retrieval, health audit, backup, and MCP access layer for agents.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[fyniujin](https://clawhub.ai/user/fyniujin)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agent users use this skill to persist conversation and file knowledge locally, build a searchable memory graph, and expose query, deposit, health, export, and graph workflows to agents through CLI or MCP.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Persistent memories may be exposed to other tools without the promised access controls being enforced.\n\nMitigation: Avoid enabling MCP access for lower-trust deployments until manifest and namespace checks are verified; restrict use to trusted local callers and review deposited memory contents.\n\nRisk: The web UI may display stored values from untrusted deposited content.\n\nMitigation: Avoid using the web UI with untrusted memory content until stored values are rendered safely and reviewed.\n\nRisk: Optional Baidu backup, external LLM adapters, CDN loading, and model or tokenizer downloads add separate network and data-sharing trust decisions.\n\nMitigation: Keep optional network features disabled unless the endpoint, token handling, and data-sharing implications have been reviewed.\n\nRisk: Setup workflows can register scheduled tasks and write local memory, backup, and configuration files.\n\nMitigation: Review scheduled commands, storage paths, and backup targets before running setup, and run the skill under an account with only the required local permissions.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/fyniujin/skills/zwjh-skill)\n- [ClawHub publisher profile](https://clawhub.ai/user/fyniujin)\n- [BAAI bge-small-zh-v1.5 ONNX model](https://huggingface.co/BAAI/bge-small-zh-v1.5/resolve/main/onnx/model_quantized.onnx)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, JSON, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown guidance with inline shell commands; CLI and MCP workflows may return plain text or JSON.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Outputs may create or modify local memory stores, backups, schedules, graph exports, and MCP responses in the user's environment.]\n\n## Skill Version(s):\n\n2.6.0 (source: SKILL.md frontmatter, version.json, server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."},{"path":"version.json","content":"{\n  \"name\": \"zwjh-skill\",\n  \"displayName\": \"长期记忆 / 知识图谱 会思考的进化 AI\",\n  \"version\": \"2.6.0\",\n  \"min_engine\": \"1.0.0\",\n  \"requires_api_key\": false,\n  \"updated_at\": \"2026-09-19\",\n  \"changelog\": [\n    \"新增：MCP 工具扩建至 7 个（graph_query / timeline / forget / export_stream）\",\n    \"新增：记忆访问权限分级（HMAC-SHA256 manifest + 命名空间隔离，未声明默认 public 只读）\",\n    \"新增：多进程并发写入门禁（SQLite 事务 + version 字段乐观锁 + WRITE_CONFLICT 错误码）\",\n    \"新增：forget / export-stream / graph-query / access-key 四个 CLI 子命令\",\n    \"新增：graph.py BFS 最短路径查询（find_shortest_path）\",\n    \"新增：memory_access.py 权限模块（manifest 创建/校验/缓存）\",\n    \"新增：memories 表 version 字段（乐观锁）+ namespace 字段（命名空间隔离）\",\n    \"新增：memories_archive 表（forget 软删除后恢复）\",\n    \"新增：mcp_version 协商（initialize 附赠协议版本）\",\n    \"优化：deposit 支持 namespace 参数（MCP/CLI 统一）\",\n    \"优化：add_memory 支持 namespace 参数，返回完整错误信息\",\n    \"新增：store.update_memory_with_lock（带乐观锁的原子更新）\",\n    \"新增：store.restore_from_archive / list_archive / archive_count\",\n    \"更新：SKILL.md 新增模块 21/22/23 文档\",\n    \"更新：SKILL.md 更新日志增加 v2.6.0 行\"\n  ]\n}"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"统一记忆底座：长期记忆 + 知识图谱 + 自动沉淀 + 检索。让 AI「记得你」，跨会话持久记忆、实体/关系图谱、语义与时间线检索、记忆健康度审计、本地备份（可接百度网盘）。纯本地、零密钥、按硬件自适应，不拖累电脑。并保留 v1.7 的根因分析/预测性维护/进化报告。 Skill: zwjh-skill Owner: fyniujin Summary: 统一记忆底座：长期记忆 + 知识图谱 + 自动沉淀 + 检索。让 AI「记得你」，跨会话持久记忆、实体/关系图谱、语义与时间线检索、记忆健康度审计、本地备份（可接百度网盘）。纯本地、零密钥、按硬件自适应，不拖累电脑。并保留 v1.7 的根因分析/预测性维护/进化报告。 Tags: latest:2.6.0 Version history: v2.6.0 | 2026-09-19T05:32:30.803Z | auto zwjh-skill v2.6.0 - 新增知识图谱子命令：支持 graph-query 查询与流式导出（export-stream）。 - 新增记忆遗忘与归档功能（forget、list-archive）。 - 内部增加 memory_access 支持，优化脚本结构。 - 优化 CLI，支持更多命令与参数，提升易用性。 -","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1147,"uniquenessScore":50,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T18:15:59.490Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T18:15:59.490Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T21:56:31.987Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}