ๆฌๆๅ่งฃ้ๅฆไฝไฝฟ็จ zeroclaw-tools Python ๅ
ไธไปปไฝๅ
ผๅฎน OpenAI ็ LLM๏ผๅคง่ฏญ่จๆจกๅ๏ผLarge Language Model๏ผๆไพๅๅฎ็ฐไธ่ด็ๅทฅๅ
ท่ฐ็จใ
ๆไบ LLM ๆไพๅ๏ผ็นๅซๆฏๅ GLM-5๏ผๆบ่ฐฑ AI๏ผ่ฟๆ ท็ไธญๆๆจกๅ๏ผๅจไฝฟ็จๅบไบๆๆฌ็ๅทฅๅ ท่ฐ็จๆถ่กไธบไธไธ่ดใZeroClaw ็ Rust ๆ ธๅฟ้่ฟ OpenAI API ๆ ผๅผไฝฟ็จ็ปๆๅๅทฅๅ ท่ฐ็จ๏ผไฝๆไบๆจกๅๅฏนไธๅๆนๆณ็ๅๅบๆดๅฅฝใ
LangGraph ๆไพไบๆ็ถๆ็ๅพๆง่กๅผๆ๏ผๆ ่ฎบๅบๅฑๆจกๅ็ๅ็่ฝๅๅฆไฝ๏ผ้ฝ่ฝไฟ่ฏไธ่ด็ๅทฅๅ ท่ฐ็จ่กไธบใ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Your Application โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ zeroclaw-tools Agent โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ LangGraph StateGraph โ โ
โ โ โ โ
โ โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ โ
โ โ โ Agent โ โโโโโโโถ โ Tools โ โ โ
โ โ โ Node โ โโโโโโโ โ Node โ โ โ
โ โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ โ
โ โ โ โ โ โ
โ โ โผ โผ โ โ
โ โ [Continue?] [Execute Tool] โ โ
โ โ โ โ โ โ
โ โ Yes โ No Resultโ โ โ
โ โ โผ โผ โ โ
โ โ [END] [Back to Agent] โ โ
โ โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ OpenAI-Compatible LLM Provider โ
โ (Z.AI, OpenRouter, Groq, DeepSeek, Ollama, etc.) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
pip install zeroclaw-toolsimport asyncio
from zeroclaw_tools import create_agent, shell, file_read, file_write
from langchain_core.messages import HumanMessage
async def main():
agent = create_agent(
tools=[shell, file_read, file_write],
model="glm-5",
api_key="your-api-key",
base_url="https://api.z.ai/api/coding/paas/v4"
)
result = await agent.ainvoke({
"messages": [HumanMessage(content="Read /etc/hostname and tell me the machine name")]
})
print(result["messages"][-1].content)
asyncio.run(main())| ๅทฅๅ ท | ๆ่ฟฐ |
|---|---|
shell |
ๆง่ก shell ๅฝไปค |
file_read |
่ฏปๅๆไปถๅ ๅฎน |
file_write |
ๅๆไปถๅๅ ฅๅ ๅฎน |
| ๅทฅๅ ท | ๆ่ฟฐ |
|---|---|
web_search |
็ฝ้กตๆ็ดข๏ผ้่ฆ BRAVE_API_KEY๏ผ |
http_request |
ๅ้ HTTP ่ฏทๆฑ |
memory_store |
ๅฐๆฐๆฎๅญๅจๅฐๆไน ๅๅ ๅญ |
memory_recall |
ๅฌๅๅญๅจ็ๆฐๆฎ |
ไฝฟ็จ @tool ่ฃ
้ฅฐๅจๅๅปบไฝ ่ชๅทฑ็ๅทฅๅ
ท๏ผ
from zeroclaw_tools import tool, create_agent
@tool
def get_weather(city: str) -> str:
"""Get the current weather for a city."""
# Your implementation
return f"Weather in {city}: Sunny, 25ยฐC"
@tool
def query_database(sql: str) -> str:
"""Execute a SQL query and return results."""
# Your implementation
return "Query returned 5 rows"
agent = create_agent(
tools=[get_weather, query_database],
model="glm-5",
api_key="your-key"
)agent = create_agent(
model="glm-5",
api_key="your-zhipu-key",
base_url="https://api.z.ai/api/coding/paas/v4"
)agent = create_agent(
model="anthropic/claude-sonnet-4-6",
api_key="your-openrouter-key",
base_url="https://openrouter.ai/api/v1"
)agent = create_agent(
model="llama-3.3-70b-versatile",
api_key="your-groq-key",
base_url="https://api.groq.com/openai/v1"
)agent = create_agent(
model="llama3.2",
base_url="http://localhost:11434/v1"
)import os
from zeroclaw_tools.integrations import DiscordBot
bot = DiscordBot(
token=os.environ["DISCORD_TOKEN"],
guild_id=123456789, # ไฝ ็ Discord ๆๅกๅจ ID
allowed_users=["123456789"], # ๅฏไปฅไฝฟ็จๆบๅจไบบ็็จๆท ID
api_key=os.environ["API_KEY"],
model="glm-5"
)
bot.run()# ่ฎพ็ฝฎ็ฏๅขๅ้
export API_KEY="your-key"
export BRAVE_API_KEY="your-brave-key" # ๅฏ้๏ผ็จไบ็ฝ้กตๆ็ดข
# ๅๆกๆถๆฏ
zeroclaw-tools "What is the current date?"
# ไบคไบๆจกๅผ
zeroclaw-tools -i| ๆน้ข | Rust ZeroClaw | zeroclaw-tools |
|---|---|---|
| ๆง่ฝ | ่ถ ๅฟซ๏ผ~10ms ๅฏๅจ๏ผ | Python ๅฏๅจ๏ผ~500ms๏ผ |
| ๅ ๅญ | <5 MB | ~50 MB |
| ไบ่ฟๅถๅคงๅฐ | ~3.4 MB | pip ๅ |
| ๅทฅๅ ทไธ่ดๆง | ไพ่ตๆจกๅ | LangGraph ไฟ่ฏ |
| ๅฏๆฉๅฑๆง | Rust ็นๅพ | Python ่ฃ ้ฅฐๅจ |
| ็ๆ็ณป็ป | Rust crates | PyPI ๅ |
ไฝๆถไฝฟ็จ Rust ZeroClaw๏ผ
- ็ไบง็ฏๅข่พน็ผ้จ็ฝฒ
- ่ตๆบๅ้็ฏๅข๏ผๆ ่ๆดพ็ญ๏ผ
- ๆ้ซๆง่ฝ่ฆๆฑ
ไฝๆถไฝฟ็จ zeroclaw-tools๏ผ
- ๅ็ๅทฅๅ ท่ฐ็จ่กไธบไธไธ่ด็ๆจกๅ
- ไปฅ Python ไธบไธญๅฟ็ๅผๅ
- ๅฟซ้ๅๅๅผๅ
- ไธ Python ๆบๅจๅญฆไน ็ๆ็ณป็ป้ๆ
่ฎพ็ฝฎ API_KEY ็ฏๅขๅ้๏ผๆๅ create_agent() ไผ ้ api_key ๅๆฐใ
็กฎไฟไฝ ็ๆจกๅๆฏๆๅฝๆฐ่ฐ็จใๆไบๆงๆจกๅๅฏ่ฝไธๆฏๆๅทฅๅ ทใ
ๅจ่ฐ็จไน้ดๆทปๅ ๅปถ่ฟๆๅฎ็ฐไฝ ่ชๅทฑ็้็้ๅถ๏ผ
import asyncio
for message in messages:
result = await agent.ainvoke({"messages": [message]})
await asyncio.sleep(1) # ้็้ๅถ- rs-graph-llm - Rust ็ LangGraph ๆฟไปฃๆนๆก
- langchain-rust - Rust ็ LangChain
- llm-chain - Rust ไธญ็ LLM ้พ