ドキュメント · ガイド

PenguinHarness を任意のモデルで

PenguinHarness(Prism-Shadow/penguin-harness、penguin コマンド、npm の @prismshadow/penguin-cli、デスクトップアプリ)は Project ごとのモデルを一つの TOML ファイルに持ちます。magpie が magpie という名前のプロバイダーとそのモデルを加えると、PenguinHarness が DeepSeek、GLM、Kimi、Qwen、Claude、ChatGPT サブスクリプションなど magpie の任意のモデルで動きます。CLI とデスクトップアプリは同じファイルを読みます。

PenguinHarness の設定

  1. magpie にプロバイダーを追加プロバイダー ページで API キーを追加するか、サブスクリプションにサインインします。
  2. エージェント ページで PenguinHarness のモデルを選ぶvia magpie のモデルを選びます。起動中の PenguinHarness もすぐ切り替わり、再起動は要りません。
ターミナル
magpie penguin deepseek/deepseek-v4-pro

.project_config.toml

ファイルはデータルートの下です:$PENGUIN_HOME、なければ ~/.penguin/data(どの OS でも同じ)。CLI の Project は $PENGUIN_PROJECT_ID、なければ default_project なので、ファイルは ~/.penguin/data/default_project/.project_config.toml です。magpie が書く内容:

ターミナル
default_model = { provider = "magpie", model_id = "deepseek/deepseek-v4-pro" }

[providers.magpie]
base_url = "http://127.0.0.1:3425/v1"
client_type = "openai-responses"
api_key = ""

[[models]]
provider = "magpie"
model_id = "deepseek/deepseek-v4-pro"
display_name = "…"
context_window = …
vision = …
max_tokens = …

[models.pricing]
unit = "usd_per_mtok"
cache_read = …
cache_write = …
output = …

モデルはプロバイダーと model_id の組で、自分のアドレスやキーがないモデルはプロバイダーのものを使います。magpie は openai-responses クライアントを使います。リクエストは base_url に /responses を付けた先へ送られ、思考レベルは reasoning.effort として付きます(openai-chat クライアントでは付きません)。自分のプロバイダーとモデルはそのままです。ファイルがなければ magpie が自分だけが読める権限で作ります(キーが入るため)。WSL のディストリビューションの PenguinHarness も、そちらの ~/.penguin/data で同じように設定します。

モデル一覧

magpie の各モデルは一つの [[models]] になり、PenguinHarness 自身のモデルページが記録する情報が付きます:表示名、コンテキストウィンドウ、一回の応答の上限、画像を読めるか、100 万トークンあたりの価格。PenguinHarness はモデルが画像を読めるものとみなすので、vision は必ず書きます。存在しないエントリを指す default_model は拒否されるため、magpie はモデルを先に書いてから既定を設定し、戻すときは既定を先に変えてからモデルを外します。

再起動は不要

PenguinHarness のサーバーはファイルの更新時刻が変わると読み直すので、変更に再起動は要りません。自身のモデルページや penguin config model … はファイル全体を書き戻しますが、magpie が書くキーはすべて PenguinHarness が知っているものなので消えません。新しい内容のない同期はファイルにも更新時刻にも触れません。

元に戻す

最初に入るとき、magpie は元の default_model を控えます。元に戻すと、PenguinHarness にまだそのモデルがあればそれに戻し、magpie のモデルから選んだ vision_model を外し、magpie のモデルと [providers.magpie] を消します。magpie が作ったファイルは空になれば消します。

ターミナル
magpie penguin default

よくある質問

PenguinHarness で DeepSeek、GLM、ChatGPT サブスクリプションを使えますか?

使えます。magpie のエージェントページで PenguinHarness に via magpie のモデルを選べば、CLI でもデスクトップアプリでも使えます。

magpie が変えるのはどのファイルですか?

データルート($PENGUIN_HOME、なければ ~/.penguin/data)の下にある現在の Project の .project_config.toml です。既定の Project は default_project です。

PenguinHarness の再起動は必要ですか?

不要です。ファイルの更新時刻が変わると設定を読み直します。

元に戻すとモデルも戻りますか?

戻ります。magpie が控えた default_model が PenguinHarness にまだあればそれに戻し、加えたプロバイダーとモデルを消します。

同じモデルを他のエージェントでも:Paimon を任意のモデルで、Muse Code を任意のモデルで、Prime Agent を任意のモデルで、MothX を任意のモデルで。エラーが出るときは よくあるエラーの直し方、または Discord で質問してください。