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.

Stars
★ 5.8k
Last updated
1y ago
License
Apache-2.0
Primary language
TypeScript

At a glance

How it runs
CLIWeb appSelf-hosted service
Works with
Universal · cross-platform
Cost
Free software; you pay for model usage
Setup effort
Low · running in minutes
You'll need
Python 3.11+pipSQLite (default)PostgreSQL (recommended)Shell / CLINetwork accessLocal filesystem
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

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.

  1. AI engineers needing to iterate on prompts quickly can use PySpur's test case feature and node-level debugging to avoid prompt hell.
  2. 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.
  3. Developers building RAG applications can create document collections and vector indexes via the UI without writing integration code.
  4. Teams working with multimodal data (e.g., video, audio, images) can leverage PySpur's input support in a single workflow.
  5. Agents that need to be exposed as an API can be published with one click, integrating anywhere.
  6. 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?

  1. Ensure Python 3.11 or higher is installed. 2. Run pip install pyspur. 3. Run pyspur init my-project to create a new project, then cd my-project. 4. Run pyspur serve --sqlite to 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?

Pros
  • 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.
Limitations
  • 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?

FollowAgents source review · FARS-2.1
Major gaps
0/ 100 5-point scale 0.0 / 5
Trust 0/29
Reliability 0/14
Adaptability 0/18
Convention 0/18
Effectiveness 0/13
Verifiability 0/8
Why each dimension lost points
Trust0 / 29 · 0.0/5

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.

Reliability0 / 14 · 0.0/5

Insufficient evidence: no specific implementation or documentation for self-consistency, dependency availability, or failure messages. Hence all criteria scored 0.

Adaptability0 / 18 · 0.0/5

Insufficient evidence: no specific implementation or documentation for target audience, capability boundaries, trigger precision, or environment fit. Hence all criteria scored 0.

Convention0 / 18 · 0.0/5

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.

Effectiveness0 / 13 · 0.0/5

Insufficient evidence: no specific implementation or documentation for output usability, marginal value, or cost-benefit. Hence all criteria scored 0.

Verifiability0 / 8 · 0.0/5

Insufficient evidence: no specific implementation or documentation for claim traceability, cross-source corroboration, or fact-inference separation. Hence all criteria scored 0.

Risks and how to mitigate them
  • 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.
Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision 97b9856e49f2
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v0.1.18
    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.18
    View on GitHub ↗
  2. v0.1.17
    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 ↗
  3. v0.1.16
    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.16
    View on GitHub ↗

FAQ

Is PySpur free to use?
PySpur is open-sourced under Apache-2.0, so you can use it freely on your own infrastructure without extra costs.
Can I use any LLM in my workflows?
Yes, PySpur supports 100+ LLM providers, including OpenAI, Anthropic, Gemini, DeepSeek, etc. Add API keys via the UI or .env.
How do I deploy my agent as an API?
PySpur offers one-click deployment, publishing your workflow as an API you can integrate anywhere.
Can workflows pause for human approval?
Yes, PySpur supports human-in-the-loop breakpoints; workflows pause at those points until approved.
Does it support file types beyond Python?
Yes, PySpur supports uploading files or pasting URLs to process PDFs, videos, audio, images, and more.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents