能力标签
⚙️
Agent工作流

basjoo

基于 Python · 无代码搭建完整 AI 自动化流程
⭐ 99 Stars 🍴 64 Forks 💻 Python 📄 MIT 🏷 AI 7.5分
7.5AI 综合评分
workflowaichatbotcustomer-supportembeddable-widgetfastapipython
✦ AI Skill Hub 推荐

AI Skill Hub 推荐使用:basjoo 是一款优质的Agent工作流。AI 综合评分 7.5 分,在同类工具中表现稳健。如果你正在寻找可靠的Agent工作流解决方案,这是一个值得深入了解的选择。

📚 深度解析
basjoo 是一套完整的 AI Agent 自动化工作流方案。随着 AI 能力的不断提升,基于 Agent 的自动化工作流正在成为提升个人和团队效率的核心方式。区别于传统的 RPA 自动化(模拟鼠标键盘操作),AI Agent 工作流通过理解任务意图、动态规划执行路径,能够处理更复杂的非结构化任务。

basjoo 工作流的设计遵循"最小配置,最大复用"原则:核心逻辑已经封装好,用户只需配置自己的 API Key 和业务参数即可快速上手。工作流内置错误处理和重试机制,在网络波动或 API 限速等情况下仍能稳定运行,适合作为生产环境的自动化基础设施。

在实际部署时,建议先在测试环境中运行 3-5 次,验证各个环节的输出结果符合预期,再部署到生产环境。AI Skill Hub 评分 7.5 分,是同类 Agent 工作流中的精选推荐。
📋 工具概览

basjoo 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。

GitHub Stars
⭐ 99
开发语言
Python
支持平台
Windows / macOS / Linux
维护状态
轻量级项目,按需更新
开源协议
MIT
AI 综合评分
7.5 分
工具类型
Agent工作流
Forks
64
📖 中文文档
以下内容由 AI Skill Hub 根据项目信息自动整理,如需查看完整原始文档请访问底部「原始来源」。

basjoo 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。

📌 核心特色
  • 可视化 Agent 工作流编排,无需编写复杂代码
  • 支持多步骤自动化任务链,实现全流程无人值守
  • 与外部 API、数据库和第三方服务无缝集成
  • 内置错误处理与自动重试机制,保障稳定运行
  • 提供可复用的自动化模板,快速在同类场景部署
🎯 主要使用场景
  • 自动化日常重复性工作,将精力集中于创造性任务
  • 构建数据采集 → 处理 → 输出的完整自动化管线
  • 实现跨平台、跨系统的数据流转和业务协同
以下安装命令基于项目开发语言和类型自动生成,实际以官方 README 为准。
安装命令
# 方式一:pip 安装(推荐)
pip install basjoo

# 方式二:虚拟环境安装(推荐生产环境)
python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install basjoo

# 方式三:从源码安装(获取最新功能)
git clone https://github.com/haoyiyin/basjoo
cd basjoo
pip install -e .

# 验证安装
python -c "import basjoo; print('安装成功')"
📋 安装步骤说明
  1. 访问 GitHub 仓库获取工作流文件
  2. 在对应平台(Dify / Flowise / Make 等)中找到「导入工作流」功能
  3. 上传工作流文件
  4. 按照提示配置必要的环境变量和 API Key
  5. 运行测试确认流程正常后投入使用
以下用法示例由 AI Skill Hub 整理,涵盖最常见的使用场景。
常用命令 / 代码示例
# 命令行使用
basjoo --help

# 基本用法
basjoo input_file -o output_file

# Python 代码中调用
import basjoo

# 示例
result = basjoo.process("input")
print(result)
以下配置示例基于典型使用场景生成,具体参数请参照官方文档调整。
配置示例
# basjoo 配置文件示例(config.yml)
app:
  name: "basjoo"
  debug: false
  log_level: "INFO"

# 运行时指定配置文件
basjoo --config config.yml

# 或通过环境变量配置
export BASJOO_API_KEY="your-key"
export BASJOO_OUTPUT_DIR="./output"
📑 README 深度解析 真实文档 完整度 62/100 查看 GitHub 原文 →
以下内容由系统直接从 GitHub README 解析整理,保留代码块、表格与列表结构。

Basjoo

Docker FastAPI Next.js Python TypeScript PostgreSQL Redis R2R Scrapling

English | 简体中文

Basjoo is an AI customer-support platform with three main parts:

  • a FastAPI backend for agent configuration, chat, indexing, auth, and scheduling
  • a Next.js admin/dashboard frontend in frontend-nextjs/
  • an embeddable chat widget in widget/ that talks to the backend over HTTP and SSE

The stack also uses SQLite for application data, Redis for rate limiting, R2R (with PostgreSQL + pgvector) for vector search and document indexing, a Scrapling microservice for web content fetching, and nginx for Docker-based reverse proxying.

Admin dashboard overview

The admin dashboard is the operational center for configuring agents, reviewing knowledge coverage, and accessing the major management modules.

English admin dashboard screenshot

Architecture overview

Core features

  • Configurable AI agents with multiple provider settings
  • Independent Embedding API selection for knowledge retrieval: Jina or SiliconFlow
  • URL ingestion and file knowledge management
  • R2R-backed retrieval and index rebuild jobs
  • Streaming chat responses over Server-Sent Events
  • Embeddable website widget with session persistence
  • Widget copy auto-translation by visitor locale
  • Per-agent widget domain whitelist for public chat embeds
  • Offline agent fallback replies and admin-side error alerts
  • Admin authentication and dashboard management flows
  • Dockerized development and production-style deployment paths

Feature walkthrough

System requirements

Basjoo runs as a set of Docker containers. All LLM inference and embedding calls are made to external APIs (OpenAI, DeepSeek, Anthropic, Gemini, Jina, SiliconFlow), so no GPU is required.

MinimumRecommended
CPU2 vCPU2–4 vCPU
RAM4 GB8 GB
Disk20 GB50 GB
OSUbuntu 22.04+ / Debian 11+Ubuntu 22.04+ / Debian 12+
Docker20.10+latest

Automatic deployment

For a blank Ubuntu or Debian server, run:

curl -fsSL https://raw.githubusercontent.com/haoyiyin/basjoo/main/install-deploy.sh | sudo sh

If you already have this repository checked out locally, you can also run:

sudo sh install-deploy.sh

Manual deployment

Option 1: Docker Compose

Development stack:

docker compose --profile dev up -d

Production-style stack:

docker compose --profile prod up -d

Useful Docker commands:

docker compose logs -f backend-dev frontend-dev nginx
docker compose --profile dev up -d --build backend-dev frontend-dev
bash scripts/prod_stability_check.sh

Default dev ports:

  • Frontend: http://localhost:3000
  • Backend API: http://localhost:8000
  • R2R: http://localhost:7272
  • PostgreSQL: 127.0.0.1:5432
  • Redis: 127.0.0.1:6379

The dev frontend and backend ports are bound as 3000:3000 and 8000:8000, so they are reachable from other devices that can access the host.

Docker Compose watch mode (dev)

docker compose --profile dev up --watch

Deployment notes

  • docker-compose.yml is the main orchestration entrypoint.
  • install-deploy.sh is the one-command production installer/deployer for Ubuntu and Debian. It can auto-install Docker/Compose, clone the repo, and force-sync an existing clone to the chosen remote branch before deploying.
  • The active frontend service is frontend-nextjs, not the legacy frontend/ directory.
  • nginx is configured with client_max_body_size 12m so oversized requests can reach the backend and return JSON errors instead of nginx HTML errors.
  • Optional HTTPS is enabled only when readable certificate and key files exist in ./ssl.
  • When certificates are present, nginx serves HTTPS on port 443 and redirects HTTP requests on port 80 to HTTPS automatically.
  • SERVER_DOMAIN can be set for the nginx service to enforce a canonical hostname. When set, nginx serves only that host, rejects direct IP or unexpected Host access with nginx 444, and keeps /health available for load balancer probes.
  • If SERVER_DOMAIN is not set, nginx keeps accepting requests by the incoming host as before.
  • Backend responses that bypass standard middleware should still apply CORS headers so embedded widget requests do not fail cross-origin.
  • The backend persists the default widget agent ID to /app/data/.agent_id. As long as the backend data volume is preserved, existing widget embed codes keep working after redeployments.
  • If you know an older widget agent ID that must keep working, set DEFAULT_AGENT_ID=agt_xxxxxxxxxxxx before first boot of the new deployment.
  • Avoid docker compose down -v or deleting the backend data volume unless you are intentionally rotating widget/embed identity.
  • The one-command installer only force-resets repository files; it does not delete Docker named volumes, so /app/data persistence remains intact across redeployments.

Preserving existing widget embeds across redeployments

Recommended production workflow:

  1. Preserve the backend data volume mounted at /app/data.
  2. Redeploy with docker compose --profile prod up -d --build.
  3. If you are migrating to a new server and know the old widget agentId, set DEFAULT_AGENT_ID before starting the backend.
  4. Back up at least /app/data/basjoo.db and /app/data/.agent_id.

Example .env snippet for migration:

SECRET_KEY=
DEFAULT_AGENT_ID=agt_123456789abc

If the old data volume is lost and the old agentId is unknown, old widget embeds cannot be recovered automatically because the embed code references the previous agent ID directly.

Playground and AI configuration

The Playground lets admins test replies, inspect retrieval behavior, and adjust model/provider settings from the same workflow.

English playground screenshot

System settings and widget appearance

System Settings covers language/theme preferences, widget appearance, embed behavior, and other operational controls.

English system settings screenshot

Option 2: Run services locally

Backend

cd backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python3 main.py

Backend health check:

curl http://localhost:8000/health

Frontend

cd frontend-nextjs
npm install
npm run dev

Widget

cd widget
npm install
npm run dev

Environment and configuration

The backend reads settings from environment variables and .env via pydantic-settings.

Important runtime settings used in the current codebase include:

  • DATABASE_URL
  • REDIS_URL
  • R2R_API_URL
  • SECRET_KEY
  • SECRET_KEY_FILE
  • DEFAULT_AGENT_ID
  • JINA_API_KEY
  • DEEPSEEK_API_KEY
  • ALLOWED_ORIGINS
  • ALLOWED_METHODS
  • ALLOWED_HEADERS
  • RATE_LIMIT_PER_MINUTE
  • RATE_LIMIT_BURST_SIZE
  • LOG_LEVEL
  • SERVER_DOMAIN
  • ENCRYPTION_KEY (optional; auto-generated and persisted if missing)
  • ENCRYPTION_KEY_FILE (default /app/data/.encryption_key)
  • REQUIRE_SECRET_KEY (set true in production to reject insecure secret keys)

Notes:

  • If SECRET_KEY is missing or insecure, the backend generates one and persists it to SECRET_KEY_FILE.
  • DEFAULT_AGENT_ID can be used to restore or pin a known widget agent ID during migrations; see the deployment section below for the preservation workflow.
  • If ENCRYPTION_KEY is not set, the backend auto-generates a Fernet key and persists it to ENCRYPTION_KEY_FILE; stored provider API keys are encrypted with this key.
  • cors_allow_null_origin (boolean, default false) controls whether Origin: null (e.g., file:// widget preview) receives wildcard CORS headers. Off by default for security.
  • SERVER_DOMAIN is consumed by the nginx service in the production compose profile to enforce a canonical host and block direct IP/other-host access.
  • The dev compose profile sets permissive CORS and local API URLs by default.
  • The production compose profile expects mounted persistent backend data under /app/data.

API surface at a glance

Examples of backend endpoints present in the codebase:

  • /health
  • /api/admin/login
  • /api/admin/register
  • /api/v1/chat
  • /api/v1/chat/stream
  • /api/v1/agent:default
  • /api/v1/urls:create
  • /api/v1/urls:list
  • /api/v1/urls:refetch
  • /api/v1/index:rebuild
  • /api/v1/index:status
🎯 aiskill88 AI 点评 A 级 2026-05-24

该项目提供了一个开源的AI工作流,支持多家LL服务,快速部署AI客服平台,但代码质量和文档需要进一步改进

⚡ 核心功能
👥 适合人群
自动化工程师和运维人员项目经理和业务分析师希望减少重复性工作的专业人士数字化转型团队
🎯 使用场景
  • 自动化日常重复性工作,将精力集中于创造性任务
  • 构建数据采集 → 处理 → 输出的完整自动化管线
  • 实现跨平台、跨系统的数据流转和业务协同
⚖️ 优点与不足
✅ 优点
  • +MIT 协议,可免费商用
  • +大幅减少重复性人工操作
  • +可视化流程,清晰直观
  • +可扩展性强,支持复杂场景
⚠️ 不足
  • 初始配置和调试需投入一定时间
  • 强依赖外部服务的稳定性
  • 复杂场景需具备一定技术基础
⚠️ 使用须知

AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。

建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。

📄 License 说明

✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。

🔗 相关工具推荐
🧩 你可能还需要
基于当前 Skill 的能力图谱,自动补全的工具组合
❓ 常见问题 FAQ
解答
💡 AI Skill Hub 点评

总体来看,basjoo 是一款质量良好的Agent工作流,在同类工具中具备一定竞争力。AI Skill Hub 将持续追踪其更新动态,建议收藏备用,结合自身场景选择合适时机引入使用。

⬇️ 获取与下载
⬇ 下载源码 ZIP

✅ MIT 协议 · 可免费商用 · 直接从 aiskill88 服务器下载,无需跳转 GitHub

📚 深入学习 basjoo
查看分步骤安装教程和完整使用指南,快速上手这款工具
🌐 原始信息
原始名称 basjoo
Topics workflowaichatbotcustomer-supportembeddable-widgetfastapipython
GitHub https://github.com/haoyiyin/basjoo
License MIT
语言 Python
🔗 原始来源
🐙 GitHub 仓库  https://github.com/haoyiyin/basjoo

收录时间:2026-05-24 · 更新时间:2026-05-24 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。