AI Skill Hub 推荐使用:basjoo 是一款优质的Agent工作流。AI 综合评分 7.5 分,在同类工具中表现稳健。如果你正在寻找可靠的Agent工作流解决方案,这是一个值得深入了解的选择。
basjoo 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
basjoo 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
# 方式一: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('安装成功')"
# 命令行使用
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"
English | 简体中文
Basjoo is an AI customer-support platform with three main parts:
frontend-nextjs/widget/ that talks to the backend over HTTP and SSEThe 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.
The admin dashboard is the operational center for configuring agents, reviewing knowledge coverage, and accessing the major management modules.

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.
| Minimum | Recommended | |
|---|---|---|
| CPU | 2 vCPU | 2–4 vCPU |
| RAM | 4 GB | 8 GB |
| Disk | 20 GB | 50 GB |
| OS | Ubuntu 22.04+ / Debian 11+ | Ubuntu 22.04+ / Debian 12+ |
| Docker | 20.10+ | latest |
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
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:
http://localhost:3000http://localhost:8000http://localhost:7272127.0.0.1:5432127.0.0.1:6379The 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 --profile dev up --watch
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.frontend-nextjs, not the legacy frontend/ directory.client_max_body_size 12m so oversized requests can reach the backend and return JSON errors instead of nginx HTML errors../ssl.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.SERVER_DOMAIN is not set, nginx keeps accepting requests by the incoming host as before./app/data/.agent_id. As long as the backend data volume is preserved, existing widget embed codes keep working after redeployments.DEFAULT_AGENT_ID=agt_xxxxxxxxxxxx before first boot of the new deployment.docker compose down -v or deleting the backend data volume unless you are intentionally rotating widget/embed identity./app/data persistence remains intact across redeployments.Recommended production workflow:
/app/data.docker compose --profile prod up -d --build.agentId, set DEFAULT_AGENT_ID before starting the backend./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.
The Playground lets admins test replies, inspect retrieval behavior, and adjust model/provider settings from the same workflow.

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

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
cd frontend-nextjs
npm install
npm run dev
cd widget
npm install
npm run dev
The backend reads settings from environment variables and .env via pydantic-settings.
Important runtime settings used in the current codebase include:
DATABASE_URLREDIS_URLR2R_API_URLSECRET_KEYSECRET_KEY_FILEDEFAULT_AGENT_IDJINA_API_KEYDEEPSEEK_API_KEYALLOWED_ORIGINSALLOWED_METHODSALLOWED_HEADERSRATE_LIMIT_PER_MINUTERATE_LIMIT_BURST_SIZELOG_LEVELSERVER_DOMAINENCRYPTION_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:
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.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./app/data.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该项目提供了一个开源的AI工作流,支持多家LL服务,快速部署AI客服平台,但代码质量和文档需要进一步改进
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
总体来看,basjoo 是一款质量良好的Agent工作流,在同类工具中具备一定竞争力。AI Skill Hub 将持续追踪其更新动态,建议收藏备用,结合自身场景选择合适时机引入使用。
| 原始名称 | basjoo |
| Topics | workflowaichatbotcustomer-supportembeddable-widgetfastapipython |
| GitHub | https://github.com/haoyiyin/basjoo |
| License | MIT |
| 语言 | Python |
收录时间:2026-05-24 · 更新时间:2026-05-24 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端