ごあいさつ

ご訪問、ありがとうございます。
私は茨城県取手市取手駅東口徒歩0分の場所にある取手総合法律事務所で弁護士をしております。

顧問先:大手損害保険会社、伊藤忠商事・住友化学関連会社

法律相談のお問い合わせは
0297−72−8090
までお願いいたします。
事務所概要
〒302-0004 茨城県取手市取手2丁目2番3号 TRDビル2階
取手総合法律事務所
TEL 0297(72)8090 FAX 050(3745)0085

主な受任事件

  • 交通事故のみとなっています。

なお、交通事故加害側のご相談は受けておりませんので、ご注意ください。

仕事を行う地域は、下記のようになっております。

  • 茨城県県南(取手・守谷・龍ヶ崎(竜ヶ崎)・土浦・つくば・常総・下妻)
  • 茨城県央(水戸)
  • 千葉北部(我孫子・柏・松戸)
  • 千葉県央(千葉・船橋・市川)
  • 東京都内

平成28年度:茨城県弁護士会土浦支部支部長
平成30年度:茨城県弁護士会副会長および関東弁護士会連合会理事
現職:関東弁護士会連合会 消費者委員会委員、取手市役所 政治倫理審査会委員、龍ケ崎市役所 入札監視委員会委員、茨城県弁護士会 消費者委員会副委員長・事務局運営室室員・弁護士会照会調査室室員
詳細な経歴は,以下のリンク先をご確認下さい。
www.facebook.com

AMD Ryzen/Radeon 610MとPaperlike253(E-inkモニター)の相性問題

しばらく使っていたPCの調子がどうにも悪く(これはこれで別の原因があったようですが)、パソコンを買い換えました。

これまではlenovoのPCを使用していましたが、MINIS FORUMのMS-A2にしました。


 

3年前にeBayで購入したU2 NVMe SSDを接続したら、SSDの厚みが15mmでカバーが閉まらなかったのでバラック運用です。

ビデオカードを追加でインストールすると、ビデオカードのドライバーをインストールするまで異様にWindowsの動作が重くなる以外は、セットアップはおおむね問題ありませんでした。

ただDasung Paperlike253(E-inkモニター)を接続したところ、はじめて見る現象が発生。

本来、モニターの左端に表示される映像が右側に表示されてしまっています。
そして、画面表示に明らかにちらつきが見られました。

しかもこの現象、Windowsスタート前の、パソコン起動時のメーカーロゴ表示時点で発生しています。つまりWidowsドライバーの問題ではなく、ハードウェア的な問題である可能性が極めて高いということです。

MS-A2のUSB Type-CコネクタからDisplayPort変換アダプターを使用して出力していたので、問題切り分けをしてみました。

  1. USB Type-Cコネクタのうち、HDMIポート側のコネクタでPaperlike253(E-inkモニター)に接続した場合に発生する。もう1つのUSB Type-Cコネクタでは発生しない。
  2. USB Type-Cコネクタのうち、HDMIポート側のコネクタ接続では、変換コネクター、ケーブルを交換しても発生する。
  3. USB Type-Cコネクタのうち、HDMIポート側のコネクタ接続で、Paperlike253(E-inkモニター)と接続した場合のみ発生する。HDMIポート側のUSB Type-Cコネクタ接続でも、一般的な液晶モニターと接続した場合は問題なく接続できて映像の乱れなどは発生しない。

結論的には、Radeon 610Mのハードウェア的な実装の問題で、Paperlike253(e-inkモニター)に接続した場合に問題が出るのではないかと思われます。

E-inkモニターの入力/出力が独特で、Paperlike253はリフレッシュレートが40Hzになっていて、通常のモニターとはかなり異なっています。
本来左側にあるべきタスクバーやスタートボタンが右側に回り込んで表示される現象は、「水平同期(H-Sync)の不整合」または「タイミング・パラメータの誤認」が原因のようです。
E-inkモニター(Dasung製品等)は、一般的な液晶モニターと異なり独自のコントローラーを介して描画を行います。GPU(Radeon 610M)が送出する信号のタイミング(水平帰線期間など)と、モニター側のコントローラーが期待するタイミングが微細にずれることで、走査の開始位置が誤認され、画像が「回り込む(Wrap-around)」現象が発生します。

ハードウェアの問題なので、回避策は、USB Type-Cコネクタのうち、HDMIポート側のコネクタをE-inkモニターでは使用しないことしか方法はないように思います。

かなり限定的な環境でしか発生しない問題ですが、Ryzenの内蔵GPUを使用する場合、モニターとの同期機能はどのGPUでも同じ可能性が高く(つまり同じ問題が発生しうる)、意外に再現性があるかもしれません。
もし同様に困っている方がいれば、ご参考までに。

速度と効率の重要性:弁護士業務におけるネットワーク最適化

当事務所では、膨大な裁判資料の電子化や、動画・画像といった証拠データの取り扱いが増加する中、業務効率を最大化するために所内ネットワークの「10GbE(10ギガビットイーサネット)化」が完了しています。

「弁護士業務にそこまでの速度が必要か?」と問われることもありますが、数百ページに及ぶPDFの閲覧や、数ギガバイト単位のバックアップを一瞬で終えることは、思考を中断させないために極めて重要です。

今回は、事務所内の環境で実施した、異なる接続形態およびネットワークチップ(NIC)による転送速度のベンチマーク結果をご紹介します。

測定には定番の「CrystalDiskMark」を使用し、所内の10GbE NASをネットワークドライブとしてマウントした状態で計測しました。

1. USB接続アダプター(Realtek RTL8159チップ採用)

まずは、ノートPCや拡張性のない端末で重宝するUSB接続タイプの10GbEアダプターです。

  • Read: 974.16 MB/s

  • Write: 577.39 MB/s

USB接続でありながら、読み込みで約974MB/s(約7.8Gbps)という素晴らしい数値を叩き出しました。USBのオーバーヘッドがあるためPCIe接続には及びませんが、手軽にここまでの速度が出るのは技術の進歩を感じます。これならノートPCでもデスクトップ並みの快適さで資料検索が可能です。

10GbE USB-C Ethernet Adapter USB3.2 Type C 10 Gigabit Ethernet Adapter Realtek/RTL8159 Support for Windows 11
Price Now: JPY 11549
🔗Click & Buy: https://s.click.aliexpress.com/e/_c3WDlhjz

2. Intel製NIC(E610-XT2)

続いて、サーバーやワークステーショングレードで信頼性の高いIntel製チップを採用した接続環境です。

  • Read: 1186.09 MB/s

  • Write: 588.77 MB/s

さすがはIntelと言うべきでしょうか。読み込み速度は1186MB/sと、10GbEの理論値(帯域幅)をほぼ使い切るパフォーマンスです。ただ問題は搭載PCが異様に不安定で、ちょっとファームとドライバーがこなれていない感じがします。値段も高いし、あまりおすすめしません。

3. Realtek RTL8127 PCIeカード(10GbE)

最後に、コストパフォーマンスに優れるRealtekチップを搭載したPCIe接続のカードです。

  • Read: 1046.04 MB/s

  • Write: 581.38 MB/s

こちらも読み込みで1000MB/s(1GB/s)の大台を超えてきました。USB接続と比較しても、やはりPCIバスに直結するPCIeカードの方が帯域を安定して確保できている印象です。Random4kQ1T1がもっとも早く、法律事務所のような細かいドキュメントファイルを頻繁に開く状況では、一番レスポンスがいいかもしれません。

Linuxディスク暗号化とリモート復号の方法

事務所内Fax送信サーバー(Ubuntu LTS 24.04、ネットワーク内のブラザーの複合機にデータを自動送信してFAX実行)は、セキュリティの観点からディスクを暗号化しています。

ただやっかいなのが、ディスクを暗号化してしまうと、起動時の復号は基本的にローカルマシンで実行しないといけません。

起動した後は、事務所内LANで接続された他のマシンからSSH接続で操作できますが、再起動時にはFax送信サーバーにモニターとキーボードをつながなければならず、かなり不便でした。

調べたところ、

gihyo.jp

という記事を発見。この記事を参考に試してみた結果、知見が得られたのでメモしておきます。

まずは、Ubuntuマシンのコマンドラインからインストール等(WindowsからSSH接続で操作している前提)。

sudo apt install dropbear-initramfs

curl https://github.com/itiut.keys -o authorized_keys

sudo cp authorized_keys /etc/dropbear/initramfs/authorized_keys

dropbearに他のマシンからアクセスするためには、アクセスするマシンの公開鍵をアクセス先のUbuntuマシンに登録しておく必要があります。

まず、Windowsマシンのpowershell(コマンドライン)で以下のコマンドを実行して、公開鍵を作成します(Windows11が前提)。

ssh-keygen -t ed25519

Enter file in which to save the key と聞かれたら、そのまま Enter を押します。(C:\Users\あなたのユーザー名\.ssh\ に保存されます)

その後、Enter passphrase と聞かれます。

秘密鍵自体を守るためのパスワード(パスフレーズ)を入力します。

このコマンド実行で、

C:\Users\あなたのユーザー名\.ssh\id_ed25519.pub

ここに公開鍵が作成されるので、このファイルをメモ帳などで開いて最初から最後まで全てコピー。

再度、ubuntuに戻ります(WindowsからSSH接続で操作している前提)。

sudo nano /etc/dropbear/initramfs/dropbear.conf

dropbear.confのオプションに以下追記。

# (前略)
#
# Command line options to pass to dropbear(8)
#
DROPBEAR_OPTIONS="-p 2222"
#ポート番号がデフォルトだとSSH使用不可になるため指定

追記できたら、ctrr+Xで終了してYで保存。

次にアクセスするマシンの公開鍵を登録。

sudo nano /etc/dropbear/initramfs/authorized_keys

このコマンドで開いたファイルに、C:\Users\あなたのユーザー名\.ssh\id_ed25519.pub
をメモ帳などで開いて全てコピーしたものを貼り付け。

貼り付けしたら、ctrr+Xで終了してYで保存。

その後、コマンドラインで以下のコマンドを実行。

sudo update-initramfs -u -k all

sudo update-initramfs -u

それから、起動時にUbuntuマシンのIPアドレスを固定する設定を行ないます。

暗号化ディスクの復号時には、まだUbuntuが立ち上がっていないため、起動直後のIPアドレスの設定が必要です。

コマンドラインで以下のコマンドを実行。

sudo nano /etc/default/grub

grubの内容に以下のように追記。

GRUB_CMDLINE_LINUX="ip=192.168.200.66::192.168.200.1:255.255.255.0:ubuntu:enp2s0:none"

192.168.200.66はUbuntuで設定しているアドレスと同一にしておいたほうがわかりやすいと思います。

enp2s0は、ネットワークの識別として必要で、Ubuntu起動時にコマンドラインで

ip a

として特定できるので、その内容を転記します。

設定できたら、ctrr+Xで終了してYで保存。

最後に、grubの設定を反映させます。

sudo update-grub

このコマンドを実行しないと、GRUB_CMDLINE_LINUX=の内容が反映されないので、必ず実行しましょう。

最後にリブートします。

sudo reboot

Ubuntuマシンが起動したら、公開鍵を登録したマシンからSSHでアクセスします。

ssh -p 2222 root@192.168.200.66
#rootしかない、passは同じ

Ubuntuではroot自体設定しない場合もあるかと思いますが、dropbearではrootしかログイン名がないようです。

パスワードは、root権限を持つユーザーのパスワードで大丈夫なはず。

Enter passphrase for key 'C:\Users\あなたのユーザー名/.ssh/id_ed25519':

ここでは公開鍵を作成時に入力したパスフレーズを入力します。

To unlock root partition, and maybe others like swap, run `cryptroot-unlock`.

BusyBox v1.36.1 (Ubuntu 1:1.36.1-6ubuntu3.1) built-in shell (ash)
Enter 'help' for a list of built-in commands.

これで複合化前のUbuntuマシンにアクセスできました。

コマンドラインで、

cryptroot-unlock

と入力して、

Please unlock disk dm_crypt-0:

復号パスワードを入力すると、復号が始まります。

cryptsetup: dm_crypt-0 set up successfully
# Connection to 192.168.200.66 closed by remote host.
Connection to 192.168.200.66 closed.

復号が開始されると、切断されます。Ubuntuが起動したら、今度はSSHでログインできるようになります。

事務所内LANからしかアクセスしないので、公開鍵不要でログインしたかったのですが、最終的に無理だったので諦めました。

DROPBEAR_OPTIONSでは、デフォルトで-s -gが付与されていて、
DROPBEAR_OPTIONS="-s -g"

とやれば設定が反転(トグル)してパスワードのみでログインできるとGeminiから説明されたのですが、いくらやってもダメでした。まあ復号をリモートログインで実行できることを考えると、公開鍵を作成して登録したマシンしかログインできないのが正解なんでしょうが。公開鍵の作成も登録も間出てまではそこまで手間ではないので、頑張りましょう。

余談ですが、事務所内の他のスクリプトは全てQNAP NAS上のUbuntu 22.04 コンテナ上で動かしています。

しかし、ブラザーのPC-FAX Linuxドライバーだけは散々試して、ブラザーのサポートにもかなり細かく問い合わせせしましたが、自前でビルドしたコンテナ上では動かすのは無理でした。動作の前提となるライブラリが結局なんなのかわからず、ビルド時に何が足りないのか判明しませんでした。

そのため、Ubuntu LTS 22.04をUbuntuのサイトからダウンロードしてインストールしたFaxサーバーを一台だけ立てています。ダウンロードしたイメージでブラザーのPC-FAX Linuxドライバーをインストールしたら、何の問題もなく一発で動いたので、なんかもう仕方ないですねという。

【弁護士・法務担当者向け】Google Workspace契約の落とし穴:Gemini API利用でクライアント情報がAIの学習データになるリスクと対策

 日々の業務でGoogle Workspaceを活用されている先生方も多いと思います。

 Gmailでのクライアントとの連絡、Google Driveでの証拠資料の管理、Googleドキュメントでの書面作成など、その堅牢なセキュリティとデータ保護機能は、我々法律専門家が守秘義務を遵守する上で、強力な基盤となっています。

 そして今、法務業務効率化のツールとして、Googleの高性能な生成AI「Gemini」の活用が注目されています。しかし、この便利なツールを安易に利用すると、意図せずクライアントの信頼を損なう重大なリスクに繋がる可能性がある点は、あまり知られていません。

 「うちは有料のGoogle Workspaceを契約しているから、そのアカウントでGeminiを使えばデータは保護されるはずだ」――このように考えるのは自然なことですが、残念ながら、その認識は正確ではありません。

 たとえ有料のGoogle Workspace契約者であっても、スタンドアロンのGemini APIを有料契約せずに「無料枠」で利用した場合、送信したデータ(プロンプトや入力した情報)は、GoogleのAIモデルの学習に利用されます。

 なぜこのような事態が発生するのか、その技術的・法的な背景を解説し、法律事務所としてクライアントの機密情報を守るために取るべき具体的な対策をご説明します。

なぜWorkspaceの保護はAPIに及ばないのか?:「サービスごと」の利用規約という大原則

 この問題を理解する上で最も重要なポイントは、Googleのサービスが、それぞれ独立した利用規約に基づいて提供されているという事実です。

Google Workspaceの保護:
私たちが信頼しているGoogle Workspaceのデータ保護は、「Google Workspace Agreement」および「Cloud Data Processing Addendum (CDPA)」という、エンタープライズ向けの厳格な契約によって法的に保証されています。この契約に基づき、Googleは私たちのデータを許可なくモデルの学習に利用しないことを約束しています。これは、いわばWorkspaceという堅牢な「城壁」の内側での約束事です。

スタンドアロンGemini APIの規約:
一方、私たちが開発者向けに利用するGemini APIは、この城壁の外にある、全く別のサービスです。このAPIを利用する際には、Workspaceの契約とは別に、「Google APIs Terms of Service」と「Gemini API Additional Terms of Service」という規約に同意する必要があります。

 たとえWorkspaceのアカウントでログインしてAPIキーを取得したとしても、APIを利用する行為そのものが、この「城壁の外」のルールに従うことに同意したと見なされるのです。アカウントの所属(Workspaceユーザーであること)と、利用しているサービスのデータガバナンスは、明確に分離されている点に注意が必要です 。

データ利用の明確な分岐点:無料ティアと有料ティア

 では、Gemini APIにおけるデータプライバシーは、何によって決まるのでしょうか。それはユーザーの所属組織や契約プランではなく、APIを利用するGoogle Cloudプロジェクトの「課金ステータス」です。ここに明確な分岐点が存在します。

無料ティア(Unpaid Services)の規約:
 Gemini APIの利用規約には、無料サービスで送信されたコンテンツは「Googleのプロダクト、サービス、機械学習技術の提供、改良、開発に利用されます」と明確に記載されています。
 さらに、公式の料金ページには「Used to improve our products」(製品改善に利用されるか)という項目があり、すべてのモデルの無料ティアにおいて、この値は「Yes」と明記されています。これは、データがモデル学習に利用されることを示す証拠です。

有料ティア(Paid Services)の規約:
 対照的に、有料サービスについては「Googleはユーザーのプロンプトや回答をプロダクトの改善に利用することはありません」と断言されています。

 つまり、Google Cloudプロジェクトで課金を有効にし、従量課金制のプランに移行することこそが、私たちのデータをモデル学習から保護する唯一確実な方法となります 。

 ややこしいのが、「Google Cloudプロジェクトで課金を有効にしたが、その課金契約で無料枠を使用した場合」は、有料サービスで使用した括りとなり、データはモデル改善に現在のところは利用されません。ただし、Googleの規約が変更されるか否かは予測がつかないため(Googleが無料枠を全てデータ学習に使用すると一方的に改訂すれば、ユーザーは従わざるをえない)、安全策をとるのであれば無料枠を使用せずに全て有料で使用することがもっとも安全だと思われます。

法律事務所が取るべき具体的なデータ戦略

 クライアントの訴訟記録の要約、契約書ドラフトのレビュー、あるいは機微な個人情報を含む相談内容の整理などを、安易に無料ティアのAPIで処理する行為は、弁護士の守秘義務に抵触する極めて高いリスクを伴います。このリスクを回避し、クライアントの信頼を守るため、Vertex AIプラットフォーム上でGemini APIを利用することになります

 Vertex AIは、Google Workspaceと同様にCDPAの完全な保護下にあり、データが保存される地域を指定できる「データレジデンシー」など、より高度なガバナンス機能を提供します。

 PythonスクリプトでGeminiを利用する場合は、google-generativeaiではなく、有料でしか使えずかつ拡張性も十分なgoogle-cloud-aiplatformを利用する必要があるということになります。

さいごに

 生成AIは、法律業務の質と効率を飛躍的に向上させる可能性を秘めています。しかし、その利便性を享受するためには、その裏にある利用規約とデータポリシーという法的枠組みを正確に理解することが不可欠です。

 「有料のGoogle Workspaceを契約しているから安心」という思い込みは捨て、利用するサービスごとの規約を個別に確認し、適切な設定を行う。これは、我々法律専門家の業務姿勢そのものと言えるでしょう。

GoogleCloudConsoleでVertex AI APIを有効にする

Vertex AI APIを使用するため、GoogleCloudでAPIを使用する手順を説明します。

左上のGoogleCloudの右横の□で囲まれているところ、プロジェクトではなく組織を選択します。

左上の「三」(メニューボタン)の部分をクリックして、IAMと管理」>「サービスアカウント」をクリック。

プロジェクトの作成をクリック。

プロジェクト名がランダムで割り当てられますが、わかりやすい名前に変更しておいた方が便利です。
プロジェクト名を変更したら左下の「作成」ボタンをクリック。

画面が遷移したら、サービスアカウントの作成をクリック。

1. サービス アカウント名
このサービスアカウントの役割が分かりやすい名前を自由につけます。Google Cloudコンソール上に表示される名前です。

2. サービス アカウント ID
通常は、「サービス アカウント名」から自動的に生成されるので、編集する必要はありません。 これはサービスアカウントを識別するための一意のIDで、後から変更することはできません。 メールアドレス形式(ID@プロジェクト名.iam.gserviceaccount.com)で利用されます。

3. サービス アカウントの説明
このサービスアカウントが何のために使われるのかを記述します(省略可能ですが、後から見返したときに分かりやすいように記述しておくことを強く推奨します)。


権限で「Vertex AI ユーザー」を検索すると選択肢が表示されるので、Vertex AI ユーザーを選択して続行をクリック。

サービス アカウント ユーザー ロール: ここにユーザーを追加すると、そのユーザーは**このサービスアカウントとして振る舞う(なりすます)**ことができます。例えば、開発者が自分のPCからこのサービスアカウントの権限でコマンドを実行したい場合などに使います。

サービス アカウント管理者ロール: ここにユーザーを追加すると、そのユーザーはこのサービスアカウント自体を**管理(キーの作成や削除など)**できるようになります。今回のように、「サービスアカウントキー(JSONファイル)」をダウンロードして使用する場合は、このセクション(アクセス権を持つプリンシパル)は両方とも空のままで問題ありません。

何も入力せずに、そのまま青い [完了] ボタンをクリックしてください。

画面が遷移したら、操作をクリックして、「鍵を管理」を選択。

「キーを追加」をクリックして、「新しい鍵を作成」をクリック。

「JSON」を選択して、右下の青い「作成」をクリック。

なお、クリックしたら「サービス アカウント キーの作成が無効になっています」といしうメッセージが表示された場合、以下の操作が必要です。

ページ上部にあるプロジェクトセレクタをクリックし、対象の組織を選択してください。(プロジェクトやフォルダではなく、一番上の階層にある組織です)
ナビゲーションメニュー(左上のハンバーガーメニュー☰)から [IAMと管理] > [組織ポリシー] を選択します。
ポリシーの一覧が表示されたら、フィルタ欄に以下の制約名を入力して検索します。
iam.disableServiceAccountKeyCreation
アクティブな iam.disableServiceAccountKeyCreationについて、[ポリシーを編集] をクリックします。

「親のポリシーをオーバーライドする」が選択されていることを確認して、「ルールの編集」をクリックして、「オフ」に変更し、青い「ポリシーを設定」をクリック。

これでJSONファイルが作成できます。

ポリシー変更が適用されるか、もともとポリシー適用がなければ、JSONファイルがダウンロードされます。

このJSONファイルを参照することで、Pythonのgoogle-cloud-aiplatformライブラリを使用して、各種スクリプトを使用できるようになります。

Pythonで使用する際に必要なプロジェクトIDは、ダウンロードしたJSONファイル内に「"project_id": "vertexai-4******4",」のよう形式で記載されています。

また、サービスアカウントの詳細で表示されるメールのうち、@より後ろでiam.gserviceaccount.comより前の部分がプロジェクトIDになります。

GoogleCloudでVertexAIのAPIを有効にするため、「APIとサービス」から「有効なAPIとサービス」をクリック。

「+APIとサービスを有効にする」をクリック。

検索ボックスに「Vertex AI」と入れて、APIを検索。

Vertex APIを選択。

Vertex APIを「有効にする」を選択。

これで、Vertex APIを利用してスクリプト等を作動させることができます。

google-generativeaiライブラリではなく、google-cloud-aiplatformライブラリを使用する意味は、リージョンの指定ができることにあります。
google-generativeaiライブラリを使用する場合、リージョン指定ができず自動的にリージョン調整がされますが、google-cloud-aiplatformライブラリではGOOGLE_CLOUD_LOCATION="asia-northeast1"と指定することで、データを東京に保存するよう明示することが可能になります。

AI作成の事務所内スクリプト(プログラム)ファイル概要

Gemini2.5Proに作成してもらった、当事務所で運用中のスクリプト一覧です。

前提として、①事務所内でファイルサーバーがありファイルやフォルダを操作できること、②ファイル名の命名規則は統一されていて、YYYYMMDDファイル名.*となっていること(YYYYは西暦年、MMは2桁(01、12等)で記載する月、DDは2桁(05、31等)で記載する日)、スクリプトを動作させるLinuxサーバーがあること(ファイルサーバーと兼用でも問題なし)、という条件があります。

クラウドで統一するとスクリプトを常時稼働させるのが難しくなる(スクリプト稼働に費用がかかる、そもそもスクリプト稼働に制限があるなど)、MacはわかりませんがWindowsでは24時間/365日常時稼働マシンを維持するのが難しいこと、個人がそれぞれ使用するパソコンではパソコンが使われていないときにはスクリプトが動かないので処理ができないこと、前提条件はこれらの問題をクリアしておく必要があるためです。

  • pdf_auto_sort
    PDFファイルの内容をGemini APIで解析し、ファイル名の変更案と保存先フォルダの候補をDiscord上で提案する高度な自動整理スクリプトです。fax_auto_sortの汎用版です。
  • pdf_subsubfolder
    PDFファイルをさらに詳細なサブフォルダへ自動整理するスクリプトです。YYYYフォルダ内の..というファイルを検出し、YYYY/YYYYMMというフォルダへ移動させます。
  • pdf_move
    複数の業務フォルダを監視し、そこに置かれたPDFと同名のファイルを元のPDF保管フォルダから探し出し、年月ベースのサブフォルダへ自動で移動させるスクリプトです。ファイルチェックが高速化されています。
  • pdf_jyunin_merge
    「受任通知.pdf」と「委任状.pdf」を自動で結合するスクリプトです。監視フォルダ内で両方のファイルが揃うと、一つの「受任通知(委任状あり).pdf」というファイルにまとめます。
  • pdf_gensen
    複数の業務フォルダを監視し、ファイル名に「源泉」などの特定キーワードが含まれるPDFを、指定された「源泉」フォルダへ自動でコピーするスクリプトです。
  • pdf_processor
    PDFフォルダを監視し、テキスト情報が少ないPDFを自動でOCR処理するスクリプトです。処理後はファイルを適切なフォルダに移動させ、エラーが発生した場合はエラーフォルダに隔離します。
  • pdf_processor_kaimu
    特定の会務関連フォルダ内を再帰的に検索し、テキスト情報が少ないPDFファイルにOCR処理を施して上書き保存する、一括処理用のスクリプトです。

 

  • fax_auto_sort
    受信FAX(PDF)の内容をGemini APIで解析し、ファイル名の変更案と保存先フォルダの候補をDiscord上で提案する高度な自動整理スクリプトです。
  • fax_ocrpdf
    指定フォルダを監視し、特定の命名規則を持つPDFファイルにOCR(光学的文字認識)処理を自動で施すPythonスクリプトです。処理後のPDFは、ファイル名の日時部分を元にリネームして保存されます。
  • faxsend_naming_convention
    自動FAX送信用PDFの命名規則を定義したファイル。「faxsend_日時_FAX番号_元のファイル名.pdf」の形式で、fax_draftやfax_completeなどの状態も示唆します。
  • fax_send_server_ShortFileName
    特定の命名規則を持つPDFを監視し、ファイル名から番号を読み取って自動FAX送信するサーバスクリプト。送信成功後、元のファイル名でコピーを作成し、結果をDiscordに通知します。
  • fax_old_sent_error_delete
    FAXの送信済みフォルダとエラーフォルダ内を定期的に整理するスクリプトです。指定された日数(この場合は60日)以上経過した古いファイルを自動的に検索し、削除する機能を持っています。

 

  • todoist_monitor_folders
    監視フォルダ内でのファイルやフォルダの新規作成を検知し、タスク管理ツール「Todoist」に自動でタスクやサブタスクを登録する連携スクリプトです。

 

  • postal_gemini_ocrpdf
    郵送物の画像からGoogleのGemini APIを利用してOCR処理を行い、宛名情報を抽出してPDF化するスクリプトです。APIの使用回数制限(レートリミット)に対応した制御機能が含まれています。

 

  • DiscordBot_general GeminiFlash
    GoogleのGemini APIを利用してユーザーとの対話を行うDiscordボットのPythonスクリプトです。APIキーなどの設定ファイルを作成し、ボットを起動するためのコマンド一式が含まれています。
  • Discordbot_kyori_gemini
    Google Maps APIとGemini APIを連携させたDiscordボットです。メンションで送られた文章から出発地と目的地を抽出し、車での移動距離を計算して返答する機能を持っています。
  • DiscordBot_postalservice
    郵便番号と住所の双方向検索ができるDiscordボットのスクリプトです。郵便番号CSVデータを基に、ユーザーからの問い合わせに対して郵便番号または住所を検索して応答します。
  • Discordbot_postalservice_zip
    郵便番号データをウェブサイトから自動でダウンロードし、更新するPythonスクリプトです。ZIPファイルをダウンロード後、必要なCSVファイルのみを抽出し、指定のフォルダに配置します。
  • Discordbot_googlecalendar
    Googleカレンダーと連携し、指定した複数のカレンダーの予定を毎日決まった時間にDiscordへ通知するボットです。休日を考慮した通知パターンの設定も可能です。
  • DiscordBot_NewFolder_todoist_8AMcheck
    フォルダ監視機能とDiscordボットを分離した構成。新規フォルダを検知してTodoistにタスク登録し、毎朝8時にTodoistの新規サブタスクをDiscordに通知します。

 

  • print_fax_folder_auto
    指定フォルダに置かれたPDFを、ファイル名の命名規則に基づいて自動で印刷またはFAX送信するスクリプトです。処理結果はDiscordに通知されます。
  • print_auto
    特定の命名規則を持つPDFファイルを自動で印刷するスクリプトです。ファイル名からプリンター名と印刷部数を読み取り、処理後にファイル名を元に戻します。Discordでの通知機能も備えています。
  • label_auto
    テキストファイルの内容から宛名ラベル画像を生成し、ラベルプリンターで自動印刷するスクリプトです。フォントや印刷枚数をファイル名で指定でき、Discordへの通知機能もあります。

 

  • delete_recycle_files
    QNAP NASのゴミ箱フォルダ(@Recycle)内をスキャンし、特定の同期ソフトが生成する不要なデータベースファイル(ffs_dbなど)を自動で削除するクリーンアップスクリプトです。
  • File move 30days
    指定された複数のディレクトリを監視するファイル整理スクリプトです。ファイル名の日付が30日以上前のPDFファイルを検出し、その年に応じたサブフォルダ(例: 2024/202405)へ自動で移動します。
  • move_finish_civil
    「民事」カテゴリの既済フォルダを整理するためのスクリプトです。「YYYYMMDD」形式で始まるフォルダを、その年に応じたサブフォルダ(例: 2024)の中へ自動的に移動させます。
  • move_finish_credit
    「クレサラ」カテゴリの既済フォルダを整理するためのスクリプトです。「YYYYMMDD」形式で始まるフォルダを、その年に応じたサブフォルダ(例: 2024)の中へ自動的に移動させます。