dsh-openclaw-memory:在 DSH 中延續 OpenClaw 的人設與記憶

前言

在 OpenClaw 裏,助手往往不只是一次對話的模型調用,而是圍繞工作區積累下來的身份、偏好、操作規則與長期記憶:SOUL.md、IDENTITY.md、USER.md、AGENTS.md、BOOTSTRAP.md、MEMORY.md 以及 memory/ 下的日記式記錄,共同構成可延續的上下文。若把部分工作流遷到 DeepSeek Harness(DSH),常見做法是再建一套記憶或做一次大導入,容易與原有工作區分叉、重複維護。

dsh-openclaw-memory 的定位是遷移時的「連續性層」:讓 DSH 直接讀取你已有的 OpenClaw 工作區,在可配置的上下文預算與隱私邊界內注入內容,並通過 DSH 原生 Sidebar 管理同一份 Markdown,而不是另起一套隱藏數據庫。維護者爲 GitHub 用戶 zzy-fxxxexxxyxxx;npm 包版本在倉庫 package.json 中爲 0.1.4(以你安裝時 registry 爲準)。社區目錄頁:SkillHub 插件條目;源碼與說明:GitHub 倉庫。

這是什麼

一句話:dsh-openclaw-memory 是 OpenClaw 與 DSH 之間的共享工作區橋接插件——同一套 Markdown 源文件,兩個客戶端可讀可寫(在插件允許範圍內),不強制複製或導入到第二套記憶系統。

README 中的關係可以概括爲:

OpenClaw workspace  ──┬──> OpenClaw
                      └──> dsh-openclaw-memory ──> DSH

One workspace. Two clients. No duplicate memory store.

面向對象主要是:當前使用 OpenClaw、正在把部分流程遷到 DSH,且希望保留同一身份、偏好、指令與已積累記憶的用戶。

核心功能

下面只列 README 與倉庫元數據中已寫明的能力。

共享工作區,無第二套記憶庫

將插件 root 指向你已在用的 OpenClaw 工作區。沒有導入嚮導、隱藏數據庫或自動文件遷移;文件留在原處,OpenClaw 與 DSH 以同一目錄爲事實來源(若兩者指向不同目錄,則不算共享,需單獨覈對)。

可配置的上下文注入與預覽

  • Bootstrap 文件:可獨立選擇是否納入 AGENTS.md、SOUL.md、IDENTITY.md、USER.md、BOOTSTRAP.md、MEMORY.md。
  • 每日記憶:可選納入近期 memory/YYYY-MM-DD.md,以及每天最多四個最新的 memory/YYYY-MM-DD-*.md。
  • 預算與截斷:支持按文件與總量設置字符上限;Injection Preview 可查看組裝後的快照、各文件佔用、截斷狀態,再決定是否依賴該上下文。
  • contextInjection 模式:
  • always:每次模型請求都組裝上下文;
  • continuation-skip:同一 agent 在源文件或相關配置未變時複用未改動的快照;
  • never:關閉面向模型的上下文注入與面向模型的搜索工具,profile 加載插件時仍可通過 Remote 訪問文件。
  • Sidebar:瀏覽頂層 Markdown 與 memory/ 樹,在源碼與渲染預覽間切換,編輯並保存;寫入限制在允許的工作區表面,並有樂觀版本校驗。
  • Memory search:通過 openclaw_memory_search 做有邊界的關鍵詞檢索。
  • Remote API:經 DSH Typert Remote 提供列表、讀取、搜索、預覽及衝突安全寫入;Settings / ConfigEditor 支持帶樂觀 revision 檢查的 live 配置更新。

安全邊界(默認)

插件刻意不是通用文件瀏覽器:默認排除類憑證文件名、JSON 產物、符號鏈接、絕對路徑與路徑穿越;共享工作區內容按數據處理,不高於 DSH 系統策略。includeCredentials: false 爲默認;includeCredentials: true 需顯式開啓(README 截斷處強調其爲 opt-in)。

安裝與啓用

在 DSH profile 中安裝已發佈插件:

dsh plugin --profile web add dsh-openclaw-memory

本地開發時可鏈接 checkout(路徑換成你的目錄):

dsh plugin --profile web add link:/path/to/dsh-openclaw-memory

安裝後,在 profile patch 中加入插件配置,或參考倉庫中的 cordis.patch.yml。示例片段如下(root 須改爲你自己的 OpenClaw 工作區路徑):

- id: openclaw-memory
  name: dsh-openclaw-memory
  config:
    root: /home/sunrise/.openclaw/workspace
    contextInjection: continuation-skip
    bootstrapFiles:
      - AGENTS.md
      - SOUL.md
      - IDENTITY.md
      - USER.md
      - BOOTSTRAP.md
      - MEMORY.md
    bootstrapMaxChars: 20000
    bootstrapTotalMaxChars: 60000
    userMaxChars: 4000
    dailyMemoryDays: 2
    dailyFileMaxBytes: 16384
    dailyFileMaxChars: 1200
    dailyTotalMaxChars: 2800
    includeDailyStartup: true
    timeZone: Asia/Shanghai
    includeCredentials: false
    maxFileChars: 200000

說明:dsh.client.platform 爲 web;bundle 通過 cordis.patch.yml 注入,與 --profile web 一致。

典型用法與遷移順序

README 建議的謹慎遷移步驟可復現如下:

  1. 保持現有 OpenClaw 工作區不變;變更生產配置前按你平時的流程備份。
  2. 在測試或獨立 DSH profile 安裝插件,root 指向已含 OpenClaw 身份與記憶文件的工作區。
  3. 先收窄共享範圍:只啓用打算共享的文件,並保持 includeCredentials: false。
  4. 打開 Injection Preview,覈對快照、預算與截斷,再開啓常規上下文注入。
  5. 逐步把流量切到 DSH,同時保留 OpenClaw,對照同一批文件驗證 DSH 回覆與 Sidebar 編輯行爲。

日常使用流程在文檔中概括爲:從 DSH 首頁進入插件入口 → 在 Sidebar 配置 handoff(共享根目錄、bootstrap 與每日記憶)→ 用 Injection Preview 覈對 DSH 實際收到的上下文 → 在 Sidebar 繼續維護同一工作區 Markdown。

插件不會修改 OpenClaw 的 agent 配置;OpenClaw 與 DSH 若指向不同 workspace 目錄,則不在共享同一事實來源。

適用場景與注意

適合:已在 OpenClaw 投入 persona / 偏好 / 規則 / memory/ 日記,並計劃與 DSH 並行或逐步切換,且希望「一份 Markdown、兩個客戶端」、上下文注入可預覽、可限量的場景。

注意:

  • DSH 插件以當前 DSH 進程的權限運行;安裝前請自行審閱 源碼與 LICENSE,確認 root 與配置項符合你的安全預期。
  • 社區目錄 SkillHub 是獨立站點,與 DeepSeek / 幻方無官方從屬關係;插件來自社區維護者,非官方應用商店內置項。
  • 配置項與默認值以倉庫 README 與 cordis.patch.yml 爲準;升級 npm 版本後建議重新對照文檔。

結尾

dsh-openclaw-memory 把 OpenClaw 工作區當作唯一源,在 DSH 側提供有界注入、預覽、Sidebar 編輯與 Remote,減輕「遷到 DSH 就要重搭記憶」的成本。目錄頁:https://www.skillhub.cn/plugins/zzy-fxxxexxxyxxx/dsh-openclaw-memory;倉庫:https://github.com/zzy-fxxxexxxyxxx/dsh-openclaw-memory。

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

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

小夜