Skip to main content

llove โ€” a cute, terminal-first Artifact for inspecting LLMesh data with llove

Project description

๐Ÿ’— 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

  • REQUIREMENTS.md โ€” ่ฆไปถๅฎš็พฉ + TRIZ ่ฆณ็‚นใงใฎ็Ÿ›็›พ่งฃๆถˆ
  • ROADMAP.md โ€” v0.1 ใ€œ v1.0 ใฎใƒ•ใ‚งใƒผใ‚บ่จˆ็”ป
  • docs/snapshots/ โ€” ๅ„ใƒใƒผใ‚ธใƒงใƒณใงๅ‹•ใ็ตต๏ผˆGitHub ใƒ—ใƒฌใƒ“ใƒฅใƒผ๏ผ‰

ใƒฉใ‚คใ‚ปใƒณใ‚น

MIT ยฉ 2026 Kazufumi Furuse


Made with llove โ€” ใŠๆฐ—่ปฝใซ Issue / PR / ใ‚ขใ‚คใƒ‡ใ‚ขใ‚’ใฉใ†ใž.

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

llmesh_llove-0.2.2.tar.gz (153.4 kB view details)

Uploaded Source

Built Distribution

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

llmesh_llove-0.2.2-py3-none-any.whl (62.6 kB view details)

Uploaded Python 3

File details

Details for the file llmesh_llove-0.2.2.tar.gz.

File metadata

  • Download URL: llmesh_llove-0.2.2.tar.gz
  • Upload date:
  • Size: 153.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for llmesh_llove-0.2.2.tar.gz
Algorithm Hash digest
SHA256 d1638691a6e313ed9d8a9358ca90938662f3eee18d1592743d80dc6ea93ce752
MD5 8658221ed10b7ac393b3899f4f69bdca
BLAKE2b-256 6c4cc2e7d9b32b089c300ad5eec91ad57f30e8fab66b912d29e05e36aa0c4e7b

See more details on using hashes here.

File details

Details for the file llmesh_llove-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: llmesh_llove-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 62.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for llmesh_llove-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 573a18dfa2eb4f1aca1a8dceb9c21972f7f09dfc5861f044f64e6fe2cb37b49f
MD5 60599a930028907d0b1c841627f7ca0b
BLAKE2b-256 985fb1ccb55002b04f9e25554afacbb5411bc62a40d6223480c4730acef36a17

See more details on using hashes here.

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