Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions plugins/omi-arxiv-app/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.venv/
__pycache__/
*.pyc
1 change: 1 addition & 0 deletions plugins/omi-arxiv-app/Procfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
web: uvicorn main:app --host 0.0.0.0 --port ${PORT:-8080}
68 changes: 68 additions & 0 deletions plugins/omi-arxiv-app/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# arXiv x Omi

Search arXiv papers, inspect paper metadata, and find recent papers by author from Omi conversations.

This is a standalone no-auth Omi app backed by the public arXiv API. It does not require environment variables, OAuth, or API keys.

## Tools

- `search_papers`: search arXiv by topic, title, author, category, or free-form query.
- `get_paper_details`: fetch metadata for a specific arXiv paper ID.
- `search_author`: find recent arXiv papers from a named author.

## Local Development

```bash
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reload --port 8080
```

Health check:

```bash
curl http://localhost:8080/health
```

Tool manifest:

```bash
curl http://localhost:8080/.well-known/omi-tools.json
```

Search papers:

```bash
curl -X POST http://localhost:8080/tools/search_papers \
-H "Content-Type: application/json" \
-d '{"query":"retrieval augmented generation", "limit":3}'
```

Fetch details:

```bash
curl -X POST http://localhost:8080/tools/get_paper_details \
-H "Content-Type: application/json" \
-d '{"paper_id":"2401.01234"}'
```

Search an author:

```bash
curl -X POST http://localhost:8080/tools/search_author \
-H "Content-Type: application/json" \
-d '{"author":"Yoshua Bengio", "limit":3}'
```

## Deployment

The app is ready for Railway or Heroku-style deployment:

- `Procfile` starts uvicorn on `$PORT`
- `railway.toml` defines the same start command and `/health` check
- `runtime.txt` pins Python 3.11

## Notes

arXiv metadata is returned from a public Atom feed. Result freshness, category labels, and abstracts depend on arXiv records.
Loading