Skip to main content

Wuwei - 无为而治的 AI 智能体框架

Project description

Wuwei

Wuwei 是一个轻量、可扩展的 Python Agent 框架,目标是把模型调用、会话管理、工具注册与执行、plan-and-execute 拆成边界清晰的模块,方便学习和继续扩展。

当前目录结构

wuwei/
├─ examples/          # 可直接运行的示例
├─ tests/             # pytest 测试
├─ wuwei/             # 框架源码
│  ├─ agent/          # Agent、PlanAgent、Session、基础抽象
│  ├─ runtime/        # AgentRunner、PlannerExecutorRunner
│  ├─ planning/       # Planner、Task
│  ├─ memory/         # Context
│  ├─ llm/            # Gateway、Types、Adapters
│  └─ tools/          # Tool、Registry、Executor
├─ pyproject.toml
└─ README.md

这次目录调整的核心是:

  • tests/ 只放测试
  • examples/ 只放示例
  • agent/ 只放门面对象和会话
  • runtime/ 单独承接执行器
  • planning/ 单独承接规划相关模型
  • memory/ 单独承接上下文

安装

要求:

  • Python >=3.10

使用 pip

pip install -e .

安装开发依赖:

pip install -e ".[dev]"

如果你使用 uv

uv sync

核心模块

  • wuwei.agent

    • Agent:普通单 agent 门面
    • PlanAgent:plan-and-execute 门面
    • AgentSession:会话对象
    • BaseAgent / BaseSessionAgent:基础抽象
  • wuwei.runtime

    • AgentRunner:普通 agent 执行器
    • PlannerExecutorRunner:plan-and-execute 执行器
  • wuwei.planning

    • Planner:任务规划器
    • Task / TaskList:任务模型
  • wuwei.memory

    • Context:消息上下文
  • wuwei.llm

    • LLMGateway:统一模型调用入口
    • Message / ToolCall / LLMResponse / LLMResponseChunk:统一类型定义
  • wuwei.tools

    • ToolRegistry:工具注册
    • ToolExecutor:工具执行
    • Tool / ToolParameters:工具 schema

快速开始

最简单的方式是直接运行 examples/ 里的示例。

离线示例:

python examples/tool_executor_minimal.py

在线示例:

$env:WUWEI_API_KEY="your_key"
python examples/agent_minimal.py
python examples/agent_session_minimal.py
python examples/plan_agent_minimal.py

更详细的说明可以看:

示例目录

当前建议的扩展方向

  • 先完善 PlanAgent / PlannerExecutorRunner

    • 比如 task 并行执行、失败恢复、重规划
  • 再增强 ToolExecutor

    • 比如更丰富的执行事件、超时控制、重试策略
  • 最后再考虑可观测和 Web 可视化

    • 这样不会过早把主链路搞复杂

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wuwei-0.1.3.tar.gz (36.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wuwei-0.1.3-py3-none-any.whl (41.3 kB view details)

Uploaded Python 3

File details

Details for the file wuwei-0.1.3.tar.gz.

File metadata

  • Download URL: wuwei-0.1.3.tar.gz
  • Upload date:
  • Size: 36.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for wuwei-0.1.3.tar.gz
Algorithm Hash digest
SHA256 7bb85e0d40a46dedb28da095153c652f4b200eec8e1248bd8993359d43b2b6c3
MD5 dd10ae37f0b64efcdafe93efc93fae96
BLAKE2b-256 cac4285f19156128afaafd4b2ac0a9bc35992163e60dc8a141dba1c5e1a1fac0

See more details on using hashes here.

File details

Details for the file wuwei-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: wuwei-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 41.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for wuwei-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0d1f2f2e1696caea2bc20482fb49bea00de4484029fa1357a832b8bc4c837df1
MD5 77a831fa7c33e126e23241493b122a97
BLAKE2b-256 b21a1f5354241ecc2a48bc894804d213be1fac50d92918d08601eac9f41604cf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page