Skip to content

alchemy-studio/upctl-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

alchemy-studio/upctl-agent

Gitea-based auto-issue agent — picks up approved tickets, processes them via DeepSeek, and manages the lifecycle.

Structure

ai-agent/                    — Docker-based agent container
  ├── Dockerfile             — Builds the agent image
  ├── poll_worker.py         — Polls Gitea for approved issues, sends to DeepSeek
  ├── deepseek_agent.py      — DeepSeek API client (OpenAI-compatible)
  ├── entrypoint.sh          — Container entrypoint
  ├── test_deepseek.py       — API connectivity smoke test
  └── requirements.txt

scripts/                     — Agent-related shell scripts
  └── cleanup_in_progress.sh — Removes stale in_progress labels from closed tickets

Usage

ai-agent (Docker)

docker run -d \
  -e GITEA_API_BASE="https://your-gitea/api/v1/repos/owner/repo" \
  -e GITEA_AUTH_HEADER="token your-token" \
  -e DEEPSEEK_API_KEY="your-key" \
  alchemy-studio/upctl-agent

cleanup_in_progress.sh

Runs as a cron safety net to clean up stale in_progress labels on closed tickets:

export GITEA_API_BASE="https://ci.example.com/api/v1/repos/owner/repo"
export GITEA_AUTH_BASIC="user:token"
bash scripts/cleanup_in_progress.sh

Environment variables:

  • GITEA_API_BASE — Gitea API URL (required)
  • GITEA_AUTH_HEADER — Authorization header, e.g. "token xyz"
  • GITEA_AUTH_BASIC — Basic auth, e.g. "user:token"
  • LABEL_NAME — Label to clean (default: in_progress)
  • LABEL_ID — Label ID for DELETE (optional, auto-detected)

License

MIT

About

Gitea-based auto-issue agent: poll worker, label cleanup, and deployment scripts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors