Skip to main content

LangChain/LangGraph-based agent utilities for CodeBaseX.

Project description

langchain-agentx-python

langchain-agentx-python 是一组基于 LangChain / LangGraph 的”代码智能体”工具函数,帮助你在自己的项目里快速集成:

  • OpenCode 风格的 LangGraph Agent(代码理解、重构、分析)
  • 上下文感知中间件、性能监控等基础设施
  • 完整的工具运行时系统和权限管理

安装

发布到 PyPI 后,你可以直接通过 pip 安装:

pip install langchain-agentx-python

快速上手

from langchain_agentx import create_loop_agent

# 这里省略 LangChain / LangGraph 相关模型与工具配置
agent = create_loop_agent(...)

具体的能力和使用方式可以参考源码中的 docstring 以及各模块下的 README.md

发布新版本流程

重要特性:本项目的构建脚本会自动排除所有测试文件,生成纯净的生产包。当前有 140+ 个测试文件在构建时会被自动过滤,确保发布的包轻量、干净。

以下命令默认在项目根目录并已激活 Python 虚拟环境。

📋 发布前检查清单

  • 代码已提交到 Git 仓库
  • 版本号已更新(pyproject.toml
  • 工作区干净(git status 检查)
  • 已安装构建工具(首次需要)

🚀 快速发布(推荐使用专用构建脚本)

Step 1: 准备版本号

编辑 pyproject.toml,修改版本号:

[project]
name = "langchain-agentx-python"
version = "0.1.0"  # 当前版本为 0.1,发布建议改为 0.1.0

Step 2: 提交代码更改

# 检查状态
git status

# 提交所有更改
git add .
git commit -m "release: prepare for version 0.1.0"
git push

Step 3: 使用专用构建脚本生成纯净包

# 使用项目专用构建脚本(自动排除测试文件)
bash script/build-wheel.sh

构建脚本特性

  • ✅ 自动排除 140+ 个测试文件
  • ✅ 排除 __pycache__.pytest_cache
  • ✅ 验证 wheel 包内容安全性
  • ✅ 生成到 _build/dist/ 目录

构建成功后会看到:

== Wheel content check (no test_* files) ==
wheel: langchain_agentx_python-0.1.0-py3-none-any.whl
py files: 456
bad test-like files: 0
wheel check ok

Step 4: 验证构建产物

# 查看生成的文件
ls -lh _build/dist/

# 应该看到:
# langchain_agentx_python-0.1.0-py3-none-any.whl

Step 5: 本地测试安装(推荐)

# 创建临时测试环境
python -m venv test_env
source test_env/bin/activate  # Linux/macOS
# 或 test_env\Scripts\activate  # Windows

# 安装构建的包
python -m pip install _build/dist/*.whl

# 验证导入
python -c "from langchain_agentx import create_loop_agent; print('SDK 安装成功')"

# 清理测试环境
deactivate
rm -rf test_env

Step 6: 发布到 PyPI

首次发布需要配置 PyPI 凭证

  1. 注册 PyPI 账号:https://pypi.org/account/register/
  2. 启用双重认证(2FA)
  3. 生成 API Token:https://pypi.org/manage/account/token/
  4. 创建 ~/.pypirc 配置文件:
cat > ~/.pypirc <<'EOF'
[distutils]
index-servers =
    pypi
    testpypi

[pypi]
username = __token__
password = pypi-xxxx你的API_TOKENxxxx

[testpypi]
username = __token__
password = pypi-xxxx你的TestPyPI_TOKENxxxx
EOF

发布到 TestPyPI(推荐先测试)

# 上传到测试仓库
python -m twine upload --repository testpypi _build/dist/*

# 测试安装
python -m pip install --index-url https://test.pypi.org/simple/ langchain-agentx-python==0.1.0

发布到正式 PyPI

# 上传到正式仓库
python -m twine upload _build/dist/*

# 验证发布
python -m pip install langchain-agentx-python==0.1.0

Step 7: 打标签并推送(可选但推荐)

# 创建版本标签
git tag v0.1.0

# 推送标签到远程
git push --tags

📦 备用方法:使用标准构建工具

如果专用构建脚本不可用,可以使用标准方法:

# 安装构建工具
python -m pip install -U build twine

# 清理旧构建
rm -rf dist/ build/ *.egg-info

# 构建分发包
python -m build

# 查看产物
ls -lh dist/

# 发布
python -m twine upload dist/*

⚠️ 注意事项

  1. 版本号格式:建议使用语义化版本,如 0.1.00.2.0
  2. 测试文件排除:专用构建脚本会自动排除所有测试文件,标准方法需要手动配置
  3. PyPI 名称:包名在 PyPI 上显示为 langchain-agentx-python
  4. 版本冲突:如果版本号已存在,上传会失败,需要更新版本号

🔄 下次发布

下次发布时,只需重复上述步骤:

  1. 更新 pyproject.toml 版本号
  2. 提交代码:git commit && git push
  3. 构建包:bash script/build-wheel.sh
  4. 发布:python -m twine upload _build/dist/*
  5. 打标签:git tag && git push --tags

核心功能

Agent Loop 系统

  • OpenCode 风格的 LangGraph Agent 实现
  • finish_reason 驱动的主动退出机制
  • 完全兼容 LangChain 生态

工具运行时系统

  • 跨平台工具执行(Bash、Glob、Grep、Read 等)
  • 权限管理和安全控制
  • 工具状态隔离和会话管理

中间件和钩子系统

  • 上下文感知的中间件
  • before/after 钩子系统
  • 性能监控和事件追踪

配置和工作空间管理

  • 统一的工作空间配置
  • Agent Home 目录管理
  • 跨平台路径处理

文档

  • 工程指南CLAUDE.md
  • 架构文档docs/architecture/
  • 设计文档docs/design-docs/
  • 开发指南docs/guides/

开发

运行测试

# 安装开发依赖
pip install -e “.[dev]# 运行测试
pytest langchain_agentx/

代码规范

所有代码遵循项目编码规范:docs/guides/coding-style-guide.html

贡献

欢迎提交 Issue 和 Pull Request!

许可证

Apache License 2.0

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

langchain_agentx_python-0.7.0.tar.gz (667.3 kB view details)

Uploaded Source

Built Distribution

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

langchain_agentx_python-0.7.0-py3-none-any.whl (938.6 kB view details)

Uploaded Python 3

File details

Details for the file langchain_agentx_python-0.7.0.tar.gz.

File metadata

  • Download URL: langchain_agentx_python-0.7.0.tar.gz
  • Upload date:
  • Size: 667.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for langchain_agentx_python-0.7.0.tar.gz
Algorithm Hash digest
SHA256 1e633cab1e9cf4acf0400debf2ed531d9fbd13bf2a35dc3994ac30c24e471185
MD5 9fe0696e7f0005cece352114a5fd89f7
BLAKE2b-256 0279df56b7884ad73db2a521d57de554a32501d41ec7e0e616cb81171dc326e8

See more details on using hashes here.

File details

Details for the file langchain_agentx_python-0.7.0-py3-none-any.whl.

File metadata

File hashes

Hashes for langchain_agentx_python-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 19a2f50308f930969106fbda3938c4f3a6234a5c6c615ef7c3fd79118bfbc677
MD5 c6c683e0f29ca5237f00db1c6d5257a2
BLAKE2b-256 2c7f95bc4a63a264d0936f10b29772d8bb344778d93302d4b6f8cd92c9edf00c

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