1. 换台电脑Claude Code 的对话怎么就“失忆”了Claude Code 是 Anthropic 推出的终端 AI 编程助手它最值钱的地方不是单次问答而是能在一个项目里持续积累上下文你让它读过哪些文件、改过哪些函数、定过哪些接口约定它都记在本地会话里。适合谁适合那种一个需求要聊十几轮、跨天甚至跨周推进的开发者。问题也恰恰出在这——当你从台式机换到笔记本、从公司电脑换到家里电脑项目源码复制过去了Claude Code 却像换了个人之前的对话、记忆、文件编辑历史全都不认识一切从头再来。我试过最笨的办法把整个项目文件夹拷过去结果新电脑上claude一启动/context里 token 用量是空的按上箭头也翻不出历史。原因很简单Claude Code 的会话数据根本不在项目目录里而是集中存放在用户主目录下的~/.claude/。项目源码只是“身体”~/.claude/才是“记忆”。换机时只搬身体不搬记忆AI 自然失忆。这篇就围绕这个痛点把~/.claude目录结构、jsonl会话转录文件、cwd路径差异这三件事讲透交付一套可复制的目录迁移命令、jsonl路径修正配置以及验证会话恢复的具体动作。全程在终端里操作不需要任何额外工具小白照着敲也能完成。核心检索词先记住三个Claude Code、会话上下文迁移、~/.claude。2. 迁移前必须搞懂~/.claude 里到底存了什么动手之前先知己知彼。Claude Code 所有本地数据都在~/.claude/下结构大致如下~/.claude/ ├── projects/ # 最重要按项目路径存放对话记录 │ └── 编码后的项目路径/ │ ├── session-id.jsonl # 完整对话转录核心数据 │ └── memory/ # /memory 持久化的记忆 ├── sessions/ # 会话元数据pid、cwd、状态 │ └── pid.json ├── file-history/ # 文件编辑历史/diff 用 │ └── session-id/ ├── tasks/ # 任务追踪内部状态 │ └── session-id/ ├── settings.json # 用户全局设置 └── settings.local.json # 本地权限配置真正决定“能不能接上话”的是projects/编码路径/session-id.jsonl它逐行记录了每条消息。sessions/pid.json则保存了会话的工作目录cwd和sessionId用来把会话和项目关联起来。这里有个关键机制Claude Code 会把项目的绝对路径做一次编码作为projects/下的子目录名。规则是:和\都变成-非 ASCII 字符比如中文每个字符也变成一个-其余字符保留。举例旧电脑路径C:\Users\A\Desktop\挑战杯数据集会被编码成C--Users-A-Desktop-------。如果两台电脑用户名不同编码目录名就不同迁移时必须做目录重映射否则 Claude Code 根本找不到你的会话。注意jsonl是逐行 JSON一行一条消息不要用会重排格式的编辑器去“美化”它否则可能损坏转录。3. 前置准备在新电脑上把骨架搭起来迁移的目标机器上先确保 Claude Code 已安装并且至少运行过一次让它自动生成~/.claude/骨架。这一步不能省否则后面复制文件时目录不存在。# 安装后随便进一个目录启动一次 claude # 进入交互界面后输入 /exit 退出骨架就生成了退出后确认目录存在ls -la ~/.claude/ # 应该能看到 projects/ sessions/ settings.json 等如果你在迁移过程中需要调用模型接口做验证或者想把会话能力接到自己的脚本里可以提前准备一个 API Key。TaoToken 的控制台里能直接创建和管理密钥地址是https://taotoken.net/console创建入口在https://taotoken.net/api-keys。接口基址统一用https://taotoken.net/api注意这个地址不带任何查询参数。模型对话调试页在https://taotoken.net/model-chat接入文档在https://taotoken.net/doc需要长期跑编码任务或 Agent 的可以看https://taotoken.net/coding-plan。这些先备着迁移验证阶段可能用得上。4. 可复制配置路径不同场景下的完整迁移命令假设旧电脑路径是C:\Users\A\Desktop\挑战杯数据集新电脑路径是C:\Users\B\Desktop\挑战杯数据集用户名从 A 变成 B。下面所有命令在新电脑上执行A、B、SESSION_ID、PID都是占位符替换成你自己的真实值。4.1 计算新路径的编码名先算出新电脑项目路径对应的编码目录名python -c new_path rC:\Users\B\Desktop\挑战杯数据集 result [] for c in new_path: if c in :\\/*?\| or ord(c) 127: result.append(-) else: result.append(c) print(新编码名:, .join(result)) 输出类似新编码名: C--Users-B-Desktop-------把这个字符串记下来后面要用。4.2 迁移对话转录 jsonl核心把旧电脑~/.claude/projects/旧编码名/下的.jsonl复制到新电脑对应的新编码目录mkdir -p ~/.claude/projects/C--Users-B-Desktop-------/ cp /path/to/claude-migration/projects/OLD_ENCODED/SESSION_ID.jsonl \ ~/.claude/projects/C--Users-B-Desktop-------/如果旧目录下有memory/且不为空一并复制过去。4.3 迁移会话元数据并修正 cwd复制sessions/pid.json然后必须把里面的cwd改成新电脑的真实路径。手动改容易漏转义建议用脚本mkdir -p ~/.claude/sessions/ cp /path/to/claude-migration/sessions/PID.json ~/.claude/sessions/ python -c import json, os new_cwd rC:\Users\B\Desktop\挑战杯数据集 f os.path.expanduser(~/.claude/sessions/PID.json) with open(f, r, encodingutf-8) as fp: data json.load(fp) data[cwd] new_cwd with open(f, w, encodingutf-8) as fp: json.dump(data, fp, ensure_asciiFalse) print(cwd 已更新为:, new_cwd) cwd字段必须和实际项目路径完全一致包括盘符和大小写否则会话关联会失败。4.4 迁移 file-history 与 tasks建议但非必需这两个目录保留文件编辑历史和任务状态迁移后/diff和任务追踪更完整mkdir -p ~/.claude/file-history/SESSION_ID/ cp -r /path/to/claude-migration/file-history/SESSION_ID/* \ ~/.claude/file-history/SESSION_ID/ mkdir -p ~/.claude/tasks/SESSION_ID/ cp -r /path/to/claude-migration/tasks/SESSION_ID/* \ ~/.claude/tasks/SESSION_ID/4.5 复制项目源码把整个项目文件夹复制到新电脑的C:\Users\B\Desktop\挑战杯数据集确保和第 4.3 步里cwd写的路径一模一样。源码和会话数据对不上等于白迁。5. 验证请求确认会话真的接上了迁移完别急着写代码先验证。进入项目目录启动cd C:\Users\B\Desktop\挑战杯数据集 claude进入后输入/context看 token 用量是否和旧电脑一致。再按上箭头应该能翻出历史对话。如果历史没显示但 token 正常用强制恢复claude --resume想更直观地确认jsonl内容可以直接读文件头几行head -n 3 ~/.claude/projects/C--Users-B-Desktop-------/SESSION_ID.jsonl每行应该是一个完整的 JSON 对象包含role、content等字段。如果这里能正常解析说明转录文件本身没坏问题多半出在cwd或编码目录名上。如果你还想验证模型侧是否正常可以在 TaoToken 的模型对话页https://taotoken.net/model-chat发一条测试消息确认 Key 和接口都通。接口基址仍是https://taotoken.net/api。6. 本篇常见错排查启动后看不到历史但 token 用量正常。多半是终端渲染问题先试claude --resume。仍无效就检查sessions/PID.json里的cwd是否和实际路径逐字符一致尤其是盘符和中文目录名。提示 session 文件损坏。删掉~/.claude/sessions/PID.jsonClaude Code 会重建元数据jsonl转录不受影响。重启后重新关联即可。新电脑已有其他项目会话会冲突吗。不会。每个会话靠 PID 和 Session ID 独立区分PID.json不会覆盖别的文件。只要编码目录名不撞车就安全。编码目录名怎么确定。在旧电脑上看~/.claude/projects/下的目录名或者用第 4.1 步的脚本反推。迁移包里如果已经算好旧编码名你只需要关注新编码名。jsonl 复制过去但会话还是空的。检查是不是复制到了错误的编码目录。编码名差一个-都会导致 Claude Code 找不到建议用ls ~/.claude/projects/逐个核对。中文路径导致编码名一长串-。这是正常规则每个非 ASCII 字符对应一个-不用手动改脚本算出来是什么就用什么。7. 迁移之后把上下文能力沉淀下来会话迁移解决的是“接上话”但更稳的做法是别把关键信息只押在对话里。把架构决策、接口约定、目录规范写进项目根目录的CLAUDE.md任何一台电脑上的 Claude Code 一进项目就能读到比迁移jsonl更抗折腾。重要结论用/memory持久化跨会话依然有效。如果多台电脑能统一用户名和盘符编码目录名就一致迁移直接退化成复制~/.claude/省掉重映射这一步。定期备份也值得做tar -czf ~/claude-backup-$(date %Y%m%d).tar.gz -C ~/ .claude/需要把会话能力接到自动化脚本或长期编码任务里可以在https://taotoken.net/api-keys建好 Key接口基址用https://taotoken.net/api长期跑 Agent 的场景看https://taotoken.net/coding-plan接入细节在https://taotoken.net/doc。官网入口是https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content。迁移的本质就一句话复制~/.claude/里目标会话相关文件调整路径编码修正cwd启动验证。
企业数字化 ERP 产品动态
相关推荐
极简部署 OpenClaw 并接入飞书:用 TaoToken 统一 Key 打造专属 AI 助手 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 17:13:59
Maven 4 深度解析:可复现构建、缓存机制与迁移实战 做了这么多年 Java 后端,每次看到构建工具的更新日志,我心里都先打个问号:这又是加了新插件,还是又要我改配置?直到这次 Maven 4 的消息传开,我才真正有点坐不住了。距离 Maven 3 发布已经过去十五个年头&a… · 2026/9/26 17:13:52
朋友问我养龙虾(OpenClaw)有啥用?我给他看了这份 TaoToken 配置文件 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 17:13:52
长距离I2C扩展实战:LTC4331+瑞萨MCU把OLED放到30米外 1. 为什么要动“扩展I2C通信”这个念头1.1 I2C的老毛病:距离、电容、抗干扰I2C(Inter-Integrated Circuit)大概是嵌入式工程师最熟悉的通信协议之一:两根线(SDA、SCL)、一套标准帧格式、地址仲裁都替我们想… · 2026/9/26 19:07:26
Arm AGI服务器CPU与CRB系统级设计:从参考板到量产板的实战指南 上个月有个做AI基础设施的朋友问我:现在大家都聊AGI,大模型跑起来几百张GPU都嫌少,CPU还有啥好折腾的?我说这个问题恰恰问反了——真正决定AGI服务器能不能规模化落地的,从来不只是GPU单卡峰值,而是整个系统… · 2026/9/26 19:07:26
开放式Code Review落地指南:从异步审查流程到GitLab实践 1. 为什么要做代码审查:它不只是“挑毛病”做开发这些年,我见过太多团队把代码审查当成一种“形式主义”:合代码之前拉个群,喊一句“有人帮忙看下”,然后对方回一个“LGTM”,合并按钮一按,完事。… · 2026/9/26 19:07:19
沟通驱动型CRM:核心逻辑、选型要点与团队落地避坑指南 1. 从名字拆解DeskcommCRM:它瞄准的是哪一块市场空白第一次听到DeskcommCRM这个名字的时候,我脑子里其实弹了好几个问号。市面上叫CRM的产品太多了,有做销售流程的,有做会员运营的,还有专注售后工单的,光看… · 2026/9/26 19:07:13
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46