Skip to main content

data-flow

Rooms as pipeline nodes, exits as edges, objects as messages

معلومات المصدر

المستودع
SimHacker/moollm
آخر نشاط في المصدر
٧ فبراير ٢٠٢٦ في ١٤:٤٠
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٦٠
التفرعات
٥

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
5 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
data-flow
description
Rooms as pipeline nodes, exits as edges, objects as messages
allowed-tools
["read_file","write_file","run_terminal_cmd"]
tier
2
protocol
DATA-FLOW
tags
["moollm","pipeline","processing","kilroy","messaging"]
related
["room","card","sister-script","coherence-engine"]
# Data Flow > *"Rooms are nodes. Exits are edges. Thrown objects are messages."* MOOLLM's approach to building processing pipelines using rooms and objects. The filesystem IS the data flow network. ## The Pattern - **Rooms** are processing stages (nodes) - **Exits** connect stages (edges) - **Objects** flow through as messages - **THROW** sends objects through exits - **INBOX** receives incoming objects - **OUTBOX** stages outgoing objects ## Commands | Command | Effect | |---------|--------| | `THROW obj exit` | Send object through exit to destination | | `INBOX` | List items waiting to be processed | | `NEXT` | Get next item from inbox (FIFO) | | `PEEK` | Look at next item without removing | | `STAGE obj exit` | Add object to outbox for later throw | | `FLUSH` | Throw all staged objects | | `FLUSH exit` | Throw staged objects for specific exit | ## Room Structure ``` stage/ ├── ROOM.yml # Config and processor definition ├── inbox/ # Incoming queue (FIFO) ├── outbox/ # Staged for batch throwing └── door-next/ # Exit to next stage ``` ## Processor Types ### Script (Deterministic) ```yaml processor: type: script command: "python parse.py ${input}" ``` ### LLM (Semantic) ```yaml processor: type: llm prompt: | Analyze this document: - Extract key entities - Summarize in 3 sentences ``` ### Hybrid ```yaml processor: type: hybrid pre_process: "extract.py ${input}" llm_prompt: "Analyze extracted data" post_process: "format.py ${output}" ``` **Mix and match.** LLM for reasoning, scripts for transformation. ## Example Pipeline ``` uploads/ # Raw files land here ├── inbox/ │ ├── doc-001.pdf │ └── doc-002.pdf └── door-parser/ parser/ # Extract text ├── script: parse.py └── door-analyzer/ analyzer/ # LLM analyzes ├── prompt: "Summarize..." ├── door-output/ └── door-errors/ output/ # Final results └── inbox/ ├── doc-001-summary.yml └── doc-002-summary.yml ``` ## Processing Loop ``` > ENTER parser Inbox: 2 items waiting. > NEXT Processing doc-001.pdf... Text extracted. > STAGE doc-001.txt door-analyzer Staged. > FLUSH Throwing 2 items through door-analyzer... ``` ## Fan-Out (one-to-many) ```yaml routing_rules: - if: "priority == 'high'" throw_to: door-fast-track - if: "type == 'archive'" throw_to: door-archive - default: door-standard ``` ## Fan-In (many-to-one) ```yaml batch_size: 10 on_batch_complete: | Combine all results Generate summary report THROW report.yml door-output ``` ## Kilroy Mapping | MOOLLM | Kilroy | |--------|--------| | Room | Node | | Exit | Edge | | THROW | Message passing | | inbox/ | Input queue | | Script processor | Deterministic module | | LLM processor | LLM node |
عرض على GitHub