2026年8月18日、PyPIにdeepseek-harness-sdkのプレリリースが公開されました。結論は明快です。DeepSeek Harness Python SDKはWeb UIの代替ではなく、PythonプログラムからHarnessランタイムを起動し、タスクを送り、セッション結果を回収するための入口です。 重要な本番処理はまだ移行せず、バージョンを固定した隔離環境で試してください。(PyPIの公開情報)
この判断が必要なのは、SDKが単なるHTTPクライアントではないためです。JSON-RPCの標準入出力、同梱ランタイム、Cordis構成、セッション永続化までが動作範囲に入ります。
01 この記事を読むべき人
PythonでAI Agentを組み込みたい開発者、構造化された実行結果を後続処理へ渡したい自動化エンジニア向けです。
また、既存のWeb UIやdshを残すべきか、チームの試験環境へSDKを入れる価値があるかを判断したい技術責任者にも向いています。
注意:PyPI上の公開物はプレリリースです。正式版の公開時期、長期互換性、将来のAPI形状は、2026年8月18日時点では確定していません。
02 2026年8月18日の公開で変わった入口
公開されたパッケージ名はdeepseek-harness-sdkですが、Python側のインポート名はdeepseek_harnessです。DeepSeekHarnessを使うと、Pythonプロセスからランタイムを遅延起動し、run()でタスクを投入できます。ランタイムはJSON-RPC stdioで動作し、通常のDeepSeek環境変数も引き継ぎます。(PyPIのパッケージメタデータ)
つまり、既存のAgentを普通のPython関数群へ書き直す発表ではありません。Harnessが持つエージェントループ、ツール、セッション、通知を維持したまま、プログラムから制御する設計です。
| 観点 | Web UI | dsh |
Python SDK |
|---|---|---|---|
| 主な入力 | 人が画面から指示 | 端末コマンド | Pythonコード |
| 得意な処理 | 対話、確認、承認 | 手動実行、診断、CI補助 | 定期実行、一括処理、後続連携 |
| 結果の扱い | 画面で確認 | 標準出力やログ | RunResultとして取得 |
| セッション制御 | UI上の操作に依存 | コマンド設計に依存 | session_idをコードで指定 |
| 導入上の注意 | 実行環境とUI管理 | CLIとランタイム管理 | SDK、ランタイム、構成のバージョン固定 |
公式チュートリアルは、Web UIとは別のプログラム実行経路としてPython SDKを説明しています。したがって、Web UIを使っている人が直ちに移行する必要はありません。(公式Python SDKチュートリアル)
Mac上で検証する場合は、先にMacでDeepSeek Harnessを構築するための環境設計を確認しておくと、Python環境、作業用ディレクトリ、セッション保存先を分けやすくなります。
03 利用者別に見る、移行を急がない理由
Python Agent開発者は「呼び出し入口」として評価する
Python SDKの価値は、既存のPython処理にHarnessの実行単位を組み込める点です。入力ファイルを読み、タスクを生成し、最終応答を保存し、テスト結果を次の処理へ渡す流れをコードで書けます。
一方、Agentのファイル操作やシェル操作を許可する場合、SDKを入れただけでは安全になりません。公式サンプルも、変更可能なワークスペースを分離し、強い権限を使う構成であることを明記しています。実データのリポジトリで最初から実行する設計は避けてください。
Web UI利用者は3つの条件で判断する
次のいずれかで決めると、二者択一になりません。
| 条件 | 推奨経路 | 判断理由 |
|---|---|---|
| 人が途中で確認し、承認や修正を行う | Web UIを継続 | 画面上の状態確認が速い |
| 一部の定型処理だけ自動化したい | Web UIを残し、SDKを追加 | 失敗時の手動経路を維持できる |
| 入力、実行、結果保存を完全に機械化したい | SDK中心へ試験移行 | Python側で再実行と後続処理を設計できる |
既存の画面操作には、権限確認や作業内容の可視性という強みがあります。SDKへ移すと、画面で見えていた判断をログ、通知、承認ルールとして再設計する必要があります。
モデル接続やAPIエンドポイントを切り替える予定がある場合は、認証情報、モデル名、接続先をSDK本体から分離してください。プレリリース更新時に変更箇所を限定でき、既存の検証結果も比較しやすくなります。共有ホストや長時間の試験環境を使う場合は、利用者権限、保存領域、停止時の扱いを先に決めておくと運用設計がぶれません。
環境の準備段階では、SDK用の仮想環境、専用ワークスペース、セッション保存先を分けてください。既存のWeb UIやスクリプトを残したまま比較する場合も、同じ作業ディレクトリやログ保存先を共有しないことが重要です。
自動化エンジニアはセッションの境界を先に決める
SDKではSession.run()が、プロンプト投入からエージェントがアイドル状態になるまでの活動区間を管理します。戻り値のRunResultには、session_id、final_response、finish_reason、events、notifications、session_rootが含まれます。
ここで重要なのは、同じ会話を続けることと、新しい作業を始めることが別の操作だという点です。同じsession_idを再利用すると、会話だけでなく、セッション所有のBashプロセスの作業ディレクトリや環境変数なども継続します。独立した作業には新しいIDを割り当ててください。
プラットフォーム担当者はPython以外の境界を見る
PyPIのメタデータでは、Python 3.10以上が必要です。公式チュートリアルでは、Linux x64、Linux arm64、macOS 14以降のarm64が対象として示されています。配布ホイールにはランタイムが含まれるため、通常の導入先でシステムNode.jsを別途インストールする必要はありません。
ただし、これは「Node.jsという責任が消える」という意味ではありません。ソースからランタイムを構築する場合は別のNode.js要件があり、配布物にはプラットフォーム別の実行ファイルが必要です。CIやクラウド環境では、OS、CPUアーキテクチャ、SDKとランタイムの対応関係をリリース単位で固定します。(ランタイム構成の公式説明)
| 確認項目 | 公式情報 | 試験環境での確認 |
|---|---|---|
| Python | 3.10以上 | python --version |
| 対応環境 | Linux x64、Linux arm64、macOS 14以降arm64 | 実行ホストのOSとCPU |
| ランタイム | SDKと同一バージョンのランタイムホイール | pip freezeと配布物 |
| 通信 | JSON-RPC stdio | 子プロセス起動と握手 |
| 認証 | DEEPSEEK_API_KEY、必要に応じてDEEPSEEK_BASE_URL |
環境変数の注入経路 |
| 永続化 | DSH_SESSION_ROOT配下のJSONL |
ログ生成、権限、保存期間 |
04 最小構成から始める理由
公式の最小例は、ワークスペース、セッション保存先、セッションIDを明示して1タスクを実行します。結果は最終アシスタント応答として表示され、セッションディレクトリにはモデル要求とツール呼び出しを含むJSONLログが保存されます。
最初からカスタムCordis構成、モデルルーティング、永続化ポリシーをすべて加えると、失敗原因を分離できません。次の順で範囲を広げてください。
第一段階:読み取り専用の分析
対象はコピーしたリポジトリに限定します。依頼内容は、ファイル一覧の確認、テスト失敗箇所の分析、変更案の出力までに抑えます。書き込み権限を与えない構成で、最終応答と通知が取得できるかを確認します。
第二段階:テスト専用の変更
変更を許可する場合も、破棄可能なワークスペースを使います。テスト実行、差分取得、セッションログの保存を分けて記録します。成功したかどうかを最終応答だけで判定せず、finish_reasonとイベント列も確認してください。
第三段階:セッション継続
同じsession_idで「前回の分析を続ける」ケースを試します。その後、新しいIDで別リポジトリを指定し、前の会話やシェル状態が混入しないことを確認します。
第四段階:カスタム構成
独自のCordis構成を使う場合も、JSON-RPCサーバーのエントリを残す必要があります。構成ファイルからサーバー、Agentコア、モデルアダプター、永続化、ファイル操作を一つずつ追加し、どのプラグインが結果や通知を変えたかを追跡します。
第五段階:運用リハーサル
タイムアウト、APIキー欠落、ランタイム起動失敗、セッションディレクトリの書き込み失敗を意図的に発生させます。復旧できない場合は、元のWeb UIや既存スクリプトへ戻す手順を確認してから試験範囲を広げます。
05 FAQ:導入前に確認したい実務上の境界
DeepSeek Harness Python SDKは何をするためのものですか?
PythonコードからDeepSeek Harnessの実行ランタイムを起動し、タスクを渡して最終応答や通知、セッション情報を受け取るためのSDKです。通常のLLM APIクライアントとは異なり、エージェントのツール実行、セッション継続、JSONL形式の永続化まで含むランタイムを呼び出します。
Python SDKとWeb UIはどちらを選ぶべきですか?
対話しながら内容を確認したい、承認操作を人が行いたい場合はWeb UIが適しています。定期実行、入力の一括処理、結果の後続連携が目的ならPython SDKが有力です。既存利用者はまずWeb UIを残し、SDKを補助経路として追加する方法が安全です。
Python SDKを導入するとNode.jsも別に必要ですか?
公開ホイールを通常どおり導入する場合、実行先にシステムNode.jsを別途用意する必要はありません。SDKと同一バージョンのランタイムホイールが導入され、単一実行ファイルを起動します。ただし、ソースからランタイムを構築する開発者は指定されたNode.js環境を使います。
DeepSeek Harness Python SDKは本番環境で使えますか?
2026年8月18日時点ではプレリリースで、公開ページにも本番利用向けに安定していない可能性が明記されています。重要な処理を直ちに置き換える段階ではありません。固定した検証環境、限定したタスク、監視、旧経路への切り戻しを用意した試験導入に限定してください。
Pythonプログラムから最終結果とセッション記録を取得できますか?
取得できます。Session.run()はRunResultを返し、final_response、finish_reason、events、notifications、session_id、session_rootを確認できます。同じsession_idを再利用すれば会話とシェル状態を継続し、新しいsession_idを指定すれば別タスクとして分離できます。
06 本番投入前の判定チェック
次の項目をすべて確認できない限り、既存の重要ワークフローを置き換えないでください。
- [ ]
deepseek-harness-sdkのバージョンを固定した - [ ] SDKとランタイムの組み合わせを記録した
- [ ] Python 3.10以上と対応OS、CPUアーキテクチャを確認した
- [ ] APIキーをソースコードへ書かず、実行環境から注入した
- [ ] ワークスペースを本番データから分離した
- [ ] 読み取り専用タスクで最終結果を取得した
- [ ]
final_responseだけでなくfinish_reasonと通知列を保存した - [ ] 同じ
session_idの継続動作を確認した - [ ] 新しい
session_idでタスクが分離されることを確認した - [ ] JSONLセッションログの保存先と保持期間を決めた
- [ ] ランタイム起動失敗時の再試行条件を決めた
- [ ] Web UIまたは既存スクリプトへ戻す手順を用意した
- [ ] 代表的な検収タスクを固定し、SDK更新時に再実行できるようにした
07 技術責任者が今決めるべきこと
このSDKを採用するかどうかではなく、どの範囲を試験対象にするかを決める段階です。候補は、テスト失敗の分析、定型レポート作成、隔離リポジトリの修正案生成などです。顧客データ、本番リポジトリ、承認なしの自動変更は後回しにします。
DeepSeek Harness自体も開発者プレビューで、互換性を壊す変更があり得ると公式リポジトリに記載されています。SDKだけ安定した部品として扱うのではなく、Web UI、dsh、Cordis構成、ランタイムを一つの変動する実行系として管理してください。(DeepSeek Harness公式リポジトリ)
Mac上で試す場合は、実行ユーザー、ワークスペース、セッション保存先を分離してから始めてください。モデル接続を差し替える予定がある場合は、APIエンドポイント、認証情報、モデル名をアプリケーション本体から切り離すと、SDK更新時の影響範囲を絞れます。長時間の隔離試験や複数担当者の共有が必要なら、ホスト環境の更新責任と障害時の切り戻し方法も先に決めておくべきです。
08 Last updated
最終更新:2026年8月18日。データは、PyPIの公開履歴とプレリリース表示、公式Python SDKチュートリアル、ランタイム説明、DeepSeek Harnessの開発者プレビュー声明を照合しています。正式版の公開、対応プラットフォーム、ランタイム配布方式が変わった場合は、この記事の判断を更新してください。
Web UIを使い続ける場合も、現状の手作業には入力の再現性、結果の構造化、定期実行のしにくさという弱点があります。既存スクリプトだけで運用する場合も、セッション継続、ツール通知、ランタイムの差分を自前で管理する負担が残ります。
そのため、短期の検証やチーム共用の隔離環境が必要なら、CALMVPSのMac環境を試験先として検討できます。長期の安定した高負荷運用や物理インターフェースが必要な場合は自前ホストが適していますが、今回のようなプレリリースSDKの検証では、環境構築と破棄を分けられることが安全性につながります。