aurora-research 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. aurora_research-0.1.0/PKG-INFO +165 -0
  2. aurora_research-0.1.0/README.md +148 -0
  3. aurora_research-0.1.0/pyproject.toml +36 -0
  4. aurora_research-0.1.0/src/aurora_research/__init__.py +6 -0
  5. aurora_research-0.1.0/src/aurora_research/branding.py +135 -0
  6. aurora_research-0.1.0/src/aurora_research/config.py +222 -0
  7. aurora_research-0.1.0/src/aurora_research/core/__init__.py +1 -0
  8. aurora_research-0.1.0/src/aurora_research/core/context.py +116 -0
  9. aurora_research-0.1.0/src/aurora_research/core/loop.py +384 -0
  10. aurora_research-0.1.0/src/aurora_research/core/permissions.py +158 -0
  11. aurora_research-0.1.0/src/aurora_research/core/tool_executor.py +319 -0
  12. aurora_research-0.1.0/src/aurora_research/core/tools.py +280 -0
  13. aurora_research-0.1.0/src/aurora_research/main.py +575 -0
  14. aurora_research-0.1.0/src/aurora_research/models/__init__.py +10 -0
  15. aurora_research-0.1.0/src/aurora_research/models/client.py +255 -0
  16. aurora_research-0.1.0/src/aurora_research/models/registry.py +52 -0
  17. aurora_research-0.1.0/src/aurora_research/skills/__init__.py +1 -0
  18. aurora_research-0.1.0/src/aurora_research/skills/auto_review.py +212 -0
  19. aurora_research-0.1.0/src/aurora_research/skills/base.py +128 -0
  20. aurora_research-0.1.0/src/aurora_research/skills/experiment_bridge.py +121 -0
  21. aurora_research-0.1.0/src/aurora_research/skills/idea_discovery.py +218 -0
  22. aurora_research-0.1.0/src/aurora_research/skills/novelty_check.py +96 -0
  23. aurora_research-0.1.0/src/aurora_research/skills/paper_writing.py +195 -0
  24. aurora_research-0.1.0/src/aurora_research/skills/research_lit.py +91 -0
  25. aurora_research-0.1.0/src/aurora_research/skills/research_pipeline.py +112 -0
  26. aurora_research-0.1.0/src/aurora_research/utils/__init__.py +1 -0
  27. aurora_research-0.1.0/src/aurora_research/utils/display.py +173 -0
  28. aurora_research-0.1.0/src/aurora_research/utils/session.py +102 -0
  29. aurora_research-0.1.0/src/aurora_research/utils/state.py +125 -0
@@ -0,0 +1,165 @@
1
+ Metadata-Version: 2.3
2
+ Name: aurora-research
3
+ Version: 0.1.0
4
+ Summary: Aurora 🌌 — Autonomous AI research scientist. Multi-model, ARIS-powered.
5
+ Author: dududu
6
+ Author-email: dududu <1816619485@qq.com>
7
+ Requires-Dist: httpx>=0.28.1
8
+ Requires-Dist: openai>=2.43.0
9
+ Requires-Dist: pydantic>=2.13.4
10
+ Requires-Dist: python-dotenv>=1.2.2
11
+ Requires-Dist: rich>=15.0.0
12
+ Requires-Dist: typer>=0.26.7
13
+ Requires-Python: >=3.12
14
+ Project-URL: Homepage, https://github.com/dududu/aurora-research
15
+ Project-URL: Repository, https://github.com/dududu/aurora-research
16
+ Description-Content-Type: text/markdown
17
+
18
+ # Aurora Research Agent
19
+
20
+ **Autonomous AI research scientist** -- multi-model, ARIS-powered scientific research agent.
21
+
22
+ Aurora handles the full research workflow: literature survey, idea discovery, experiment implementation, cross-model review, and paper writing -- all from the command line.
23
+
24
+ ## Features
25
+
26
+ - **Multi-model support** -- DeepSeek (default), OpenAI, Anthropic, and any OpenAI-compatible API
27
+ - **Autonomous agent loop** -- Tool-using AI that reads/writes files, runs code, searches the web
28
+ - **ARIS research workflows** -- Idea discovery, auto-review loops, paper writing, full pipeline
29
+ - **White-label** -- Branded as "Aurora", never exposes underlying model/provider identity
30
+ - **Cross-model review** -- Executor and reviewer use different models for adversarial quality control
31
+ - **Resumable runs** -- State persistence enables recovery from crashes or context compaction
32
+
33
+ ## Quick Start
34
+
35
+ ### Prerequisites
36
+
37
+ - Python 3.12+
38
+ - [uv](https://docs.astral.sh/uv/) (package manager)
39
+ - A DeepSeek API key ([get one here](https://platform.deepseek.com/api_keys))
40
+
41
+ ### Install
42
+
43
+ ```bash
44
+ # Install from PyPI
45
+ uv tool install aurora-research
46
+ # Creates the `aurora-ai` command
47
+
48
+ # Or try without installing
49
+ uvx aurora-research run "Search arXiv for recent papers on LLM reasoning"
50
+ ```
51
+
52
+ ### Configure
53
+
54
+ Set your API key:
55
+
56
+ ```bash
57
+ # Option 1: Environment variable
58
+ export DEEPSEEK_API_KEY="sk-your-key-here"
59
+
60
+ # Option 2: .env file
61
+ echo 'DEEPSEEK_API_KEY=sk-your-key-here' > .env
62
+
63
+ # Option 3: Interactive config
64
+ aurora-ai config
65
+ ```
66
+
67
+ ### Basic Usage
68
+
69
+ ```bash
70
+ # One-shot task
71
+ aurora-ai run "Explain the Transformer architecture with code examples"
72
+
73
+ # Interactive chat
74
+ aurora-ai chat
75
+
76
+ # Plan-first execution (read-only research, then execute)
77
+ aurora-ai plan "Build a PyTorch training pipeline for CIFAR-10"
78
+
79
+ # List available models
80
+ aurora-ai models
81
+ ```
82
+
83
+ ## Research Workflows
84
+
85
+ ### Idea Discovery
86
+
87
+ ```bash
88
+ aurora-ai idea "efficient attention mechanisms for long-context LLMs" --num-ideas 8
89
+ ```
90
+
91
+ Pipeline: literature survey -> idea generation (8-12 ideas) -> novelty check -> critical review -> ranked report
92
+
93
+ ### Auto Review Loop
94
+
95
+ ```bash
96
+ aurora-ai review --target ./experiment_results/ --rounds 4
97
+ ```
98
+
99
+ Cross-model adversarial review: reviewer evaluates work -> executor fixes issues -> re-review -> repeat until score >= 7/10
100
+
101
+ ### Paper Writing
102
+
103
+ ```bash
104
+ aurora-ai paper "Efficient Attention via Hierarchical Token Pruning" --assure draft
105
+ ```
106
+
107
+ Pipeline: paper plan -> figures -> LaTeX writing -> compilation -> improvement loop
108
+
109
+ ### Full Research Pipeline
110
+
111
+ ```bash
112
+ aurora-ai pipeline "continual learning without catastrophic forgetting" --write
113
+ ```
114
+
115
+ End-to-end: idea discovery -> experiments -> review -> paper
116
+
117
+ ## Model Configuration
118
+
119
+ Aurora uses **model aliases** -- user-friendly names that hide the underlying provider:
120
+
121
+ | Alias | Description |
122
+ |-------|-------------|
123
+ | `fast` | Fast & affordable (default) |
124
+ | `pro` | Balanced performance |
125
+ | `deep` | Deep reasoning |
126
+
127
+ ```bash
128
+ # Use a specific model
129
+ aurora-ai run --model pro "Complex reasoning task"
130
+
131
+ # Add a custom model
132
+ aurora-ai config add turbo --provider openai --model gpt-4o --key sk-xxx
133
+ ```
134
+
135
+ ## Architecture
136
+
137
+ ```
138
+ CLI (aurora-ai) -> Agent Loop (tool-use engine) -> LLM Backend (multi-model)
139
+ |
140
+ Tools: read, write, edit, bash, glob, grep, web_search, web_fetch
141
+ |
142
+ Skills: idea-discovery, auto-review, paper-writing, pipeline
143
+ ```
144
+
145
+ ## Permission Modes
146
+
147
+ | Mode | Behavior |
148
+ |------|----------|
149
+ | `default` | Ask before destructive operations |
150
+ | `acceptEdits` | Auto-approve file edits (default for `run`) |
151
+ | `bypassPermissions` | Auto-approve everything (use `-y` flag) |
152
+ | `plan` | Read-only, research only |
153
+
154
+ ## Development
155
+
156
+ ```bash
157
+ git clone https://github.com/user/aurora-research.git
158
+ cd aurora-research
159
+ uv sync
160
+ uv run pytest
161
+ ```
162
+
163
+ ## License
164
+
165
+ MIT
@@ -0,0 +1,148 @@
1
+ # Aurora Research Agent
2
+
3
+ **Autonomous AI research scientist** -- multi-model, ARIS-powered scientific research agent.
4
+
5
+ Aurora handles the full research workflow: literature survey, idea discovery, experiment implementation, cross-model review, and paper writing -- all from the command line.
6
+
7
+ ## Features
8
+
9
+ - **Multi-model support** -- DeepSeek (default), OpenAI, Anthropic, and any OpenAI-compatible API
10
+ - **Autonomous agent loop** -- Tool-using AI that reads/writes files, runs code, searches the web
11
+ - **ARIS research workflows** -- Idea discovery, auto-review loops, paper writing, full pipeline
12
+ - **White-label** -- Branded as "Aurora", never exposes underlying model/provider identity
13
+ - **Cross-model review** -- Executor and reviewer use different models for adversarial quality control
14
+ - **Resumable runs** -- State persistence enables recovery from crashes or context compaction
15
+
16
+ ## Quick Start
17
+
18
+ ### Prerequisites
19
+
20
+ - Python 3.12+
21
+ - [uv](https://docs.astral.sh/uv/) (package manager)
22
+ - A DeepSeek API key ([get one here](https://platform.deepseek.com/api_keys))
23
+
24
+ ### Install
25
+
26
+ ```bash
27
+ # Install from PyPI
28
+ uv tool install aurora-research
29
+ # Creates the `aurora-ai` command
30
+
31
+ # Or try without installing
32
+ uvx aurora-research run "Search arXiv for recent papers on LLM reasoning"
33
+ ```
34
+
35
+ ### Configure
36
+
37
+ Set your API key:
38
+
39
+ ```bash
40
+ # Option 1: Environment variable
41
+ export DEEPSEEK_API_KEY="sk-your-key-here"
42
+
43
+ # Option 2: .env file
44
+ echo 'DEEPSEEK_API_KEY=sk-your-key-here' > .env
45
+
46
+ # Option 3: Interactive config
47
+ aurora-ai config
48
+ ```
49
+
50
+ ### Basic Usage
51
+
52
+ ```bash
53
+ # One-shot task
54
+ aurora-ai run "Explain the Transformer architecture with code examples"
55
+
56
+ # Interactive chat
57
+ aurora-ai chat
58
+
59
+ # Plan-first execution (read-only research, then execute)
60
+ aurora-ai plan "Build a PyTorch training pipeline for CIFAR-10"
61
+
62
+ # List available models
63
+ aurora-ai models
64
+ ```
65
+
66
+ ## Research Workflows
67
+
68
+ ### Idea Discovery
69
+
70
+ ```bash
71
+ aurora-ai idea "efficient attention mechanisms for long-context LLMs" --num-ideas 8
72
+ ```
73
+
74
+ Pipeline: literature survey -> idea generation (8-12 ideas) -> novelty check -> critical review -> ranked report
75
+
76
+ ### Auto Review Loop
77
+
78
+ ```bash
79
+ aurora-ai review --target ./experiment_results/ --rounds 4
80
+ ```
81
+
82
+ Cross-model adversarial review: reviewer evaluates work -> executor fixes issues -> re-review -> repeat until score >= 7/10
83
+
84
+ ### Paper Writing
85
+
86
+ ```bash
87
+ aurora-ai paper "Efficient Attention via Hierarchical Token Pruning" --assure draft
88
+ ```
89
+
90
+ Pipeline: paper plan -> figures -> LaTeX writing -> compilation -> improvement loop
91
+
92
+ ### Full Research Pipeline
93
+
94
+ ```bash
95
+ aurora-ai pipeline "continual learning without catastrophic forgetting" --write
96
+ ```
97
+
98
+ End-to-end: idea discovery -> experiments -> review -> paper
99
+
100
+ ## Model Configuration
101
+
102
+ Aurora uses **model aliases** -- user-friendly names that hide the underlying provider:
103
+
104
+ | Alias | Description |
105
+ |-------|-------------|
106
+ | `fast` | Fast & affordable (default) |
107
+ | `pro` | Balanced performance |
108
+ | `deep` | Deep reasoning |
109
+
110
+ ```bash
111
+ # Use a specific model
112
+ aurora-ai run --model pro "Complex reasoning task"
113
+
114
+ # Add a custom model
115
+ aurora-ai config add turbo --provider openai --model gpt-4o --key sk-xxx
116
+ ```
117
+
118
+ ## Architecture
119
+
120
+ ```
121
+ CLI (aurora-ai) -> Agent Loop (tool-use engine) -> LLM Backend (multi-model)
122
+ |
123
+ Tools: read, write, edit, bash, glob, grep, web_search, web_fetch
124
+ |
125
+ Skills: idea-discovery, auto-review, paper-writing, pipeline
126
+ ```
127
+
128
+ ## Permission Modes
129
+
130
+ | Mode | Behavior |
131
+ |------|----------|
132
+ | `default` | Ask before destructive operations |
133
+ | `acceptEdits` | Auto-approve file edits (default for `run`) |
134
+ | `bypassPermissions` | Auto-approve everything (use `-y` flag) |
135
+ | `plan` | Read-only, research only |
136
+
137
+ ## Development
138
+
139
+ ```bash
140
+ git clone https://github.com/user/aurora-research.git
141
+ cd aurora-research
142
+ uv sync
143
+ uv run pytest
144
+ ```
145
+
146
+ ## License
147
+
148
+ MIT
@@ -0,0 +1,36 @@
1
+ [project]
2
+ name = "aurora-research"
3
+ version = "0.1.0"
4
+ description = "Aurora 🌌 — Autonomous AI research scientist. Multi-model, ARIS-powered."
5
+ readme = "README.md"
6
+ authors = [
7
+ { name = "dududu", email = "1816619485@qq.com" }
8
+ ]
9
+ requires-python = ">=3.12"
10
+ dependencies = [
11
+ "httpx>=0.28.1",
12
+ "openai>=2.43.0",
13
+ "pydantic>=2.13.4",
14
+ "python-dotenv>=1.2.2",
15
+ "rich>=15.0.0",
16
+ "typer>=0.26.7",
17
+ ]
18
+
19
+ [project.urls]
20
+ Homepage = "https://github.com/dududu/aurora-research"
21
+ Repository = "https://github.com/dududu/aurora-research"
22
+
23
+ [project.scripts]
24
+ aurora-ai = "aurora_research.main:app"
25
+
26
+ [build-system]
27
+ requires = ["uv_build>=0.11.23,<0.12.0"]
28
+ build-backend = "uv_build"
29
+
30
+ [dependency-groups]
31
+ dev = [
32
+ "litellm>=1.89.3",
33
+ "pytest>=9.1.1",
34
+ "pytest-asyncio>=1.4.0",
35
+ "ruff>=0.15.18",
36
+ ]
@@ -0,0 +1,6 @@
1
+ """Aurora 🌌 — Autonomous AI research scientist.
2
+
3
+ Multi-model, ARIS-powered scientific research agent.
4
+ """
5
+
6
+ __version__ = "0.1.0"
@@ -0,0 +1,135 @@
1
+ """Aurora brand identity -- system prompts, agent personality, term filtering.
2
+
3
+ All user-facing content is branded as "Aurora". Underlying model/provider
4
+ names are stripped from responses before display.
5
+ """
6
+
7
+ from __future__ import annotations
8
+
9
+ # ── Core system prompt for the Aurora agent ──────────────────────────────
10
+ AURORA_SYSTEM_PROMPT = """You are Aurora 🌌, an autonomous AI research scientist.
11
+
12
+ You help researchers with the full scientific workflow:
13
+ - **Literature search & survey** — multi-source search, summarization, gap analysis
14
+ - **Idea generation & novelty checking** — brainstorming, prior art search, feasibility analysis
15
+ - **Experiment design & execution** — planning, code implementation, GPU deployment, monitoring
16
+ - **Code review & debugging** — quality checks, bug fixes, performance optimization
17
+ - **Paper writing & figure generation** — LaTeX drafting, data visualization, illustration
18
+ - **Review & rebuttal** — adversarial review, scoring, rebuttal drafting
19
+
20
+ ## Operating Principles
21
+ - **Be thorough** — verify claims with evidence, not speculation
22
+ - **Be honest** — acknowledge uncertainty and limitations clearly
23
+ - **Be efficient** — plan before executing, avoid unnecessary work
24
+ - **Be scientific** — follow rigorous methodology, document your process
25
+ - **Be safe** — never run destructive commands without clear user approval
26
+
27
+ ## Tool Use
28
+ You have access to tools for reading and writing files, running shell commands,
29
+ searching the web, fetching web content, and more. Use them to accomplish
30
+ research tasks. When you need information, search for it rather than guessing.
31
+
32
+ ## Output Style
33
+ - Use clear, academic English appropriate for scientific communication
34
+ - Cite sources with URLs when referencing papers or web content
35
+ - Present structured analysis before drawing conclusions
36
+ - When unsure, state your uncertainty explicitly
37
+
38
+ ## Research Workflow
39
+ When conducting research, follow this general pattern:
40
+ 1. Understand the research question deeply
41
+ 2. Search and survey existing work comprehensively
42
+ 3. Analyze gaps and generate hypotheses
43
+ 4. Design experiments to test hypotheses
44
+ 5. Execute carefully and document results
45
+ 6. Draw evidence-based conclusions
46
+ """
47
+
48
+ # ── Agent name ─────────────────────────────────────────────────────────
49
+ AGENT_NAME = "Aurora"
50
+ AGENT_DESCRIPTION = "Autonomous AI research scientist"
51
+ AGENT_VERSION = "0.1.0"
52
+
53
+ # ── Terms to filter from LLM output ────────────────────────────────────
54
+ # The agent's system prompt should never mention these.
55
+ # If the LLM produces them anyway, we can optionally filter in display.
56
+ BLOCKED_TERMS: list[str] = [
57
+ # Anthropic / Claude
58
+ "Claude",
59
+ "Anthropic",
60
+ "claude-code",
61
+ "claude_code",
62
+ # DeepSeek
63
+ "DeepSeek",
64
+ "deepseek",
65
+ # OpenAI
66
+ "OpenAI",
67
+ "GPT-4",
68
+ "GPT-5",
69
+ "ChatGPT",
70
+ # Generic
71
+ "LLM provider",
72
+ "underlying model",
73
+ ]
74
+
75
+ # ── Display helpers ────────────────────────────────────────────────────
76
+ AGENT_BANNER = r"""
77
+ 🌌 Aurora Research Agent
78
+ ═══════════════════════════════
79
+ Autonomous AI research scientist
80
+ Type /help for commands, /quit to exit
81
+ """
82
+
83
+ # ── System prompt presets for different modes ──────────────────────────
84
+ SYSTEM_PROMPT_PLAN = (
85
+ AURORA_SYSTEM_PROMPT
86
+ + """
87
+ ## Plan Mode
88
+ You are currently in PLAN MODE. In this mode:
89
+ - You may ONLY use read-only tools (read files, search web, glob, grep)
90
+ - You may NOT modify files, run commands, or make changes
91
+ - Your goal is to understand the task and create a detailed execution plan
92
+ - Present the plan to the user for approval before any execution
93
+ - Use clear section headers and numbered steps in your plan
94
+ """
95
+ )
96
+
97
+ SYSTEM_PROMPT_REVIEWER = """You are an independent scientific reviewer working alongside Aurora.
98
+
99
+ Your role is adversarial quality assurance:
100
+ - Critically evaluate research, code, and writing produced by the executor
101
+ - Identify weaknesses, flaws, missing controls, overclaimed results
102
+ - Score work on a 1-10 scale with specific, actionable feedback
103
+ - Suggest concrete improvements for each weakness found
104
+
105
+ ## Review Principles
106
+ - **Independence** — read source materials yourself, don't trust the executor's framing
107
+ - **Skepticism** — assume claims are wrong until evidence proves otherwise
108
+ - **Specificity** — every criticism must cite a specific line, figure, or claim
109
+ - **Constructiveness** — every weakness should come with a proposed fix
110
+ - **Calibration** — match review intensity to the venue (workshop < conference < journal)
111
+
112
+ ## Output Format
113
+ For each review, provide:
114
+ 1. Overall score (1-10)
115
+ 2. Verdict: accept / minor revision / major revision / reject
116
+ 3. Major strengths (3-5)
117
+ 4. Major weaknesses with suggested fixes (3-5)
118
+ 5. Minor issues and typos (as a list)
119
+ 6. Detailed comments (line-by-line where applicable)
120
+ """
121
+
122
+
123
+ def filter_response(text: str) -> str:
124
+ """Optionally filter blocked terms from LLM output text.
125
+
126
+ This is a safety net — ideally the system prompt prevents the LLM
127
+ from mentioning these terms at all.
128
+ """
129
+ result = text
130
+ for term in BLOCKED_TERMS:
131
+ # Case-insensitive replacement
132
+ import re
133
+
134
+ result = re.sub(re.escape(term), "[Aurora]", result, flags=re.IGNORECASE)
135
+ return result