ForeSight:DeepSeek Harness 時序長期記憶插件

前言

在 DeepSeek Harness (DSH) 的開發實踐中,長期記憶往往被當作靜態數據集處理,容易導致“陳舊注入”(已結束的項目仍佔據上下文預算)或“有效時間丟失”(無法記錄事實何時爲真或失效)。ForeSight 旨在將記憶視爲具有明確時序語義的調度數據,通過生命週期管理機制,解決上述問題。

插件定位

ForeSight 是一個爲 DeepSeek Harness (DSH) 提供時序方面長期記憶的插件。它不依賴硬編碼行爲,而是通過可配置的策略文件來驅動記憶的衰減、注入和衝突解決。

核心功能

ForeSight 的核心設計基於語言學中的“體”與“錨”兩個維度:

  1. 體:控制記憶的生命週期階段,如進行體(持續進行,會過期)、完成體(已結束,永久)、未然體(待驗證)和恆常體(恆常事實,如用戶偏好)。
  2. 錨:定義事實爲真的時間範圍,如時間點、時間區間、開放區間或無時間限制。
  3. 生命週期管理:自動執行衰減(錨點過期)、TTL 回退、續期提醒、前瞻性審查和預測驗證。
  4. 衝突解決:提供保守/激進兩種旋鈕(β),基於證據進行衝突裁決。
  5. 架構特性:代理無關設計,支持可插拔的嵌入和 LLM 服務,使用 SQLite 向量存儲。

安裝與啓用

安裝需在 DSH 的 profile 目錄下執行:

# 在 ~/.dsh/profiles/<name>/ 目錄下
pnpm add @foresight/memory

啓用時,需在 cordis.patch.yml 中配置插件並指定數據根目錄、嵌入服務和數據庫文件:

# cordis.patch.yml (profile-level)
- id: foresight-core
  config:
    memoryRoot: '<your data directory>'   # 例如 /home/you/.config/foresight
    dbFile: 'foresight.db'
    embedBaseUrl: 'http://localhost:11434'
    embedModel: 'nomic-embed-text-v2-moe'

配置與數據目錄

數據存儲在本地目錄,不在倉庫中。目錄結構如下:

<memoryRoot>/
├── SOUL.md          # 個性設定(需複製 templates/SOUL.md.example)
├── user.md          # 用戶檔案(需複製 templates/user.md.example)
├── policy.yaml      # 策略配置(需複製 templates/policy.yaml.example)
└── foresight.db     # SQLite 向量存儲(自動創建)

首次運行前,需手動複製模板並調整配置:

mkdir -p ~/.config/foresight
cp templates/SOUL.md.example  ~/.config/foresight/SOUL.md
cp templates/user.md.example  ~/.config/foresight/user.md
cp templates/policy.yaml.example ~/.config/foresight/policy.yaml

配置優先級爲:顯式選項 > 環境變量 > policy.yaml > 默認值。

注意事項

  1. 實驗性狀態:插件目前處於實驗性狀態,分類法、策略模型和機制正在積極修訂。
  2. 依賴要求:需要 Node.js ≥ 20,以及安裝了 cordis 插件系統的 DeepSeek Harness (dsh)。
  3. 默認嵌入服務:默認使用本地 Ollama,模型爲 nomic-embed-text-v2-moe。
  4. 權限與數據:插件會創建目錄但不會靜默寫入策略文件,需手動複製模板。

結語

ForeSight 通過將記憶管理從 Prompt 工程轉向數據管理,爲 DSH Agent 提供了可控的長期記憶方案。其基於體和錨的時序語義設計,有助於在保持上下文相關性時過濾過期信息。

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

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

小夜