eyedrop(コマンド)

書式

eyedrop [-f FILENAME [--create]] [コマンド [引数...]]
eyedrop --version
eyedrop -h

説明

eyedrop は、目薬の在庫(入庫・開封・棚卸し)と、開封から使い切るまでの日数を記録し、 来院日から次回来院日までに処方をお願いする本数を計算します。 目薬管理(Android版)の CLI 版です。

コマンド を付けるとそのコマンドを1つ実行して終わります。 付けなければ対話シェルになります(help でコマンド一覧、コマンド -h でそのコマンドのヘルプ、q で終了)。

オプション

-f FILENAME, --file FILENAME

データベースファイル。省略時は環境変数 EYEDROP_DB、それも無ければ既定のファイル(「ファイル」参照)。 指定したファイルが無いとエラーになります(打ち間違いで空のデータベースを見てしまわないため)。

--create

-f や EYEDROP_DB で指定したファイルが無ければ新しく作ります。

--version

版を表示します。

-h, --help

ヘルプを表示します。

日付と期間

日付は YYYY-MM-DD、YYYY/MM/DD または MM/DD(今年)で指定します。省略すると今日です。

期間は「2ヶ月」「2か月」「8週間」「8週」「60日」「60」のように指定します(1ヶ月 = 30日、1週間 = 7日、最大365日)。

薬 は、ID(drugs で表示)、代表目薬名(例: コソプト)または目薬名(例: ドルモロール)で指定します。

コマンド

目薬

drugs [-a]

目薬の一覧。-a で使用終了した目薬も表示

add [-d 日付] [--max-days 日数] [--default-days 日数] [--as-needed] [-m メモ] 代表目薬名

目薬を登録。--max-days は開封後の廃棄期限の日数、--default-days は実績が無いときの想定使用日数、 --as-needed は随時使用(必要本数を計算しない)

alias [-d 日付] [-m メモ] 薬 目薬名

目薬名(ジェネリックなどで実際にもらう目薬の名前)を追加。代表目薬名はそのまま

endname [-d 日付] [--clear] 薬 目薬名

目薬名の利用終了日を設定。--clear で利用中に戻す。目薬名がすべて利用終了した代表目薬名は利用終了扱い

end [-d 日付] 薬

目薬の使用を終了(サマリーに出さない)

set 薬 項目 値

目薬の項目を変更。項目 は name・start_date・end_date・max_days・default_days・as_needed・note・pattern_date。 値 に - を指定すると空にする(例: set キサラタン max_days 28)

show 薬

目薬の詳細(目薬名・メモ・通常期間・在庫・開封中の1本)

note [-d 日付] 薬 メモ

日付付きメモを追加

在庫

in [-d 日付] [-m メモ] 薬 本数

入庫(処方された)

out [-d 日付] [-m メモ] 薬 本数

出庫(開封以外で在庫が減った。開封は open)

inv [-d 日付] [-m メモ] 薬 本数

棚卸し(未開封の在庫数を 本数 とする)

invall [-d 日付] [-m メモ]

一括棚卸し。使用中の目薬を順に聞くので、未開封の本数を入れる (空 Enter で記録上の本数のまま、 q で中止して何も記録しない)。 本数が同じ目薬も棚卸しとして記録する

stock 薬

在庫の履歴

delstock 在庫記録ID

在庫記録を削除(訂正用。ID は stock で表示)

開封(ライフタイム)

open [-d 日付] [-m メモ] [--no-stock] 薬

開封。在庫から1本出して使い始め、使っていた1本は使い切りにする。--no-stock で在庫から出庫しない

undoopen 薬

一番新しい開封を取り消す(在庫を戻し、前の1本を使用中に戻す)

finish [-d 日付] [-m メモ] [-i] 薬

次を開封せずに、開封中の1本を使用終了。-i でイレギュラー(中止・紛失など)にする

life 薬

ライフタイム(開封から使い切りまで)の履歴。* はイレギュラー

irregular [--clear] [-m メモ] ライフタイムID

ライフタイムをイレギュラー(推定に使わない)にする。--clear で解除。 イレギュラーが1つあれば、それより前の実績は推定に使わない

pattern [-d 日付] [-m メモ] 薬

点眼パターン変更(1日の点眼回数などが変わったとき)。変更日より前に開封した直近の1本をイレギュラーにし、 それより前の実績を推定に使わない

dellife ライフタイムID

ライフタイムを削除(訂正用。ID は life で表示)

受診前サマリー

report [-v 日付] [-n 日付 | 期間] [--margin 日数] [--plain] [--ai] [-o ファイル]

来院日から次回来院日までに必要な本数と、その根拠・目薬在庫・注意を出力(既定は Markdown)。 -v は来院日(既定は visit の設定、無ければ今日)、-n は次回来院日または来院日からの期間 (既定は next の設定、無ければ interval の期間後)、--margin は余裕日数、 --plain はテキスト版、--ai はチャットAI 用(指示 + JSON)、-o はファイルにも出力

visit [-r] [日付]

対話シェルで以後の report に使う来院日を設定・表示。-r で今日に戻す

next [-r] [日付 | 期間]

対話シェルで以後の report に使う次回来院日を設定・表示。-r で既定に戻す

interval [期間]

次回来院日の既定(来院日から何日後か)を設定・表示。データベースに保存される(既定 2ヶ月)

保守

rollover [-o ディレクトリ] [年]

年次更新。年 の1月1日より前の記録をバックアップ・CSV に書き出して退避し、在庫を繰り越す (既定は昨年)。出力先の既定はデータベースと同じ場所の archive

import odsファイル

スプレッドシート(eyedrop-stock.ods の形式)を取り込む

help [コマンド]

コマンド一覧、またはコマンドのヘルプ

q, quit

対話シェルを終了

必要本数の計算

開封分残日数 = 通常期間 − (来院日 − 開封日)
在庫残日数   = 開封分残日数 + 未開封の本数 × 通常期間
足りない日数 = 次回来院日までの日数 − 在庫残日数
必要本数     = ceil(足りない日数 ÷ 通常期間) + 予備1本   (マイナスは0)

通常期間は、イレギュラーでない使い切った記録のうち直近3本の平均(整数日に四捨五入)です。

環境変数

EYEDROP_DB

データベースファイル(-f を省略したとき)。

XDG_DATA_HOME

既定のデータベースファイルの置き場所の基準(省略時 ~/.local/share)。

ファイル

~/.local/share/eyedrop/eyedrop.db

既定のデータベースファイル($XDG_DATA_HOME/eyedrop/eyedrop.db)。 無ければフォルダごと新しく作ります。Android版のバックアップのファイルもそのまま使えます。

例

$ eyedrop add 目薬A
$ eyedrop in 目薬A 3 -d 2026-07-10
$ eyedrop open 目薬A
$ eyedrop report -n 4週間 --plain
$ eyedrop -f ~/backup/eyedrop-backup-20261001.db report

注意

このツールは目薬の点眼の記録と、受診時に伝える目薬の本数の目安を出すためのものです。 実際の処方や点眼の方法は、必ず医師の指示に従ってください。

関連項目

ドキュメント: https://kuma35.github.io/eyedrop/

ソース: https://github.com/kuma35/eyedrop