Metadata-Version: 2.4
Name: loop-agent-cli
Version: 0.1.0
Summary: Typer + Rich CLI for recruit-loop-agent — run recruiting loops from the terminal
Author-email: Chandler Song <275737875@qq.com>
License: MIT
Project-URL: Homepage, https://github.com/Chandler-Song/recruit-loop-agent
Project-URL: Repository, https://github.com/Chandler-Song/recruit-loop-agent
Project-URL: Issues, https://github.com/Chandler-Song/recruit-loop-agent/issues
Keywords: recruiting,agent,cli,typer,langgraph
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: typer>=0.9.0
Requires-Dist: rich>=13.0.0
Requires-Dist: fastapi>=0.104.0
Requires-Dist: sqlalchemy[asyncio]>=2.0.23
Requires-Dist: aiosqlite>=0.19.0
Requires-Dist: pydantic>=2.5.0
Requires-Dist: pydantic-settings>=2.1.0
Requires-Dist: httpx>=0.25.0
Requires-Dist: langgraph>=0.0.40
Requires-Dist: apscheduler>=3.10.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: cryptography>=41.0.0

# loop-agent-cli

> Typer + Rich CLI for [recruit-loop-agent](https://github.com/Chandler-Song/recruit-loop-agent) — 在终端中完成招聘循环的全部操作，无需启动 FastAPI Web 服务。

## 功能特性

- **零服务依赖**：不启动 uvicorn，直接在进程内调用核心引擎
- **完整功能覆盖**：职位管理、候选人查看、管道操作、循环执行、调度控制、仪表盘
- **终端友好**：Rich 彩色表格/面板，结构化输出

## 安装

```bash
# 从 PyPI 安装（正式发布后）
pip install loop-agent-cli

# 开发模式安装（从项目根目录）
cd recruit-loop-agent
pip install -e .
```

## 前置条件

- Python >= 3.11
- `.env` 文件需存在于项目根目录（配置 `GITHUB_TOKEN`、`SMTP_*` 等）
- 项目根目录需包含 `app/` 核心引擎包

## 使用示例

### 查看帮助

```bash
loop-agent --help
```

### 职位管理

```bash
# 列出所有职位
loop-agent position list

# 创建新职位
loop-agent position create -t "Senior Backend Engineer" -c "Tech Corp" \
  -s "Python,FastAPI,PostgreSQL" -k "backend,python,remote"

# 查看职位详情
loop-agent position show <position_id>

# 关闭职位
loop-agent position close <position_id>
```

### 执行招聘循环

```bash
# 对已有职位执行一次循环
loop-agent run position <position_id>

# 创建职位并立即执行循环
loop-agent run create-and-run -t "Python Developer" -c "Startup Inc" \
  -s "Python,Django" -i 30
```

### 候选人管理

```bash
# 列出候选人（默认 20 条）
loop-agent candidate list -n 10

# 查看候选人详情
loop-agent candidate show <candidate_id>
```

### 管道管理

```bash
# 列出所有管道
loop-agent pipeline list

# 按职位过滤
loop-agent pipeline list -p <position_id>

# 更新管道状态
loop-agent pipeline update-status <pipeline_id> contacted
```

### 调度管理

```bash
# 启动后台调度器（Ctrl+C 退出）
loop-agent schedule start

# 列出调度任务
loop-agent schedule list
```

### 仪表盘

```bash
# 查看仪表盘摘要
loop-agent dashboard
```

### 其他

```bash
# 显示 LangGraph 图结构
loop-agent graph

# 显示版本信息
loop-agent version
```

### 全局选项

```bash
# 覆盖数据库路径
loop-agent --db sqlite+aiosqlite:///./custom.db position list
```

## 命令树

```
loop-agent
├── run                          执行招聘循环
│   ├── position <position_id>   对已有职位执行一次循环
│   └── create-and-run           创建职位并立即执行循环
├── position                     职位管理
│   ├── list                     列出所有职位
│   ├── create                   创建新职位
│   ├── show <position_id>       查看职位详情
│   └── close <position_id>      关闭职位
├── candidate                    候选人管理
│   ├── list                     列出候选人
│   └── show <candidate_id>      查看候选人详情
├── pipeline                     招聘管道管理
│   ├── list                     列出管道
│   └── update-status            更新管道状态
├── schedule                     调度管理
│   ├── start                    启动后台调度器
│   └── list                     列出调度任务
├── dashboard                    查看仪表盘摘要
├── graph                        显示 LangGraph 图结构
└── version                      显示版本信息
```

## 开发

```bash
# 克隆项目
git clone git@github.com:Chandler-Song/recruit-loop-agent.git
cd recruit-loop-agent

# 创建虚拟环境
python -m venv venv
source venv/bin/activate

# 安装依赖
pip install -e .

# 运行测试
pytest app/tests/ -v
```

## 许可证

MIT License
