经 AI Skill Hub 精选评估,海马记忆系统 获评「强烈推荐」。这款Agent工作流在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 8.2 分,适合有一定技术背景的用户使用。
为AI智能体设计的生物启发型记忆框架。模拟人脑记忆衰减机制,支持动态检索强化和上下文管理。适合需要长期记忆和智能遗忘机制的AI应用开发者和工作流设计者。
海马记忆系统 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
为AI智能体设计的生物启发型记忆框架。模拟人脑记忆衰减机制,支持动态检索强化和上下文管理。适合需要长期记忆和智能遗忘机制的AI应用开发者和工作流设计者。
海马记忆系统 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
# 方式一:npm 全局安装 npm install -g hippo-memory # 方式二:npx 直接运行(无需安装) npx hippo-memory --help # 方式三:项目依赖安装 npm install hippo-memory # 方式四:从源码运行 git clone https://github.com/kitfunso/hippo-memory cd hippo-memory npm install npm start
# 命令行使用
hippo-memory --help
# 基本用法
hippo-memory [options] <input>
# Node.js 代码中使用
const hippo_memory = require('hippo-memory');
const result = await hippo_memory.run(options);
console.log(result);
# hippo-memory 配置说明 # 查看配置选项 hippo-memory --config-example > config.yml # 常见配置项 # output_dir: ./output # log_level: info # workers: 4 # 环境变量(覆盖配置文件) export HIPPO_MEMORY_CONFIG="/path/to/config.yml"
Stop re-teaching your agent.
Make your agent's memory work like a brain. Hippo is long-term memory for coding agents. It's a critical layer for your AI harness that connects across your different tools (Cursor, Claude Code, Codex). It keeps your proprietary data completely local, and it actually learns over time. By strengthening memories each time they are recalled, Hippo preserves what works, lets mistakes decay, and continuously compounds your agents' intelligence.
<p align="center"> <img src="https://raw.githubusercontent.com/kitfunso/hippo-memory/master/assets/hippo-init.svg" alt="hippo init adding memory to one project" width="720"> </p>
Hippo keeps your coding agents' memories in a SQLite store on your machine, with markdown mirrors you can read and commit. Search is BM25 out of the box, with no model and no network call; embeddings are an optional install. hippo init installs hooks for Claude Code and OpenCode, adds 2 hooks to Codex's hooks.json when Codex is installed (Codex runs them once you trust them in /hooks), and adds instructions to an existing AGENTS.md for Codex, Cursor, OpenClaw and Pi. Any MCP client can connect. Mark a memory wrong and it ranks lower; run hippo supersede and the old fact leaves recall. Zero runtime deps.
Install it, then run hippo init inside one project. Init creates the project's .hippo/ store and adds a block to the CLAUDE.md or AGENTS.md already there. On your machine it adds hooks for the agents it finds, such as Claude Code's in ~/.claude/settings.json, and a daily 6:15am run. What hippo init changes lists all of it and the flags that skip each part.
npm install -g hippo-memory && hippo init
Setting up every git repo under a folder in one go is a second step. The Quick start says what it changes, then gives the command.
Package installation alone does not enable automatic preservation on every agent. Complete the documented setup and required host trust; capture and compaction coverage depend on the integration.
Having an AI agent install it? Point it at llms-install.md: it installs, wires hippo into the agents it finds, and verifies with hippo doctor.
Works with: Claude Code, Codex, Cursor, OpenClaw, OpenCode, Pi, any MCP client
Imports from: ChatGPT, Claude (CLAUDE.md), Cursor (.cursorrules), Slack, markdown
Storage: SQLite backbone with markdown mirrors. Git-trackable, human-readable.
Dependencies: Zero runtime deps. Node.js 22.16+. Optional embeddings: bring-your-own local Transformers.js (`npm i @huggingface/transformers`, or legacy `@xenova/transformers`) or an opt-in API embedder (OpenAI/Voyage/Cohere). Nothing is auto-installed.
Contents: Why · Receipts · Quick start · Agent setup · MCP server · How it works · Features · CLI · Comparison · Benchmarks · FAQ · Contributing
---
A memory's life across a typical session, before walking each feature in turn:
hippo context --framing suggest
hippo context --framing assert
```
Three modes: observe (default), suggest, assert. Choose based on how directive you want the memory to be.
---
```
The command runs with no shell, so each argument reaches the program as written. To run a shell line with pipes or &&, pass it as one string after --shell: hippo watch --shell "npm test && npm run build".
---
hippo init detects your agent framework and patches the right config file automatically:
| Framework | Detected by | Patches |
|---|---|---|
| Claude Code | CLAUDE.md or .claude/settings.json | CLAUDE.md + 7 hook entries in ~/.claude/settings.json (listed below) |
| Codex | AGENTS.md or .codex | AGENTS.md + UserPromptSubmit/SessionStart(compact) hooks in Codex's hooks.json when Codex is installed (trust them once in /hooks); session capture is opt-in with hippo hook install codex, which wraps the Codex launcher |
| Cursor | AGENTS.md | AGENTS.md, which Cursor reads from the project root |
| OpenClaw | .openclaw or AGENTS.md | AGENTS.md; the native plugin is a separate install: openclaw plugins install hippo-memory |
| OpenCode | .opencode/ or opencode.json | AGENTS.md + TS plugin at ~/.config/opencode/plugins/hippo.ts (subscribes to session.idle + session.created) |
| Pi | .pi or .pi/agent | AGENTS.md; copy the [Pi extension](https://github.com/kitfunso/hippo-memory/tree/master/extensions/pi-extension) for session hooks |
Init patches an instruction file only if it already exists. It also sets up a daily run and imports your coding agents' own memories; What hippo init changes lists everything.
If you prefer explicit control:
hippo hook install claude-code # patches CLAUDE.md + adds the 7 settings.json hook entries listed below
hippo hook install codex # patches AGENTS.md + adds hooks to Codex's hooks.json + wraps the detected Codex launcher
hippo hook install cursor # patches AGENTS.md
hippo hook install openclaw # patches AGENTS.md
hippo hook install opencode # patches AGENTS.md + installs the opencode TS plugin
This adds a ` ... ` block that tells the agent to: 1. Run hippo context --auto --budget 1500 at session start 2. Run hippo remember "<what went wrong and why>" --error the moment it finds out why something failed, never as a closing step 3. Everywhere but Claude Code, whose own auto memory does this job: run a plain hippo remember the moment it learns something that should outlive the session, leaving out secrets and personal details 4. Capture a short summary with hippo capture --stdin when the session ends, but only where no hook captures the session: Cursor, OpenClaw, OpenCode, Pi, and Codex without its wrapper
The block asks for nothing a hook already does, because each extra tool call re-reads the whole context. Re-running hippo init swaps a block an older hippo wrote for the current one, as long as nobody edited it. It leaves an edited block alone and says so, and never touches text outside the markers.
For Claude Code, it also adds 7 hook entries to ~/.claude/settings.json: - a SessionEnd hook that runs hippo sleep and then hippo capture when the session exits. Capture matches the last 20 user and 10 assistant messages of the transcript against word patterns for decisions, rules, errors and preferences. It uses no model and does not read earlier turns, so record lessons with hippo remember as you go. - a SessionStart hook that prints the previous session's consolidation log on stderr, where claude --debug shows it. When the last sleep failed or a compaction summary was set aside, it shows you one line that points to hippo doctor. - a UserPromptSubmit hook that runs hippo context --pinned-only --include-recent 5 --format additional-context every turn. It re-injects pinned memories (hippo remember <text> --pin) plus up to 5 memories that share words with your prompt. When nothing matches, it adds only the pinned ones. Since 1.55.0 this replaces the 5 newest memories, which cut the median block from 847 to 533 tokens in our eval. {"pinnedInject":{"promptRecall":false}} brings back the 5 newest, so fresh same-session lessons appear on the next prompt whatever you ask. The block is rendered without live strength percentages, so it stays byte-identical while its memories do not change, and it is sent only when it changed since the session's last prompt: an unchanged block is skipped, resent every 10 skips (pinnedInject.refreshTurns, 0 never resends) and resent after compaction. The prompt-matched memories go in a separate block that is never skipped, so they are sent on every prompt they match. {"pinnedInject":{"skipUnchanged":false}} sends the pinned block every turn as before. Opt out entirely with {"pinnedInject":{"enabled":false}} in .hippo/config.json. - a PreCompact hook that runs hippo pre-compact before the transcript gets summarized. It records the compaction in the store, saves a working-state snapshot (task/summary/next step) so mid-session compaction can't drop it, and asks the summariser to end its summary with a "Memories for hippo" list: the lessons, decisions and corrections from the session that should outlive it. The SessionEnd hook still owns extracting durable memories from the transcript. - a second SessionStart hook (matcher compact) that runs hippo compact-resume, printing that snapshot back into context right after compaction, if it is under 15 minutes old. - a PostCompact hook that runs hippo post-compact. It keeps the summary in the store with secrets scrubbed, and saves each item of that list as a memory that sleep never deletes: at most 10 per compaction, skipping an item an earlier compaction already saved and any item that looks like a secret. An item over 500 characters stays in the compaction's record only. It then prints one line, such as "Hippo saved 3 memories from this compaction and restored your task snapshot." If the store is busy, the summary waits in the store's compactions-spool/ folder and hippo sleep finishes the save; hippo doctor names any compaction left unfinished for over 10 minutes. It also counts spool files that are waiting, stale (left by a replay that stopped) or set aside as .bad. The session that compacted does not have those memories injected back into its own prompts, since it just read them in the summary; hippo recall still finds them. The hook prints nothing when there is no store to save to. - a PostToolUseFailure hook that runs hippo capture-error, which stores a failed tool call as an error memory. It skips interrupts, declined permissions and searches that found nothing, and stores a repeated failure once. It also logs every failure, stored or not, for hippo failures: the session, the tool and hashes of the error, never its text. A hash is not anonymous, since anyone who guesses an error's text can check it against the hash. The log keeps 90 days.
Only Claude Code saves memories at a compaction: hippo installs no PreCompact or PostCompact hook for Codex, Cursor, OpenCode, OpenClaw or Pi.
To remove: hippo hook uninstall claude-code
For Codex, it adds two hooks to $CODEX_HOME/hooks.json (else ~/.codex/hooks.json) and keeps every hook already there: - a UserPromptSubmit hook that runs the same hippo context --pinned-only command as Claude Code's, so your pinned memories plus up to 5 that match the prompt reach every prompt as developer context - a SessionStart hook (matcher compact) that runs hippo compact-resume after a compaction, so the next prompt sends that block again. Codex gets no PreCompact hook from hippo, so it restores a task snapshot only if one was saved with hippo snapshot save in the last 15 minutes
Codex runs a new or changed hook only after you trust it, so open /hooks in Codex once and trust both; hippo doctor reminds you. The per-prompt hook was checked against a real Codex request; the compaction hook follows Codex's documented compact start source and has not been watched end to end in Codex. Each hook also carries a commandWindows form (hippo.cmd ...), because Codex runs hooks through PowerShell on Windows, where the execution policy can block npm's hippo.ps1. hippo only ever appends these two entries and never rewrites one, since Codex treats a changed command as a new hook to trust. To remove: hippo hook uninstall codex, which takes out only hippo's exact commands and leaves every other hook, including one of yours that runs hippo.
For GitHub Copilot, when $COPILOT_HOME (else ~/.copilot) or a VS Code User folder exists, hippo setup writes hippo's own hooks/hippo.json. When the Copilot folder was there before setup, it also adds a hippo server to mcp-config.json and a block to copilot-instructions.md. The block asks the agent to call hippo_recall and hippo_remember. The Copilot CLI, including its sessions inside VS Code, uses the session-start, tool-failure, pre-compact and session-end hooks, the server and the block. VS Code's agent mode (the Local agent, VS Code 1.109.3 or later) reads the same hooks file. It gets session start, the pre-compact snapshot and a capture after every reply. Setup also adds hippo to VS Code's own mcp.json and writes prompts/hippo.instructions.md, so its recall tools and instructions work too. The hooks, the VS Code files and how to remove them: integrations/copilot.md.
Start in one project. What hippo init changes lists everything the second command writes.
```bash npm install -g hippo-memory
hippo remember "FRED cache silently dropped the tips_10y series" --tag error hippo recall "data pipeline issues" --budget 2000 ```
---
Full release history: CHANGELOG.md · GitHub Releases
````markdown
```
---
| Command | What it does |
|---|---|
hippo init | Create .hippo/, install agent hooks and the daily run ([what it changes](#what-hippo-init-changes)) |
hippo init --global | Create global store at ~/.hippo/ |
hippo init --no-hooks | Create .hippo/ without auto-installing hooks |
hippo remember "<text>" | Store a memory |
hippo remember "<text>" --tag <t> | Store with tag (repeatable) |
hippo remember "<text>" --error | Store as error (2x half-life) |
hippo remember "<text>" --pin | Store with no decay |
hippo remember "<text>" --verified | Set confidence: verified (default) |
hippo remember "<text>" --observed | Set confidence: observed |
hippo remember "<text>" --inferred | Set confidence: inferred |
hippo remember "<text>" --global | Store in global ~/.hippo/ store |
hippo recall "<query>" | Retrieve relevant memories (local + global) |
hippo recall "<query>" --budget <n> | Recall within token limit (default: 4000) |
hippo recall "<query>" --limit <n> | Cap result count |
hippo recall "<query>" --why | Show match reasons and source buckets |
hippo recall "<query>" --hops <n> | Also surface memories N hops away in the entity/relation graph (0..3, default off) |
hippo recall "<query>" --json | Output as JSON |
hippo context --auto | Smart context injection (auto-detects task from git) |
hippo context "<query>" --budget <n> | Context injection with explicit query (default: 1500) |
hippo context --limit <n> | Cap memory count in context |
hippo context --budget 0 | Skip entirely (zero token cost) |
hippo context --framing <mode> | Framing: observe (default), suggest, assert |
hippo context --format <fmt> | Output format: markdown (default) or json |
hippo import --chatgpt <path> | Import from ChatGPT memory export (JSON or txt) |
hippo import --claude <path> | Import from CLAUDE.md or Claude memory.json |
hippo import --cursor <path> | Import from .cursorrules or .cursor/rules |
hippo import --markdown <path> | Import from structured markdown (headings -> tags) |
hippo import --file <path> | Import from any text file |
hippo import --dry-run | Preview import without writing |
hippo import --global | Write imported memories to ~/.hippo/ |
hippo capture --stdin | Extract memories from piped conversation text |
hippo capture --file <path> | Extract memories from a file |
hippo capture --dry-run | Preview extraction without writing |
hippo sleep | Run consolidation (decay + merge) |
hippo sleep --dry-run | Preview consolidation without writing |
hippo status | Memory health: counts, strengths, last sleep |
hippo outcome --good | Strengthen last recalled memories |
hippo outcome --bad | Weaken last recalled memories |
hippo outcome --id <id> --good | Target a specific memory |
hippo inspect <id> | Full detail on one memory |
hippo forget <id> | Force remove a memory |
hippo dormant [<query>] | List faded memories sleep kept instead of deleting |
hippo dormant restore <id> | Bring a dormant memory back to active memory |
hippo dormant forget <id> | Delete a dormant memory permanently |
hippo doctor [--json] | Check the install: Node, store, schema, sleep, agent hooks; each problem names its fix. It never changes hippo.db, though SQLite may leave empty hippo.db-wal and hippo.db-shm files beside it |
hippo support-bundle [--out <file>] [--include-logs] | Write a redacted JSON file for a support ticket: versions, doctor checks, config, store counts and log names, never memory text; --include-logs adds each log's last 200 lines, which can quote it |
hippo tokens [--days n] | Estimated tokens of memory text handed to agents, per surface, what later model calls re-read of the hook and compact-resume blocks, and what skipping unchanged hook blocks saved |
hippo failures [--days n] | Failed tool calls the capture-error hook saw, by outcome, and how many errors first happened in another session |
hippo embed | Embed all memories for semantic search |
hippo embed --status | Show embedding coverage |
hippo watch -- <command> [args...] | Run command with no shell, auto-learn from failures (--shell "<line>" runs one line through the shell) |
hippo learn --git | Scan recent git commits for lessons |
hippo learn --git --days <n> | Scan N days back (default: 7) |
hippo learn --git --repos <paths> | Scan multiple repos (comma-separated) |
hippo daily-runner | Sweep registered workspaces and run daily learn+sleep |
hippo conflicts | List detected open memory conflicts |
hippo conflicts --json | Output conflicts as JSON |
hippo resolve <id> | Show both conflicting memories for comparison |
hippo resolve <id> --keep <mem_id> | Resolve: keep winner, weaken loser |
hippo resolve <id> --keep <mem_id> --forget | Resolve: keep winner, delete loser |
hippo promote <id> | Copy a local memory to the global store |
hippo share <id> | Share with attribution + transfer scoring |
hippo share <id> --force | Share even if transfer score is low |
hippo share --auto | Auto-share all high-scoring memories |
hippo share --auto --dry-run | Preview what would be shared |
hippo peers | List projects contributing to global store |
hippo sync | Pull global memories into local project |
hippo invalidate "<pattern>" | Actively weaken memories matching an old pattern |
hippo invalidate "<pattern>" --reason "<why>" | Include what replaced it |
hippo decide "<decision>" | Record architectural decision |
hippo decide "<decision>" --context "<why>" | Include reasoning |
hippo decide "<decision>" --supersedes <id> | Supersede a previous decision |
hippo hook list | Show available framework hooks |
hippo hook install <target> | Install hook (claude-code also adds its 7 settings.json hook entries: session start and end, each prompt, compaction, failed tool calls) |
hippo hook uninstall <target> | Remove hook |
hippo handoff create --summary "..." | Create a session handoff |
hippo handoff latest | Show the most recent handoff |
hippo handoff show <id> | Show a specific handoff by ID |
hippo session latest | Show latest task snapshot + events |
hippo session resume | Re-inject latest handoff as context |
hippo current show | Compact current state (task + session events) |
hippo card create --title "..." | Create a work-queue card (--repo, --contract, --budget, repeatable --depends-on <id>) |
hippo card show <id> | Show a card, its deps, runs, comments and latest handoff |
hippo card list [--status <status>] | List cards, newest-updated first |
hippo card claim <id> --runtime <name> | Claim a ready or blocked card; prints its run id and the time its 4-hour lease expires |
hippo card heartbeat <id> --run <n> | Extend a claimed card's lease |
hippo card block <id> --reason "<why>" [--run <n>] | Block a running card; the reason is recorded as a comment |
hippo card review <id> [--run <n>] | Move a running card to review |
hippo card complete <id> --outcome <success\|failure\|partial> [--run <n>] | Complete a card in review: success marks it done and promotes children whose parents are all done; failure or partial shelves it |
hippo card reclaim | Sweep every card whose lease has passed and return it to ready |
hippo card comment <id> --body "..." | Add a comment to a card |
hippo wm push --scope <s> --content "..." | Push to working memory |
hippo wm read --scope <s> | Read working memory entries |
hippo wm clear --scope <s> | Clear working memory |
hippo wm flush --scope <s> | Flush working memory (session end) |
hippo dashboard | Open web dashboard at localhost:3333 (memory health by project, and the card board); open the printed URL, which carries a per-start access token |
hippo dashboard --port <n> | Use custom port |
hippo mcp | Start MCP server (stdio transport) |
hippo serve | Start the HTTP API server for this store on 127.0.0.1:6789 (--port <n> or HIPPO_PORT; --host <host>, which off loopback needs HIPPO_REQUIRE_AUTH=1). Every request needs an API key (hippo auth create, then Authorization: Bearer <key>; the hippo CLI reads HIPPO_API_KEY). HIPPO_ALLOW_KEYLESS_LOCAL=1 lets requests from this machine in without one, as a member (HIPPO_KEYLESS_LOCAL_ROLE=admin makes them host admin, for sleep and the quarantine routes); HIPPO_REQUIRE_AUTH=1 wins over it. Each caller gets 20 requests a second, burst 40 (HIPPO_CALLER_RPS; 0 turns it off). See [Security defaults](docs/UPGRADING-2.0.md#security-defaults) |
hippo serve --tls-cert <file> --tls-key <file> | Serve HTTPS with that PEM certificate and key (or set HIPPO_TLS_CERT and HIPPO_TLS_KEY). Without them a network bind refuses to start, since API keys and memory text would travel in cleartext; behind a TLS-terminating proxy, pass --allow-cleartext (or set HIPPO_ALLOW_CLEARTEXT=1) |
On heartbeat, block, review and complete, a given --run is checked against the card's live run and the command is refused, unchanged, if the two do not match.
---
Hippo 是一个专为 AI Agent 设计的记忆层工具。其核心理念在于:优秀的记忆不在于记住所有信息,而在于懂得如何“遗忘”。通过模拟人类的记忆机制,Hippo 能够帮助 Agent 在复杂的开发任务中,智能地管理、存储和检索关键上下文,从而提升 AI 在长会话中的表现。
Hippo 具备先进的记忆管理机制,能够模拟从 Buffer 到 Episodic(情节记忆)再到 Semantic(语义记忆)的完整生命周期。它支持通过设置半衰期(half_life)和效价(valence)来控制记忆的强度与衰减,确保 Agent 能够精准地 recall(召回)相关信息,同时自动过滤掉无用的噪声。
Hippo 采用了极简的自动化安装设计。对于使用 Claude Code 的开发者,它会自动通过 CLAUDE.md 进行 hook 注入;对于 Cursor 用户,会自动配置 .cursorrules;对于 Codex 等工具,则会通过包装 launcher 实现无缝集成。开发者无需手动执行复杂的 hook install,只需在项目初始化时完成配置,Agent 即可在下一个 session 中直接使用 Hippo。
你可以通过 npm 全局安装 hippo-memory 后进行手动操作。使用 `hippo remember` 命令可以存储特定的错误或观察结果(例如:hippo remember "error: cache dropped tips_10y"),并利用 `--tag` 进行分类;使用 `hippo recall` 命令可以根据语义检索相关记忆,并通过 `--budget` 参数控制返回的 token 数量,实现精准的上下文注入。
Hippo 支持零配置(Zero-config)的 Agent 集成。通过运行 `hippo init` 命令,系统会自动检测当前使用的 Agent 框架并完成自动连线(wiring)。你可以根据需求选择在当前项目创建本地存储,或使用 `--global` 参数在用户目录下创建全局存储中心。
Hippo 提供了一套完整的 CLI 接口用于记忆管理。核心命令包括:`hippo init` 用于初始化项目并安装 Agent hooks;`hippo init --global` 用于创建全局存储;`hippo remember <text>` 用于存储记忆;以及通过检索机制实现的上下文注入功能,确保 Agent 能够感知历史上下文。
Hippo 内置了混合检索工作流,结合了 BM25 关键词匹配与 Cosine(余弦相似度)语义检索,以确保检索的准确性。针对 OpenClaw 等框架,提供了原生 Plugin 支持,具备自动上下文注入、工作区感知(workspace-aware)的记忆查找以及 tool hooks 功能。此外,通过 autoSleep 机制,可以在 session 结束时自动启动后台 worker 处理记忆持久化,实现无感退出。
创新性强的生物学启发式记忆框架,填补AI智能体长期记忆的空白。设计思路新颖,675星体现认可度,TypeScript实现便于集成。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
AI Skill Hub 点评:海马记忆系统 的核心功能完整,质量优秀。对于自动化工程师和运维人员来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。
| 原始名称 | hippo-memory |
| 原始描述 | 开源AI工作流:Biologically-inspired memory for AI agents. Decay, retrieval strengthening, cons。⭐675 · TypeScript |
| Topics | AI记忆生物启发TypeScript工作流智能体 |
| GitHub | https://github.com/kitfunso/hippo-memory |
| License | MIT |
| 语言 | TypeScript |
收录时间:2026-05-24 · 更新时间:2026-05-30 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端