跳到主要内容
    ↑↓ 选择↵ 打开esc 关闭
    sim590

    Session Migrate

    opencode-session-migrate·v0.2.1·界面与主题

    opencode TUI plugin to migrate (re-parent) sessions across projects and rescue orphaned sessions

    GitHub 星标

    4

    近 30 天 +2

    月装机量

    74

    近 7 天 13

    综合评分

    38.6

    生态多维模型

    最近提交

    1 个月前

    2026-08-25

    快速安装与配置

    opencode.json

    写入当前项目的 opencode.json,只对这个仓库生效。

    opencode.json

    {
      "$schema": "https://opencode.ai/config.json",
      "plugin": ["opencode-session-migrate@0.2.1"]
    }

    OpenCode 启动时会通过内嵌运行时自动加载 npm 依赖并缓存至本地目录,无需手动在全局环境执行安装。

    A opencode TUI plugin to migrate sessions between projects and rescue orphaned sessions.

    Features

    • List sessions across all projects, not just the current one.
    • Detect orphaned sessions (directory no longer exists on disk, or a global session whose directory lives inside a known project worktree).
    • Migrate a session to another project, worktree, or your home directory.
    • Migrate child (forked) sessions along with the parent.

    Requirements

    • opencode >=1.18.0 (TUI plugin API)

    Installation

    npm

    opencode plugin -g opencode-session-migrate
    

    Or add it to your tui.json:

    {
      "$schema": "https://opencode.ai/tui.json",
      "plugin": ["opencode-session-migrate"]
    }
    

    Local path

    Point directly at the plugin file:

    {
      "$schema": "https://opencode.ai/tui.json",
      "plugin": [
        ["/path/to/opencode-session-migrate/src/index.tsx", { "keybind": "ctrl+o" }]
      ]
    }
    

    Restart opencode after changing your config.

    Usage

    • Press ctrl+o anywhere, or run /migrate (or find "Migrate sessions" in the command palette).
    • Pick a session, then a destination: the current project, your home directory, or any other project.

    Options

    Option Type Default Description
    enabled boolean true Set to false to disable the plugin.
    keybind string "ctrl+o" Key binding that opens the migrate dialog.
    debug boolean false Write debug logs to /tmp/opencode-session-migrate.log.

    How it works

    • Orphans are detected client-side by checking whether each session's directory still exists on disk, or whether a global session's directory lives inside a known project worktree.
    • Migration updates project_id and directory (and clears path/workspace_id) directly in the opencode SQLite database, including child sessions.

    Limitations

    • Migration writes straight to the database, bypassing opencode's event system. The built-in session list may stay stale until a resync or restart; the plugin re-lists correctly on its own.
    • The ctrl+o hint does not appear in the built-in session list footer (the plugin API does not allow extending it). Use the command palette or /migrate if you forget the binding.

    License

    MIT

    同类生态推荐