作品一覧に戻る
Works
claude-slack-bot
Slack 上で Claude と会話しながら、kibunlog への記録などの個人タスクを進められる自作 bot。日常運用しています。
Tech Stack
- Python 3.12
- Anthropic SDK
- Slack Bolt
- systemd
どんなもの?
Slack 上で Claude と対話しながら、自分の日常タスクを進めるための bot です。 日々の記録 (kibunlog 連携)、ちょっとした調べもの、長めの相談まで、Slack のチャンネルから自然に依頼できるようにしています。
動作の様子
Slack のチャンネルでメンションして話しかけると、状況に応じてフォーム入力や自由文での会話ができます。
なぜ作ったか
普段の作業の起点が Slack に集中していたので、AI とのやり取りも同じ場所でできた方がスムーズだと考えたのが始まりです。 既製のサービスを使うのではなく自作したのは、自分専用に挙動を調整したかったから (応答スタイル、利用できるツール、保存先のデータベースなど) です。
構成
- 自宅 Debian サーバー上で systemd ユーザーサービス として常駐
- チャンネル単位で挙動を切り替える
channel_config.json - 機能を
features/配下に分割し、追加しやすい構造
工夫したこと
- 会話履歴を JSON で永続化する
conversation_storeを自前で書き、文脈を引き継いだまま再起動できるようにしました - kibunlog API を呼び出す薄いクライアントを用意し、Slack 上のメッセージから直接 kibunlog に記録できるようにしています
- systemd の
WatchdogSecを使ったプロセス監視で、落ちても自動復帰します
ソースコードについて
リポジトリには個人的なコンテキストや設定が混在しているため、現時点では非公開で運用しています。 動作の様子や構成について気になる点があれば、お気軽にお問い合わせください。