DunSocial CLI
dun バイナリは npm パッケージ dunsocial から利用します。
npm install -g dunsocial
npx dunsocial …
すべてのコマンドで --json を推奨します。出力が機械可読になります。
リモートホスト(ChatGPT ウェブ版、Claude ウェブ版)では引き続き DunSocial MCP を使用してください。この CLI はローカルエージェント、ターミナル、CI 向けです。
環境変数は ~/.config/dunsocial/config.json より優先されます。
セットアップ
常に:認証 → ワークスペース選択 → 確認 → アカウント一覧 → アクション。
ソーシャルアカウント ID をでっち上げないでください。drafts create を公開成功とみなさないでください。
対話型認証
ブラウザで app.dunsocial.com/cli/authorize を承認します:
dun auth login
ヘッドレス認証 (CI)
アプリの Settings → CLI で PAT を作成(dun_pat_…)し、以下を設定します:
export DUN_TOKEN="dun_pat_…"
export DUN_API_URL=https://api.dunsocial.com
DUN_API_URL は省略可能です(デフォルトは本番環境)。
PAT のルール:
- 1 つのワークスペースにバインドされる。スコープ不足 → 終了コード
3/ forbidden - 他のトークン、課金、チームの管理は不可
- 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
発見順序
dun auth status --jsondun workspace current --json(またはlist+use)dun accounts list --json— ソーシャルアカウント id を取得- アクション(スケジュール / 公開 / 下書き / メディア / メモリ)
投稿をスケジュール
dun posts schedule \
--text "DunSocial CLI から出荷しました。" \
--accounts acc_x,acc_li \
--in 1h \
--json
絶対時間:--at 2026-06-01T09:00:00Z
即時公開
dun posts publish --text "Hello from 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 "作業中" --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
破壊的操作
delete には --yes(または CI=1)が必要です。
終了コード
| コード | 意味 |
|---|---|
| 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