news 2026/5/8 21:28:28

opencode会话同步skill

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
opencode会话同步skill

Session Sync

OpenCode 会话同步工具 - 将会话导出保存到 GitHub/Gitee Gist,或从 Gist 拉取历史会话并导入本地。

仓库地址:skills: skill合集

功能特性

  • 📤上传会话:将当前或指定的 OpenCode 会话导出为 JSON,上传/更新到 Gist
  • 📥恢复会话:从 Gist 下载历史会话 JSON 并导入到当前项目
  • 🔧自动管理 Gist ID:每个项目独立管理自己的 Gist 映射,无需用户记忆
  • 🖥️跨平台支持:支持 Linux、macOS 和 Windows
  • 🔒安全可靠:Gist 默认为私有,保护您的会话内容

安装

全局安装(推荐)

# 复制session-sync到全局 skill 目录cp-rsession-sync ~/.config/opencode/skills/session-sync

项目本地安装

# 复制session-sync到项目本地 skill 目录cp-rsession-sync ./.opencode/skills/session-sync

目录结构

session-sync/ ├── SKILL.md # 技能说明文档(Agent 使用) ├── README.md # 本文件 └── scripts/ ├── sync.sh # Linux/macOS 同步脚本 └── sync.ps1 # Windows 同步脚本

前置配置

1. 配置 API Token

在使用前,需要配置 GitHub 或 Gitee 的 API Token:

Linux/macOS:(Linux可以写入到.bashrc文件)

# 使用 Gitee(默认)exportGITEE_TOKEN="your-gitee-token"# 或使用 GitHubexportGITHUB_TOKEN="your-github-token"exportOPENCODE_SYNC_PLATFORM="github"

Windows (PowerShell):(Windows可以通过环境变量设置)

# 使用 Gitee(默认)$env:GITEE_TOKEN ="your-gitee-token"# 或使用 GitHub$env:GITHUB_TOKEN ="your-github-token"$env:OPENCODE_SYNC_PLATFORM ="github"

💡获取 Token

  • GitHub: Settings → Developer settings → Personal access tokens → Tokens (classic)
  • Gitee: 设置 → 私人令牌 → 生成新令牌
  • 只需勾选gist权限

2. 配置 Gist ID

方式一:环境变量(推荐)

Linux/macOS:

exportOPENCODE_SYNC_GIST_ID="your-gist-id"

Windows (PowerShell):

$env:OPENCODE_SYNC_GIST_ID ="your-gist-id"

方式二:映射文件

在项目根目录创建.session-gist.json

{"gist_id":"your-gist-id","platform":"gitee"}

💡获取 Gist ID

  1. 访问 https://gitee.com 或 https://gist.github.com
  2. 创建一个新的 Gist(可以是空的)
  3. 从 URL 中复制 Gist ID,例如:
    • URL:https://gist.github.com/username/abc123def456
    • Gist ID:abc123def456

使用方式

上传会话(Push)

将当前或指定的会话上传到 Gist:

Linux/macOS:

# 上传当前会话(最近一个)bash~/.config/opencode/skills/session-sync/scripts/sync.sh push# 上传指定会话bash~/.config/opencode/skills/session-sync/scripts/sync.sh push ses_xxx

Windows:

# 上传当前会话(最近一个)~/.config/opencode/skills/session-sync/scripts/sync.ps1 push# 上传指定会话~/.config/opencode/skills/session-sync/scripts/sync.ps1 push ses_xxx

恢复会话(Pull)

从 Gist 下载并恢复会话:

Linux/macOS:

# 列出 Gist 中的所有会话文件bash~/.config/opencode/skills/session-sync/scripts/sync.sh pull# 恢复指定会话bash~/.config/opencode/skills/session-sync/scripts/sync.sh pull"projectname-sessiontitle.json"

Windows:

# 列出 Gist 中的所有会话文件~/.config/opencode/skills/session-sync/scripts/sync.ps1 pull# 恢复指定会话~/.config/opencode/skills/session-sync/scripts/sync.ps1 pull"projectname-sessiontitle.json"

恢复后,使用以下命令继续会话:

opencode--continue# 或opencode--session<session-id>

列出现有会话

Linux/macOS:

bash~/.config/opencode/skills/session-sync/scripts/sync.sh list

Windows:

~/.config/opencode/skills/session-sync/scripts/sync.ps1 list

工作流程示例

场景一:备份当前会话

# 1. 配置环境变量exportGITEE_TOKEN="your-token"exportOPENCODE_SYNC_GIST_ID="your-gist-id"# 2. 上传当前会话bashscripts/sync.sh push# 输出:# [session-sync] 项目: myproject# [session-sync] 正在导出会话: ses_xxx ...# [session-sync] 正在更新现有 Gist: abc123 ...# [session-sync] 已更新: https://gist.github.com/abc123

场景二:在新电脑上恢复会话

# 1. 配置环境变量exportGITEE_TOKEN="your-token"exportOPENCODE_SYNC_GIST_ID="your-gist-id"# 2. 列出可用的会话文件bashscripts/sync.sh pull# 输出:# Gist 中可用的会话文件:# 1. myproject-feature1.json# 2. myproject-bugfix.json# 3. 恢复指定会话bashscripts/sync.sh pull"myproject-feature1.json"# 4. 继续会话opencode--continue

场景三:跨平台同步

在 macOS 上上传:

exportGITEE_TOKEN="your-token"exportOPENCODE_SYNC_GIST_ID="your-gist-id"bashscripts/sync.sh push

在 Windows 上下载:

$env:GITEE_TOKEN ="your-token"$env:OPENCODE_SYNC_GIST_ID ="your-gist-id"scripts/sync.ps1 pull"myproject-session.json"

环境变量参考

变量名必需默认值说明
GITEE_TOKEN是*-Gitee API 令牌(使用 Gitee 时)
GITHUB_TOKEN是*-GitHub API 令牌(使用 GitHub 时)
OPENCODE_SYNC_PLATFORMgitee平台选择:giteegithub
OPENCODE_SYNC_GIST_ID-Gist ID(可选,也可通过映射文件配置)

*使用对应平台时必需

文件说明

  • .session-gist.json:保存在项目根目录,记录该项目对应的 Gist ID 和平台信息。建议将其加入.gitignore
  • 会话 JSON 文件:上传时会自动命名为<project-name>-<session-title>.json

注意事项

  1. Gist ID 不会自动创建:脚本永远不会自动创建新的 Gist,必须由用户明确提供 Gist ID。
  2. 会话 ID 自动添加:导出时会自动添加id字段,确保可以成功导入。
  3. 项目隔离:每个项目的 Gist 映射文件保存在各自的项目根目录,互不干扰。
  4. 平台选择:默认使用 Gitee,如需使用 GitHub,请设置OPENCODE_SYNC_PLATFORM=github

故障排除

错误:缺少 Token

错误:缺少 Token。请设置 GITHUB_TOKEN 或 GITEE_TOKEN 环境变量。

解决:按照前置配置步骤配置 API Token。

错误:未配置 Gist ID

错误:项目 'xxx' 未配置 Gist ID。

解决:按照配置 Gist ID步骤配置 Gist ID。

错误:Missing key at [“id”]

解决:此问题已在最新版本中修复。请确保使用最新版本的脚本,导出时会自动添加id字段。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/8 21:26:56

链表 双指针

1. 快慢指针&#xff08;起点不一致&#xff09; 起点不一致的快慢指针&#xff1a;快指针先走 n 步&#xff0c;然后两个指针同时移动&#xff0c;快指针到达末尾时&#xff0c;慢指针正好在目标位置。 初始化&#xff1a;两个指针 slow、fast 都指向头节点。快指针先行&#…

作者头像 李华
网站建设 2026/5/8 21:26:37

shellChatGPT:终端AI助手配置与实战指南

1. 项目概述&#xff1a;一个为终端而生的全能AI助手 如果你和我一样&#xff0c;是个常年泡在终端里的开发者、运维或者技术爱好者&#xff0c;那你肯定有过这样的体验&#xff1a;想快速问AI一个问题&#xff0c;或者让它帮你写段脚本&#xff0c;结果不得不离开心爱的命令行…

作者头像 李华
网站建设 2026/5/8 21:26:36

数据生成工具DATAGEN:从原理到实践,构建高质量测试数据

1. 项目概述&#xff1a;数据生成工具的深度解构最近在数据工程和机器学习社区里&#xff0c;一个名为“DATAGEN”的项目引起了我的注意。这个由starpig1129维护的开源工具&#xff0c;名字直白地指向了“数据生成”这个核心功能。在当今这个数据驱动的时代&#xff0c;无论是算…

作者头像 李华
网站建设 2026/5/8 21:19:32

高中化学资源合集(第三辑)

洋葱学院高中化学-人教版 文件大小: -内容特色: 人教版高中化学同步动画精讲&#xff0c;覆盖必修选修适用人群: 高一至高三学生及化学教师核心价值: 5分钟短视频拆解重难点&#xff0c;提分立竿见影下载链接: https://pan.quark.cn/s/87865ac82540 初高中化学火花学院&#…

作者头像 李华
网站建设 2026/5/8 21:09:49

Prompt工程实战:六大技巧提升AI指令效果,从模糊需求到精准输出

1. 从“会議の議事録を作ってください”到“要点を整理した議事録を作成してください”&#xff1a;Prompt工程的本质是信息增补如果你用过ChatGPT、Copilot或者任何一款大语言模型&#xff0c;大概率都经历过这样的挫败感&#xff1a;你满怀期待地输入一个指令&#xff0c;得到…

作者头像 李华
网站建设 2026/5/8 21:09:48

AlphaPy Pro:从Pipeline设计到实战的机器学习框架演进与量化应用

1. 项目概述&#xff1a;从AlphaPy到AlphaPy Pro的机器学习框架演进如果你在金融量化或者体育预测的圈子里混过一段时间&#xff0c;大概率听说过或者尝试过用机器学习模型来“猜”市场走势或比赛结果。这事儿听起来很酷&#xff0c;但真上手了就会发现&#xff0c;从数据清洗、…

作者头像 李华