📈 GH Trending Explorer 🎲 Surprise me

← all repos

IYuanM / weft_agent

git clone https://github.com/IYuanM/weft_agent.git

—

+0
stars, 24h · #37,484
+~-23
stars, 7 days · #62,137
+91
stars, 30 days · #7,496
91
★ total · -20% this week
0
forks · 0 open issues

Star history (as recorded here)

2026-10-20 · 101 ★ 2026-10-23 · 91 ★
LanguagePython
LicenseMIT
Created2026-09-28 (25d ago)
Last push2d ago
Watchers0
OwnerUser

Links

README excerpt
# Weft-Agent
Weft-Agent 是一个 Python 通用 Agent 框架,以即插即用的企业级 Agent 架构为目标,围绕模型接入、工具执行、上下文管理和运行追踪提供可组合的基础能力。当前版本提供 CLI 入口和可扩展的单 Agent 执行引擎。
## 快速开始
### 1. 获取项目
需要 Python 3.12+,核心运行仅使用 Python 标准库,无需安装额外依赖。
 [code] 
### 2. 运行离线演示
 [code] 
无需 API Key。演示会创建并读取 `workspace/hello.txt`,生成 `workspace/report.md`,终端同步输出运行事件。文件工具默认不覆盖已有文件;再次体验完整流程时,可用 `--workspace workspace/demo2` 指定新的工作区。
### 3. 接入模型
将 `.env.example` 复制为 `.env`:
 [code] 
macOS / Linux 使用 `cp .env.example .env`。填写支持 Chat Completions 和 function tools 的模型配置:
 [code] 
在工作区放入需要处理的文件,然后运行:
 [code] 
相同 `--thread` 会恢复已完成的对话。CLI 自动读取项目根目录的 `.env`,进程环境变量优先;调用真实模型会产生相应 API 用量。
### 4. 调整运行参数
 [code] 
默认文件工作区为项目下的 `workspace/`,会话和事件存储在 `.state/`。这两个目录及 `.env` 均已加入 Git 忽略规则。
需要 Python 代码执行时,可显式启用 Docker 后端。先安装并启动 Docker、准备镜像,再运行:
 [code] 
也可通过 `--sandbox local` 使用本地进程后端;该模式仅适用于可信代码,不隔离宿主文件系统与网络。后端配置见 沙箱使用说明。
## 核心特性
模块一已增加独立的 `weft` 运行时基础:task/run/attempt 身份、持久状态机、提交幂等契约、版本冲突校验和事务迁移。CLI 自动记录生命周期;Checkpoint 暂为契约,尚不支持中途恢复。设计及验收见 执行基础。
- **模块化装配**:模型、工具注册表、执行器、会话存储与 Agent 主循环解耦,可替换模型实现并接入业务工具。
- **统一工具执行**:通过 `ToolSpec` 声明工具,由执行器统一处理参数校验、资源访问策略、调用预算、受控重试和结构化结果;内置工作区文件列举、读取与写入工具。
- **异步与并发控制**:独立只读工具可并发执行,结合共享容量限制、资源锁和写操作屏障协调访问。详见 异步工具与资源锁。
- **会话持久化**:使用 SQLite 保存成功完成的对话和上下文摘要,通过会话标识恢复多轮任务。
- **上下文管理**:根据估算预算触发摘要压缩,保留最近完整消息块、最新请求与产物引用,控制长对话输入规模。
- **运行约束与循环检测**:支持步数、时间、工具调用预算和取消处理,检测重复调用与重复失败,进行纠偏或终止。
- **技能按需加载**:发现技能元数据,根据任务加载技能指令;内置代码文档与本地材料简报技能。
- **可选代码执行后端**:支持本地进程与 Docker 后端,显式开启 Python 执行能力,并配置执行超时等限制。
- **可观察的执行过程**:终端和 JSONL 事件记录模型调用、工具执行、上下文压缩与结束状态,通过会话、运行和工具调用标识关联追踪。