关于 copy-chat
copy-chat 是用于将对话复制到剪贴板的 Claude Code mod 和技能。它提供一键复制按钮,也支持在 mod 不可用时通过文字请求复制;转录内容不包含子 Agent 和工具输出。
主要功能
- 01通过提示区按钮复制对话
- 02通过技能响应复制请求
- 03剪贴板失败时输出文本
- 04包含发言者名称和本地时间
- 05省略子 Agent 和工具输出
适用场景
- 01复制 Claude Code 对话以便粘贴到其他位置
- 02mod 不可用时复制聊天记录
- 03剪贴板访问失败时获取转录文本
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jaygptpro/ context-mods --skill copy-chat安装后在 Claude Code 中输入/copy-chat确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.claude-plugin/plugin.jsonhooks/hooks.jsonpanel.tsregister.tsxthread.pytests/copy-chat.test.tsxtest_thread.py详细介绍
复制聊天记录
此文件夹包含一个 Claude Code 插件(.claude-plugin 和 hooks 文件夹):提示词上方的 Copy chat
按钮。Claude Code 会在每次新对话中自动加载它。按钮是主要使用方式。用户用文字提出要求时,或其 Claude
Code 版本无法运行插件时,此技能会执行相同的复制操作。请使用用户消息所用的语言回复。
复制对话
使用此技能文件夹中的脚本(加载此技能时显示的基础目录),并使用计算机上可用的 Python(优先使用 python3,否则使用 python):
python3 "<this skill's folder>/hooks/thread.py" "${CLAUDE_SESSION_ID}" "<the folder this conversation started in>"
- 第一个参数是此对话的 ID。如果收到的值未填充(字面文本
${CLAUDE_SESSION_ID}),请用--latest替代:选择该文件夹中最新的对话。 请用一行说明:如果同一文件夹中打开了多个对话,--latest可能会选中另一个对话。 - 第二个参数是此对话开始时的工作目录(来自环境信息),而不是你后来切换到的文件夹。
脚本会输出一行 JSON:
{"ok": true, "mine": N, "claude": N, "compacts": N}:已复制。告诉用户内容已复制到剪贴板,可以粘贴,并提供各项计数。"why": "no clipboard tool"或"the clipboard refused it":在末尾添加--print后再次运行,并将第一行之后的文本放入一个代码块中,供用户复制。"why": "nothing to copy yet"或"the conversation file was not found":用一行说明情况。
除非剪贴板复制失败,否则绝不要在回复中粘贴完整对话。
复制的内容
格式为 Dana (Oct 6 12:01): ... 和 Claude (12:03): ...。名称取自用户 Claude 账户名称的第一个词;如果没有,则使用“我”。时间采用此计算机的时区,第一条消息显示日期,跨日时也显示日期。图片显示为 [image]。子 Agent、工具输出、提醒和摘要均不包含在内。
按钮
提示词上方的 Copy chat 按钮可一键执行相同操作,并会通过通知告知复制了多少条消息。没有 Python 时,按钮会复制不带时间的消息。安装了此合集中的其他插件或 Smart PreCompact 后,此按钮会与它们显示在同一行。
停用:claude plugin disable copy-chat@skills-dir。移除:npx skills remove copy-chat -g。
新对话中没有按钮:此 Claude Code 版本尚不能运行插件;仍可通过文字提出要求。