dsh-migrate-codex: 安全遷移 Codex 環境的 DSH 插件

前言

智能體開發者在使用 DeepSeek Harness (DSH) 進行開發時,經常需要在不同的機器之間遷移 Codex 環境。手動複製代碼倉庫、配置文件和數據庫快照容易導致文件遺漏,甚至可能將敏感憑證(如 .git/config、SSH 密鑰)意外帶出或泄露。

dsh-migrate-codex 是一個 DSH 插件,它提供了一套標準化的流程,用於安全地打包、驗證和恢復 Codex 環境。它確保只遷移被授權的倉庫,並在傳輸過程中嚴格排除敏感信息。

插件概覽

  • 名稱:dsh-migrate-codex
  • 維護者:ChengxiuCDP
  • 分類:工作流
  • 許可證:MIT

安裝與啓用

在 DSH 的某個 Profile 下安裝該插件:

dsh plugin --profile <name> add <repo URL or npm package>

安裝後需要重啓該 Profile 以使功能生效。

核心能力

該插件提供以下命令行能力,以及一個配套的 Skill 用於指導代理理解工作流:

  1. 打包環境:/migrate-codex prepare <dir>
    將白名單中的倉庫和髒快照打包到一個目錄中。

  2. 驗證完整性:/migrate-codex verify <dir>
    檢查 SHA256SUMS 校驗和、Bundle 完整性以及憑證排除項是否符合安全規範。

  3. 恢復環境:/migrate-codex restore <dir>
    將打包的環境恢復到新機器上。如果目標路徑已存在,該命令會中止執行,避免覆蓋。

  4. 恢復單個工作樹:/migrate-codex restore-worktree <dir> <slug>
    按需重建某一個髒工作樹。

  5. 技能指導:Skill codex-migration
    代理可以通過該 Skill 學習完整的遷移工作流、安全紅線以及如何對齊 Codex 配置與 DeepSeek Harness。

使用示例

在 DSH 會話中,可以通過自然語言指令觸發流程,或直接調用命令:

# 1. 先進行驗證
/migrate-codex verify ~/Desktop/codex-migration

# 2. 驗證通過後執行恢復
/migrate-codex restore ~/Desktop/codex-migration

配置與自定義白名單

插件的發佈版本僅包含佔位符示例(如 example-primary)。開發者需要配置實際的白名單。

環境變量

  • CODEX_MIGRATE_TABLE:指定白名單文件的路徑。
  • CODEX_MIGRATE_MAIN_SLUG:指定包含工作樹的倉庫 Slug(默認爲 example-primary)。

白名單文件

在 bin/whitelist.local.tsv 文件中定義實際的白名單,該文件通常應被加入 .gitignore 以防止提交。

文件格式爲 TSV,每行包含四列:slug、role、source-path、required。

示例內容:

my-main-repo    primary ~/my-main-repo  yes

安全設計

該插件在設計上遵循以下安全原則:

  • 白名單機制:僅遷移被明確列入白名單的倉庫。
  • 零憑證泄露:Git bundles 僅傳輸提交歷史,絕不包含 .git/config,因此不會將遠程憑證帶出源機器。
  • 完整性校驗:所有文件傳輸後都會進行 SHA256SUMS 校驗。
  • 憑證排除:自動排除 auth.json、.env*、私鑰、證書和 SQLite 文件。
  • 冪等性與原子性:恢復操作如果目標存在則中止,且在失敗時不會留下半恢復狀態的文件系統。

注意事項

  • 該插件以當前 DSH 進程的權限運行,安裝前建議檢查源碼。
  • 恢復操作不會覆蓋已存在的目標目錄,確保操作的安全性。

總結

dsh-migrate-codex 解決了 Codex 環境跨機器遷移中的文件管理混亂和安全隱患問題。通過標準的 prepare-verify-restore 流程,開發者可以放心地在不同機器間同步開發環境。

插件目錄 | GitHub 倉庫

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜