Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

prometheus-daily-pulse

Private, local "Pulse"-style daily reflection for the Prometheus self-learning loop.

Like ChatGPT Pulse — but private, local, sourced from your own wiki, and curated by an LLM that knows what you actually worked on yesterday.

ChatGPT Pulse ships 5-10 visual cards in the morning based on the user's chat history. It is hosted, requires a $200/mo Pro plan, and ships everything to OpenAI.

This tool does the same thing for the Prometheus wiki:

  1. Reads the wiki entries, learning-log records, and session summaries you produced in the last 24 hours.
  2. Calls an LLM (gpt-5.4-mini via the openai-proxy by default) to curate 5-10 cards that connect what you did to broader trends in the area.
  3. Writes the result to ~/.prometheus/pulse/<DATE>.md and ingests a copy into your local wiki as daily-pulse-<DATE>.md.

No data leaves your machine except the LLM call (which is to the openai-proxy that is already running locally on :8181). No third-party integrations (Gmail, Calendar, etc.) are read or implied.


Install

git clone https://github.com/Prometheus-AGS/prometheus-daily-pulse ~/Projects/prometheus-daily-pulse
ln -sf ~/Projects/prometheus-daily-pulse/bin/daily-pulse ~/.local/bin/daily-pulse
chmod +x ~/.local/bin/daily-pulse

The tool expects:

No jq, no node, no other dependencies.


Usage

One-shot daily run (recommended for cron)

daily-pulse run

Equivalent to: gather + curate + wiki-ingest. Produces ~/.prometheus/pulse/<DATE>.md and ~/.prometheus/knowledge/shared/wiki/daily-pulse-<DATE>.md.

Sub-steps

# 1. Read yesterday's wiki + learning-log into a context file
daily-pulse gather [--date YYYY-MM-DD] [--days N]

# 2. Run LLM curation on the context file → pulse markdown
daily-pulse curate [--date YYYY-MM-DD] [--model MODEL]

# 3. Copy the pulse markdown into the wiki with proper frontmatter
daily-pulse wiki-ingest [--date YYYY-MM-DD]

# 4. Print the pulse for a date
daily-pulse show [--date YYYY-MM-DD]

Flags

  • --date YYYY-MM-DD — date to curate (default: yesterday)
  • --days N — lookback window in days (default: 1)
  • --today — use today instead of yesterday (for --run)
  • --model MODEL — override LLM model (default: gpt-5.4-mini)
  • --no-ingest — skip the wiki-ingest step in run

Environment

  • LEARN_GRADER_URL — openai-proxy base URL (default http://localhost:8181/v1)
  • LEARN_GRADER_MODEL — default model (default gpt-5.4-mini)
  • PULSE_DIR — output dir (default ~/.prometheus/pulse)
  • WIKI_DIR — wiki dir (default ~/.prometheus/knowledge/shared/wiki)
  • LEARNING_LOG_DIR — learning-log dir (default ~/.prometheus/learning-log)

What it produces

A daily-pulse-<DATE>.md file with this shape:

# Daily pulse — 2026-06-29

_Curated by daily-pulse · 2026-06-30T21:47:34Z · model: gpt-5.4-mini_

## Themes from yesterday
- self-learning loop hardening
- filesystem and launchd reliability
- auth/security correctness

## Why these cards
<one paragraph explaining what was prioritized and why>

## Today's pulse

### 1. Self-learning loop now spans 5 AI tools
`release`  confidence: **high**
You confirmed the loop across Claude Code, Codex, OpenCode, Kimi Code, and MiniMax.
**Why this matters:** This is the distribution layer becoming real ...
**Verify:** search "self-learning loop Claude Code Codex OpenCode ..."
---

### 2. ...

## Meta
- cards: 9
- themes: 3

Each card has:

  • a scannable title (≤ 60 chars)
  • a punchy summary (≤ 140 chars)
  • why this matters — one sentence tying it to your actual work
  • a category (release | trend | tool | technique | paper | post | gotcha | opinion)
  • a suggested query — what to search the web for to verify or expand the card
  • a confidence rating (honest; the LLM is told to use "low" when unsure)

The LLM is explicitly told:

  • "Ground every card in something concrete from the user's activity. If you cannot, drop the card."
  • "Do NOT invent URLs. The suggested_query field is the verifiable thread."
  • "Skip generic 'AI is changing the world' cards. The user is already in the work."
  • "5-10 cards total. If the activity is thin, 3 honest cards beats 8 padded ones."

Architecture

+--------------------+
|  Yesterday's       |
|  wiki + learning   |
|  log + sessions    |
+---------+----------+
          |
          v
+--------------------+
|  gather (python)   |
|  → context.md      |
+---------+----------+
          |
          v
+--------------------+
|  LLM (gpt-5.4-mini)|
|  via openai-proxy  |
|  → cards JSON      |
+---------+----------+
          |
          v
+--------------------+
|  render (python)   |
|  → pulse.md        |
+---------+----------+
          |
          v
+--------------------+
|  wiki-ingest       |
|  → daily-pulse-    |
|    <DATE>.md       |
+--------------------+

daily-pulse run does all four steps. Each step is also runnable on its own.


Scheduled runs

The tool is meant to be invoked daily. Three schedulers we ship first-class support for:

Mavis cron self (Mavis / MiniMax desktop)

mavis cron self daily-pulse --every 24h --prompt "Run: daily-pulse run"

Mavis runs the prompt as a managed session. The session sees your full agent context (including web-search via MCP) and can enrich the cards with live URLs before running daily-pulse run. See docs/orchestration-mavis.md.

Kimi Claw (Kimi Desktop)

Drop docs/orchestration-kimi-claw.toml into Kimi's scheduled tasks dir. Kimi runs it once per day at 7am local. See docs/orchestration-kimi-claw.md.

Claude Cowork (Anthropic Claude Desktop)

Add a scheduled task in Claude Desktop's Cowork panel with the prompt in docs/orchestration-claude-cowork.md. Claude runs it with the web-search tool enabled, then calls daily-pulse run once context is ready.


Smoke test

bash ~/Projects/prometheus-daily-pulse/scripts/smoke-test.sh

Verifies: bash parse, subcommand dispatch, gather, curate against a fixture, wiki-ingest, show. 8 assertions, all should pass.


License

MIT. See LICENSE.


Related

About

Private, local Pulse-style daily reflection for the Prometheus self-learning loop

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages