TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
Pipelit은 자체 호스팅 워크플로 자동화 플랫폼으로, 드래그앤드롭 캔버스에서 LLM 에이전트 파이프라인을 설계
Pipelit is a self-hosted workflow automation platform for designing LLM agent pipelines on a drag-and-drop canvas. Wire up triggers, agents, tools, and routing logic — then watch them execute in real
생산성Python · TypeScriptGitHub @theuselessai온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Pipelit is a self-hosted workflow automation platform for designing LLM agent pipelines on a drag-and-drop canvas. Wire up triggers, agents, tools, and routing logic — then watch them execute in real time with live WebSocket status updates on every node.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Build, connect, and orchestrate LLM-powered agents — visually.
Pipelit is a self-hosted workflow automation engine for designing LLM agent pipelines on a drag-and-drop canvas. Wire up triggers, agents, tools, and routing logic — then watch them execute in real time with live WebSocket status updates on every node.
Typically run via the plit CLI, which manages Pipelit alongside the message gateway as Docker containers.
• Python 3.10+
• Redis 8.0+ (includes RediSearch natively — see Redis Setup)
• Node.js 18+
• Bubblewrap 0.4+ (Linux: `apt install bubbREADME 전문 보기 ↗Pipelit is a self-hosted workflow automation engine for designing LLM agent pipelines on a drag-and-drop canvas. Wire up triggers, agents, tools, and routing logic — then watch them execute in real time with live WebSocket status updates on every node.
Typically run via the plit CLI, which manages Pipelit alongside the message gateway as Docker containers.
| Visual Canvas | Multi-Trigger | LLM Agents |
| Drag-and-drop React Flow editor with node palette, config panel, and live execution badges | Webhooks, chat, scheduled intervals, manual — all unified as workflow nodes. External messaging via plit gateway | LangGraph react agents with tool-calling: shell, HTTP, web search, calculator, datetime, and more |
| Conditional Routing | Scheduled Execution | Real-time Updates |
| Switch nodes evaluate rules and route to different branches via conditional edges | Recurring runs with configurable interval, retry with exponential backoff, pause/resume, and crash recovery | Single global WebSocket pushes node status, execution events, and canvas mutations — no polling |
| Cost Tracking | Conversation Memory | Self-Improving Agents |
| Per-execution token counting and USD cost calculation with Epic-level budget enforcement | Optional per-agent conversation persistence across executions via SQLite checkpointer | Agents can read epics/tasks, spawn child workflows, modify their own graphs, and schedule future work |
curl -fsSL https://raw.githubusercontent.com/theuselessai/plit/main/install.sh | bash
plit init
plit start
apt install bubblewrap — macOS uses built-in sandbox-exec)git clone [email protected]:theuselessai/Pipelit.git
cd Pipelit
# Backend
python3 -m venv .venv && source .venv/bin/activate
pip install -r platform/requirements.txt
# Frontend
cd platform/frontend && npm install
Configure:
echo "FIELD_ENCRYPTION_KEY=$(python -c 'from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())')" >> .env
echo "REDIS_URL=redis://localhost:6379/0" >> .env
Start services:
cd platform && source ../.venv/bin/activate
honcho start
Create admin account:
python -m cli setup --username admin --password <your-password>
Optionally bootstrap a working workflow with an LLM credential:
python -m cli apply-fixture default-agent \
--provider anthropic \
--model claude-sonnet-4-20250514 \
--api-key sk-ant-...
Open http://localhost:5173 (dev) or http://localhost:8000 (production) and log in.
Production: Skip the frontend dev server — run
cd platform/frontend && npm run buildonce, then access the app directly athttp://localhost:8000(FastAPI serves the built SPA).
| Layer | Technologies |
|---|---|
| Backend | FastAPI, SQLAlchemy 2.0, Alembic, Pydantic, RQ (Redis Queue) |
| Frontend | React, Vite, TypeScript, Shadcn/ui, React Flow (@xyflow/react v12), TanStack Query |
| Execution | LangGraph, LangChain, Redis pub/sub, WebSocket |
| Auth | Bearer token API keys, RBAC (admin/normal), TOTP-based MFA |
Design agent pipelines on an interactive React Flow canvas. Add nodes from the palette, configure them in the side panel, and connect them with typed edges. Live execution badges show running/success/failed status on each node.
Every trigger is a first-class workflow node:
| Trigger | Description |
|---|---|
| Chat | Receives messages from chat clients via the message gateway |
| Telegram | Receives messages from Telegram via the message gateway |
| Webhook | Accept external HTTP payloads |
| Scheduler | Recurring interval execution with retry, backoff, and pause/resume |
| Manual | One-click execution from the UI |
| Component | Description |
|---|---|
| Agent | LangGraph react agent with system prompt, tools, and optional conversation memory |
| Deep Agent | Advanced agent with built-in task planning, filesystem tools, and subagent delegation |
| Categorizer | Classifies input into predefined categories |
| Router | Routes messages to different branches based on content |
| Extractor | Extracts structured data from unstructured text |
| Switch | Rule-based conditional routing with per-edge condition values |
| Loop | Iterates over collections, executing a body node per item |
| Spawn & Await | Launches a child workflow and waits for its result |
Agents can call any combination of built-in tools:
run_command | http_request | web_search | calculator | datetime | epic_tools | task_tools | workflow_discover | workflow_create
Reference upstream node outputs in prompts and config fields with {{ nodeId.portName }} syntax. Full Jinja2 filter support. The editor provides a variable picker and syntax highlighting.
Automatic token counting and USD cost calculation per execution. Set token or USD budgets on Epics — the orchestrator gates every node execution against the budget before running.
Create recurring jobs that fire workflow triggers at configurable intervals. Self-rescheduling via RQ enqueue_in() — no external cron needed. Features exponential backoff on failure, pause/resume, and automatic recovery of missed jobs on startup.
All endpoints under /api/v1/, authenticated via Authorization: Bearer <key>.
| Resource | Endpoints |
|---|---|
| Auth | POST /auth/token/, GET /auth/me/ |
| Workflows | GET/POST /workflows/, GET/PATCH/DELETE /workflows/{slug}/, POST .../validate/ |
| Nodes | GET/POST /workflows/{slug}/nodes/, PATCH/DELETE .../nodes/{node_id}/ |
| Edges | GET/POST /workflows/{slug}/edges/, PATCH/DELETE .../edges/{id}/ |
| Executions | GET /executions/, GET .../executions/{id}/, POST .../cancel/ |
| Chat | POST /workflows/{slug}/chat/, DELETE .../chat/history |
| Credentials | GET/POST /credentials/, GET/PATCH/DELETE .../credentials/{id}/, POST .../test/ |
| Schedules | GET/POST /schedules/, GET/PATCH/DELETE .../schedules/{id}/, POST .../pause/, POST .../resume/ |
| Users | GET/POST /users/, PATCH/DELETE .../users/{id}/, POST .../users/me/keys |
| Memory | Facts, episodes, procedures, users, checkpoints — all with batch delete |
All list endpoints return {"items": [...], "total": N} with limit/offset pagination.
cd platform
source ../.venv/bin/activate
export FIELD_ENCRYPTION_KEY=$(python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())")
python -m pytest tests/ -v
Pipelit requires Redis 8.0+ which includes RediSearch natively. Older versions will fail with unknown command 'FT._LIST'.
# Docker (easiest)
docker run -d --name redis -p 6379:6379 redis:8
# Debian/Ubuntu
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
sudo chmod 644 /usr/share/keyrings/redis-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" \
| sudo tee /etc/apt/sources.list.d/redis.list
sudo apt-get update && sudo apt-get install redis
# macOS
brew install redis && brew services start redis
Verify: redis-cli MODULE LIST should include the search (ft) module.
# Debian/Ubuntu
sudo systemctl stop redis-server && sudo systemctl disable redis-server
sudo apt remove --purge redis-server
# macOS
brew services stop redis && brew uninstall redis
# Docker
docker stop redis && docker rm redis
Enable conversation_memory on agent nodes that use spawn_and_await. This switches the checkpointer from RedisSaver to SqliteSaver, bypassing the RediSearch requirement.
Full documentation at pipelit.theuseless.ai.
Apache 2.0 — see LICENSE for details.