Skip to main content

A plugin framework for agents, built on LangGraph deepagents + langgraph-cli.

Project description

easy-agentic

一个面向 Agent 的 plugin(插件)框架:为构建在 LangGraph deepagents + langgraph-cli 之上的 Agent 提供统一的扩展注入机制,所有扩展(agent / tool / skill / filesystem / middleware / model …)都通过 plugin 接入。

不是业务 Agent,也不实现运行时或服务容器——这些分别交给 deepagents 与 langgraph-cli。 详细定位与设计见 doc/requirement.mddoc/architecture.md

技术栈

  • Python 3.12(由 uv 锁定)
  • 包 / 环境管理:uv
  • Agent 运行时:deepagents;服务/接口:langgraph-cli(agent server)
  • LLM 方向:Claudelangchain-anthropic

快速开始

# 1. 安装 uv(如未安装)
curl -LsSf https://astral.sh/uv/install.sh | sh

# 2. 同步依赖(按 uv.lock 装齐到 .venv)
uv sync

# 3. 配置环境变量:复制 .env 模板并填入 API key 等
#    (.env 已被 git 忽略,切勿提交真实密钥)

# 4. 启动本地 agent server(LangGraph Studio)
uv run langgraph dev
# 默认 http://127.0.0.1:2024

uv 使用方式

uv 一个工具搞定 Python 版本 + 虚拟环境 + 依赖 + 运行:读 pyproject.toml(声明的依赖)→ 解析出 uv.lock(锁定精确版本)→ 同步进 .venv。日常不需要手动激活虚拟环境,用 uv run 即可。

最常用的命令

命令 作用 何时用
uv add <包> 加运行时依赖(自动写入 pyproject 并安装) 要用某个库时(别手改 pyproject
uv add --dev <包> 加开发依赖(pytest、ruff 等) 仅开发/测试用的工具
uv remove <包> 移除依赖 不再需要时
uv run <命令> 在项目环境里执行命令 跑一切:uv run pytestuv run langgraph dev
uv sync .venvuv.lock 对齐 拉取代码 / 切换环境后一键装齐

90% 的时间只会用到 uv adduv run

关键认知

  • 依赖只通过 uv add 管理,不要手动编辑 pyproject.tomldependencies;精确版本锁在 uv.lock(纳入版本控制)。
  • uv run 会在执行前隐式同步环境,所以加完依赖可直接 uv run,无需先 uv sync
  • 不用 pip install、不用 source .venv/bin/activate——uv 自动为子进程准备好环境。
  • Python 版本.python-version 锁定为 3.12,uv 自动选用对应解释器。

uv run 的内部机制(简述)

uv run X ≈ 「确保环境与 lock 一致」+「临时激活 .venv」+「执行 X」。其中 X 最终落到 .venv/bin/ 下绑定了本项目解释器的可执行文件:

  • uv run pytest → 执行 .venv/bin/pytest(安装时生成的入口脚本,shebang 指向项目 .venv 的 python)
  • uv run python foo.py → 用 .venv/bin/pythonfoo.py

常用开关:--no-sync(跳过同步)、--frozen(不重解析)、--locked(要求 lock 已最新,适合 CI)。


常用开发命令

uv run langgraph dev          # 启动本地 agent server(总入口 graph: easy_agentic.graph:main)
uv run pytest                 # 跑测试
uv add <包> / uv add --dev <包>   # 增加依赖
uv sync                       # 同步环境

项目文档

  • CLAUDE.md — 项目宪法(给 AI 协作者)
  • doc/ — 需求、架构、规范、路线图、决策记录(ADR)

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

easy_agentic-0.1.0.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

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

easy_agentic-0.1.0-py3-none-any.whl (25.3 kB view details)

Uploaded Python 3

File details

Details for the file easy_agentic-0.1.0.tar.gz.

File metadata

  • Download URL: easy_agentic-0.1.0.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for easy_agentic-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2191163eaa12373228a1907da5378fbeb89368ac83414f15645927ccbf4ba2d9
MD5 0c74c0960de741b9ce630b50f3a8677b
BLAKE2b-256 03f93904001cfeb4758cecaf85d3d1e00868964ca8cbc9e78091f8fa42983f42

See more details on using hashes here.

File details

Details for the file easy_agentic-0.1.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for easy_agentic-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 208d12aea015e322f8ef11534ad044836d11a9d280c99cab7205b8dc434b85c6
MD5 22b2b648977bb46f3b7937d26609e424
BLAKE2b-256 be73c416153bdff6fef61b49d905d3cc1e612dfe57e4015a23073c0c75297ad2

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