经 AI Skill Hub 精选评估,BotCircuits 代理 获评「强烈推荐」。这款n8n工作流在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 8.0 分,适合有一定技术背景的用户使用。
BotCircuits 代理 是一款基于 Python 开发的开源工具,专注于 n8n、ai、ai-agents 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
BotCircuits 代理 是一款基于 Python 开发的开源工具,专注于 n8n、ai、ai-agents 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
# 方式一:pip 安装(推荐)
pip install botcircuits-agent
# 方式二:虚拟环境安装(推荐生产环境)
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install botcircuits-agent
# 方式三:从源码安装(获取最新功能)
git clone https://github.com/botcircuits-ai/botcircuits-agent
cd botcircuits-agent
pip install -e .
# 验证安装
python -c "import botcircuits_agent; print('安装成功')"
# 命令行使用
botcircuits-agent --help
# 基本用法
botcircuits-agent input_file -o output_file
# Python 代码中调用
import botcircuits_agent
# 示例
result = botcircuits_agent.process("input")
print(result)
// n8n 工作流配置步骤 // 1. 在 n8n 中点击 "Import Workflow" // 2. 粘贴 JSON 文件内容或上传文件 // 3. 配置必要的 Credentials: // - Settings → Credentials → New // - 选择对应服务类型填写 API Key // 4. 激活工作流 (Toggle ON) // 5. 通过 Webhook 或定时触发器运行
The workflow-native AI agent where an LLM handles the reasoning and tool calls for each step, while a deterministic state machine controls the overall flow. The result:predictable and token-efficient multi-step automation without depending on an LLM to drive everything.
uv sync
Configure your provider, model, and API key:
bash botcircuits setup
The wizard walks you through provider (`anthropic` / `openai` / `gemini`), model, and API key with arrow-key navigation (↑/↓ to move, Enter to select, Esc to keep the current value). Each pick is saved as you go:
- `provider` and `model` → `~/.botcircuits/settings.json`
- API key → `~/.botcircuits/.env` (`ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `GEMINI_API_KEY`, file mode `0600`)
Re-running `botcircuits setup` shows your existing values as defaults, and an existing API key gives you a **Keep / Replace / Clear** choice instead of re-prompting for the secret.
| Form | What it does |
|---|---|
| `botcircuits setup` | Full wizard (currently the LLM section) |
| `botcircuits setup llm` | Just the LLM provider/model/API-key section |
| `botcircuits setup --user` | Write to `~/.botcircuits/` (default) |
| `botcircuits setup --project` | Write to `./.botcircuits/settings.json` (shared via VCS) |
| `botcircuits setup --local` | Write to `./.botcircuits/settings.local.json` (gitignored personal override) |
Prefer to configure by hand? Copy the env template instead:
bash cp .env.example .env bash
WHATSAPP_PHONE_NUMBER_ID=123456789 WHATSAPP_ACCESS_TOKEN=EAA… WHATSAPP_VERIFY_TOKEN=any-shared-secret # echoed back during Meta's GET verify
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
The raw file you author is not what the engine runs. The workflow build step takes the natural-language conditions on each agentAction and prepares conditions and variables the engine can evaluate deterministically:
condition (e.g. "the requested tone is warm") is compiled into a typed choices[] entry with an operator (is, >=, contains, …) and a value, so the engine can pick the matching branch without re-calling the LLM at runtime.flow.variables list is emitted, naming every slot referenced by the compiled conditions along with its inferred dataType and a short description. The runtime uses this list to coerce the LLM's free-text args into the right shape before evaluating branches./workflow add|edit runs the builder for you. If you hand-edit a workflow file, re-build it from the CLI:
botcircuits workflow build --name=greet_user
The agent runtime only loads workflows from .botcircuits/workflows/.build/, so a workflow that hasn't been built isn't callable — workflow build is what produces the runnable copy.
---
WhatsApp. In the Meta WhatsApp Business app, set the webhook URL to https://<your-host>/messaging/whatsapp and the verify token to whatever you put in WHATSAPP_VERIFY_TOKEN. Subscribe to the messages field on the WhatsApp Business Account.
Slack (Socket Mode). Create a Slack app, enable Socket Mode, and generate an app-level token with connections:write (→ SLACK_APP_TOKEN). Add bot scopes chat:write, channels:history, groups:history, app_mentions:read, im:history, im:write, users:read and install the workspace (→ SLACK_BOT_TOKEN). Subscribe to bot events message.im, message.channels, message.groups, app_mention. Missing message.channels / message.groups is the most common setup mistake — the bot will reply in DMs but appear dead in channels.
Generic webhook.
curl -X POST http://localhost:8000/messaging/webhook \
-H "authorization: Bearer $WEBHOOK_TOKEN" \
-H "content-type: application/json" \
-d '{"chat_id": "user-42", "text": "What is the weather like?"}'
If WEBHOOK_OUTBOUND_URL is set, the gateway posts the agent's reply back to that URL with the same bearer token.
##### Docker-Compose ( TODO ) ##### Kubernetes ( TODO )
uv python install 3.11 uv venv --python 3.11 # creates ./.venv
source .venv/bin/activate # bash / zsh
ANTHROPIC_API_KEY=... OPENAI_API_KEY=... GEMINI_API_KEY=...
LLM_PROVIDER=anthropic # anthropic | openai | gemini ANTHROPIC_MODEL=claude-opus-4-7 OPENAI_MODEL=gpt-4.1 GEMINI_MODEL=gemini-2.5-flash ```
Effective precedence (highest wins): CLI flag → settings.json (layered) → env var → built-in default.
botcircuits mcp list
A workflow is a step-by-step conversation script the agent can run on your behalf. Each workflow is one JSON file that lives under .botcircuits/workflows/, and once the agent loads it the workflow becomes a tool the model can call by name.
When you don't want to leave it up to the model to decide whether to invoke a workflow, kick one off directly:
/workflow run --name workflow_demo
/workflow run --name workflow_demo --initial-args '{"end_id":"step_3"}'
This calls the workflow tool right away with the args you supplied, seeds the conversation with the resulting first step, and hands control back to the model to perform it. --initial-args must be a JSON object; omit it to start with {}. The target workflow must already be registered — workflow tools are auto-discovered from .botcircuits/workflows/.build/ and the command refreshes that registry before looking up the name, so a freshly authored workflow works without a restart.
By default, workflows live in .botcircuits/workflows/*.json under the current directory. Override with BOTCIRCUITS_WORKFLOWS_DIR=/abs/path (or set it in .env). A missing directory just means "no workflows" — drop a folder in to opt in.
Each file is one workflow record:
{
"name": "greet_user",
"description": "Greet the caller, then say goodbye.",
"flow": {
"start": "s0",
"steps": {
"s0": { "type": "start", "next": "a1" },
"a1": {
"type": "agentAction",
"next": "a2",
"conditions": [
{ "condition": "the requested tone is warm", "next": "a2" }
],
"settings": {
"action": "Capture the desired tone and greet the user accordingly."
}
},
"a2": {
"type": "agentAction",
"settings": { "action": "Say goodbye." }
}
}
}
}
name doubles as the tool name the model calls; it must match ^[a-zA-Z0-9_-]+$. Only start and agentAction step types are supported — to branch, attach a conditions list at the step root (sibling of type and next, not nested inside settings). conditions is control flow, so it sits next to the other control-flow fields rather than with the step-type-specific payload in settings.
高质量的开源n8n工作流AI代理,具有预测性和令牌高效的多步骤自动化能力
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ Apache 2.0 — 宽松开源协议,可商用,需保留版权声明和 NOTICE 文件,含专利授权条款。
AI Skill Hub 点评:BotCircuits 代理 的核心功能完整,质量优秀。对于n8n 平台用户来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。
| 原始名称 | botcircuits-agent |
| Topics | n8naiai-agentsbotcircuitschatgptclaudepython |
| GitHub | https://github.com/botcircuits-ai/botcircuits-agent |
| License | Apache-2.0 |
| 语言 | Python |
收录时间:2026-06-01 · 更新时间:2026-06-01 · License:Apache-2.0 · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端