Observed since 21 Oct, 11:32 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Autonomous Intelligence Network - Research & Knowledge Compilation Engine. Ingests scientific literature from ArXiv, OpenAlex, and Crossref with automatic source routing.
Autonomous Intelligence Network — Research & Knowledge Compilation Engine
ain-research is the core orchestration engine powering the Autonomous Intelligence Network (AIN) — a self-organizing research system that autonomously ingests scientific literature, detects contradictions between knowledge nodes, and evolves credibility scores for every research concept it tracks.
Built on top of LLMs, it guides, automates, and orchestrates open-ended domain research across 115+ arXiv categories spanning Physics, Mathematics, Computer Science, Statistics, Quantitative Biology, Quantitative Finance, Economics, and Electrical Engineering.
| Feature | Description |
|---|---|
| Infinite Research Daemon | Time-boxed, autonomous daemon that fetches domain-specific research with intelligent rate-limiting |
| 115+ arXiv Topics | Pre-configured categories across 9 scientific domains with fuzzy search |
| Firebase Authentication | Role-based access control with library field permissions |
| LLM Steering | MCP server for dynamic research queue management |
| Atomic Concurrency | OS-level FileLocks for zero data corruption during concurrent access |
| Vault Viewer | Minimalist SPA for browsing your knowledge base |
| MCP Integration | Direct integration with Claude, Cursor, and other MCP-compatible clients |
uv tool install ain-research
This installs the ain, ain-research, and ain-mcp commands globally.
pip install ain-research
Note: Ensure your Python Scripts folder is in your system PATH to use the
aincommand.
git clone https://github.com/That-Tech-Geek/ain-research.git
cd ain-research
pip install -e .
By default, ain-research uses ~/.ain/ as the workspace root. Override with:
export AIN_WORKSPACE=/path/to/custom/workspace
ain auth setup --cred-file /path/to/firebase-adminsdk.json
ain auth check --email user@example.com
ain schedule --start "09:00" --end "21:00"
ain topics # List all 115+ topics
ain topics --count # Show domain breakdown
ain search "quantum" # Fuzzy search topics
ain-research # Start the ingestion daemon
ain-research --force # Run outside active time window
ain queue add --arxiv 2305.14314 # Queue specific paper
ain queue list # View pending items
ain compile
ain ui --port 8000
| Command | Description | Example |
|---|---|---|
ain compile | Compile the Vault Index and Tags | ain compile |
ain queue add | Add paper to ingestion queue | ain queue add --arxiv 2305.14314 |
ain queue list | List pending queue items | ain queue list |
ain intent | Decompose research goal into topics | ain intent "agentic frameworks" |
ain schedule | Set daily crawl schedule | ain schedule --start "09:00" --end "21:00" |
ain ui | Launch Vault Viewer | ain ui --port 8000 |
ain setup-agents | Setup MCP config for Claude/Cursor | ain setup-agents |
| Command | Description | Example |
|---|---|---|
ain topics | List all arXiv topics | ain topics |
ain topics --count | Show topic count by domain | ain topics --count |
ain search | Fuzzy search topics | ain search "neural" |
ain theme list | List active themes | ain theme list |
ain theme add | Add custom theme | ain theme add --name "MyTheme" --query "cat:cs.AI" --tags "ai,ml" |
ain theme remove | Remove theme | ain theme remove --name "MyTheme" |
| Command | Description | Example |
|---|---|---|
ain auth check | Check user library access | ain auth check --email user@example.com |
ain auth setup | Setup Firebase credentials | ain auth setup --cred-file path/to/sdk.json |
| Command | Description | Example |
|---|---|---|
ain telegram setup | Setup Telegram notifications | ain telegram setup --token BOT_TOKEN |
from ain_research.auth import check_library_access, require_library_access, authenticate_user
# Check access
result = check_library_access("user@example.com")
if result["allowed"]:
print("Access granted")
# Boolean check
if authenticate_user("user@example.com"):
proceed()
# Decorator
@require_library_access
def my_function(email):
# Only runs if user has library=True
pass
from ain_research.config import fuzzy_search_topics, get_topic_list
# Fuzzy search
results = fuzzy_search_topics("quantum", threshold=0.3)
for name, score, data in results:
print(f"{name}: {score:.0%} - {data['query']}")
# Get all topics
topics = get_topic_list()
from ain_research.config import (
get_arxiv_categories,
save_arxiv_categories,
get_schedule,
save_schedule
)
# Get all categories
categories = get_arxiv_categories()
# Add custom category
categories["MyTopic"] = {
"query": "cat:cs.AI",
"tags": ["ai", "custom"]
}
save_arxiv_categories(categories)
# Update schedule
save_schedule("09:00", "21:00")
Add to your MCP configuration:
{
"mcpServers": {
"ain-research": {
"command": "uv",
"args": ["run", "ain-mcp"]
}
}
}
| Tool | Description |
|---|---|
queue_arxiv(arxiv_id) | Queue a specific ArXiv paper |
get_queue_status() | Get current ingestion queue status |
trigger_compile() | Re-compile the Vault Index |
add_arxiv_category(name, query, tags) | Add new research trajectory |
~/.ain/
├── arxiv_categories.json # Topic configuration
├── schedule_config.json # Crawl schedule
├── telegram_config.json # Telegram notifications
├── firebase-adminsdk.json # Firebase credentials
├── daemon_state.json # Daemon state
├── data/ # SQLite database
└── vault/
└── wiki/
├── 01_Inbox/
├── 02_Physics/
├── 03_Mathematics/
├── 04_Computer_Science/
├── 05_Statistics/
├── 06_Quantitative_Biology/
├── 07_Quantitative_Finance/
├── 08_Economics/
├── 09_Electrical_Engineering/
└── 10_Publications/
physics.gen-ph, physics.atom-ph, physics.chem-ph, physics.bio-ph, physics.comp-ph, physics.data-an, physics.flu-dyn, physics.geo-ph, physics.optics, physics.plasma-ph, physics.space-ph, physics.med-ph, physics.hist-ph, physics.ed-ph, physics.soc-ph, physics.ins-det, quant-ph
math.AG, math.AT, math.CA, math.CO, math.CT, math.DG, math.DS, math.FA, math.GM, math.GN, math.GR, math.HO, math.IT, math.KT, math.LO, math.MG, math.MP, math.NA, math.NT, math.OA, math.OC, math.PR, math.QA, math.RA, math.RT, math.SG, math.SP, math.ST
cs.AI, cs.AR, cs.CC, cs.CE, cs.CG, cs.CL, cs.CR, cs.CV, cs.CY, cs.DB, cs.DC, cs.DL, cs.DM, cs.DS, cs.ET, cs.FL, cs.GL, cs.GR, cs.GT, cs.HC, cs.IR, cs.IT, cs.LG, cs.LO, cs.MA, cs.MM, cs.MS, cs.NA, cs.NE, cs.NI, cs.OH, cs.OS, cs.PF, cs.PL, cs.RO, cs.SC, cs.SD, cs.SE, cs.SI, cs.SY
stat.AP, stat.CO, stat.ME, stat.ML, stat.OT, stat.TH
q-bio.BM, q-bio.CB, q-bio.GN, q-bio.MN, q-bio.NC, q-bio.OT, q-bio.PE, q-bio.QM, q-bio.TO
q-fin.CP, q-fin.EC, q-fin.GN, q-fin.MF, q-fin.PM, q-fin.PR, q-fin.RM, q-fin.ST, q-fin.TR
econ.GN, econ.TH
eess.AS, eess.IV, eess.SP, eess.SY
| Variable | Default | Description |
|---|---|---|
AIN_WORKSPACE | ~/.ain/ | Workspace root directory |
FIREBASE_CRED_PATH | ~/.ain/firebase-adminsdk.json | Firebase credentials path |
CRAWL_START_TIME | 09:00 | Daemon start time |
CRAWL_END_TIME | 21:00 | Daemon end time |
MIT License - see LICENSE
That-Tech-Geek / Sambit Mishra
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)If you find this project useful, please consider giving it a star on GitHub.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.4.0 | 28 Jul 2026 | 17 |
This describes our collected data; it is not a security assessment.
Observed since 21 Oct, 11:32 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:e30d996111e741e5b96ffbb77bb18517acd161eef433ca4af21c0d6463a94adb