Communitygithub.com

thisuxhq/dunsocial-skills

專為 DunSocial CLI 設計的代理技能,讓編碼代理可以直接排程與發布社群貼文。

dunsocial-skills 是什麼?

此技能讓 AI 代理(如 Claude Code、Cursor 或終端機環境)能夠透過 `dun` CLI 工具與 DunSocial 互動。它支援認證、工作區選擇、帳戶清單、貼文排程/發布、媒體上傳、草稿管理、記憶操作與討論串貼文等完整生命週期。技能文件明確區分互動式認證(瀏覽器授權)與無頭認證(使用 PAT 權杖),並要求優先使用 `--json` 旗標以取得機器可解析的輸出。關鍵注意事項包括:不可自行杜撰社羣帳號 ID、草稿並非成功發布、破壞性操作需加上 `--yes` 參數。支援的平臺包括任何可執行 `npx` 與 `npm` 的本地代理、終端機或 CI/CD 管道。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add thisuxhq/dunsocial-skills

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

DunSocial CLI

使用 npm 套件 dunsocial 中的 dun 二進位檔。

npm install -g dunsocial
npx dunsocial …

建議在每個指令都加上 --json,讓輸出可以機器解析。

遠端主機(ChatGPT web、Claude web)請持續使用 DunSocial MCP。此 CLI 是為本地代理、終端機和 CI 設計的。

環境變數可以覆蓋 ~/.config/dunsocial/config.json。

設定

永遠遵循:認證 → 選擇工作區 → 驗證 → 列出帳戶 → 動作。

請勿自行杜撰社羣帳號 ID。請勿將 drafts create 視為成功發布。

互動式認證

在瀏覽器中前往 app.dunsocial.com/cli/authorize 核准:

dun auth login

無頭認證(CI)

在應用程式的設定 → CLI 中建立 PAT(dun_pat_…),然後:

export DUN_TOKEN="dun_pat_…"
export DUN_API_URL=https://api.dunsocial.com

DUN_API_URL 為選填(預設為正式環境)。

PAT 規則:

  • 綁定到一個工作區;缺少作用域 → 退出碼 3 / 拒絕存取
  • 無法管理其他權杖、計費或團隊
  • 在 CI 中優先使用 PAT 而非瀏覽器工作階段權杖

工作區

互動式:

dun workspace list --json
dun workspace use <id-or-slug> --json

無頭(使用 PAT 時必須):

export DUN_WORKSPACE_ID="…"

驗證

dun auth status --json
dun workspace current --json

探索順序

  1. dun auth status --json
  2. dun workspace current --json(或 list + use)
  3. dun accounts list --json — 擷取社羣帳號 id
  4. 動作(排程 / 發布 / 草稿 / 媒體 / 記憶)

排程貼文

dun posts schedule \
  --text "從 DunSocial CLI 出貨。" \
  --accounts acc_x,acc_li \
  --in 1h \
  --json

絕對時間:--at 2026-06-01T09:00:00Z。

立即發布

dun posts publish --text "來自 dun 的問候" --accounts acc_x --json

媒體

先上傳,再附加回傳的資產 ID:

dun media upload ./shot.png --alt "產品截圖" --json
dun posts schedule --text "…" --accounts acc_x --media <assetId> --in 30m --json

草稿、記憶、討論串

dun drafts create --text "WIP" --platforms x,linkedin --json
dun memory collections list --json
dun memory save --collection <id> --text "…" --json
dun memory search --prompt "…" --collections <id> --json

討論串檔案格式:[{"content":"1"},{"content":"2"}]

dun posts schedule-thread --account acc_x --file ./thread.json --in 2h --json

破壞性操作

需要加上 --yes(或 CI=1)才能執行 delete。

退出碼

代碼意義
0成功
1用法錯誤
2認證錯誤
3拒絕存取 / 缺少作用域
4驗證錯誤
5找不到
6速率限制
7網路錯誤

失敗時的 JSON:

{
  "ok": false,
  "error": {
    "code": "validation",
    "message": "…",
    "details": null
  }
}

常見陷阱

  • 需要有工作區:workspace use、--workspace 或 DUN_WORKSPACE_ID
  • --accounts 預期的是 DunSocial 社羣帳號的 id,而非使用者名稱
  • 在附加之前,先使用 media upload 上傳本機檔案
  • 平台特定選項:必要時使用 --meta '{"reddit":{"…"}}'
  • MCP OAuth 與 CLI 權杖是不同的系統

說明

dun --help
dun posts --help

相關技能