1. 先搞清楚 Claude Code 到底把会话写到了哪里Claude Code 的会话记录也就是 transcript默认会以 JSONL 格式落在本地磁盘上。默认路径是~/.claude/projects/project/session-id.jsonl。这里的project不是仓库名而是由当前工作目录路径派生出来的Claude Code 会把路径里的非字母数字字符替换成-。session-id则是本次会话的唯一标识。这个文件里每一行都是一个独立的 JSON 对象可能是一条用户消息可能是一次工具调用也可能是一条元数据记录。官方明确提醒过这个条目格式属于 Claude Code 内部格式会随版本变化所以直接写脚本解析 JSONL 随时可能在升级后失效。更稳妥的做法是用/export导出人类可读的会话或者用claude -p --output-format json这类结构化接口拿结果。对工程团队来说真正要解决的问题不是「文件在哪」而是三件事多台开发机的历史记录怎么统一管理、敏感项目的会话要不要落盘、CI 或脚本任务怎么避免污染本地历史。这篇就围绕CLAUDE_CONFIG_DIR、cleanupPeriodDays、CLAUDE_CODE_SKIP_PROMPT_HISTORY三个配置项给出一套可复制的配置骨架和三类验证动作。2. 前置准备确认版本、目录与配置入口在动手改配置之前先把当前环境摸清楚。Claude Code 的配置分两层项目级的.claude/settings.json和用户级的~/.claude/settings.json。会话记录、插件、缓存这些属于用户级数据默认都在~/.claude下面。Windows 上~/.claude会解析到%USERPROFILE%\.claude。先确认版本和默认目录claude --version ls -la ~/.claude ls -la ~/.claude/projects如果projects目录还不存在说明你还没在这个用户下跑过会话或者已经通过CLAUDE_CONFIG_DIR把数据挪走了。接着确认当前 shell 里有没有相关环境变量env | grep -E CLAUDE_CONFIG_DIR|CLAUDE_CODE_SKIP_PROMPT_HISTORY这一步很关键。很多团队排查「session 找不到」时最后发现是某台机器上有人设了CLAUDE_CONFIG_DIR数据写到了另一个目录而文档里只写了默认路径。如果你打算把会话数据纳入团队统一管理建议先规划好目录结构。比如按账号或按项目风险等级分目录而不是所有机器都往默认 home 里塞。下面这套骨架可以直接抄。3. 可复制配置骨架三个开关怎么配3.1 CLAUDE_CONFIG_DIR把数据根目录搬到你指定的位置CLAUDE_CONFIG_DIR用来覆盖默认的~/.claude。设置之后settings、session history、plugins 都会落到这个路径下。Linux 和 Windows 上 credentials 也会在该路径下macOS 上 credentials 在系统 Keychain。在 shell 配置文件里加一行比如~/.bashrc或~/.zshrcexport CLAUDE_CONFIG_DIR$HOME/.claude-work如果你要区分工作账号和个人账号可以用 alias 隔离alias claude-workCLAUDE_CONFIG_DIR$HOME/.claude-work claude alias claude-personalCLAUDE_CONFIG_DIR$HOME/.claude-personal claude容器或 CI 场景里直接指向临时目录任务结束整体销毁export CLAUDE_CONFIG_DIR/tmp/claude-run-$(date %s)注意目录搬走以后所有依赖默认~/.claude的习惯都会失效。团队文档必须写清楚实际配置否则排查 session 丢失会浪费大量时间。3.2 cleanupPeriodDays控制本地保留周期Claude Code 默认保留本地 session transcript 30 天。这个周期通过settings.json里的cleanupPeriodDays调整默认 30最小 1设置为 0 会触发校验错误。启动时 Claude Code 会删除超过该周期的 session 文件这个设置还会影响孤儿 subagent worktree 的自动清理年龄。在用户级~/.claude/settings.json里写{ cleanupPeriodDays: 14 }按项目风险分层时可以这样考虑普通学习项目保留 30 天方便回看几周前的改动生产系统、客户私有化交付项目设短一点比如 7 天长期研究型项目想留久一点但要同步评估磁盘占用和敏感信息暴露。3.3 CLAUDE_CODE_SKIP_PROMPT_HISTORY从源头不写盘把CLAUDE_CODE_SKIP_PROMPT_HISTORY设为1后Claude Code 会跳过 prompt history 和 session transcripts 的磁盘写入。用这个变量启动的 session 不会出现在--resume、--continue或上箭头历史里适合短生命周期脚本 session。export CLAUDE_CODE_SKIP_PROMPT_HISTORY1如果只是某一次非交互运行不想写 session可以在claude -p场景下用--no-session-persistenceclaude -p 分析这段错误日志 --no-session-persistence环境变量像总闸CLI flag 像本次任务的开关。交互式开发默认保留批处理任务默认不保留带敏感输入的任务不保留。4. 三类验证动作定位、清理、跳过写入4.1 验证定位确认 session 文件真的写到了预期目录跑一次交互式会话随便问一句然后退出。接着定位文件find $CLAUDE_CONFIG_DIR/projects -name *.jsonl -newermt -5 minutes如果没有设CLAUDE_CONFIG_DIR就把变量换成$HOME/.claude。找到文件后看一眼结构head -n 3 /path/to/session-id.jsonl | jq -c keys你会看到每行是一个 JSON 对象字段随版本变化。这一步只用来确认写入位置不要把它当成稳定接口去解析。4.2 验证清理确认 cleanupPeriodDays 生效先手动造一个「过期」文件来验证清理逻辑比等 30 天现实得多。把某个旧 session 文件的修改时间改到 40 天前touch -d 40 days ago /path/to/session-id.jsonl然后启动一次 Claude Code再检查文件是否被删除ls -la /path/to/session-id.jsonl如果cleanupPeriodDays设为 14这个 40 天前的文件应该被清掉。如果没被清掉先确认你改的是不是当前CLAUDE_CONFIG_DIR下的文件以及 settings.json 是否被正确加载。4.3 验证跳过写入确认敏感任务没有落盘用CLAUDE_CODE_SKIP_PROMPT_HISTORY1跑一次非交互任务CLAUDE_CODE_SKIP_PROMPT_HISTORY1 claude -p 输出当前目录名 --output-format json记下执行前后的文件数量find $CLAUDE_CONFIG_DIR/projects -name *.jsonl | wc -l对比两次数量如果没有新增说明跳过写入生效。再用--no-session-persistence单独验证一次 CLI flag 的效果确认两种方式都能阻止本次写入。5. 本篇常见错排查报错一cleanupPeriodDays设为 0 后启动报校验错误。这个值最小是 10 不合法。想彻底不保留历史应该用CLAUDE_CODE_SKIP_PROMPT_HISTORY或--no-session-persistence而不是把清理周期设成 0。报错二设了CLAUDE_CONFIG_DIR但--resume找不到历史。大概率是启动 Claude Code 时环境变量没生效或者不同终端里变量值不一致。用env | grep CLAUDE_CONFIG_DIR确认再检查projects目录下有没有对应 project key。报错三脚本解析 JSONL 在升级后字段对不上。这是预期行为。entry format 是内部格式会随版本变化。自动化流程应该改用claude -p --output-format json或stream-json需要逐条事件时读 hooks 或 status line 输入里的transcript_path。报错四以为删了 UI 历史就等于清了本地文件。本地 transcript 有自己的路径和保留周期默认明文保留 30 天。安全清单里要单独列这一项不能只依赖界面操作。报错五CI 里跑了 Claude Code本地历史被污染。在 CI 脚本里默认加上--no-session-persistence或者整个 job 设CLAUDE_CODE_SKIP_PROMPT_HISTORY1。需要审计时再单独保留并配合cleanupPeriodDays控制周期。6. 把会话管理接进你的日常工具链配置改完之后建议把验证动作固化成团队脚本而不是靠记忆。比如在仓库里放一个scripts/check-claude-session.sh每次环境变更后跑一遍确认目录、保留周期、跳过写入三个开关都符合预期。如果你需要统一管理多台开发机的 API 访问和密钥可以在 TaoToken 的 API Keys 页面集中生成和管理密钥接入文档里有各语言的最小示例方便把 Claude Code 的调用接到现有工具链里。想先验证模型行为再决定怎么配可以直接在模型对话里试一轮长期做编码和 Agent 任务的团队可以看 Coding Plan 的额度与协作方式。把会话记录治理和密钥管理放在同一套流程里后面排查问题会省很多事。
企业数字化 ERP 产品动态
相关推荐
从 PyTorch 模型到多设备本地推理:OpenVINO 快速上手指南 从 PyTorch 模型到多设备本地推理:OpenVINO 快速上手指南 【免费下载链接】openvino OpenVINO™ is an open source toolkit for optimizing and deploying AI inference 项目地址: https://gitcode.com/GitHub_Trending/op/openvino
OpenVINO 是 Intel 开源… · 2026/9/25 17:54:33
手写ReAct循环:不靠框架,用while循环搭建Agent推理核心 还在纠结要不要给项目引入 Agent 的时候,我第一个跳出来的念头就是:别给项目加一堆东西,先把你头脑里的推理过程翻译成一个循环。ReAct 这个名字一旦出现,网上搜出来的全是框架、库、Agent 中间件,搞得人以为这是什么重… · 2026/9/25 17:54:09
YOLOV5自动驾驶小车8类交通指示牌数据集与训练部署实践 简介:面向智能小车赛道自动驾驶场景,提供了一套已标注的交通指示牌目标检测数据集,按YOLOv5目录格式整理完毕,可直接用于模型训练和验证,免去自行采集与标注图像的繁琐过程。整套压缩包共2000个文件,以txt标… · 2026/9/25 17:54:03
【WPF-VisionMaster】机器视觉通用平台V5.0版本发行说明 机器视觉通用平台V5.0版本发行说明地址
了解更多
System.Windows.Controls 命名空间 | Microsoft Learn
控件库 - WPF .NET Framework | Microsoft Learn
WPF 介绍 | Microsoft Learn
使用 Visual Studio 创建新应用教程 - WPF .NET | Microsoft Learn
https://github.co… · 2026/9/25 18:25:52
只用一个问题训练几百步,模型居然还在变强:一篇论文的意外发现 先说一件让人有点摸不着头脑的事。有研究团队拿出一个数学题,就一道题,反复喂给模型训练了上千步。按常理这事儿应该很快就练废了,一道题能有多少信息量?可结果是,模型的准确率一路涨,涨到接近用全部一万七千道题训练出来的效果的七成二。这不是巧合,也… · 2026/9/25 18:25:34
Atlas 300V 24G实战:从NPU选型到YOLO生产级部署 刚拿到Atlas 300V 24G这块卡的时候,我第一反应也是——这不就是一块显存比较大的“图像处理卡”吗?直到把YOLO模型完整跑完一遍,才真正搞明白它和普通GPU加速卡的区别。这篇文章不整虚的,就围绕两个实际问题展开:Atlas… · 2026/9/25 18:25:34
小模型能当裁判吗?一场关于强化学习奖励成本的实验 先问你一个问题。如果你要训练一个AI模型写深度研究报告,怎么判断它写得好不好?数学题有标准答案,代码题能跑测试用例,可一篇论文该不该给9分还是7分,谁说了算?过去几年,大模型圈子里流行的做法… · 2026/9/25 18:25:27
数据闭环分层抽帧策略从 TB 级采集数据中提取高价值帧:三道成本闸门 上一篇讲完了挖掘平台的架构骨架,从这篇开始填血肉。平台拿到采集数据后做的第一件事是「抽帧」——把视频形态的 clip 变成一张张图片。为什么必须做这一步?因为下游所有能力都是「认图不认视频」的:VLM 推理要喂图片,Embedding … · 2026/9/25 18:25:27
Atlas 300V 24G推理卡实战:从CANN环境搭建到YOLOv5模型部署全流程 先给结论:Atlas 300V 24G确实是一张“运算加速卡”,但你要是拿它当普通图形卡用,就完全理解偏了。它是一张面向AI推理场景的加速卡,最近“atlas部署yolo”这么热,主要还是因为这卡性价比够看、国产化适配到位ÿ… · 2026/9/25 18:25:27
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37