An automated AI research assistant and knowledge base template. It autonomously searches for new research papers, analyzes them using LLMs, saves the results into a markdown vault, and publishes a beautiful static website so you can intuitively browse your curated research.
- Autonomous Tracker: A GitHub Actions cron job runs daily (or manually), queries scholarly APIs (OpenAlex, Semantic Scholar, or arXiv), and uses AI agents to summarize papers and extract core concepts.
- Markdown Vault: The curated notes are autonomously formatted and saved as structured Markdown files within the
vault/directory of your repository. - Static Website: Another GitHub Action continuously builds and deploys the
swarm-notes-ui(an Astro frontend) reading directly from yourvault/directory and securely pushing it to GitHub Pages.
Click the green Use this template button at the top of this repository on GitHub to create your own copy.
- Navigate to your repository Settings > Pages.
- Under "Build and deployment", change Source to GitHub Actions. (This allows Astro to build your site without requiring a specific
gh-pagesbranch).
The automated tracker needs an LLM to read and analyze the research papers. Go to your repository Settings > Secrets and variables > Actions and click New repository secret. Add your preferred key, for example:
GOOGLE_API_KEY(Default config uses Google Gemini viagoogle-gla:gemini-flash-lite-latest)OPENAI_API_KEY
Depending on the service you prefer, you just need one. The service is configured in configs/[your-config].yaml.
Edit the configs/site.json file inside your repository to configure your site's deployment URL so internal links and headers correctly resolve:
{
"site": "https://yourusername.github.io",
"base": "/your-repo-name/",
"trailingSlash": "always",
"github_url": "https://github.com/yourusername/your-repo-name"
}(Note: If you are deploying this to a custom top-level domain, set "base" to "/")
Look inside configs/config.ts.yaml to configure what the AI swarm tracks:
- Modify
paper_search.keywordsfor your specific research queries (e.g.,"trajectory prediction","large language models"). - Modify
llm_modelto point to a valid LiteLLM proxy string if you are not using Gemini.
- Go to the Actions tab in GitHub.
- Select Autonomous Research Tracker on the left.
- Click Run workflow (you can leave the default config file path as
configs/config.ts.yaml). - Wait for it to finish! The bot will automatically commit new markdown files into your
vault/folder. - The Deploy Astro site to Pages action will trigger automatically once the tracker is done, publishing your live knowledge base! 🎉
- In
.github/workflows/autonomous-tracker.yml, uncomment the line# - cron: "0 5 * * *". - Commit and push the changes.
You don't have to use the autonomous agent tracker! The swarm-notes-ui uses a robust static site generator that gracefully turns any Markdown in your vault/ folder into a fully searchable site.
You can manually add standard Obsidian-style markdown notes or markdown files with frontmatter inside the vault/ directory.
If you want to view or tinker with the website locally:
# Navigate to the frontend directory
cd swarm-notes-ui
# Install dependencies (Node.js 22+ recommended)
npm install
# Start the Astro dev server
npm run devThen visit http://localhost:4321 to view your knowledge base!