Skip to main content

💗 llove

CI CodeQL codecov PyPI Python License: MIT Ruff pre-commit

A cute, terminal-first Artifact for inspecting LLMesh data — with llove.

       .--.
      /    \         llove
     ( ^  ^ )       "Made with llove"
      \(--)/        ── Watch your LLMesh with llove
      /    \
     ──────
      ll♥ve

llove は Claude HTML Artifacts のターミナル版 を目指したダッシュボード CLI です。 LLMesh の SensorEvent / SPC / RAG / Audit / Trace を 1 つの TUI(ターミナル UI)で美しく流し、 そのまま 1 ファイル HTML にエクスポート して Slack / Issue / プレゼンに貼れます。

pip install llmesh-llove        # PyPI 配布名 (llmesh-mcp と統一)
llove demo                       # 30 秒で動くフル機能デモ

なぜ llove か

LLM 時代の運用・研究の現場では、「いま何が起きているかを 1 画面で見せる」 がいつも難所になります。 LLMesh は産業 IoT・SCADA・RAG・Audit・Trace を統一しましたが、可視化 はまだ JSON / ログ依存。

llove はその穴を埋めます:

  1. 30 秒で動く: pip install llove && llove demo
  2. LLMesh と直結: llove view --source llmesh+modbus://...
  3. HTML で共有: llove export --html dashboard.html(Claude Artifacts 流の単一 HTML)
  4. オフラインでも動く: 合成データだけで完結、ネットワーク不要
  5. 依存ゼロでも見える: 本体は Textual + Rich のみ、LLMesh は オプショナル

5 秒で見えるイメージ

┌─ llove demo ──────────────────────────────────────────────────────────┐
│ ┌─ SensorEvent stream ─────────┐ ┌─ SPC chart (CUSUM h=5.0) ────────┐ │
│ │ 03:22:08  bearing_temp  68.4 │ │     ╭────────────╮               │ │
│ │ 03:22:09  bearing_temp  69.1 │ │   ──╯           ╰──── h          │ │
│ │ 03:22:10  bearing_temp  70.7 │ │                                  │ │
│ │ 03:22:11  bearing_temp  74.3 │ │                                  │ │
│ │ 03:22:12  bearing_temp  78.9 │ │ ▁▂▃▄▆█ ▶ ALARM 03:22:11Z         │ │
│ └──────────────────────────────┘ └──────────────────────────────────┘ │
│ ┌─ Audit log ──────────────────────────────────────────────────────┐ │
│ │ 03:22:11  firewall.allow   layer=L2  user=ops                    │ │
│ │ 03:22:11  cusum.alarm      sensor=bearing_temp_07  cusum=+9.4    │ │
│ │ 03:22:11  llm.explain      tokens=237  latency=412ms             │ │
│ └──────────────────────────────────────────────────────────────────┘ │
│ q: quit  r: refresh  h: help  space: live/replay  e: export-html      │
└────────────────────────────────────────────────────────────────────────┘

Quick Start

1. インストール

pip install llove                # 本体(オフラインで動く)
pip install "llove[llmesh]"      # LLMesh と接続
pip install "llove[plots,llmesh]"# textual-plotext のグラフ + LLMesh

2. 30 秒デモ

llove demo                       # 合成データでフル機能のデモ
llove demo --tutorial            # 各ビューを順に解説しながら触る
llove --lang ja demo --scenario scada   # UI を日本語で(v0.2.0+)

多言語化 (i18n)

UI は --lang en / --lang ja で切り替えられます(環境変数 LLOVE_LANG=ja、システムロケール自動検出にも対応)。新しい言語を足すには llove/i18n/locales/<lang>.toml を 1 つ追加するだけ。詳細は docs/i18n.md。

3. 自分のデータを見る

llove tail logs/audit.jsonl --view audit_log
llove view --source llmesh+modbus://10.0.0.10:502
llove view --source sqlite:///data.db --table sensors

4. HTML として共有

llove export --source mock://demo --html dashboard.html
# → dashboard.html を Slack / Issue / Twitter に貼る

基本コマンド

llove demo                       # フル機能デモ(合成データ)
llove demo --list                # シナリオ一覧
llove demo --scenario firewall   # 個別シナリオを起動
llove view --source <URI>        # ライブ表示
llove tail <file>                # ファイル末尾を流す
llove export <source> --html <path>   # 1 ファイル HTML
llove --help                     # コマンド一覧

LLMesh 機能カバレッジシナリオ

llove demo --scenario <name> で、LLMesh の各機能を オフライン合成データで 体験できます。

name 何を見せる カバーする LLMesh 機能
firewall 12 prompt が L0/L1/L1.5/L2 で BLOCK / SUMMARIZE / ALLOW される様子 PromptFirewall 4 層
scada センサー drift → CUSUM alarm → LLM の Markdown 説明 ExplainedCUSUM + LLMExplainer
multimodal 数値センサー × 画像 caption の AND 結合 SPC UnifiedSPC + VLMFeatureExtractor
rag 同じクエリを 3 ストア(Numpy / SQLite / LSH ANN)で比較 RAG 3 段ストア
backends 同じプロンプトを Ollama / OpenAI / Anthropic に投げた風の比較 LLM backend ABC
audit 5 エントリ追加 → 改ざん → verify_chain() が検知 AuditTrail HMAC chain
reliability パケット損失下で ACK / RETRANSMIT / TTL 失効を実演 MessageAssembler + ChunkSender

自分のシナリオを追加するのは超簡単です — docs/contributing-scenarios.md と llove/demo/scenarios/_template.py を参照(5 分でできます)。

URI スキーム例

URI 意味
mock://demo 合成データ
jsonl:///path/to/file.jsonl JSON Lines ファイル
sqlite:///data.db?table=events SQLite テーブル
llmesh+modbus://10.0.0.10:502 LLMesh + Modbus アダプタ
llmesh+opcua://opc.tcp://... LLMesh + OPC-UA

開発環境

devcontainer / docker-compose で 1 発

# devcontainer (VS Code) — クローン後 "Reopen in Container"
# または手動で:
docker compose up -d
docker compose exec dev bash
pip install -e ".[dev,all]"
llove demo

ローカルセットアップ

git clone git@github.com:furuse-kazufumi/llove.git
cd llove
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev,all]"
pytest
llove demo

アーキテクチャ概観

┌────────────────────────────────────────────────────────┐
│  Data Sources (DataSource ABC)                         │
│   mock / jsonl / sqlite / llmesh / phoenix / custom    │
└───────────────┬────────────────────────────────────────┘
                │
                ▼
┌────────────────────────────────────────────────────────┐
│  Views (View ABC)                                      │
│   sensor_stream / spc_chart / audit_log /              │
│   rag_hits / trace_timeline                            │
└───────────────┬────────────────────────────────────────┘
                │
        ┌───────┴────────┐
        ▼                ▼
   ┌────────┐      ┌──────────────┐
   │ Textual│      │ HTML Export  │
   │  (TUI) │      │ (single .html)│
   └────────┘      └──────────────┘

詳細は REQUIREMENTS.md と ROADMAP.md。


Docs


ライセンス

MIT © 2026 Kazufumi Furuse


Made with llove — お気軽に Issue / PR / アイデアをどうぞ.

Release files for llmesh-llove 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for llmesh-llove 0.2.2
File Size Uploaded
llmesh_llove-0.2.2.tar.gz 153.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for llmesh-llove 0.2.2
File Interpreter ABI Platform
llmesh_llove-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 216.0 kB

Release files / llmesh_llove-0.2.2.tar.gz

Download URL llmesh_llove-0.2.2.tar.gz
Size 153.4 kB
Tags Source
SHA-256 checksum
How to use checksums
d1638691a6e313ed9d8a9358ca90938662f3eee18d1592743d80dc6ea93ce752
BLAKE2b-256 checksum
How to use checksums
6c4cc2e7d9b32b089c300ad5eec91ad57f30e8fab66b912d29e05e36aa0c4e7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / llmesh_llove-0.2.2-py3-none-any.whl

Download URL llmesh_llove-0.2.2-py3-none-any.whl
Size 62.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
573a18dfa2eb4f1aca1a8dceb9c21972f7f09dfc5861f044f64e6fe2cb37b49f
BLAKE2b-256 checksum
How to use checksums
985fb1ccb55002b04f9e25554afacbb5411bc62a40d6223480c4730acef36a17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page