jaxxchen003/foliodrop-dsh-publish:把智能體產出的內容發佈爲 FolioDrop 分享鏈接

前言

做智能體開發時常見一個收尾問題:agent 在會話裏寫好了一份 HTML 頁面、Markdown 文檔或一段代碼演示,你想發給別人看,卻沒有現成渠道——手動複製粘貼、自己起服務、或者丟給通用網盤,都要多一步,而且內容一經發出就脫離了確認流程。DSH 的理念是「一切皆插件」,這類外部發布能力正適合以插件形式掛載,而不是寫死在覈心裏。下面介紹的 foliodrop-dsh-publish 就是做這件事的:在 DeepSeek Harness 裏連接 FolioDrop 賬號,把經過你確認的內容發佈成一個可分享的 URL。

這是什麼

jaxxchen003/foliodrop-dsh-publish 是由 jaxxchen003 維護的 DeepSeek Harness 插件,當前版本 v0.2.0,以 MIT License 分發。它註冊 foliodrop_connect 和 foliodrop_publish 兩個工具:前者把 FolioDrop 賬號接入 Harness 的憑證層,後者把用戶確認過的內容發佈爲穩定 URL。

範圍上它是 HTML-first 的:不是通用二進制文件託管,也不讀取任意本地路徑。

核心功能

發佈與格式轉換

  • 完整 HTML 直接發佈,不做改寫;
  • Markdown、文本、JSON、代碼、SVG 會被轉換爲便攜的自包含 HTML 頁面;
  • 不讀取任意本地路徑,也不定位爲通用文件託管。

授權與憑證

插件通過 loopback 回調、公開 OAuth 客戶端註冊(DCR)、PKCE S256 完成 FolioDrop 授權,換取一個長期的 DeepSeek Harness connection key,並通過 ctx.credentials.set 寫入 FOLIODROP_API_KEY。發佈源固定爲 https://foliodrop.app,憑證不會發送到操作者配置的主機。重連時會輪換舊的 connection key。

確認機制與搜索索引

因爲發佈會上傳內容並創建外部可訪問的 URL,每次發佈前插件都會使用 Harness 的問題 UI 做最終確認,即使在 Full access 權限預設下也不會被跳過。搜索索引默認關閉,需要通過 search_indexing_consent 顯式同意。

成功輸出

一次成功發佈會包含:FolioDrop 作品 id、slug、絕對分享 URL、可見性、轉換格式、字節大小,以及固定來源標註 DeepSeek Harness。

失敗恢復

容量不足或付費能力失敗時,插件會提供 FolioDrop 升級與作品管理的恢復路徑,並在用戶明確確認後重試一次相同載荷。

安裝與啓用

先安裝插件,再驗證配置:

dsh plugin --profile web add github:jaxxchen003/foliodrop-dsh-publish#v0.2.0
dsh --profile web --dump-config

第一條命令從 GitHub 安裝 v0.2.0 標籤對應的插件源碼,第二條確認插件已正確編入配置。注意:rc.6 的 profile 安裝器可能報 @deepseek-ai/dsh-tools 缺少 peer 的警告,判斷安裝是否成功應以 --dump-config 的組合結果和一次真實運行啓動爲準,而不是安裝命令的退出碼。

典型用法

連接 FolioDrop 賬號

Connect my FolioDrop account.

插件會啓動 loopback 回調、註冊公開 OAuth 客戶端、打開一次性的 FolioDrop 登錄授權鏈接,完成 PKCE S256 校驗後換取長期 connection key 並寫入憑證層。如果瀏覽器沒有自動打開,Harness 的問題 UI 會顯示確切的一次性授權鏈接,可以手動打開或複製。

發佈內容

Publish this Markdown release note to FolioDrop as a visible work. Do not allow search indexing. Return the share URL.

工具接受的參數:content、content_type、title、description、可選代碼 language、visibility(默認 visible,可選 hidden)、search_indexing_consent、可選 source_model。發佈前的確認環節允許你保留提議的設置、把可見作品改爲隱藏、關閉搜索索引同意,或直接取消。

手動個人 key 作爲高級後備

export FOLIODROP_API_KEY='fd_...'
dsh --profile web

環境變量提供的 key 爲只讀;使用自動重連前需移除或替換該環境值。

兼容性與注意事項

  • 本版本針對 DeepSeek Harness 0.1.0-rc.6 測試。Harness 處於 developer preview,升級後需重新驗證全部五個集成接縫:defineTool 註冊與輸出校驗、ctx.credentials.resolve/set('FOLIODROP_API_KEY')、ctx.userQuestions.ask(...)(連接與發佈確認)、loopback OAuth 回調 / DCR / PKCE / token 交換、無 question provider 時 fail closed。
  • Node 引擎要求 ^22.19.0 || >=24.0.0,依賴 @deepseek-ai/dsh-tools 0.1.0-rc.6。
  • 包爲純 ESM JavaScript,安裝不執行 prepare 或其他生命週期構建腳本。
  • 錯誤信息永不包含 API key 或內容正文。
  • 許可方面,插件包以 MIT License 分發;該包內許可不改變此目錄外 FolioDrop 應用的許可證。

最後提醒一點:插件以當前 dsh 進程的權限運行,安裝前應檢查源碼與許可證,確認範圍符合你的預期。

適用場景

如果你已經在用 DSH,需要把 agent 生成的 HTML、Markdown、代碼演示等產物變成一個可分享鏈接,並且希望保留髮布前的人工確認、默認不進搜索索引、把發佈源固定在單一站點而不是交給 agent 自由選主機,這個插件是合適的選擇。反過來,如果你需要的是任意文件託管或本地路徑上傳,它明確不做這兩件事。

結尾

經過上面的步驟,agent 的產出就能在一個受控流程內變成穩定 URL:連接一次賬號,之後每次發佈都經過確認、輸出可追蹤的分享鏈接。項目主頁與目錄頁如下:

  • GitHub:https://github.com/jaxxchen003/foliodrop-dsh-publish
  • 目錄頁:https://www.skillhub.cn/plugins/jaxxchen003/foliodrop-dsh-publish

其中目錄頁是獨立的社區站點,與 DeepSeek / 幻方無官方從屬關係,插件信息請以 GitHub 倉庫爲準。

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

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

小夜