前言¶
DeepSeek Harness (DSH) 通過插件機制擴展智能體的聯網能力。在處理 X (Twitter) 數據時,網頁抓取往往面臨鏈接失效、內容截斷或格式混亂的問題。dsh-x-archive 插件通過調用 2100laike X Archive (x.2100laike.com) 服務,將推文轉化爲永久可讀的 Markdown 快照。它解決了推文被刪除或設爲私密後無法訪問的痛點,併爲 Agent 提供了結構化的數據返回。
核心功能¶
該插件主要提供以下能力:
- 存檔與讀取:將 X 推文存檔爲永久 Markdown 快照,並支持直接檢索已存檔內容。
- 自動處理:對於未存檔的推文,插件會自動提交存檔請求(圖片通過 CDN 保留,即使原文刪除或設爲私密,存檔內容仍可訪問)。
- 去重與節流:已存檔的推文直接返回,去重命中時不消耗配額。
- 版本歷史:通過
refresh: true參數可強制重抓,獲取推文的最新版本。
安裝與啓用¶
安裝必須指定 --profile,插件按 profile 安裝。安裝後需重啓 dsh 進程(GUI 用戶)才能生效。
1、安裝插件:
# Web GUI 用戶
dsh plugin --profile web add github:opencamel/dsh-x-archive#v0.1.2
# 純 CLI 用戶
dsh plugin --profile headless add github:opencamel/dsh-x-archive#v0.1.2
2、驗證安裝:
dsh --profile <name> --dump-config | grep -A2 dsh-x-archive
# 預期輸出:
# # == dsh-x-archive
# - id: dsh-x-archive
# name: dsh-x-archive
配置¶
在 profile 的 cordis.patch.yml 中配置 API 地址、認證令牌及超時參數。
1、編輯配置文件:
路徑示例:~/.dsh/profiles/web/cordis.patch.yml(web 替換爲實際 profile 名稱)。
2、添加配置內容:
- insert:
- id: dsh-x-archive
name: dsh-x-archive
config:
apiBaseUrl: 'https://api.2100laike.com' # 存檔 API 地址
token: '' # 可選 PAT,見下方額度說明
waitTimeoutSec: 60 # 新推文抓取輪詢上限(秒)
pollIntervalSec: 2 # 輪詢間隔(秒)
maxContentChars: 30000 # 返回正文最大字符數,超出截斷並附快照鏈接
3、額度與認證:
* 匿名額度:8 次/天。
* 提升額度:在 app.2100laike.com/register 註冊並創建 PAT(scope 至少 api:write),填入配置中的 token,額度提升至 100 次/天。
* 刷新限制:解鎖 refresh: true 強制重抓需要配置 PAT,且受服務端 24 小時冷卻保護。
工具契約¶
調用 x_archive 工具時使用以下參數和返回值。
- 工具名稱:
x_archive - 參數:
url(string, 必填):X 推文鏈接。refresh(boolean, 可選,默認 false):是否強制刷新獲取最新版本。
- 返回值:
archive_id,url,title,author,version,fetched_at,deleted,refresh_skipped,snapshot_url,truncated,markdown,note。
錯誤與軟失敗¶
- 報錯:直接調用失敗時返回錯誤碼,如
RATE_LIMITED(額度耗盡)或FORCE_NOT_ALLOWED(未配置 PAT)。 - 軟失敗:某些情況不拋錯,通過
note字段提示:- 新推文抓取中:
note提示「抓取尚未完成」,稍後重試即可。 - 內容截斷:
truncated: true,需訪問snapshot_url查看全文。 - 推文不可用:
deleted: true或note提示稍後重試。
- 新推文抓取中:
適用場景與注意¶
- 環境依賴:需要
dsh >= 0.1.0-rc.6,且系統 PATH 中包含pnpm。 - 配置文件:僅編輯
cordis.patch.yml,不要修改cordis.yml(該文件由系統自動重寫)。 - 進程重啓:安裝或卸載插件後,必須重啓 dsh 進程(GUI 模式需重新運行
dsh web),插件纔會加載。 - 隱私與安全:插件只訪問配置的
apiBaseUrl,不讀取本地憑據,無遙測數據。