经 AI Skill Hub 精选评估,尿应平图系统计 获评「推荐使用」。这款Agent工作流在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 7.5 分,适合有一定技术背景的用户使用。
尿应平图系统计给一个服务器为平图系统计的平图系统计器。平图系统计的为平图系统计器。
尿应平图系统计 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
尿应平图系统计给一个服务器为平图系统计的平图系统计器。平图系统计的为平图系统计器。
尿应平图系统计 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
# 方式一:pip 安装(推荐)
pip install calfkit-sdk
# 方式二:虚拟环境安装(推荐生产环境)
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install calfkit-sdk
# 方式三:从源码安装(获取最新功能)
git clone https://github.com/calf-ai/calfkit-sdk
cd calfkit-sdk
pip install -e .
# 验证安装
python -c "import calfkit_sdk; print('安装成功')"
# 命令行使用
calfkit-sdk --help
# 基本用法
calfkit-sdk input_file -o output_file
# Python 代码中调用
import calfkit_sdk
# 示例
result = calfkit_sdk.process("input")
print(result)
# calfkit-sdk 配置文件示例(config.yml) app: name: "calfkit-sdk" debug: false log_level: "INFO" # 运行时指定配置文件 calfkit-sdk --config config.yml # 或通过环境变量配置 export CALFKIT_SDK_API_KEY="your-key" export CALFKIT_SDK_OUTPUT_DIR="./output"
<br>
pip install calfkit
<br>
Define and deploy a tool as an independent service. Tools are not owned by or coupled to any specific agent—once deployed, any agent in your system can discover and invoke the tool. Deploy once, use everywhere.
```python
@agent_tool def get_weather(location: str) -> str: """Get the current weather at a location""" return f"It's sunny in {location}"
async def main(): client = Client.connect("localhost:9092") # Connect to Kafka broker worker = Worker(client, nodes=[get_weather]) # Initialize a worker with the tool node await worker.run() # (Blocking call) Deploy the service to start serving traffic
if name == "main": asyncio.run(main())
Run the file to deploy the tool service:
shell python weather_tool.py ```
<br>
Deploy the agent as its own service. The Agent handles LLM chat, tool orchestration, and conversation management in a single node. Import the tool definition to register it with the agent—the tool definition is reusable and does not couple the agent to the tool's deployment.
```python
Agents can be deployed with a final_output_type to enforce structured output from the LLM. The output is type-safe and deserialized automatically on the client side.
from dataclasses import dataclass
from calfkit.nodes import Agent
from calfkit.providers import OpenAIResponsesModelClient
@dataclass
class WeatherReport:
location: str
summary: str
agent = Agent(
"weather_agent",
system_prompt="You are a helpful assistant.",
subscribe_topics="weather_agent.input",
model_client=OpenAIResponsesModelClient(model_name="gpt-5.4-nano"),
final_output_type=WeatherReport, # Enforce structured output
)
When invoking, pass the matching output_type to deserialize the response:
result = await client.execute_node(
"What's the weather in Tokyo?",
"weather_agent.input",
output_type=WeatherReport,
)
print(result.output.location) # "Tokyo"
print(result.output.summary) # "It's sunny in Tokyo"
<br>
The Client supports multi-turn conversations, runtime dependency injection, and temporary instruction overrides—all without redeploying the agent.
Multi-turn conversations — pass the message history from a previous result to maintain context:
```python result = await client.execute_node("What's the weather in Tokyo?", "agent.input")
When multiple agents share an input topic (each with its own consumer group), every agent receives every message published to that topic. A gate stack lets a node decide whether to handle an inbound event before run() runs — avoiding wasted LLM tokens on messages addressed elsewhere.
Gates are predicates: Callable[[SessionRunContext], bool | Awaitable[bool]]. They stack with AND semantics in registration order and short-circuit on the first False, exception, or non-bool return. When any gate rejects, run() is skipped and the envelope is returned unchanged — the Kafka offset still commits.
Constructor form — good for shared, cross-cutting predicates passed in as values:
def is_scheduler_target(ctx) -> bool:
discord = ctx.deps.provided_deps.get("discord", {})
return discord.get("slash_target") == "scheduler"
scheduler = Agent(
"scheduler",
subscribe_topics="discord.thread.123",
model_client=OpenAIResponsesModelClient(model_name="gpt-5.4-nano"),
gates=[is_scheduler_target],
)
Decorator form — good for node-specific gates defined inline:
scheduler = Agent("scheduler", subscribe_topics="discord.thread.123", model_client=...)
@scheduler.gate
def is_scheduler_target(ctx) -> bool:
discord = ctx.deps.provided_deps.get("discord", {})
return discord.get("slash_target") == "scheduler"
Constructor and decorator forms can be combined; constructor gates run first.
Idempotency requirement: Kafka may redeliver an event before its offset commits, so gates may run more than once for the same logical message. Keep gate functions deterministic and side-effect-free.
Failure behavior: If a gate raises or returns a non-bool, the framework logs the failure and rejects the message (fail-safe). Place cheap fast-reject gates first to maximize short-circuit efficiency.
For tool-node gating, pass gates=[...] to ToolNodeDef.create_tool_node(...) directly; the @agent_tool decorator doesn't expose gates= because tool topics are typically 1:1.
<br>
A consumer node is a terminal sink — it subscribes to one or more topics and runs arbitrary Python logic against every event flowing through. Consumers receive the same NodeResult that Client.execute_node() returns, including the full session state (tool_calls, tool_results, message_history, metadata).
Deploy a consumer as its own service. Wire it to an agent's publish_topic (or any topic carrying calfkit envelopes) to observe outputs from agents, tools, and intermediate hops:
```python
The SDK to build AI agents as orchestratable, event-driven microservices.
Calfkit lets you compose agents as decoupled microservices–agents, tools, workflows–that communicate asynchronously. Add agents to teams without hardcoding any orchestration logic, scale each component independently, and stream agent outputs to any downstream listener.
pip install calfkit
<br>
尿应平图系统计的为平图系统计器。平图系统计的为平图系统计器。平图系统计的为平图系统计器。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ Apache 2.0 — 宽松开源协议,可商用,需保留版权声明和 NOTICE 文件,含专利授权条款。
AI Skill Hub 点评:尿应平图系统计 的核心功能完整,质量良好。对于自动化工程师和运维人员来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。
| 原始名称 | calfkit-sdk |
| Topics | workflowagentsai |
| GitHub | https://github.com/calf-ai/calfkit-sdk |
| License | Apache-2.0 |
| 语言 | Python |
收录时间:2026-05-23 · 更新时间:2026-05-23 · License:Apache-2.0 · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端