Misskey運用チームが利用するボット、アストロラーベを開発しています。
主要言語は「Python」です。全ソースコード・使用ファイルをNextCloudで配布しています。
必須ファイルの直接ダウンロード。Model等を全て同梱したものです。
https://cloud.seitendan.com/index.php/s/wtGNoL3BBYMtiaF
githubでのインストールも可能です。(様々な必須ファイルのインストールが必要なため、あくまで補足的な利用です)
misskey_bot_astrolabe | github
https://github.com/takumin3211/misskey_bot_astrolabe/tree/master

アストロラーベの自己紹介
『太古の昔から、人々の物語を支えた天測航法装置”アストロラーベ”より生まれました。
あなたが望む世界に、あなたと一緒に赴きます。
「さて、次はどこに向かいましょうか?」』
主要機能
能動実行型の機能(自動化された機能)
- マルコフ連鎖機能:ホームTLとグローバルTLを元に自動で文章を生成してノートします。
- 挨拶:おはよう、おやすみの挨拶が出来ます
- 日次報告:一日の投稿数や稼働時間をノート出来ます。
- RSS投稿:その名の通り一日に何回か、RSSで記事を配信してくれます
- ナウプレイング:音楽名とアーティスト、アルバム名をランダムで投稿する機能です。
- ご飯紹介:夜にご飯ガチャを自動実行してご飯を紹介してくれます
- アニメ紹介:一定の確率でアニメを紹介してくれます
- ワードクラウド:四時間に一回、GTL全数記録に基づくワードクラウド画像・参加インスタンス数・参加ユーザー数、ランダムでインスタンス名とユーザー名を投稿する
受動実行型の機能(利用者の行動に応じた機能)
- 呼び出し:「アストロラーベちゃん」と呼ぶと一定の確率でリプライしてくれます(フォロワー限定)
- フォロー返し(フォロー返しの機能)
- リアクション:おはよう、おやすみ、ごはん、かわいい、等に反応してカスタム絵文字を付けてくれます(フォロワー限定)
- 自由トーク:メンションして文章を送ると内容に応じた返信をします。
- 機能紹介:メンションして「help」「info」「機能」と送ると機能を教えてくれます。
- 死活報告:メンションして「死活」「世代」「version」と送るとバージョンと時間の乗った返信が来て死活確認等できます
- ご飯ガチャ:「献立」「ご飯ガチャ」と送ると517の料理名からランダムで一つ送ってくれます
- ふつおた機能:ふつおた 名前 本文、とするとラーベちゃんが代理投稿してくれる
サーバ運用の補佐と、Botの管理をする為の機能(他のサーバ管理者が利用する時の為の機能)
- 登録された管理者だけ、停止・再起動が出来ます。また、起動の通知(再起動通知)を受け取れます
- 代理投稿:「代理」「投稿」「代理投稿」の以後の文を「ホーム」範囲で投稿します。
- ログ取得:「ログ」と送ると書き込み中のログを見せてくれる
- ログ破棄:「ログクリア」と送ると書き込み中のログを棄却出来る
- システムチェック:空き容量の減少、CPU使用率の上昇を検知すると通知してくれます(一日一回の検出)
実装予定
実装中
なし
将来実装予定
- カラーコードベースのラッキーカラー機能
- 名言等を極めて低確率でノートする機能
- ひらがなガチャ
- サーバメンテナンス機能
技術調査及び構想中
- リプライベースの翻訳機能
- 時間指定のリマインダー
- 選択肢に応じた疑似ADVゲーム
- 呼び名登録機能
- Misskeyの外部への実装
- 仮想SSH機能
- LLMモデルの精度向上
更新履歴
- v.1.93.00 2023/11/25 【メイン系(アストロラーベ)】Linux実行環境への対応、軽微な問題の修正、安定性の向上
- v.1.92.01 2023/11/– 【メイン系(アストロラーベ)】再読込の際、処理が高速に行われる問題の更なる修正、管理者用としてログ取得機能、ログ放棄機能、起動メッセージにログレベルを追加
- v.1.92.00 2023/11/– 【メイン系(アストロラーベ)】ワードクラウド機能の実装。再読込の際、ループがサーキットになる問題の修正、起動メッセージの修正、起動報告のDMが複数回送られる問題の修正
- v.1.91.00 2023/10/– 【メイン系(アストロラーベ)】ふつおた機能の実装、投稿管理の外部化(JSON)、設定のINI化、リフォロー機能の修正、MisskeyAPI利用の内製化、コード見直しによるウェブソケット切断時の再読込範囲の削減
- V1.01.07 2023/10/24 【メイン系(アストロラーベ)】「おやすみ」のリアクションが正常にされていなかった問題を修正、ログ出力のレベルを最重度に限定しログ出力文字数を大きく低減。
- V1.01.06 2023/10/08 【メイン系(アストロラーベ)】天気を気象庁から取得しノートする機能の実装、代理投稿する機能の実装(管理者限定)、アニメ投稿機能が動作しない不具合の修正、システムチェックのノートを管理者へのメンションに変更、内製した絵文字追加への変更、日次の時間と日の重複を解決
- V0.07.00 2023/09/20 【メイン系(アストロラーベ)】マルコフ連鎖による自動生成の定期ノート機能(グローバルTLの取得機能)、自動フォロー返し機能
- V0.06.01 2023/09/14 【メイン系】ご飯ガチャ機能(リプライ)、ご飯投稿機能(定期)、アニメ投稿機能(定期)の実装、管理機能の搭載(特定ユーザのみリプライで再起動等が出来る機能)、非同期処理に関する問題の修正、ウェブソケットの例外キャッチの強化【メンテナンス系】簡易的なスクレイピング機能の搭載、CSVの重複データ削除機能の搭載
- V05.01 2023/09/07 【通常運用系】ナウプレ機能、初回起動と運用のpyファイルの分離、日次報告ノート機能のコード整理、RSSノート回数の増加、呼び出し機能の回数減少、微細・重大なバグの修正。【メンテナンス系】アストロラーベメンテナンスウィザードのリリース。CSV=>DB、DB=?CSV、m3u=>CSV 、DBのテーブル一覧表示、DBの内容閲覧等の機能を初期から搭載してます
- v0.04.00 2023/08/28 呼び出し機能、リアクション機能、システムチェック機能を追加しました。また、定期投稿系の問題を解決し、スケジュール機能を独自実装しました(より柔軟な乱数利用が可能になりました)。新規運用しやすいように、logとmodelフォルダを自動で生成するようにしました。
- v0.03.00 2023/08/26 RSS機能を搭載、ログ出力機能を搭載、死活報告機能を追加(「機能紹介」より短く効率的な表示を実現)、各種PATHの自動取得機を追加、時間指定投稿が正常に動作しない問題を解決等
- v0.02 2023/08/22 設定項目をsetting.pyに分離し、レポジトリを公開しました。
- v0.01 2023/08/21 挨拶投稿、日次投稿、機能紹介、自由トーク機能を搭載して運用を開始しました。
導入時の注意点
起動するべきメインファイルはmain.pyです。modelフォルダの中にLLM(LLAMA系言語モデル(「chronos-13b.ggmlv3.q4_K_M」を使っています))を入れて下さい。
setting.pyの中にMisskeyのトークン、BotのID、管理者のID等を記入して下さい。
カスタム絵文字等、星海天測団Misskey支部に最適化されている為、適宜api.dbの中を弄る等して調整してください(メンテナンスウィザードに機能が搭載されています)
cashフォルダの中に、「cash1.txt」「cash2.txt」「cash3.txt」の空ファイルを作って下さい
既知の問題
2023/11/25 システムチェック機能がLinux環境に適合していない
→調査中、ただし低い優先順位
修正済みの問題
- 【2023/11/25修正済み】2023/10/21 ランダムが正常に動いていない、極めて少ない選択肢から抽選を行っている可能性がある
- 【2023/08/26修正済み】2023/08/23 起動時「time_db」が見つからない、というSQLiteのエラー
- 【2023/08/26修正済み】2023/08/23 LLM後、返答をリプで飛ばすとウェブソケットのコネクションクローズが受信されにゃいエラー
- 【2023/08/23修正済み】2023/08/23 全ての返信が「ホーム」に返信されている問題。返信元の公開範囲を引き継げるように変更予定。