快速开始
在 60 秒内运行 JamJet 工作流 — 无需服务器、无需配置,只需 Python。
快速开始
60 秒启动
无需服务器。无需配置。无需 Pydantic。只需 Python。
pip install jamjet
# agent.py
from jamjet import task, tool
@tool
async def web_search(query: str) -> str:
"""搜索网络获取最新信息。"""
# 接入你的实际搜索实现
return f"搜索结果:{query}"
@task(model="claude-sonnet-4-6", tools=[web_search])
async def research(question: str) -> str:
"""你是一个研究助手。先搜索,然后清晰总结。"""
import asyncio
result = asyncio.run(research("什么是 JamJet?"))
print(result)ANTHROPIC_API_KEY=sk-ant-... python agent.py就是这样。@tool 装饰器将任何 Python 函数暴露给代理。@task 的文档字符串成为代理的指令。支持 OpenAI、Anthropic、Ollama、Groq — 任何模型。
提示: 本地使用 Ollama?无需 API 密钥:
OPENAI_API_KEY=ollama OPENAI_BASE_URL=http://localhost:11434/v1 python agent.py将 model= 改为任何 Ollama 模型(例如 "llama3.2")。
你获得的能力
@tool— 将任何异步 Python 函数转换为代理工具,自动生成 schema@task— 文档字符串 = 代理指令,函数签名 = 输入约定- 持久执行 — 崩溃后从停止处恢复(使用
jamjet dev) - 强制限制 —
max_iterations、max_cost_usd、timeout_seconds是一等参数
无样板代码。无状态类。无依赖注入。
注意: 需要完整的图控制 — 多步骤流水线、条件路由、人工介入? 使用
WorkflowAPI 或 YAML workflows 进行复杂编排。
试试这些示例
jamjet-benchmarks 仓库中有四个独立示例 — 每个都可以用 Ollama 本地运行:
| 示例 | 展示内容 |
|---|---|
| 01 — 带时间线的流水线 | 每步执行时间线,自动生成 |
| 02 — 条件路由 | 用纯 Python 谓词实现路由 |
| 03 — 评估框架 | 内置评分,LLM 作为评判者 |
| 04 — 自我评估工作流 | 草稿 → 评判 → 重试循环 |
git clone https://github.com/jamjet-labs/jamjet-benchmarks
cd jamjet-benchmarks/examples/01_pipeline_with_timeline
pip install -r requirements.txt
OPENAI_API_KEY=ollama OPENAI_BASE_URL=http://localhost:11434/v1 MODEL_NAME=llama3.2 python main.py搭建完整项目
使用模板快速启动一个更完整的项目:
jamjet init my-agent --template hello-agent
cd my-agent可用模板:
jamjet init my-agent --list-templates
# hello-agent 极简问答工作流
# research-agent 网页搜索 + 综合分析(Brave Search MCP)
# rag-assistant 基于文件系统 MCP 的 RAG
# mcp-tool-consumer 连接任意 MCP 工具服务器
# mcp-tool-provider 将 Python 函数暴露为 MCP 工具
# code-reviewer GitHub PR 审查与质量评分
# hitl-approval 人工审批卡点
# multi-agent-review 写手 + 评审循环
# a2a-delegator 通过 A2A 协议委派任务
# a2a-server 响应外部代理的 A2A 请求
# approval-workflow 带 24 小时超时的持久审批添加持久化运行时(生产环境)
进程内执行器(wf.run_sync)非常适合开发。对于生产环境——崩溃恢复、多实例调度、持久化状态——启动运行时服务器:
jamjet dev▶ JamJet Dev Runtime
Port: 7700
Mode: local (SQLite)
API: http://localhost:7700然后通过它运行工作流:
jamjet run workflow.yaml --input '{"query": "What is JamJet?"}'✓ node_completed think gpt-4o-mini 512ms
✓ Execution completed.执行中途崩溃?从中断处精确恢复——不会重跑早期步骤,不会浪费 API 调用。
设置 API 密钥
OpenAI
export OPENAI_API_KEY=sk-...Anthropic
export ANTHROPIC_API_KEY=sk-ant-...Ollama(免费,本地)
export OPENAI_API_KEY=ollama
export OPENAI_BASE_URL=http://localhost:11434/v1
# ollama pull llama3.2Groq
export OPENAI_API_KEY=gsk_...
export OPENAI_BASE_URL=https://api.groq.com/openai/v1下一步
- 核心概念 — agents、节点、状态和持久性
- Python SDK — 装饰器、路由、并行步骤
- 工作流编写 — 所有节点类型、重试策略、条件
- MCP 集成 — 一行代码连接外部工具服务器
- 评估工具 — 像测试软件一样测试你的 agents
故障排除
安装后找不到 jamjet?
确保你的 Python 脚本目录在 PATH 中。尝试使用 python -m jamjet。
端口 7700 连接被拒绝?
在使用 jamjet run 之前必须先运行 jamjet dev。进程内的 wf.run_sync() 路径不需要服务器。
需要帮助? 在 GitHub Discussion 中提问或提交 issue。