DSHをローカルで実行する

Node 18以降が唯一の前提条件です。最も速い手順では、グローバルに何もインストールしません。

Web UIを起動する

1つのコマンドでパッケージをダウンロードし、カーネルを起動して、マシン上でインターフェースを提供します。

terminal
npx @deepseek-ai/dsh web
UIは 127.0.0.1 から提供されるため、デフォルトではネットワークに何も公開されません。

またはソースからビルドする

クローンを作成することで、プラグインのワークスペース、docsディレクトリ、および参照用のプリセットを入手できます。

terminal
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm build

プラグインを追加する

プラグインはnpmパッケージです。追加すると設定に書き込まれ、カーネルが依存関係を解決します。

terminal
npx @deepseek-ai/dsh plugin add <package-name>
npx @deepseek-ai/dsh plugin list

最初のプラグインを作成する

最小限の有用なプラグインは、必要なものを指定し、1つの要素を登録する関数です。この例ではテーブルにツールを追加します。

greet-tool.ts
import type { Context } from 'cordis'

export const name = 'greet-tool'
export const inject = ['tools']

export function apply(ctx: Context) {
  return ctx.tools.register('greet', async ({ name }) => {
    return `Hello, ${name}.`
  })
}
返されるdisposerは、プラグインがアンロードされたときにツールをクリーンに削除するためのものです。

プリセットを選択する

プリセットによってエージェントの操作範囲が変わります。Standardから始めて、よりクリーンな測定が必要な場合は段階を下げてください。

  • Standard

    フル機能のコーディングエージェント:ファイル編集、シェルアクセス、検索機能など、すべてのツールを提供します。

  • PTC

    ツールを一度に1つずつ選択するのではなく、TypeScriptで構成することで、1回のターンでプログラム全体を表現可能です。

  • Minimal

    Bashとエディタのみ。それ以外は何も含みません。モデルのベンチマークをとるための純粋なベースラインです。

  • Creative

    独自のプリセットを作成し、実行中にサービスごとのランタイムを確認できます。

起動しない場合

Nodeのバージョンエラー

node -v を確認してください。18未満のバージョンでは、ランタイムが使用する構文で失敗します。

ポート 3080 は既に使用されています

コマンドラインで別のポートを指定するか、そのポートを使用しているプロセスを停止してください。

プラグインが読み込まれない

ほとんどの場合、injectが満たされていないことが原因です。プラグインは指定されたすべてのServiceが存在するまでpending状態のままになるため、依存関係にあるプラグインが先に読み込まれているか確認してください。

完全なガイド、アーキテクチャに関する注記、およびAGENTS.mdはすべてリポジトリのdocsディレクトリにあります。 ドキュメント

CordisはKoishiコミュニティによるTypeScriptプラグインフレームワークです。DSHは独自のプラグインシステムを実装していません。このフレームワークを利用しているため、DSHプラグインはCordisプラグインとなっています。

カーネルを理解する