# DSH 大肥魚（ビッグフィッシュ）

出典: https://docs.aicentos.com/ja/clients/dsh

Language: ja

> DeepSeek Harness（DSH）に aicentos のモデルを接続し、B 站と抖音を自分で巡回する大肥魚を飼い、QQ グループにも迎え入れる

DSH（DeepSeek Harness）は DeepSeek がオープンソースで公開している Agent フレームワークです。デスクトップ版の DSH Desktop は、ランタイム・プラグイン・セッションを 1 つのインストーラーにまとめています。「大肥魚」はコミュニティ製プラグイン `dsh-bili-whale` の通称で、生活リズムに従って自分で目を覚まし、B 站を見て回り、動画を理解し、2 冊の日記を書き、見る価値のあるものを @ で知らせてくれる AI の魚です。

本ページは 4 部構成です。まず DSH のモデルを aicentos に接続し、次に B 站の大肥魚、続いて抖音版、最後に公式プラグインで QQ の DM とグループにつなぎます。プラグインはそれぞれコミュニティとテンセントが保守しており、B 站・抖音・DeepSeek 公式とは関係ありません。

## 準備

| 項目               | 要件  | 説明                                                        |
| ---------------- | --- | --------------------------------------------------------- |
| DSH Desktop      | 必須  | 公式サイトから macOS / Windows のインストーラーを取得。ランタイム同梱               |
| Node.js          | 18+ | コマンドラインで DSH を起動する場合のみ必要。プラグインのツール群は `.mjs` で実際の node が必要 |
| ffmpeg           | 任意  | 「フレーム抽出して画面を見る」機能のみで使用。無くても字幕・弾幕・人気コメントで理解できる             |
| B 站アカウント         | 1 つ | 大肥魚自身が使うアカウント。ログイン後に cookie を取得。サブアカウント推奨                 |
| aicentos API Key | 1 つ | 専用 Key（`dsh` など）を作成するとプロジェクト別に使用量を追跡しやすい                  |

* コンソール：[https://aicentos.com](https://aicentos.com)
* Key の作成：[https://aicentos.com/keys](https://aicentos.com/keys)
* ウォレットへのチャージ：[https://aicentos.com/wallet](https://aicentos.com/wallet)

## 設定値

| フィールド        | 値                         |
| ------------ | ------------------------- |
| Provider ID  | `aicentos`                |
| Display name | `aicentos`                |
| Base URL     | `https://aicentos.com/v1` |
| API protocol | `openai-completions`      |
| API Key      | コンソールで作成した Key            |
| Model        | コンソールの「モデル広場」にあるモデル名      |

## 設定手順

### DSH Desktop をインストールする

[https://www.dshdesktop.com/](https://www.dshdesktop.com/) を開き、OS に合ったインストーラー（Windows、macOS Apple シリコン、macOS Intel）を選んでダブルクリックでインストールします。初回起動時はガイドに従ってモデルを設定し、セッションを作成して、正常に応答が返ることを確認します。

### DSH に aicentos を接続する

画面からの設定を推奨します。

1. **Settings → Models** を開き、**Add a custom provider** をクリックします。
2. 上の表のとおり Provider ID、Display name、Base URL、API protocol、API Key を入力します。
3. **Model catalog** で **Fetch available models** をクリックし、使うモデルにチェックを入れます。取得できない場合はモデル ID を手入力します。
4. **Save** をクリックし、チャット画面に戻って上部のモデル選択でそのモデルを選びます。

`~/.dsh/settings.yaml` を直接編集しても構いません。

```yaml
agent-default-model:
  provider: aicentos
  model: 你的模型名

llm-pi-ai:
  providers:
    aicentos:
      api: openai-completions
      baseURL: https://aicentos.com/v1
      apiKeyEnv: AICENTOS_API_KEY
      models:
        - id: 你的模型名
```

環境変数を設定してから起動します。

```bash
export AICENTOS_API_KEY="sk-你的-API-Key"
```

API Key はローカルの `$DSH_HOME/.credentials.yaml` に保存され、画面には平文で表示されません。

### 大肥魚プラグインをインストールする

手動で clone する必要はありません。DSH のチャットに次の 1 行を送るだけです。

```bash
帮我安装这个插件，插件地址：https://github.com/Alterssss/dsh-bili-whale
```

完了したら DSH のページを再読み込みし、左側の **設定 → 養魚** を開くとプラグインの設定画面が表示されます。「養魚」の入口が見当たらない場合は、DSH を完全に終了してから開き直してください。プラグインは起動時に組み込まれるため、再起動しないとインストールしていないのと同じです。

### セッションに完全な権限を与える

ここが最も見落とされやすい手順です。彼女のセッションは左側の **ワークスペース → 未分類** の中にあり、そのフォルダを展開しないと見えません。セッションを開き、権限を **完全アクセス**（`danger-full-access`）に切り替えます。そうしないと、目を覚ましたあとにコマンドを実行できず、コメントも投稿できず、日記も書けません。

### B 站アカウントにログインする

**設定 → 養魚 → B 站ログイン** で **QR コードでログイン** をクリックし、スマートフォンの B 站アプリで読み取って承認します。QR コードの有効期限は約 3 分です。読み取りを中止したり期限切れになっても、既存のログイン状態は置き換わりません。

cookie を手動で貼ることもできます。大肥魚が使うアカウントでブラウザにログインし、F12 で開発者ツールを開き、**Application → Cookies → `https://www.bilibili.com`** を選び、`SESSDATA`、`bili_jct`、`buvid3` の 3 つをコピーして 1 つずつ貼り付け、**認証情報を書き込む** をクリックします。

cookie を `document.cookie` で取得しないでください。`SESSDATA` は HttpOnly のためスクリプトから読めず、その方法では欠けた cookie しか得られず、ヘルスチェックで止まります。

### 依存関係のヘルスチェック

設定画面の **依存関係チェック** をクリックします。実際に B 站へ 1 回リクエストしてログイン状態を検証し、cookie・ffmpeg・Node・データディレクトリ・生活リズムを 1 項目ずつ確認します。すべて緑（「すべて利用可能 ✓」）になって初めて合格です。

ffmpeg が無いと表示された場合、自分で導入記事を探す必要はありません。DSH のチャットで「この PC に ffmpeg をインストールして」と送れば処理してくれます。完了後にもう一度チェックを実行してください。

編集したら必ず **保存** をクリックしてください。入力欄はまずローカルで変更され、保存して初めてディスクに書き込まれます。画面にも「未保存の変更は反映されません」と表示されます。保存すれば即座に反映され、DSH の再起動が必要なのはプラグインのコードやバージョンを差し替えたときだけです。

### 人格と生活リズムを設定する

* **彼女は誰か**：キャラクター名、あなたの呼び方、彼女の自称。
* **彼女の人格**：本文は `~/.bili-ai/persona.md` に書き込まれ、書き終えたら **人格を注入** をクリックします（上限 20000 文字、注入時は先頭 3000 文字のみ。起床と監視のたびに添付されます）。
* **あなた（主人）**：`mid` を入力します。@ もダイレクトメッセージもこれで判定されます。
* **共有方法**：コメント欄で @ するか、B 站のダイレクトメッセージ。
* **活動時間帯**：既定は 20:00–24:00。その範囲内のランダムな時刻に目を覚まし、定刻ではありません。

プラグインに人格は内蔵されておらず、既定は中性的なアシスタントです（「主人」と呼ばず、甘えません）。「大肥魚」にしたい場合は、人格の本文に身元と由来、話し方、気にしていること、してはいけないことを明記してください。

## テスト

まずコマンドラインでセルフテストを実行します。設定・認証情報・ログイン状態・データディレクトリ・依存関係を一度に確認します。

```bash
node ~/.dsh/plugins/dsh-bili-whale/tools/bili.mjs selftest
```

Windows ではパスを `%USERPROFILE%\.dsh\plugins\dsh-bili-whale\tools\bili.mjs` に置き換えます。

```powershell
node "$env:USERPROFILE\.dsh\plugins\dsh-bili-whale\tools\bili.mjs" selftest
```

各項目にチェックが付き、最後に「全部通過 ✓ 可以用了」と出れば準備完了です。よく使うコマンド：

```bash
node ~/.dsh/plugins/dsh-bili-whale/tools/bili.mjs deps           # 依存関係チェック
node ~/.dsh/plugins/dsh-bili-whale/tools/bili.mjs dm --status    # DM の残量 + 相互フォロー状態
node ~/.dsh/plugins/dsh-bili-whale/tools/bili.mjs traffic status # リクエスト保護の設定値
```

すぐに 1 回動かしたい場合は、設定画面の **生活リズム** で活動時間帯を「今から 2 分後」の短い範囲に変更して保存し、彼女が目を覚ますのを待ちます（ヘルスチェック → 選題 → 理解 → 日記 2 冊 → あなたへ通知）。チャットで頼んで B 站を 1 回巡回させることもできます。

最後に aicentos コンソールの使用量ページを開き、リクエストが DSH 用に作成した Key に記録されていることを確認してください。

## 抖音（Douyin）に接続する

抖音版は同じ発想の別プロジェクト `dsh-douyin-scroll` です。画面は見ず、キャプション・タグ・投稿者・長さ・エンゲージメント数・人気コメントだけを読み、毎日数本を選んで Markdown のレポートを書きます。

### インストール

```bash
git clone https://github.com/NEWJO123/dsh-douyin-scroll.git
cd dsh-douyin-scroll
node selfcheck.mjs
```

プリチェックがすべて通ったら `web` profile にインストールし、DSH を 1 回再起動します。

```bash
dsh plugin --profile web add "link:$PWD"
```

再起動後、**設定 → 抖音を見る**（刷抖音）を開きます。

### 初回設定

1. **メイン依存関係をインストール** をクリックします。専用 venv を作り `curl_cffi` と `httpx` を導入します（約 30 秒、進捗は `install.log`）。
2. ログイン：`node tools/qr-login.mjs start` で QR を読み取るか、設定画面にログイン済みブラウザの Cookie を貼り付けます。
3. 「何を見るか」を設定：キーワード、カテゴリ、指定投稿者、1 日の本数、1 回の候補数。最後に **今すぐ 1 回実行** をクリックします。

Cookie はこの端末の `$DSH_HOME/douyin-duty/douyin_cookie.txt` に保存され、ログにも残らず、どこにも送信されません。

### できることと制限

| 項目    | 内容                                                          |
| ----- | ----------------------------------------------------------- |
| 判断材料  | キャプション、タグ、投稿者、長さ、エンゲージメント比、人気コメント。画面も音声も見ません                |
| 候補の取得 | 読み取り専用のおすすめフィードと急上昇。抖音の web には使える検索 API がなく、キーワードはレポートの注記のみ |
| レポート  | `out/<日付>.md` に出力。Windows 通知や webhook も選択可                  |
| 送信    | DM・共有カード・コメントは既定ですべて無効、実行には `confirm` が必要                   |
| グループ  | 作者の観察では「グループでは送れないことがある」程度。別アカウントでは異なる可能性あり                 |

プレーンテキストの URL は抖音内でクリックできないため、共有カードのみ有効です。DM・カード・コメントには Chrome が必要（`chrome.exe` のみ参照、Edge は不可）。候補取得とレポート作成には不要です。コメントを頻発するとレート制限にかかり、字幕がないため判定精度は B 站版より低くなります。

## QQ グループに接続する

QQ Bot には公式プラグイン `@tencent-connect/dsh-qqbot` があり、専用の `qqbot` profile に入れて QR を読み取るだけで、QQ のダイレクトメッセージとグループで会話できます。

```bash
npx @deepseek-ai/dsh plugin --profile qqbot add @tencent-connect/dsh-qqbot
npx @deepseek-ai/dsh --profile qqbot
```

初回起動時に案内に従って QR を読み取れば、鍵の手動設定は不要です。連携後は次のとおりです。

* **セッション分離**：各 DM・各グループが独立したコンテキストを持ち、混線せず、再起動後も自動で復元されます。
* **モデル切り替え**：チャット内で直接切り替えられ、既存のコンテキストは保持されます。
* **静かなモード**：「@ されたときだけ応答」に設定でき、グループへの頻繁な返信を防げます。

モデルは `qqbot` profile 側で設定します。同じく **Settings → Models → Add a custom provider** を開き、上の表のとおり aicentos を入力してください。複数の IM チャネルをまとめたい場合は、コミュニティ bundle の `dsh-im`（1 つの bundle で 10 チャネル、複数ボットとストリーミング応答に対応）も検討できます。

グループ内の会話はコンテキストとしてモデルに渡されるため、アカウントや鍵などの機密情報をグループで扱わせないでください。連携の認証情報はローカル profile に保存されるので、profile ディレクトリごと公開リポジトリに同期しないようにしてください。

## デスクトップペットとコメント欄の整理

いずれも任意のプラグインで、大肥魚とは別プロジェクトです。

| 用途                   | プロジェクト                                                                                 | インストール方法                                                                          |
| -------------------- | -------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| デスクトップ上の動く大肥魚        | [https://github.com/QCYTSN/dsh-dafeiyu](https://github.com/QCYTSN/dsh-dafeiyu)         | 同じく URL を DSH に送ってインストール。透明なネイティブウィンドウが現れ、ドラッグでき、タスク状態に応じてアニメーションが変わります           |
| コメント欄の AI 疑いアカウントを整理 | [https://github.com/liyupi/dafeiyu-cleaner](https://github.com/liyupi/dafeiyu-cleaner) | ブラウザ拡張：Releases の zip を解凍し、`chrome://extensions` を開いてデベロッパーモードを有効にし、解凍した拡張を読み込みます |

整理用の拡張は自分のブラウザ上でコメントを隠すだけで、誰かのコメントを削除せず、自動通報もしません。誤判定は元に戻せます。オフラインのルールによる検出率は約 85% で、これは 1 つのコメント欄で測った数値であり、別のコミュニティで同じとは限りません。

## 注意事項

* **自動コメントはまず有効にしない。** 既定は無効で、有効にしても 1 ラウンド 1 件・上限 20 件・同じ動画には 1 回だけです。それでも公開の場での連投は他人にとっての「魚災」になります。まずは B 站のダイレクトメッセージで自分に送る運用を推奨します。
* **DM 経路には 2 アカウント必要。** 共有方法に B 站のダイレクトメッセージを選ぶ場合、別々の 2 アカウントが相互フォロー（`relation.attribute === 6`）している必要があります。1 アカウントでも動画視聴・日記・レポート生成は使えますが、DM は実現できません。
* **認証はサブアカウントで。** プラグインはあなた自身のアカウントで発言します。メインアカウントの cookie を第三者プラグインに渡さず、出所不明のアカウントも購入しないでください。
* **レート制限に当たったら即停止。** 412 / 429、CAPTCHA、スロットリングが発生すると、プラグインは 5〜30 分停止して報告します。連続リトライは避けてください。署名付きエンドポイントでもプラットフォーム側の制限を回避できる保証はありません。
* **モデルは安価なものを選ぶ。** 毎日 5 件を選別し、2〜3 件を深読みし、日記を 2 冊書くため、1 ラウンドで複数回のリクエストが発生します。aicentos で単価が低くコンテキストが十分なモデルを選び（[対応モデル](https://docs.aicentos.com/ja/billing/models-list)参照）、DSH 専用の Key を作ってコストを把握してください。
* **ヘッドレスモードでは動かない。** Web UI を備えた DSH 上でなければ、`pending (waiting for services: sessionController, webServer, connection)` のまま止まります。
* 本プラグインは個人用ツールの公開版で、B 站および DeepSeek 公式とは関係ありません。自分のアカウントで実行する以上、結果は自己責任です。プラットフォームのコミュニティ規範を守ってください。

## 関連リンク

* [dsh-bili-whale プラグインリポジトリ](https://github.com/Alterssss/dsh-bili-whale)
* [dsh-douyin-scroll プラグインリポジトリ](https://github.com/NEWJO123/dsh-douyin-scroll)
* [QQ ボット公式ドキュメント](https://bot.qq.com/wiki/agent-qqbot/)
* [DSH Desktop 公式サイト](https://www.dshdesktop.com/)
* [DSH Desktop ソースコード](https://github.com/dataelement/dsh-desktop)
* [プラグインの変更履歴](https://github.com/Alterssss/dsh-bili-whale/blob/main/CHANGELOG.md)
* [aicentos の対応モデル](https://docs.aicentos.com/ja/billing/models-list)