mcpField
C
copy-chat

copy-chat

github.com/jaygptpro生产力016 次安装3 天前更新
代码仓库

关于 copy-chat

copy-chat 是用于将对话复制到剪贴板的 Claude Code mod 和技能。它提供一键复制按钮,也支持在 mod 不可用时通过文字请求复制;转录内容不包含子 Agent 和工具输出。

主要功能

  1. 01通过提示区按钮复制对话
  2. 02通过技能响应复制请求
  3. 03剪贴板失败时输出文本
  4. 04包含发言者名称和本地时间
  5. 05省略子 Agent 和工具输出

适用场景

  1. 01复制 Claude Code 对话以便粘贴到其他位置
  2. 02mod 不可用时复制聊天记录
  3. 03剪贴板访问失败时获取转录文本

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jaygptpro/context-mods --skill copy-chat

安装后在 Claude Code 中输入/copy-chat确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.claude-plugin/
plugin.json
hooks/
hooks.json
panel.ts
register.tsx
thread.py
tests/
copy-chat.test.tsx
test_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 版本尚不能运行插件;仍可通过文字提出要求。

评论

支持 Markdown