快速修复
# 一键:强制 HTTPS + 国内加速(公开仓库匿名克隆,不需要 key;镜像不可用就删掉第一段)
git config --global url."https://gh-proxy.com/https://github.com/".insteadOf "https://github.com/" && git config --global url."https://github.com/".insteadOf "git@github.com:"
复制这一行到终端执行,然后重新跑安装命令即可。
你会遇到什么
你在终端里执行 claude-mem install --ide claude-code,装到一半卡在 "Adding marketplace…",等半天要么报 SSH authentication failed,要么直接没反应、克隆被重置。
你以为是网络不行,换网络、关代理重试几次还是老样子——其实问题多半不在网络,而在克隆走的是 SSH 通道,而你根本没有可用的 SSH key(或 key 对应的账号状态异常)。
本文路径:快速修复(30 秒一段命令)→ 一步步排查(可跳读)→ 原理与变体(症状/原因/证据)。赶时间直接跳到「快速修复」。
为什么会这样
Claude Code 装插件,本质上是在做一次 git clone:把插件仓库(claude-mem 上游约 271MB,含子模块)拉到本机。安装器默认用 SSH 地址(git@github.com:...)克隆:
| 克隆通道 | 需要什么 | 国内直连表现 |
|---|---|---|
| SSH(默认) | 可用的 SSH key | 无 key 直接认证失败 |
| HTTPS | 公开仓库无需凭据 | 大仓库慢/易断,建议走镜像 |
- 走 SSH 就必须有能用的 key;没配 key、或 key 对应的 GitHub 账号异常,GitHub 直接拒绝认证 → 报
SSH authentication failed。 - 国内直连 GitHub 时,这种大仓库的克隆经常中途断掉 → 表现为"卡死"或
Recv failure: Connection reset by peer。
解法核心是 git config --global url.<新地址>.insteadOf <旧地址>:这是 git 的 URL 改写机制——凡是"要访问旧地址"的操作都改走新地址。公开仓库匿名就能克隆,根本不需要 key;改的只是克隆通道,插件本身的行为一行都不动,安全无副作用。
安装器默认用 SSH 通道 clone,SSH 通道的认证机制是 key 对:git 把请求发给 GitHub 的 SSH 服务,GitHub 用你的公钥验证身份——没有 key 或 key 不被 GitHub 接受,认证直接失败(SSH authentication failed),这是“通道要求凭据”的问题,不是网络问题。
而 HTTPS 通道对公开仓库匿名即可:不需要任何凭据,只要网络能到。
git 的 url.<新>.insteadOf <旧> 是 URL 改写机制:git 在发起任何访问前,先查配置里的改写规则,命中的地址一律替换——它工作在“寻址层”,不碰插件的代码逻辑,所以“只换通道、不动行为”。这条机制还解释了为什么“安全无副作用”:改写的是 git 自己的地址解析,插件所有行为(clone 之后的内容处理)完全不变。
判断路径固定:报 SSH authentication failed = 通道/凭据问题(改通道或配 key)→ 报 Connection reset/卡死 = 网络问题(换镜像/加速)→ 改完验证改写生效(git config --get url.<新>.insteadOf)。
实测环境:claude-mem 插件本体 13.16.1(CLI 引导器版本号为 12.4.7,官方滞后现象),2026-08-28 本市场实测。
一步步来
1. 先确认是不是这个问题 — 必做
看报错里有没有 SSH authentication failed,或安装长期卡在 "Adding marketplace…"。拿不准就手动测一下克隆通道:
git ls-remote git@github.com:thedotmack/claude-mem
如果提示 Permission denied (publickey) 或 authentication failed,就是这个问题。
2. 强制走 HTTPS — 必做
git config --global url."https://github.com/".insteadOf "git@github.com:"
这一行让 git 把所有 git@github.com:... 地址改写成 https://github.com/...。公开仓库匿名即可克隆,不需要 SSH key,认证失败直接消失。全局配置对本机所有 git 操作生效,无害。
3. 国内加速(可选,推荐) — 进阶
git config --global url."https://gh-proxy.com/https://github.com/".insteadOf "https://github.com/"
国内直连 GitHub 的克隆经常中断。这行把 HTTPS 地址再改写成 gh-proxy 镜像。镜像偶尔会挂或变慢:如果加速后反而失败/更慢,跳过这一步,只保留第 2 步的强制 HTTPS 即可,也可以换成你所在网络可达的其它镜像。这条 insteadOf 会自动应用到以后所有 GitHub 克隆(包括你其它项目),不影响任何其它行为。
4. 重新安装 — 必做
claude-mem install --ide claude-code
这次应该很快看到 SSH not configured, cloning via HTTPS,然后 ✔ Successfully added marketplace: thedotmack。
怎么确认修好了
安装命令出现下面两行就算成功(实测输出):
SSH not configured, cloning via HTTPS
✔ Successfully added marketplace: thedotmack
✔ Successfully installed plugin: claude-mem@thedotmack (scope: user)
再跑一次 claude-mem --version 能正常输出版本号(实测环境输出 CLI 12.4.7,插件本体 13.16.1,属官方现象)。
其它环境的表现
| 环境 | 说明 |
|---|---|
| Windows / PowerShell | git 配置命令完全相同,直接执行,无需管理员权限 |
| macOS | 同上,macOS 自带 git,终端直接执行 |
| 公司代理 / 校园网 | 镜像慢/不可用就只留"强制 HTTPS",或换可达镜像 |
| 私有仓库 | insteadOf 只改克隆通道不改鉴权;私有仓库仍需要 HTTPS 凭据或 SSH key |
| 只想这次生效 | -c 只对单条命令临时注入:git -c url."https://github.com/".insteadOf=git@github.com: ls-remote git@github.com:thedotmack/claude-mem;注意它管不到安装器内部的克隆 |
| 想撤销 | git config --global --unset-all url.https://gh-proxy.com/https://github.com/.insteadOf 和 git config --global --unset-all url.https://github.com/.insteadOf 分别执行 |
症状
claude-mem install --ide claude-code 在 "Adding marketplace…" 处报错或长期卡住:
✘ Failed to add marketplace: Failed to clone marketplace repository: SSH authentication failed.
Please ensure your SSH keys are configured for GitHub, or use an HTTPS URL instead.
或直连时克隆无进展后报 Recv failure: Connection reset by peer。
原因
Claude Code 插件安装 = git clone 上游仓库 thedotmack/claude-mem(浅克隆 + 递归子模块;实测仓库约 271MB),安装器默认走 SSH URL(git@github.com:...)。无可用 SSH key(或 key 对应账号状态异常)时认证失败;国内直连 GitHub 时大仓库克隆容易中断。
解法
- 强制 HTTPS(公开仓库匿名即可克隆,不需要 key):
git config --global url."https://github.com/".insteadOf "git@github.com:"
- 国内加速(2026-08-28 实测可用):
git config --global url."https://gh-proxy.com/https://github.com/".insteadOf "https://github.com/"
- CLI 本身走镜像源:
npm_config_registry=https://registry.npmmirror.com npm install -g claude-mem - 以上只改 git clone 的 URL 通道,不改插件任何行为;不用给任何账号授权。
验证证据
- 本市场实测 2026-08-28(实测记录(本地留存)):
- 无改写时:SSH 认证失败(key 对应账号状态异常)→ install FAIL;
- 加改写后:
SSH not configured, cloning via HTTPS→✔ Successfully added marketplace: thedotmack→✔ Successfully installed plugin: claude-mem@thedotmack (scope: user)→claude-mem installed successfully!→ install exit=0; - 直连 90s 未完成 vs gh-proxy 加速后 60s 内克隆完成(单次实测;仓库实测 271MB)。
适用工具 (1)
本问题方案已挂到下列工具的方案页——从工具页也能回到这里,双向可达。
claude-mem来源与证据
← 会话与记忆 问题域 | 问题货架 | 遇到其它问题?去 问题空间 提交求助卡