-
Notifications
You must be signed in to change notification settings - Fork 21
開発者向け機能の使い方
このページでは主に AI やその他関連ソフトウェアの開発者が利用する機能を説明します。
その他の機能は 使い方 を参照してください。
エンジンの起動時に一定時間内で最初のコマンドを受信できないとタイムアウトエラーになります。 タイムアウトするまでの時間の長さはアプリ設定で調整が可能です。
ログファイルの出力はデフォルトで無効になっています。 必要に応じてアプリ設定からオンにして再起動してください。
アプリログと CSA ログ、USI ログはそれぞれ別のファイルへ書き出され、アプリを起動するごとに新しいファイルになります。 なお、アプリを起動しても最初のログが出力されるまでファイルは作られません。
通常、ログは以下の場所に出力されます。
- Windows:
%USERPROFILE%\AppData\Roaming\electron-shogi\logs\
- macOS:
~/Library/Logs/{app name}/
- Linux |
~/.config/{app name}/logs/
メニューの「各種フォルダ」-「ログ」で出力先のディレクトリを開くことができます。
また、メニューの「デバッグ」-「ログファイル」(v1.13.0 新機能) では、個別のログファイルをテキストエディタで直接開くことや、 tail コマンドを実行することが可能です。
なお、 macOS で「XXXログをTailする」を使って Terminal 上のコマンドを直接実行する場合、 OS のセキュリティ設定で権限の付与が必要です。
![スクリーンショット 2024-02-18 0 21 25](https://private-user-images.githubusercontent.com/6257462/305652641-e2c34e6e-b118-4fa6-b11c-db8446059b2a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NDkzOTUsIm5iZiI6MTczODk0OTA5NSwicGF0aCI6Ii82MjU3NDYyLzMwNTY1MjY0MS1lMmMzNGU2ZS1iMTE4LTRmYTYtYjExYy1kYjg0NDYwNTliMmEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIwNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMDdUMTcyNDU1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NTgyNmFjOTU1ZDE3YjEyMTI4NTE0MmUzNjZmOGJiNjA5YjUyMjBlZmNlZjE0M2ZiZTI5NmE3MjRjNjJmNzY0NSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.BAGMynW2sA_uaZMRz1xRi0R2SGTx1o6-Q6XILuOaMMU)
連続対局の回数を 2 以上にすると、同じ条件で対局を繰り返すことができます。
![スクリーンショット 2025-01-04 22 55 51](https://private-user-images.githubusercontent.com/6257462/400143421-dab3b4cc-51d2-4d03-a491-2a3911597911.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NDkzOTUsIm5iZiI6MTczODk0OTA5NSwicGF0aCI6Ii82MjU3NDYyLzQwMDE0MzQyMS1kYWIzYjRjYy01MWQyLTRkMDMtYTQ5MS0yYTM5MTE1OTc5MTEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIwNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMDdUMTcyNDU1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MTQ4MmM1ZjQyMjAwZmQwNmVjYTQzYTdkZGMwYWZiNmZlNGM0MTg4OGMzOTAzMDNkNDI4ODY5ZjA1ZWNmNTYzYSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.zF3GRf9ZEGbTaQg5KoCt9_tWonFx0vciGI7tx987v1I)
なお、「1局ごとに手番を入れ替える」が有効になっていると先後が入れ替わります。
また v1.21.0 からは局面集を使って1局ごとに開始局面を変えることが可能です。局面集と「1局ごとに手番を入れ替える」を併用した場合は、同じ局面に対して先後入れ替えで2局ずつ行います。
![スクリーンショット 2025-02-04 23 10 18](https://private-user-images.githubusercontent.com/6257462/409590152-4f1b9233-e71b-488b-b205-ffdf927b9dc1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NDkzOTUsIm5iZiI6MTczODk0OTA5NSwicGF0aCI6Ii82MjU3NDYyLzQwOTU5MDE1Mi00ZjFiOTIzMy1lNzFiLTQ4OGItYjIwNS1mZmRmOTI3YjlkYzEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIwNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMDdUMTcyNDU1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NWM1ZDIzZjk0MWYxYjIyNWEzOTE4Nzc5MzA0OTA3NWNiODc1ZjJhNjExNDVhZTlkYmZiZmI1ZDRkMTUzNjZkYyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.uxQlCkIC7x0O0UAMtDaWeysn6BDiT9Xtpzijl_sElyg)
連続対局中や連続対局終了直後に戦績を確認できます。対局終了時は自動で表示されます。対局中はボタンを押して表示できます。
![スクリーンショット 2025-01-04 22 54 33](https://private-user-images.githubusercontent.com/6257462/400143418-ce42afd9-cc6d-4a2f-9279-d489bb6d5345.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NDkzOTUsIm5iZiI6MTczODk0OTA5NSwicGF0aCI6Ii82MjU3NDYyLzQwMDE0MzQxOC1jZTQyYWZkOS1jYzZkLTRhMmYtOTI3OS1kNDg5YmI2ZDUzNDUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIwNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMDdUMTcyNDU1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9OGQ2NzhmYzAxYjY5MGRkMGY1Zjg4NDdjY2FjZDJjMjcxMzk1ODE1Y2M3NTRlMjllZTQ5OTZmODY4NjQ1NzVhOSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.v6rcNlbAUJkNahBbtvYHJR_xxzUPh2nl2ms9aL6mG1o)
勝敗とそれに応じた二項検定の結果、レーティング差などを確認できます。
![スクリーンショット 2025-01-04 22 55 00](https://private-user-images.githubusercontent.com/6257462/400143420-97174d08-79e4-4875-809a-52450ea66c79.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NDkzOTUsIm5iZiI6MTczODk0OTA5NSwicGF0aCI6Ii82MjU3NDYyLzQwMDE0MzQyMC05NzE3NGQwOC03OWU0LTQ4NzUtODA5YS01MjQ1MGVhNjZjNzkucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIwNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMDdUMTcyNDU1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MGVhZDg2OGY1NDMwZjI4NGE5YzZmYjVjZTE0OTQ1YWQyZDFmOWQ4ODk4NDY5YmI0MzI2NWJjMzU3ZGM5YzgxOSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ._AOdIz-quQgrVqtvQqn3ioAgmZbKa35Lkf-MKijUrgA)
「監視」タブでは USI や CSA プロトコルのセッションの一覧が表示されます。
v1.20.0 からは別ウィンドウで開くことも可能になりました。
![v1 20 0-02](https://private-user-images.githubusercontent.com/6257462/400142875-0b9e2b21-c47e-42fc-98c8-e5edc022764a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NDkzOTUsIm5iZiI6MTczODk0OTA5NSwicGF0aCI6Ii82MjU3NDYyLzQwMDE0Mjg3NS0wYjllMmIyMS1jNDdlLTQyZmMtOThjOC1lNWVkYzAyMjc2NGEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIwNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMDdUMTcyNDU1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MWE4NWM2MTRhZjMyNjYwNmY0YWI5Nzc5N2RjZDg4Y2EyZjI0YmJhNjEwN2VhN2M5NmM0NTljMzJjMWQwNDE1MCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.ewVA4wL5CLnU6S48hZ1A9joZQCudSvCu1CYxfQJ3OJY)
監視画面を開いている間、 1 秒程度の間隔で最新の状態を画面に表示します。 最後に送信したコマンドや現在の状態を表すコードの確認が可能です。
ShogiHome では全体的に非同期に処理が行われるため、例えば USI エンジンの停止に時間がかかっていても処理はバックグランドで継続され、 UI の遷移をブロックしません。 逆に言うと画面上では対局や検討が終わっていてもセッションが完全に終了していない場合があります。 監視タブを見れば生きているセッションの全てを確認でき、必要に応じてプロンプト(後述)を開いたり強制終了することが可能です。
USI や CSA プロトコルのセッションごとにプロンプトウィンドウを開いて、コマンドの履歴を確認したり、手でコマンドを入力することが可能です。
![スクリーンショット 2024-02-11 14 39 25](https://private-user-images.githubusercontent.com/6257462/303900616-3a8b9476-b5cc-4cca-a899-1e9732d021ae.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NDkzOTUsIm5iZiI6MTczODk0OTA5NSwicGF0aCI6Ii82MjU3NDYyLzMwMzkwMDYxNi0zYThiOTQ3Ni1iNWNjLTRjY2EtYTg5OS0xZTk3MzJkMDIxYWUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIwNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMDdUMTcyNDU1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MWE3NTNiYTg3Mjc2MzBkYTVlYzBlNjI2ODg4OGJmOTNhNzg5M2FhMDlkNjZlYjBkNTQzODRiYzdhOThhMjEzOCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.WBs-M6yp7mRVVwdUX5VQ3p2BKnq6d1WBG84GUhIGsgI)
手でコマンドを入力する場合は、送信先が相手側(CSAサーバーやエンジン)なのか ShogiHome なのかを選択します。 対局中や検討中の不適切なタイミングでコマンドを入力したり、間違ったコマンドを入力した場合、予期しない動作をする可能性があります。 CSA プロトコルや USI の仕様をよく理解したうえで利用してください。
管理モードでは、対局機能や検討機能と切り離した状態で USI や CSA のセッションを開始できます。 これはプロンプトから手でコマンドを入力して USI エンジンを検査したり、 CSA 対局サーバーの設定をする目的で利用できます。 例えば shogi-server で BUOY の設定を変更するときに使います。 逆に管理モードで開始したセッションを後から対局や検討に使うことはできません。
管理モードでセッションを開始するにはメニューの「デバッグ」の中の「USIエンジンを起動(管理モード)」「CSAサーバーへ接続(管理モード)」を選択します。
セッションを開始するとプロンプトウィンドウが開きます。 開始したセッションの一覧は「監視」タブで確認できます。
早期 Ponder (Early Ponder) 機能はデフォルトで無効になっており、エンジンごとに設定画面で有効化できます。
![スクリーンショット 2024-02-12 15 01 22](https://private-user-images.githubusercontent.com/6257462/303979098-118c7c5e-685e-4fbe-b637-3d22ddb45e90.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NDkzOTUsIm5iZiI6MTczODk0OTA5NSwicGF0aCI6Ii82MjU3NDYyLzMwMzk3OTA5OC0xMThjN2M1ZS02ODVlLTRmYmUtYjYzNy0zZDIyZGRiNDVlOTAucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIwNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMDdUMTcyNDU1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MDQ1Y2RjNWQxMjE2NWQ3NjBhYmYxOTViMDJjNGMyZDUzNWIyNWZkMDdkMmQ3YmM5ZmFiZmRkN2NjNmEyOThiNyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.KkBzdiXOTNgJqOzS9r5mVXqBuYZShgFKW_2lDYDJKVk)
早期 Ponder を使用すると CSA プロトコル使用時に CSA サーバーからの応答を待たずに Ponder を開始することが可能です。
USI の go ponder
コマンドには残り時間の情報 (btime/wtime/binc/winc) を付与する必要があるため、本来の規格上は CSA サーバーからの応答を待って対局時計を同期する必要があります。
しかし、多くのエンジンにとって時計の同期は ponderhit のタイミングで完了できれば問題なく、 Ponder 開始時点において残り時間は関心ごとではありません。
そこで、 やねうら王の独自拡張 を用いることで go ponder
では時間の情報を省略し、逆に ponderhit
では時間の情報を付与します。
これによって下図のように CSA サーバーからの応答が遅くても直ちに Ponder を開始できます。
![スクリーンショット 2024-02-11 15 01 14](https://private-user-images.githubusercontent.com/6257462/303901674-d36a9895-f5d3-439a-8d1d-c89c992a3f2a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NDkzOTUsIm5iZiI6MTczODk0OTA5NSwicGF0aCI6Ii82MjU3NDYyLzMwMzkwMTY3NC1kMzZhOTg5NS1mNWQzLTQzOWEtOGQxZC1jODljOTkyYTNmMmEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIwNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMDdUMTcyNDU1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MjliZjVkZWU5YzY1NzcxNTA3MTA2MTE3ODRkMWUwZjliNTRjYjA5MWI5MzZhMTA4YzE0ZDhmMGJkMTY3NDc0OSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.9WY5XmHQtU7NO5xRzcuY5qixQWL16iLUyvpbRQI5-4E)
この機能がやねうら王の拡張仕様を利用していることに注意してください。他のエンジンではまともに動かなくなる可能性があります。
ShogiHome の機能の一部をコマンドラインから利用できます。
- usi-csa-bridge - USI から CSA プロトコルへブリッジするコマンド
メニューの「デバッグ」-「開発者ツール表示切り替え」で Chrome や Edge で馴染みのある DevTools を利用できます。