Shodo で CLI から文章を AI で校正する
Shodo を使うと AI の支援を受けて日本語の文章校正を行うことが出来ます。 Shodo 自体は有料ですが、個人利用に限定した無料プランもあるそうです。 Shodo は専用サイトから Web UI で利用することも出来ますが pypi で公開されている shodo をインストールすることで CLI から利用することも出来ます。 今回は CLI から無料プランを利用する手順をメモしておきます。
検証環境¶
対象 | バージョン |
---|---|
macOS | 15.2 |
Python | 3.12.7 |
shodo | 1.1.0 |
API ルート / API トークンの取得¶
CLI から Shodo を利用する場合、shodo のログインサイトから API ルートと API トークンを事前に取得しておく必要があります。
Step.1¶
Shodo の専用サイトにログインしたら 校正 API
を選択し、表示された画面から API ルートの横にある コピー
をクリックし、API ルートを取得しておきます (この後、API トークンも取得するので API ルートは一時的にエディタなどへ貼り付けておきます)。
Step.2¶
トークンを作成
をクリックします。
Step.3¶
API トークンに割り当てる任意の名前を入力します。 今回は token1
としましたが、アプリケーションを識別出来る名称が良いかもしれません。
Step.4¶
API トークン名を入力したら 作成する
をクリックします。
Step.5¶
API トークンが発行されます。 コピー
をクリックし、API トークンの値を控えておきます。
Shodo を pypi からインストールする¶
CLI から利用する為、pypi から shodo をインストールします。 今回は uv を利用しています。
uv pip install shodo
Shodo の認証情報を設定する¶
CLI から Shodo を利用するには初回のみ、事前に取得した API ルート / API トークンの値を設定する必要があります。 shodo login
を実行すると API ルートと API トークンの入力を求められますので、各々入力します。
% shodo login
APIルート: https://api.shodo.ink/USERNAME/lint-api/
APIトークン:
尚、入力した認証情報は ~/.config/shodo/credentials
に保存されるようです。
CLI から Shodo で文章を校正する¶
文章を校正するには以下のように実行します。
shodo lint FILENAME
このメモは Markdown で記載していますが、これをそのまま処理させた場合、CLI では以下のように表示されました。
参考¶
ヘルプ¶
% shodo --help
Usage: shodo [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
download Download all of Markdown posts and images.
lint Lint Japanese text.
login Login to Shodo API.
% shodo login --help
Usage: shodo login [OPTIONS]
Login to Shodo API.
Options:
--profile TEXT Save a specific profile to your credential file.
--help Show this message and exit.
% shodo lint --help
Usage: shodo lint [OPTIONS] [FILENAME]
Lint Japanese text.
Options:
--html Specify if the input is HTML.
--output [text|json] Output format.
--profile TEXT Use a specific profile from your credential file.
--help Show this message and exit.
% shodo download --help
Usage: shodo download [OPTIONS]
Download all of Markdown posts and images.
Options:
--target DIRECTORY Target directory to save files.
--in-tree Download only files with task Folder.
--profile TEXT Use a specific profile from your credential file.
--help Show this message and exit.