[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-kingkongshot--Pensieve":3,"tool-kingkongshot--Pensieve":62},[4,18,26,36,46,54],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",159267,2,"2026-04-17T11:29:14",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":42,"last_commit_at":43,"category_tags":44,"status":17},8272,"opencode","anomalyco\u002Fopencode","OpenCode 是一款开源的 AI 编程助手（Coding Agent），旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件，而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码，还是排查难以定位的 Bug，OpenCode 都能通过自然语言交互高效完成，显著减少开发者在重复性劳动和上下文切换上的时间消耗。\n\n这款工具专为软件开发者、工程师及技术研究人员设计，特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构，这意味着用户可以审查代码逻辑、自定义行为策略，甚至私有化部署以保障数据安全，彻底打破了传统闭源 AI 助手的“黑盒”限制。\n\n在技术体验上，OpenCode 提供了灵活的终端界面（Terminal UI）和正在测试中的桌面应用程序，支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具，安装便捷，并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客，还是渴望提升产出的独立开发者，OpenCode 都提供了一个透明、可信",144296,1,"2026-04-16T14:50:03",[13,45],"插件",{"id":47,"name":48,"github_repo":49,"description_zh":50,"stars":51,"difficulty_score":32,"last_commit_at":52,"category_tags":53,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":55,"name":56,"github_repo":57,"description_zh":58,"stars":59,"difficulty_score":32,"last_commit_at":60,"category_tags":61,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[45,13,15,14],{"id":63,"github_repo":64,"name":65,"description_en":66,"description_zh":67,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":76,"owner_location":76,"owner_email":77,"owner_twitter":76,"owner_website":76,"owner_url":78,"languages":79,"stars":88,"forks":89,"last_commit_at":90,"license":91,"difficulty_score":32,"env_os":92,"env_gpu":93,"env_ram":93,"env_deps":94,"category_tags":100,"github_topics":76,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":101,"updated_at":102,"faqs":103,"releases":104},8562,"kingkongshot\u002FPensieve","Pensieve","tore your decisions and principles. Claude reads them to make better choices.","Pensieve 是一款专为 AI 代理设计的“自生长”项目记忆系统，旨在让 Claude 等智能体在长期开发中越用越聪明。它解决了传统静态文档（如 CLAUDE.md）难以维护、信息孤岛严重以及 AI 容易重复犯错或遗忘历史决策的痛点。通过 Pensieve，项目规范、架构决策、事实知识和工作流不再需要人工反复更新，而是能在日常编码、代码审查和复盘过程中自动积累与对齐。\n\n这款工具特别适合软件开发者、技术团队负责人及重度使用 AI 编程助手的工程师。其核心亮点在于独特的四层知识模型：从跨项目的绝对准则（MUST），到具体项目的权衡决策（WANT），再到执行流程（HOW）和实时事实（IS）。这些内容通过语义链接构成动态知识图谱，而非简单的文本堆砌。当 AI 制定计划或查找模块时，Pensieve 能按需调用相关记忆，自动拦截违反架构规范的方案，或直接复用过往的探索成果，从而大幅减少 Token 消耗并提升决策准确性。你只需专注于引导方向，Pensieve 会帮你守住底线，确保持续交付高质量代码。","\u003Cdiv align=\"center\">\n\n# Pensieve\n\n**Give your AI agent a continuously growing project memory.**\n\n[![GitHub Stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fkingkongshot\u002FPensieve?color=ffcb47&labelColor=black&style=flat-square)](https:\u002F\u002Fgithub.com\u002Fkingkongshot\u002FPensieve\u002Fstargazers)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-white?labelColor=black&style=flat-square)](LICENSE)\n\n[中文 README](https:\u002F\u002Fgithub.com\u002Fkingkongshot\u002FPensieve\u002Fblob\u002Fzh\u002FREADME.md)\n\n\u003C\u002Fdiv>\n\n**In one sentence: Pensieve is a self-growing CLAUDE.md that runs as a skill -- minimal context usage, compatible with all AI tools that support skills.**\n\n| | CLAUDE.md \u002F agents.md | Pensieve |\n|---|---|---|\n| Form | Single static file | Four-layer structured knowledge |\n| Maintenance | Manual writing, manual updates | Auto-accumulation, auto-alignment |\n| Scope | Project conventions | Conventions + decisions + facts + workflows |\n| Linking | Flat | Semantic links forming a knowledge graph |\n| Context usage | Full-text injection | Skill-based on-demand routing, minimal usage |\n\n## Why Use Pensieve\n\n| Without | With |\n|---|---|\n| Have to re-explain project specs every time | Specs stored as maxims, loaded automatically |\n| Code review standards depend on mood | Review standards solidified into executable pipelines |\n| Repeat last week's mistake this week | Lessons auto-accumulated, skipped next time |\n| Forget why you designed it this way three months later | Decisions record context and alternatives |\n| Have to re-read docs to locate module boundaries every time | Knowledge caches exploration results, reuse directly |\n\n## Self-Reinforcing Loop\n\nPensieve doesn't just store documentation -- it makes every agent conversation more precise:\n\n- **Validate AI-generated plans** -- `\"Use pensieve to check the accuracy of this plan\"` -> Automatically cross-references maxims and decisions; plans that violate architectural conventions are intercepted before execution\n- **Narrow the exploration scope** -- `\"Use pensieve to locate the entry point of the payment module\"` -> Knowledge contains previous exploration results, reuse directly without global search, saving tokens and time\n- **Establish implicit connections** -- `\"Use pensieve to analyze which workflows this refactoring will affect\"` -> Four-layer knowledge forms a graph through semantic links, following association chains to discover design intent and dependencies\n- **Reduce repeated confirmations** -- `\"Use pensieve conventions to commit code\"` -> Conventions and decisions are already accumulated, no more asking \"what style?\" or \"where's the boundary?\"\n\nYou don't need to manually maintain the knowledge base -- daily development feeds it automatically:\n\n```\n    Develop --> Commit --> Review (pipeline)\n     ^                      |\n     |   \u003C-- Auto-accumulate experience \u003C--   |\n     |                      v\n     +-- maxim \u002F decision \u002F knowledge \u002F pipeline\n```\n\n- **During editing**: After Write\u002FEdit, the knowledge graph syncs automatically (Claude Code triggers via hooks; other clients can manually run `self-improve`)\n- **During review**: Executes according to project pipelines, conclusions flow back as knowledge\n- **During retrospective**: `\"Use pensieve to accumulate this experience\"` -> Insights are written to the corresponding layer\n\nYou steer the direction, Pensieve helps you avoid pitfalls.\n\n## Four-Layer Knowledge Model\n\n| Layer | Type | What It Answers | Cross-project? |\n|---|---|---|---|\n| **MUST** | maxim | What must never be violated? | Yes -- holds across projects and languages |\n| **WANT** | decision | Why was this approach chosen? | No -- active trade-offs for the current project |\n| **HOW** | pipeline | How should this workflow run? | Depends |\n| **IS** | knowledge | What are the current facts? | No -- verifiable system facts |\n\nLayers are connected through three types of semantic links: `based-on \u002F leads-to \u002F related`. As usage accumulates, Pensieve automatically builds a directed graph of project knowledge:\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkingkongshot_Pensieve_readme_658cd406bd97.png\" width=\"100%\" alt=\"Pensieve knowledge graph overview\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkingkongshot_Pensieve_readme_7cf1790c0717.png\" width=\"100%\" alt=\"Pensieve knowledge graph detail\" \u002F>\n\nSee the detailed specifications under `.src\u002Freferences\u002F`: [maxims.md](.src\u002Freferences\u002Fmaxims.md), [decisions.md](.src\u002Freferences\u002Fdecisions.md), [knowledge.md](.src\u002Freferences\u002Fknowledge.md), [pipelines.md](.src\u002Freferences\u002Fpipelines.md).\n\n## Five Tools\n\n| Tool | What It Does | Trigger Example |\n|---|---|---|\n| `init` | Create data directory, seed default content | \"Initialize pensieve for me\" |\n| `upgrade` | Refresh skill source code | \"Upgrade pensieve\" |\n| `migrate` | Migrate legacy data, align seed files | \"Migrate to v2\" |\n| `doctor` | Read-only scan, check structure and format | \"Check if the data has any issues\" |\n| `self-improve` | Extract insights from conversations and diffs, write to four-layer knowledge | \"Accumulate this experience\" |\n\nTool boundaries and redirection rules: [tool-boundaries.md](.src\u002Freferences\u002Ftool-boundaries.md).\n\n## Looking for the Linus Prompt?\n\nPensieve was initially known for a Linus Torvalds-style guiding prompt -- using \"good taste\", \"don't break userspace\", and \"paranoid about simplicity\" to constrain agent behavior.\n\nThat engineering philosophy is still at the core of Pensieve, but it's no longer an isolated prompt. It's now built in as executable principles, so the agent has \"good taste\" from day one:\n\n| Type | Built-in Content | Effect |\n|---|---|---|\n| maxim | 4 Linus-style engineering principles | Agent doesn't write patch-style code; simplify before extending; don't break existing behavior |\n| pipeline | Commit review + code review | Each commit and review automatically cross-references principles; conclusions flow back as knowledge |\n| knowledge | Code taste review criteria | \"What is good code\" now has an executable definition |\n\nTry it: `\"Use pensieve to review the code taste of recent commits\"` or `\"Use pensieve to commit local changes\"`.\n\n## Installation\n\nPrerequisites: `git`, `bash`, `Python 3.8+`.\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Claude Code\u003C\u002Fb>\u003C\u002Fsummary>\n\n```bash\n# 1. Global install (one-time only)\ngit clone -b main https:\u002F\u002Fgithub.com\u002Fkingkongshot\u002FPensieve.git ~\u002F.claude\u002Fskills\u002Fpensieve\n\n# 2. Install hooks (recommended; auto-syncs knowledge graph after edits, auto-checks status on session start)\nbash ~\u002F.claude\u002Fskills\u002Fpensieve\u002F.src\u002Fscripts\u002Finstall-hooks.sh\n\n# 3. Initialize in your project\ncd \u003Cyour-project>\nbash ~\u002F.claude\u002Fskills\u002Fpensieve\u002F.src\u002Fscripts\u002Finit-project-data.sh\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Other Clients (Cursor \u002F General Agents, etc.)\u003C\u002Fb>\u003C\u002Fsummary>\n\nReplace `\u003Cskill-path>` with the skill directory for your client (e.g., `~\u002F.cursor\u002Fskills\u002Fpensieve`).\n\n```bash\n# 1. Global install (one-time only)\ngit clone -b main https:\u002F\u002Fgithub.com\u002Fkingkongshot\u002FPensieve.git \u003Cskill-path>\n\n# 2. Initialize in your project\ncd \u003Cyour-project>\nbash \u003Cskill-path>\u002F.src\u002Fscripts\u002Finit-project-data.sh\n```\n\n\u003C\u002Fdetails>\n\nSystem code is installed globally once; user data is stored per project in `\u003Cproject>\u002F.pensieve\u002F`. Multiple projects share the same system code, each maintaining independent project knowledge.\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>AI Agent Auto-Install Reference\u003C\u002Fb>\u003C\u002Fsummary>\n\nWhen a user asks an AI agent to install Pensieve, the agent should follow this decision flow. Below, `SKILL_PATH` refers to the client-specific installation path (e.g., `~\u002F.claude\u002Fskills\u002Fpensieve`).\n\n**Step 1: Check global installation status**\n\n```bash\nSKILL_PATH=\"$HOME\u002F.claude\u002Fskills\u002Fpensieve\"  # Adjust per client\n\nif [[ -d \"$SKILL_PATH\u002F.src\" ]]; then\n    echo \"Pensieve is already globally installed, skipping clone\"\nelse\n    SKILL_PARENT=\"$(dirname \"$SKILL_PATH\")\"\n    # Check if parent directory is a git repo (some users sync configs with git)\n    if git -C \"$SKILL_PARENT\u002F..\" rev-parse --is-inside-work-tree >\u002Fdev\u002Fnull 2>&1; then\n        git -C \"$SKILL_PARENT\u002F..\" submodule add -b main https:\u002F\u002Fgithub.com\u002Fkingkongshot\u002FPensieve.git \"skills\u002Fpensieve\"\n    else\n        git clone -b main https:\u002F\u002Fgithub.com\u002Fkingkongshot\u002FPensieve.git \"$SKILL_PATH\"\n    fi\n    # Hooks are a Claude Code-specific feature; other clients skip this step\n    # bash \"$SKILL_PATH\u002F.src\u002Fscripts\u002Finstall-hooks.sh\"\nfi\n```\n\n**Step 2: Determine whether to run project initialization**\n\n```bash\n# If the current directory is the skill's parent config directory, don't auto-initialize project data\nCURRENT_DIR=\"$(pwd)\"\nCONFIG_DIR=\"$(cd \"$(dirname \"$SKILL_PATH\")\u002F..\" 2>\u002Fdev\u002Fnull && pwd)\"\nif [[ \"$CURRENT_DIR\" == \"$CONFIG_DIR\" ]]; then\n    echo \"Current directory is the config directory, skipping project initialization. If you need to use Pensieve here, please specify explicitly.\"\n    exit 0\nfi\n```\n\n**Step 3: Check for legacy data and initialize**\n\n```bash\nHAS_LEGACY=0\nfor legacy_dir in .claude\u002Fskills\u002Fpensieve .agents\u002Fskills\u002Fpensieve skills\u002Fpensieve .claude\u002Fpensieve; do\n    if [[ -d \"$legacy_dir\" ]] && [[ -d \"$legacy_dir\u002Fmaxims\" || -d \"$legacy_dir\u002Fdecisions\" || -d \"$legacy_dir\u002Fknowledge\" || -d \"$legacy_dir\u002Fpipelines\" ]]; then\n        HAS_LEGACY=1\n        break\n    fi\ndone\n\nif [[ \"$HAS_LEGACY\" -eq 1 ]]; then\n    echo \"Legacy Pensieve user data detected. Migrate to v2?\"\n    bash \"$SKILL_PATH\u002F.src\u002Fscripts\u002Finit-project-data.sh\"\n    bash \"$SKILL_PATH\u002F.src\u002Fscripts\u002Frun-migrate.sh\"\n    bash \"$SKILL_PATH\u002F.src\u002Fscripts\u002Frun-doctor.sh\" --strict\nelif [[ -d .pensieve ]]; then\n    echo \"Pensieve is already initialized in the current project\"\nelse\n    bash \"$SKILL_PATH\u002F.src\u002Fscripts\u002Finit-project-data.sh\"\nfi\n```\n\n> **Key takeaway**: Check global install first -> Determine if parent directory is a git repo to decide clone\u002Fsubmodule -> Skip project initialization for config directories -> Check for legacy data to decide init\u002Fmigrate.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Updating\u003C\u002Fb>\u003C\u002Fsummary>\n\n```bash\n# Update system code (one operation, all projects take effect)\ncd \u003Cskill-path>\ngit pull --ff-only || { git fetch origin && git reset --hard \"origin\u002F$(git rev-parse --abbrev-ref HEAD)\"; }\n\n# Health check in your project (optional but recommended)\ncd \u003Cyour-project>\nbash \u003Cskill-path>\u002F.src\u002Fscripts\u002Frun-doctor.sh --strict\n```\n\n`git pull --ff-only` works for normal updates. If the remote branch was force-pushed (e.g., after a squash and republish), ff-only will fail, and `fetch + reset` will sync local to the latest remote state. This is safe -- the skill directory only contains tracked system files; user data is in `\u003Cproject>\u002F.pensieve\u002F` and won't be overwritten.\n\nFull installation, update, reinstall, and uninstall instructions: [skill-lifecycle.md](.src\u002Freferences\u002Fskill-lifecycle.md).\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Upgrading from Legacy Versions\u003C\u002Fb>\u003C\u002Fsummary>\n\nIf your Pensieve was installed at project level (code in `\u003Cproject>\u002F.claude\u002Fskills\u002Fpensieve\u002F`), or installed via `claude plugin install`, you need to migrate to the v2 architecture:\n\n```bash\n# 1. Global install system code (if not already installed)\nif [[ ! -d \u003Cskill-path> ]]; then\n    git clone -b main https:\u002F\u002Fgithub.com\u002Fkingkongshot\u002FPensieve.git \u003Cskill-path>\nfi\n\n# 2. Install hooks (Claude Code only; other clients skip this)\n# bash \u003Cskill-path>\u002F.src\u002Fscripts\u002Finstall-hooks.sh\n\n# 3. Run migration in each project\ncd \u003Cyour-project>\nbash \u003Cskill-path>\u002F.src\u002Fscripts\u002Finit-project-data.sh\nbash \u003Cskill-path>\u002F.src\u002Fscripts\u002Frun-migrate.sh\nbash \u003Cskill-path>\u002F.src\u002Fscripts\u002Frun-doctor.sh --strict\n\n# 4. Uninstall old plugin (if applicable, Claude Code only)\n# claude plugin uninstall pensieve 2>\u002Fdev\u002Fnull || true\n```\n\n`run-migrate.sh` will automatically move user data (`maxims\u002F`, `decisions\u002F`, `knowledge\u002F`, `pipelines\u002F`) from legacy paths into `\u003Cproject>\u002F.pensieve\u002F`, runtime state from `\u003Cproject>\u002F.state\u002F` into `\u003Cproject>\u002F.pensieve\u002F.state\u002F`, clean up old graph files and README copies, then delete the legacy directories.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Architecture Details\u003C\u002Fb>\u003C\u002Fsummary>\n\n### Directory Structure\n\n```text\n~\u002F.claude\u002Fskills\u002Fpensieve\u002F          # User-level (single global install)\n├── SKILL.md                        #   Static routing file (tracked)\n├── .src\u002F                           #   System code, templates, references, core engine\n│   ├── core\u002F\n│   ├── scripts\u002F\n│   ├── templates\u002F\n│   ├── references\u002F\n│   └── tools\u002F\n└── agents\u002F                         #   Agent configurations\n\n\u003Cproject>\u002F.pensieve\u002F                # Project-level (per-project, can be version-controlled)\n├── maxims\u002F                         #   Engineering principles\n├── decisions\u002F                      #   Architectural decisions\n├── knowledge\u002F                      #   Cached exploration results\n├── pipelines\u002F                      #   Reusable workflows\n├── state.md                        #   Dynamic: lifecycle state + knowledge graph\n└── .state\u002F                         #   Runtime artifacts (gitignored)\n```\n\n`.src\u002Fmanifest.json` is the anchor for the skill root directory -- scripts locate all paths through it.\n\n### Design Principles\n\n- **Physical isolation of system code and user data** -- System code lives in `~\u002F.claude\u002Fskills\u002Fpensieve\u002F`, user data in `\u003Cproject>\u002F.pensieve\u002F`; `git pull` to update the system can never touch project data\n- **Single source of truth for rules** -- Directories, key files, and migration paths are all defined in `.src\u002Fcore\u002Fschema.json`\n- **Confirm before executing** -- When scope is unclear, ask first; don't auto-launch long workflows\n- **Read specs before writing data** -- Before creating any user data, read the format specifications in `.src\u002Freferences\u002F`\n\n\u003C\u002Fdetails>\n\n## Community\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkingkongshot_Pensieve_readme_67a12a9a4775.png\" width=\"200\" alt=\"QR Code\" \u002F>\n\n## License\n\nMIT\n","\u003Cdiv align=\"center\">\n\n# Pensieve\n\n**为您的 AI 代理提供持续增长的项目记忆。**\n\n[![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fkingkongshot\u002FPensieve?color=ffcb47&labelColor=black&style=flat-square)](https:\u002F\u002Fgithub.com\u002Fkingkongshot\u002FPensieve\u002Fstargazers)\n[![许可证](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-white?labelColor=black&style=flat-square)](LICENSE)\n\n[中文 README](https:\u002F\u002Fgithub.com\u002Fkingkongshot\u002FPensieve\u002Fblob\u002Fzh\u002FREADME.md)\n\n\u003C\u002Fdiv>\n\n**一句话概括：Pensieve 是一个自我生长的 CLAUDE.md，以技能形式运行——占用极少上下文，兼容所有支持技能的 AI 工具。**\n\n| | CLAUDE.md \u002F agents.md | Pensieve |\n|---|---|---|\n| 形式 | 单一静态文件 | 四层结构化知识 |\n| 维护 | 手动编写、手动更新 | 自动积累、自动对齐 |\n| 范围 | 项目规范 | 规范 + 决策 + 事实 + 流程 |\n| 链接 | 平铺式 | 语义链接形成知识图谱 |\n| 上下文使用 | 全文注入 | 基于技能的按需路由，用量极小 |\n\n## 为什么使用 Pensieve\n\n| 不使用 | 使用 |\n|---|---|\n| 每次都要重新解释项目规范 | 规范以准则形式存储，自动加载 |\n| 代码评审标准取决于心情 | 评审标准固化为可执行的流水线 |\n| 本周又犯了上周的错误 | 经验自动积累，下次直接跳过 |\n| 三个月后忘了当初为何这样设计 | 决策记录了背景和备选方案 |\n| 每次查找模块边界都要重新翻阅文档 | 知识缓存了探索结果，直接复用 |\n\n## 自我强化循环\n\nPensieve 不只是存储文档——它还能让每一次代理对话都更加精准：\n\n- **验证 AI 生成的计划** —— `\"使用 pensieve 检查这个计划是否准确\"` -> 自动交叉引用准则和决策；违反架构规范的计划会在执行前被拦截\n- **缩小探索范围** —— `\"使用 pensieve 查找支付模块的入口\"` -> 知识中包含之前的探索结果，无需全局搜索即可直接复用，节省 token 和时间\n- **建立隐性联系** —— `\"使用 pensieve 分析这次重构会影响哪些流程\"` -> 四层知识通过语义链接形成图谱，沿着关联链发现设计意图和依赖关系\n- **减少重复确认** —— `\"使用 pensieve 规范提交代码\"` -> 规范和决策已经积累，不再需要问“什么风格？”或“边界在哪里？”\n\n您无需手动维护知识库——日常开发会自动为其提供养分：\n\n```\n    开发 --> 提交 --> 审查（流水线）\n     ^                      |\n     |   \u003C-- 自动积累经验 \u003C--   |\n     |                      v\n     +-- 准则 \u002F 决策 \u002F 知识 \u002F 流水线\n```\n\n- **编辑时**：完成编写\u002F修改后，知识图谱会自动同步（Claude Code 通过钩子触发；其他客户端可手动运行 `self-improve`）\n- **审查时**：按照项目流水线执行，结论会回流为知识\n- **回顾时**：`\"使用 pensieve 积累这次经验\"` -> 洞察会被写入相应层级\n\n您只需把握方向，Pensieve 就能帮您避开陷阱。\n\n## 四层知识模型\n\n| 层级 | 类型 | 回答的问题 | 跨项目适用吗？ |\n|---|---|---|---|\n| **MUST** | 准则 | 什么绝对不能违背？ | 是——适用于不同项目和语言 |\n| **WANT** | 决策 | 为什么选择这种方式？ | 否——针对当前项目的主动权衡 |\n| **HOW** | 流水线 | 这个工作流程应该如何运行？ | 取决于具体情况 |\n| **IS** | 知识 | 当前的事实是什么？ | 否——可验证的系统事实 |\n\n各层级通过三种语义链接相连：`基于 \u002F 导致 \u002F 相关`。随着使用不断积累，Pensieve 会自动构建起项目知识的有向图：\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkingkongshot_Pensieve_readme_658cd406bd97.png\" width=\"100%\" alt=\"Pensieve 知识图概览\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkingkongshot_Pensieve_readme_7cf1790c0717.png\" width=\"100%\" alt=\"Pensieve 知识图细节\" \u002F>\n\n详细规范请参见 `.src\u002Freferences\u002F`：[maxims.md](.src\u002Freferences\u002Fmaxims.md)、[decisions.md](.src\u002Freferences\u002Fdecisions.md)、[knowledge.md](.src\u002Freferences\u002Fknowledge.md)、[pipelines.md](.src\u002Freferences\u002Fpipelines.md)。\n\n## 五种工具\n\n| 工具 | 功能 | 触发示例 |\n|---|---|---|\n| `init` | 创建数据目录，填充默认内容 | “帮我初始化 pensieve” |\n| `upgrade` | 更新技能源代码 | “升级 pensieve” |\n| `migrate` | 迁移旧版数据，对齐种子文件 | “迁移到 v2” |\n| `doctor` | 只读扫描，检查结构与格式 | “检查数据有没有问题” |\n| `self-improve` | 从对话和差异中提取洞察，写入四层知识 | “积累这次经验” |\n\n工具边界及重定向规则：[tool-boundaries.md](.src\u002Freferences\u002Ftool-boundaries.md)。\n\n## 寻找林纳斯提示词？\n\nPensieve 最初因一段类似林纳斯·托瓦兹风格的引导提示而闻名——通过“良好的品味”、“不要破坏用户空间”和“对简洁保持警惕”来约束代理行为。\n\n这种工程哲学至今仍是 Pensieve 的核心，但它已不再是孤立的提示词。如今，它被内嵌为可执行的原则，使代理从一开始就具备“良好品味”：\n\n| 类型 | 内置内容 | 效果 |\n|---|---|---|\n| 准则 | 4 条林纳斯风格的工程原则 | 代理不会写出补丁式的代码；先简化再扩展；不破坏现有行为 |\n| 流水线 | 提交评审 + 代码评审 | 每次提交和评审都会自动对照这些原则；结论会回流为知识 |\n| 知识 | 代码质量评审标准 | “什么是好代码”现在有了可执行的定义 |\n\n试试看：“使用 pensieve 评审最近提交的代码质量”或“使用 pensieve 提交本地更改”。\n\n## 安装\n\n先决条件：`git`、`bash`、`Python 3.8+`。\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Claude Code\u003C\u002Fb>\u003C\u002Fsummary>\n\n```bash\n# 1. 全局安装（仅需一次）\ngit clone -b main https:\u002F\u002Fgithub.com\u002Fkingkongshot\u002FPensieve.git ~\u002F.claude\u002Fskills\u002Fpensieve\n\n# 2. 安装钩子（推荐；编辑后自动同步知识图谱，在会话开始时自动检查状态）\nbash ~\u002F.claude\u002Fskills\u002Fpensieve\u002F.src\u002Fscripts\u002Finstall-hooks.sh\n\n# 3. 在您的项目中初始化\ncd \u003Cyour-project>\nbash ~\u002F.claude\u002Fskills\u002Fpensieve\u002F.src\u002Fscripts\u002Finit-project-data.sh\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>其他客户端（Cursor \u002F 通用代理等）\u003C\u002Fb>\u003C\u002Fsummary>\n\n将 `\u003Cskill-path>` 替换为您客户端的技能目录（例如 `~\u002F.cursor\u002Fskills\u002Fpensieve`）。\n\n```bash\n# 1. 全局安装（仅需一次）\ngit clone -b main https:\u002F\u002Fgithub.com\u002Fkingkongshot\u002FPensieve.git \u003Cskill-path>\n\n# 2. 在您的项目中初始化\ncd \u003Cyour-project>\nbash \u003Cskill-path>\u002F.src\u002Fscripts\u002Finit-project-data.sh\n```\n\n\u003C\u002Fdetails>\n\n系统代码只需全局安装一次；用户数据则按项目存储在 `\u003Cproject>\u002F.pensieve\u002F` 中。多个项目可以共享同一套系统代码，同时各自维护独立的项目知识。\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>AI 代理自动安装参考\u003C\u002Fb>\u003C\u002Fsummary>\n\n当用户请求 AI 代理安装 Pensieve 时，代理应遵循以下决策流程。其中，`SKILL_PATH` 指的是客户端特定的安装路径（例如 `~\u002F.claude\u002Fskills\u002Fpensieve`）。\n\n**步骤 1：检查全局安装状态**\n\n```bash\nSKILL_PATH=\"$HOME\u002F.claude\u002Fskills\u002Fpensieve\"  # 根据客户端调整\n\nif [[ -d \"$SKILL_PATH\u002F.src\" ]]; then\n    echo \"Pensieve 已经全局安装，跳过克隆\"\nelse\n    SKILL_PARENT=\"$(dirname \"$SKILL_PATH\")\"\n    # 检查父目录是否为 Git 仓库（有些用户会用 Git 同步配置）\n    if git -C \"$SKILL_PARENT\u002F..\" rev-parse --is-inside-work-tree >\u002Fdev\u002Fnull 2>&1; then\n        git -C \"$SKILL_PARENT\u002F..\" submodule add -b main https:\u002F\u002Fgithub.com\u002Fkingkongshot\u002FPensieve.git \"skills\u002Fpensieve\"\n    else\n        git clone -b main https:\u002F\u002Fgithub.com\u002Fkingkongshot\u002FPensieve.git \"$SKILL_PATH\"\n    fi\n    # 钩子是 Claude Code 特有的功能；其他客户端可跳过此步骤\n    # bash \"$SKILL_PATH\u002F.src\u002Fscripts\u002Finstall-hooks.sh\"\nfi\n```\n\n**步骤 2：判断是否需要运行项目初始化**\n\n```bash\n# 如果当前目录是技能的父级配置目录，则不自动初始化项目数据\nCURRENT_DIR=\"$(pwd)\"\nCONFIG_DIR=\"$(cd \"$(dirname \"$SKILL_PATH\")\u002F..\" 2>\u002Fdev\u002Fnull && pwd)\"\nif [[ \"$CURRENT_DIR\" == \"$CONFIG_DIR\" ]]; then\n    echo \"当前目录是配置目录，跳过项目初始化。如果您需要在此处使用 Pensieve，请明确指定。\"\n    exit 0\nfi\n```\n\n**步骤 3：检查旧版数据并进行初始化**\n\n```bash\nHAS_LEGACY=0\nfor legacy_dir in .claude\u002Fskills\u002Fpensieve .agents\u002Fskills\u002Fpensieve skills\u002Fpensieve .claude\u002Fpensieve; do\n    if [[ -d \"$legacy_dir\" ]] && [[ -d \"$legacy_dir\u002Fmaxims\" || -d \"$legacy_dir\u002Fdecisions\" || -d \"$legacy_dir\u002Fknowledge\" || -d \"$legacy_dir\u002Fpipelines\" ]]; then\n        HAS_LEGACY=1\n        break\n    fi\ndone\n\nif [[ \"$HAS_LEGACY\" -eq 1 ]]; then\n    echo \"检测到旧版 Pensieve 用户数据。是否迁移到 v2？\"\n    bash \"$SKILL_PATH\u002F.src\u002Fscripts\u002Finit-project-data.sh\"\n    bash \"$SKILL_PATH\u002F.src\u002Fscripts\u002Frun-migrate.sh\"\n    bash \"$SKILL_PATH\u002F.src\u002Fscripts\u002Frun-doctor.sh\" --strict\nelif [[ -d .pensieve ]]; then\n    echo \"当前项目已初始化 Pensieve\"\nelse\n    bash \"$SKILL_PATH\u002F.src\u002Fscripts\u002Finit-project-data.sh\"\nfi\n```\n\n> **关键要点**：先检查全局安装情况 -> 判断父目录是否为 Git 仓库以决定是克隆还是添加子模块 -> 对于配置目录跳过项目初始化 -> 检查旧版数据以决定是否初始化或迁移。\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>更新\u003C\u002Fb>\u003C\u002Fsummary>\n\n```bash\n# 更新系统代码（一次操作，所有项目同步生效）\ncd \u003Cskill-path>\ngit pull --ff-only || { git fetch origin && git reset --hard \"origin\u002F$(git rev-parse --abbrev-ref HEAD)\"; }\n\n# 在您的项目中进行健康检查（可选但建议）\ncd \u003Cyour-project>\nbash \u003Cskill-path>\u002F.src\u002Fscripts\u002Frun-doctor.sh --strict\n```\n\n`git pull --ff-only` 适用于常规更新。如果远程分支被强制推送（例如在压缩提交后重新发布），`ff-only` 将失败，此时需执行 `fetch + reset` 来将本地同步到最新的远程状态。这是安全的操作——技能目录仅包含受版本控制的系统文件；用户数据位于 `\u003Cproject>\u002F.pensieve\u002F`，不会被覆盖。\n\n完整的安装、更新、重新安装和卸载说明：[skill-lifecycle.md](.src\u002Freferences\u002Fskill-lifecycle.md)。\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>从旧版本升级\u003C\u002Fb>\u003C\u002Fsummary>\n\n如果您之前的 Pensieve 是在项目级别安装的（代码位于 `\u003Cproject>\u002F.claude\u002Fskills\u002Fpensieve\u002F`），或者通过 `claude plugin install` 安装的，您需要迁移到 v2 架构：\n\n```bash\n# 1. 全局安装系统代码（如果尚未安装）\nif [[ ! -d \u003Cskill-path> ]]; then\n    git clone -b main https:\u002F\u002Fgithub.com\u002Fkingkongshot\u002FPensieve.git \u003Cskill-path>\nfi\n\n# 2. 安装钩子（仅限 Claude Code；其他客户端可跳过）\n# bash \u003Cskill-path>\u002F.src\u002Fscripts\u002Finstall-hooks.sh\n\n# 3. 在每个项目中运行迁移\ncd \u003Cyour-project>\nbash \u003Cskill-path>\u002F.src\u002Fscripts\u002Finit-project-data.sh\nbash \u003Cskill-path>\u002F.src\u002Fscripts\u002Frun-migrate.sh\nbash \u003Cskill-path>\u002F.src\u002Fscripts\u002Frun-doctor.sh --strict\n\n# 4. 卸载旧插件（如适用，仅限 Claude Code）\n# claude plugin uninstall pensieve 2>\u002Fdev\u002Fnull || true\n```\n\n`run-migrate.sh` 会自动将用户数据（`maxims\u002F`、`decisions\u002F`、`knowledge\u002F`、`pipelines\u002F`）从旧路径移动到 `\u003Cproject>\u002F.pensieve\u002F`，运行时状态从 `\u003Cproject>\u002F.state\u002F` 移动到 `\u003Cproject>\u002F.pensieve\u002F.state\u002F`，清理旧图文件和 README 副本，然后删除旧目录。\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>架构细节\u003C\u002Fb>\u003C\u002Fsummary>\n\n### 目录结构\n\n```text\n~\u002F.claude\u002Fskills\u002Fpensieve\u002F          # 用户级别（单次全局安装）\n├── SKILL.md                        #   静态路由文件（受版本控制）\n├── .src\u002F                           #   系统代码、模板、参考文档、核心引擎\n│   ├── core\u002F\n│   ├── scripts\u002F\n│   ├── templates\u002F\n│   ├── references\u002F\n│   └── tools\u002F\n└── agents\u002F                         #   代理配置\n\n\u003Cproject>\u002F.pensieve\u002F                # 项目级别（每个项目独立，可版本控制）\n├── maxims\u002F                         #   工程原则\n├── decisions\u002F                      #   架构决策\n├── knowledge\u002F                      #   缓存的探索结果\n├── pipelines\u002F                      #   可重用的工作流\n├── state.md                        #   动态：生命周期状态 + 知识图\n└── .state\u002F                         #   运行时产物（被 .gitignore 忽略）\n```\n\n`.src\u002Fmanifest.json` 是技能根目录的锚点——脚本通过它来定位所有路径。\n\n### 设计原则\n\n- **系统代码与用户数据物理隔离** —— 系统代码位于 `~\u002F.claude\u002Fskills\u002Fpensieve\u002F`，用户数据位于 `\u003Cproject>\u002F.pensieve\u002F`；通过 `git pull` 更新系统代码绝不会触及项目数据。\n- **规则的单一可信来源** —— 目录、关键文件和迁移路径均在 `.src\u002Fcore\u002Fschema.json` 中定义。\n- **执行前确认** —— 当范围不明确时，先询问再行动；不要自动启动长时间运行的工作流。\n- **读取规范再写入数据** —— 在创建任何用户数据之前，务必阅读 `.src\u002Freferences\u002F` 中的格式规范。\n\n\u003C\u002Fdetails>\n\n## 社区\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkingkongshot_Pensieve_readme_67a12a9a4775.png\" width=\"200\" alt=\"二维码\" \u002F>\n\n## 许可证\n\nMIT","# Pensieve 快速上手指南\n\nPensieve 是一个能够为 AI 代理提供**持续成长的项目记忆**的开源工具。它不仅仅是一个静态文档（如 `CLAUDE.md`），而是一个具备四层结构的知识图谱，能够自动积累项目规范、决策记录、事实知识和工作流，让 AI 在开发过程中越用越聪明。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**：Linux \u002F macOS \u002F Windows (WSL)\n*   **前置依赖**：\n    *   `git`\n    *   `bash`\n    *   `Python 3.8+`\n*   **适用客户端**：Claude Code（推荐，支持自动钩子）、Cursor 或其他支持 Skills\u002FPlugins 机制的 AI 编程助手。\n\n## 安装步骤\n\nPensieve 采用“全局安装系统代码 + 项目独立存储数据”的架构。您只需全局安装一次，即可在所有项目中复用。\n\n### 1. 全局安装技能\n\n根据您的 AI 客户端选择对应的安装路径执行克隆命令。\n\n**对于 Claude Code 用户：**\n```bash\ngit clone -b main https:\u002F\u002Fgithub.com\u002Fkingkongshot\u002FPensieve.git ~\u002F.claude\u002Fskills\u002Fpensieve\n```\n\n**对于 Cursor 或其他通用代理用户：**\n请将 `\u003Cskill-path>` 替换为您客户端的技能目录（例如 `~\u002F.cursor\u002Fskills\u002Fpensieve`）。\n```bash\ngit clone -b main https:\u002F\u002Fgithub.com\u002Fkingkongshot\u002FPensieve.git \u003Cskill-path>\n```\n\n> **提示**：国内用户若遇到 GitHub 连接缓慢，可配置 Git 加速或使用国内镜像源克隆。\n\n### 2. 安装自动钩子（仅限 Claude Code）\n\n如果您使用 Claude Code，建议安装钩子以实现编辑后自动同步知识图谱和会话启动时自动检查状态：\n\n```bash\nbash ~\u002F.claude\u002Fskills\u002Fpensieve\u002F.src\u002Fscripts\u002Finstall-hooks.sh\n```\n\n*其他客户端可跳过此步，通过手动调用工具实现相同功能。*\n\n### 3. 初始化项目数据\n\n进入您需要使用 Pensieve 的具体项目目录，运行初始化脚本。这将在项目中创建 `.pensieve\u002F` 目录用于存储专属知识。\n\n```bash\ncd \u003Cyour-project>\n# Claude Code 用户\nbash ~\u002F.claude\u002Fskills\u002Fpensieve\u002F.src\u002Fscripts\u002Finit-project-data.sh\n\n# 其他客户端用户（替换为实际路径）\nbash \u003Cskill-path>\u002F.src\u002Fscripts\u002Finit-project-data.sh\n```\n\n## 基本使用\n\n安装完成后，Pensieve 会自动作为技能加载到您的 AI 代理中。您可以通过自然语言指令与其交互。\n\n### 核心功能示例\n\n**1. 初始化与检查**\n让 AI 帮您确认环境或初始化：\n> \"Initialize pensieve for me\"\n> \"Check if the data has any issues\"\n\n**2. 辅助代码审查与规范遵循**\n利用内置的“林纳斯风格”工程原则（如不破坏用户空间、保持简单）来审查代码：\n> \"Use pensieve to review the code taste of recent commits\"\n> \"Use pensieve conventions to commit code\"\n\n**3. 知识检索与定位**\n利用已积累的项目记忆快速定位模块，避免全局搜索浪费 Token：\n> \"Use pensieve to locate the entry point of the payment module\"\n\n**4. 经验自动积累（自我进化）**\n在解决复杂问题或完成重构后，让 AI 将此次经验写入知识库，防止未来重犯错误：\n> \"Accumulate this experience\"\n> \"Use pensieve to analyze which workflows this refactoring will affect\"\n\n### 工作原理简述\n\nPensieve 通过四层知识模型运作：\n*   **MUST (Maxims)**：绝不可违反的工程原则（跨项目通用）。\n*   **WANT (Decisions)**：当前项目的特定决策及原因。\n*   **HOW (Pipelines)**：工作流如何执行（如提交审查流程）。\n*   **IS (Knowledge)**：当前系统的确切事实（如模块边界）。\n\n随着您的日常开发（编码、提交、审查），Pensieve 会自动或通过指令将这些信息转化为结构化知识，形成项目专属的知识图谱。","某电商后端团队在重构支付模块时，需要确保新代码严格遵循既有的架构规范并避免重犯历史错误。\n\n### 没有 Pensieve 时\n- 每次开启新任务，开发者都要向 AI 重新粘贴一遍项目规范和目录结构，消耗大量上下文窗口。\n- 代码审查标准依赖人工口述，AI 生成的代码常因风格不统一或违反隐式规则而被驳回。\n- 三个月前因并发处理不当导致的故障教训未被记录，AI 在类似场景下可能再次给出错误的实现方案。\n- 面对“为什么当初选这个数据库分片策略”的疑问，团队成员需翻阅大量旧文档或聊天记录才能找到决策背景。\n- 修改核心逻辑时，难以快速评估对上下游工作流的具体影响，往往靠经验盲目猜测。\n\n### 使用 Pensieve 后\n- 项目规范已固化为“必须遵守（MUST）”层准则，Pensieve 自动加载相关约束，无需重复输入即可生成合规代码。\n- 历史代码审查中的典型错误被转化为可执行的检查管道，AI 在输出前自动拦截不符合规范的逻辑。\n- 过往的故障复盘自动沉淀为“决策（WANT）”层知识，当涉及并发场景时，Pensieve 会主动提示替代方案以规避风险。\n- 架构决策的背景、备选方案及取舍原因被完整记录，随时可追溯“为什么这么设计”，消除信息断层。\n- 基于语义链接构建的知识图谱能自动分析改动影响范围，精准指出本次重构会波及哪些具体工作流和模块。\n\nPensieve 将分散的开发经验转化为自生长的项目记忆，让 AI 从“被动执行者”进化为懂规范、知历史的“资深合伙人”。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkingkongshot_Pensieve_ec0f2340.png","kingkongshot","link","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fkingkongshot_8ef0ab11.jpg",null,"jojo@aisen.work","https:\u002F\u002Fgithub.com\u002Fkingkongshot",[80,84],{"name":81,"color":82,"percentage":83},"Shell","#89e051",85.9,{"name":85,"color":86,"percentage":87},"Python","#3572A5",14.1,2511,258,"2026-04-16T12:08:40","MIT","Linux, macOS, Windows","未说明",{"notes":95,"python":96,"dependencies":97},"该工具是一个基于脚本的 AI 代理技能（Skill），而非深度学习模型，因此无需 GPU 或大量内存。核心依赖为 Git 和 Bash 环境。需安装在特定 AI 客户端的技能目录中（如 Claude Code 的 ~\u002F.claude\u002Fskills\u002F 或 Cursor 的对应目录）。项目数据存储在各自项目的 .pensieve\u002F 目录下。","3.8+",[98,99],"git","bash",[13,14],"2026-03-27T02:49:30.150509","2026-04-18T00:47:17.550414",[],[]]