PySpur — Visual Playground for Agentic Workflows
Build, debug, and iterate AI agents visually, 10x faster, with human-in-the-loop, loops, RAG, and multimodal support.
- Source repo
- PySpur-Dev/pyspur
- Stars
- ★ 5.8k
- Last updated
- 1y ago
- License
- Apache-2.0
- Primary language
- TypeScript
- FA score
- 0/100 · Major gaps
At a glance
- How it runs
- Works with
- Universal · cross-platform
- Cost
- Free software; you pay for model usage
- Setup effort
- Low · running in minutes
- You'll need
- Typical use
- AI engineers needing to iterate on prompts quickly can use PySpur's test case feature and node-level debugging to avoid prompt hell.
- Not a fit if
- Windows developers: dev setup is not supported on Windows
- Teams wanting production stability out of the box: default SQLite needs PostgreSQL
- Source review
- 0/100 · Major gaps 8 safety controls not found
What does this agent do, and when should you use it?
PySpur is an open-source visual platform for building and iterating AI agent workflows. It offers a UI to define test cases, build agents via Python code or a drag-and-drop interface, debug step-by-step, evaluate, and deploy as an API with one click. Core features include human-in-the-loop breakpoints, iterative tool calling loops, file upload, structured outputs (JSON Schema editor), RAG (parse, chunk, embed, upsert into vector DB), multimodal inputs (video, images, audio, text, code), tool integrations (Slack, Firecrawl.dev, Google Sheets, GitHub, and more), automatic traces, evals, and support for 100+ LLM providers, embedders, and vector DBs. Installation is via pip, and running pyspur init and pyspur serve --sqlite gets you started locally. The project is licensed under Apache-2.0 and is built with Python at its core, targeting AI engineers.
PySpur enables users to create agent workflows via a UI or Python code. Users can define test cases, then build a graph of nodes that can call LLMs, tools, execute loops, perform RAG pipelines (parse, chunk, embed, upsert), and handle multimodal inputs (PDFs, videos, audio, images). Workflows can include human-in-the-loop breakpoints that pause execution until approved. Each node can be debugged individually, with zoomed-in output inspection. After execution, traces are automatically captured. Finally, agents can be deployed as an API with one click. Tools include Slack, Firecrawl.dev, Google Sheets, GitHub, and more. All operations are done through the UI or the pyspur CLI.
- AI engineers needing to iterate on prompts quickly can use PySpur's test case feature and node-level debugging to avoid prompt hell.
- QA workflows that require human oversight (e.g., content moderation) can use built-in human-in-the-loop breakpoints to pause at critical outputs for approval.
- Developers building RAG applications can create document collections and vector indexes via the UI without writing integration code.
- Teams working with multimodal data (e.g., video, audio, images) can leverage PySpur's input support in a single workflow.
- Agents that need to be exposed as an API can be published with one click, integrating anywhere.
- Organizations wanting to avoid vendor lock-in can switch between 100+ LLM providers, embedders, and vector DBs while reusing the same workflow.
How do you install or deploy this agent?
- Ensure Python 3.11 or higher is installed. 2. Run
pip install pyspur. 3. Runpyspur init my-projectto create a new project, thencd my-project. 4. Runpyspur serve --sqliteto start the server, accessible at http://localhost:6080. Optionally, configure a PostgreSQL URL in the .env file for a more stable experience.
How do you use this agent?
After starting, open the UI and add provider API keys (OpenAI, Anthropic, etc.) in the API Keys tab. Define test cases (Step 1), build the agent (Step 2), iterate (Step 3), and deploy (Step 4). You can also directly write Python nodes; adding a new node is as simple as creating a single Python file.
What are this agent's strengths and limitations?
- Visual interface accelerates agent iteration, with step-by-step debugging at node level.
- Human approval breakpoints enable quality-controlled workflows.
- Built-in RAG and multimodal processing eliminate extra integration work.
- Support for 100+ LLM providers, embedders, and vector DBs reduces vendor lock-in.
- Python-based core is approachable for developers, and extensibility via single Python files.
- Requires Python 3.11+; not aimed at completely non-technical users.
- Default SQLite may be less stable than PostgreSQL for production; extra configuration needed.
- Development setup officially supports only Unix-like systems; Windows development is not supported.
- Documentation may not cover all features; new users may rely on examples and videos.
How does this agent compare with similar options?
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| PySpur — Visual Playground for Agentic Workflows This agent | 0 · Major gaps | CLIFree + model costs | ★ 5.8k | 1y ago | TypeScript | — |
| Genkit: Open Framework for Full-Stack AI Apps | 48 · Major gaps | Library / SDKFree + model costs | ★ 6.5k | 3d ago | TypeScript | OpenAI API · Claude API |
| AgentScope 2.0 | 70 · Some gaps | Library / SDKFree + model costs | ★ 33k | today | Python | OpenAI API · Claude API |
| Deuz SDK | 69 · Some gaps | Library / SDKFree + model costs | ★ 563 | 2d ago | TypeScript | OpenAI API · Claude API |
How does FollowAgents rate this agent?
Why each dimension lost points
Insufficient evidence: no specific implementation or documentation for permission management, user confirmation, data flow transparency, sensitive data handling, dependency security, external effects, rollback, or source attribution. Hence all criteria scored 0.
Insufficient evidence: no specific implementation or documentation for self-consistency, dependency availability, or failure messages. Hence all criteria scored 0.
Insufficient evidence: no specific implementation or documentation for target audience, capability boundaries, trigger precision, or environment fit. Hence all criteria scored 0.
Insufficient evidence: no specific implementation or documentation for information architecture, installation notes, naming stability, examples and FAQ, known limitations, license, versioning changelog, or maintenance responsibility. Hence all criteria scored 0.
Insufficient evidence: no specific implementation or documentation for output usability, marginal value, or cost-benefit. Hence all criteria scored 0.
Insufficient evidence: no specific implementation or documentation for claim traceability, cross-source corroboration, or fact-inference separation. Hence all criteria scored 0.
- Not found in source: least-privilege scopingGrant only what the task needs: a dedicated account or read-only token, scoped to specific directories and repos.
- Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
- Not found in source: data-flow disclosureWatch which external services it contacts (proxy or firewall logs) and keep sensitive data out until you know where it goes.
- Not found in source: sensitive-data handlingUse dedicated, low-privilege, revocable API keys — never production credentials — and keep secrets out of logs.
- Not found in source: dependency securityPin versions and run a dependency audit (npm audit, pip-audit) before installing; prefer running it in a container.
- Not found in source: disclosed external effectsEstablish which external systems it writes to, sends to or changes, and verify with test accounts or repos before production.
- Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
- Not found in source: verifiable attributionInstall from the official repo or registry and check the publisher and URL to avoid look-alike packages.
- The repository only contains a README and license file, with no source code or detailed documentation, making a meaningful static assessment impossible.
- Publisher identity is unverified, and no traceable claims or evidence are provided.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
Release notes excerpt
What's Changed * chore: add anon telemetry by @srijanpatel in https://github.com/PySpur-Dev/pyspur/pull/268 * v0.1.18 by @srijanpatel in https://github.com/PySpur-Dev/pyspur/pull/269 Full Changelog: https://github.com/PySpur-Dev/pyspur/compare/v0.1.17...v0.1.18View on GitHub ↗ -
Release notes excerpt
What's Changed * fix: switch from alpine to slim variant for Node.js in Dockerfiles by @srijanpatel in https://github.com/PySpur-Dev/pyspur/pull/261 * fix: update Dockerfile to install pip packages without --system flag by @srijanpatel in https://github.com/PySpur-Dev/pyspur/pull/263 * Docs/custom tools by @srijanpatel in https://github.com/PySpur-Dev/pyspur/pull/264 * Fix/ollama models by @srijanpatel in https://github.com/PySpur-Dev/pyspur/pull/266 * v0.1.17 by @srijanpatel in https://github.com/PySpur-Dev/pyspur/pull/267 …View on GitHub ↗ -
Release notes excerpt
What's Changed * chore(deps): bump next from 15.1.5 to 15.2.3 in /frontend by @dependabot in https://github.com/PySpur-Dev/pyspur/pull/257 * feat: add o1-pro by @JeanKaddour in https://github.com/PySpur-Dev/pyspur/pull/258 * feat: publish multiplatform images by @srijanpatel in https://github.com/PySpur-Dev/pyspur/pull/260 Full Changelog: https://github.com/PySpur-Dev/pyspur/compare/v0.1.15...v0.1.16View on GitHub ↗