资讯动态

opencode会话同步skill

发布时间:2026/8/8 5:03:02 来源:尧图企业网站定制
Session SyncOpenCode 会话同步工具 - 将会话导出保存到 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 TokenLinux/macOS:(Linux可以写入到.bashrc文件)# 使用 Gitee默认exportGITEE_TOKENyour-gitee-token# 或使用 GitHubexportGITHUB_TOKENyour-github-tokenexportOPENCODE_SYNC_PLATFORMgithubWindows (PowerShell):Windows可以通过环境变量设置# 使用 Gitee默认$env:GITEE_TOKEN your-gitee-token# 或使用 GitHub$env:GITHUB_TOKEN your-github-token$env:OPENCODE_SYNC_PLATFORM github获取 TokenGitHub: Settings → Developer settings → Personal access tokens → Tokens (classic)Gitee: 设置 → 私人令牌 → 生成新令牌只需勾选gist权限2. 配置 Gist ID方式一环境变量推荐Linux/macOS:exportOPENCODE_SYNC_GIST_IDyour-gist-idWindows (PowerShell):$env:OPENCODE_SYNC_GIST_ID your-gist-id方式二映射文件在项目根目录创建.session-gist.json{gist_id:your-gist-id,platform:gitee}获取 Gist ID访问 https://gitee.com 或 https://gist.github.com创建一个新的 Gist可以是空的从 URL 中复制 Gist ID例如URL:https://gist.github.com/username/abc123def456Gist ID:abc123def456使用方式上传会话Push将当前或指定的会话上传到 GistLinux/macOS:# 上传当前会话最近一个bash~/.config/opencode/skills/session-sync/scripts/sync.sh push# 上传指定会话bash~/.config/opencode/skills/session-sync/scripts/sync.sh push ses_xxxWindows:# 上传当前会话最近一个~/.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 pullprojectname-sessiontitle.jsonWindows:# 列出 Gist 中的所有会话文件~/.config/opencode/skills/session-sync/scripts/sync.ps1 pull# 恢复指定会话~/.config/opencode/skills/session-sync/scripts/sync.ps1 pullprojectname-sessiontitle.json恢复后使用以下命令继续会话opencode--continue# 或opencode--sessionsession-id列出现有会话Linux/macOS:bash~/.config/opencode/skills/session-sync/scripts/sync.sh listWindows:~/.config/opencode/skills/session-sync/scripts/sync.ps1 list工作流程示例场景一备份当前会话# 1. 配置环境变量exportGITEE_TOKENyour-tokenexportOPENCODE_SYNC_GIST_IDyour-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_TOKENyour-tokenexportOPENCODE_SYNC_GIST_IDyour-gist-id# 2. 列出可用的会话文件bashscripts/sync.sh pull# 输出# Gist 中可用的会话文件# 1. myproject-feature1.json# 2. myproject-bugfix.json# 3. 恢复指定会话bashscripts/sync.sh pullmyproject-feature1.json# 4. 继续会话opencode--continue场景三跨平台同步在 macOS 上上传exportGITEE_TOKENyour-tokenexportOPENCODE_SYNC_GIST_IDyour-gist-idbashscripts/sync.sh push在 Windows 上下载$env:GITEE_TOKEN your-token$env:OPENCODE_SYNC_GIST_ID your-gist-idscripts/sync.ps1 pullmyproject-session.json环境变量参考变量名必需默认值说明GITEE_TOKEN是*-Gitee API 令牌使用 Gitee 时GITHUB_TOKEN是*-GitHub API 令牌使用 GitHub 时OPENCODE_SYNC_PLATFORM否gitee平台选择gitee或githubOPENCODE_SYNC_GIST_ID否-Gist ID可选也可通过映射文件配置*使用对应平台时必需文件说明.session-gist.json保存在项目根目录记录该项目对应的 Gist ID 和平台信息。建议将其加入.gitignore。会话 JSON 文件上传时会自动命名为project-name-session-title.json。注意事项Gist ID 不会自动创建脚本永远不会自动创建新的 Gist必须由用户明确提供 Gist ID。会话 ID 自动添加导出时会自动添加id字段确保可以成功导入。项目隔离每个项目的 Gist 映射文件保存在各自的项目根目录互不干扰。平台选择默认使用 Gitee如需使用 GitHub请设置OPENCODE_SYNC_PLATFORMgithub。故障排除错误缺少 Token错误缺少 Token。请设置 GITHUB_TOKEN 或 GITEE_TOKEN 环境变量。解决按照前置配置步骤配置 API Token。错误未配置 Gist ID错误项目 xxx 未配置 Gist ID。解决按照配置 Gist ID步骤配置 Gist ID。错误Missing key at [“id”]解决此问题已在最新版本中修复。请确保使用最新版本的脚本导出时会自动添加id字段。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价