Skip to main content

RAWR Dashboard — bento module board for journal, P&L, and indicators.

Project description

rawr-dashboard

A RAWR plugin that adds a local bento-board web UI for trade journalling, portfolio reviews, P&L tracking, and indicator tiles — plus MCP tools so an AI agent can write to the journal directly.

Install

pip install rawr-dashboard

The package bundles the pre-built SPA (no Node.js needed at runtime).

Usage

Serve the dashboard

rawr dashboard serve            # opens http://127.0.0.1:8800/ in your browser
rawr dashboard serve --port 9000 --no-open

Import KIS executions

rawr dashboard sync             # idempotent — safe to run repeatedly

한국 시장 관찰 모니터

rawr dashboard monitor는 한국 주식/ETF 시장을 로컬에서 관찰하고 후보와 주문 프리뷰를 저장하는 preview-only 기능입니다. 이 기능은 실주문을 제출하지 않습니다.

rawr dashboard monitor doctor
rawr dashboard monitor run-once
rawr dashboard monitor start --interval-minutes 10
rawr dashboard monitor status
rawr dashboard monitor stop
  • 기본 주기는 10분입니다.
  • 허용 주기는 5-15분입니다.
  • 후보별 주문 프리뷰는 preview_only=true, live_order_submitted=false를 포함합니다.
  • 웹 대시보드는 rawr dashboard serve로 실행합니다.
  • 실거래 검토는 기존 RAWR order preview와 policy gate를 별도로 거쳐야 합니다.

Dev flow

The SPA source lives under apps/dashboard/ (Vite + React). To rebuild it:

pnpm --dir apps/dashboard build   # writes to src/rawr_dashboard/web/static/

To rebuild the Python wheel with the fresh SPA:

python -m build --wheel packages/rawr-dashboard

Always build the SPA first. The wheel force-includes whatever is in web/static/; if you skip the pnpm build step the wheel ships without a UI and rawr dashboard serve returns 404 at /.

Data model

Layer File Purpose
Models models.py JournalEntry, Annotation, CalendarItem (Pydantic)
Core core/journal.py JournalService — create/close entry, upsert annotation
Core core/reviews.py ReviewService — store portfolio reviews in RAWR memory events
Core core/sync.py KisSyncService — import KIS executions (idempotent)
Core core/board.py BoardService — module/board layout CRUD
Web web/app.py FastAPI app factory
Web web/deps.py get_db() — shared RawrDB instance
CLI cli.py dashboard Click group; get_cli_plugin(), get_mcp_plugin()

Built-in review workflow

The default board includes:

  • portfolio_reviews — writes recurring portfolio reviews to RAWR memory_events.
  • trade_entry — records manual buy/sell journal entries to the shared journal table.

API endpoints:

GET  /api/reviews
POST /api/reviews
GET  /api/journal
POST /api/journal

MCP tools (agent write access)

When RAWR's MCP server is running, an AI agent can call these tools:

dashboard_record_trade

Record a new open trade in the journal.

Parameter Type Description
code str Ticker symbol
name str Company / asset name
side str "buy" or "sell"
qty int Quantity
entry_price float Entry price
reason str Trade rationale (optional)
strategy str Strategy tag (optional)
currency str Default "KRW"

Returns {"journal_id": int, "status": "open"}.

dashboard_close_trade

Close an open journal entry with its realized outcome.

Parameter Type Description
journal_id int ID returned by dashboard_record_trade
exit_price float Exit price
outcome_pnl float Realized P&L
outcome_pct float Return %

Returns {"journal_id": int, "updated": bool, "status": "closed" | "not_found"}updated is false (status "not_found") when no entry matched the id.

dashboard_annotate_trade

Attach a reflection note to a trade entry.

Parameter Type Description
journal_id int Target entry
tags list[str] Freeform tags (optional)
confidence int Conviction level 1–5 (optional)
emotion str Emotional state note (optional)
discipline_checklist dict Key→bool checklist (optional)
mistakes str Post-trade mistake notes (optional)

Returns {"journal_id": int, "annotated": true}.

dashboard_sync_kis

Pull KIS executions into the journal (idempotent).

Returns {"created": int, "skipped": int}.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rawr_dashboard-0.1.0.tar.gz (128.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rawr_dashboard-0.1.0-py3-none-any.whl (123.4 kB view details)

Uploaded Python 3

File details

Details for the file rawr_dashboard-0.1.0.tar.gz.

File metadata

  • Download URL: rawr_dashboard-0.1.0.tar.gz
  • Upload date:
  • Size: 128.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rawr_dashboard-0.1.0.tar.gz
Algorithm Hash digest
SHA256 226fc31134fc7345757620f310fa66cb4bfe740ecd5bf7d2ce26d6b0c0d3a13f
MD5 2081dac95060da7cbff923dcda2345da
BLAKE2b-256 d6fdc2cbd9aae12ada53f84e43470d734fb3b09e56b1bda3680fc164c6ae96d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for rawr_dashboard-0.1.0.tar.gz:

Publisher: release-dashboard.yml on snowjang24/rawr-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rawr_dashboard-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: rawr_dashboard-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 123.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rawr_dashboard-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8f281d425e7f03f43d1762cfd688fc854b4f576a6bdf78b4745e5fd5bab4b0b0
MD5 b43f9edc19a925cc1a7bf543bb8188d5
BLAKE2b-256 ad5c1b969fc4d2bc80728065571b624bc2bad4b50607e29891a52e2a7df6a172

See more details on using hashes here.

Provenance

The following attestation bundles were made for rawr_dashboard-0.1.0-py3-none-any.whl:

Publisher: release-dashboard.yml on snowjang24/rawr-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page