0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ActivityWatch + Git diff + OpenAI APIでObsidianに日報を自動生成するPythonツールを作った

0
Last updated at Posted at 2026-05-10

毎日日報や学習ログを書くのが大変だったので、
ActivityWatchの作業ログとGit diffを使って、1日の振り返りを自動生成するツールを作りました。
最終的にはObsidianへ自動保存されます。
タスクスケジューラなどで定期実行するようにすれば毎日自動的に日報が生成されて保存されます。

Activity Watch

自動でPCで動かしている各アプリの作業時間を記録してくれるオープンソースのアプリです。
Cursorなどのエディタの場合、どのファイルを編集したかまで記録されます。
取得した情報はローカルで保存されるのでプライバシーの面でも安心です。

本プログラムとは別にリンクからダウンロードする必要があります。
https://activitywatch.net/

作ったもの

以下のデータを自動収集し、AIで要約してObsidianに保存するスクリプトです。

データソース 取得内容
ActivityWatch PC作業ログ(アプリ別時間・Cursorの作業ファイルなど)
Git diff コードの変更内容
Obsidianのメモ Noteフォルダに書いた当日の記録
OpenAI API 上記をまとめて要約生成
Obsidian Daily Summaryとして保存

.envで以下を設定するようになっています。

  • OpenAIのAPIキー
  • ActivityWatchから除外したいドメイン
    • PC上での作業がすべて記録されるとごちゃごちゃするので例えばYoutubeを除外したい場合は以下のようにしてください
     EXCLUDED_DOMAINS=youtube.com;www.youtube.com;youtu.be
    
  • Git diffを記録したいプロジェクト
  • Obsidianで自分でまとめた手動メモのフォルダの場所
  • 生成した日報のObsidianでの保存場所

使用技術

  • Python
  • OpenAI API
  • ActivityWatch
  • Git
  • Obsidian
  • uv
  • Ruff

ActivityWatchからログ取得

ActivityWatch を使うと、
どのアプリをどれくらい使ったか取得できます。

例えば:

{  "app": "Cursor",  "title": "main.py",  "duration": 3200}

のようなデータが取れます。

これを集計して:

  • 開発時間
  • ブラウザ時間

などを取得しています。

Git diffも使う

作業ログだけだと、具体的に何を開発したのかわからないので.envで指定したプロジェクトのgit diffを取得してLLMに渡しています。

これをLLMに渡すことで:

  • README更新
  • Ruff導入
  • API修正

なども要約として含められるようになりました。

手動メモ

ActivityWatchやGit diffのログだけでなく、ObsidianのNoteフォルダに今日の日付をタイトルにしたノート(例:2026-05-10)を作るとその内容もOpenAI APIに渡して要約するようにしています。

OpenAI APIで要約

取得したログをまとめてOpenAI APIへ渡します。

生成される内容の例:

## 今日やったこと
- Python開発
- Ruff設定追加
- README作成

## コード変更
- pyproject.toml 修正
- import整理
- GitHub公開準備

Obsidianへ保存

最終的に:

DailySummary/2026-05-10.md

のように保存しています。

Github

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?