aipa-cli 0.1.4__tar.gz → 0.1.5__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.
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/CHANGELOG.md +5 -0
- aipa_cli-0.1.5/PKG-INFO +234 -0
- aipa_cli-0.1.5/README.md +209 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/src/aipriceaction_terminal/__init__.py +1 -1
- aipa_cli-0.1.4/PKG-INFO +0 -73
- aipa_cli-0.1.4/README.md +0 -48
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/.gitignore +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/LICENSE +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/pyproject.toml +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/src/aipriceaction_terminal/__main__.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/src/aipriceaction_terminal/actions.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/src/aipriceaction_terminal/agents/__init__.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/src/aipriceaction_terminal/agents/agent.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/src/aipriceaction_terminal/agents/callbacks.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/src/aipriceaction_terminal/agents/config.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/src/aipriceaction_terminal/agents/personas.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/src/aipriceaction_terminal/agents/tools.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/src/aipriceaction_terminal/app.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/src/aipriceaction_terminal/bindings.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/src/aipriceaction_terminal/chat.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/src/aipriceaction_terminal/cli.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/src/aipriceaction_terminal/cli_commands.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/src/aipriceaction_terminal/deep_research.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/src/aipriceaction_terminal/settings_tab.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/src/aipriceaction_terminal/theme.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/src/aipriceaction_terminal/ticker_data.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/src/aipriceaction_terminal/user_settings.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/src/aipriceaction_terminal/utils.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/src/aipriceaction_terminal/widgets/__init__.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/src/aipriceaction_terminal/widgets/chat_input.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/src/aipriceaction_terminal/widgets/ticker_select.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/src/aipriceaction_terminal/workflows.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/tests/conftest.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/tests/openrouter_responses.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/tests/test_app.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/tests/test_chat.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/tests/test_integration.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/tests/test_settings_api.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/tests/test_thinking.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/tests/test_tool_call_streaming.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/tests/test_utils.py +0 -0
- {aipa_cli-0.1.4 → aipa_cli-0.1.5}/tests/test_workflows.py +0 -0
|
@@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.1.5] - 2026-05-09
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
- Expand README with Quick Start examples, full CLI reference for all commands, TUI slash commands, and configuration documentation
|
|
12
|
+
|
|
8
13
|
## [0.1.4] - 2026-05-09
|
|
9
14
|
|
|
10
15
|
### Added
|
aipa_cli-0.1.5/PKG-INFO
ADDED
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: aipa-cli
|
|
3
|
+
Version: 0.1.5
|
|
4
|
+
Summary: Terminal TUI for AI-powered ticker analysis
|
|
5
|
+
Project-URL: Homepage, https://github.com/quanhua92/aipriceaction
|
|
6
|
+
Project-URL: Repository, https://github.com/quanhua92/aipriceaction
|
|
7
|
+
Author-email: Quan Hua <quanhua92@gmail.com>
|
|
8
|
+
License-Expression: MIT
|
|
9
|
+
License-File: LICENSE
|
|
10
|
+
Classifier: Development Status :: 3 - Alpha
|
|
11
|
+
Classifier: Environment :: Console :: Curses
|
|
12
|
+
Classifier: Intended Audience :: Financial and Insurance Industry
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
16
|
+
Classifier: Topic :: Office/Business :: Financial
|
|
17
|
+
Requires-Python: >=3.13
|
|
18
|
+
Requires-Dist: aipriceaction>=0.1.9
|
|
19
|
+
Requires-Dist: langchain-core
|
|
20
|
+
Requires-Dist: langchain-openai
|
|
21
|
+
Requires-Dist: langgraph
|
|
22
|
+
Requires-Dist: textual-autocomplete>=4.0.6
|
|
23
|
+
Requires-Dist: textual>=3.0.0
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
|
|
26
|
+
# AIPA Terminal
|
|
27
|
+
|
|
28
|
+
**Live site:** [aipriceaction.com](https://aipriceaction.com) | **GitHub:** [aipriceaction](https://github.com/quanhua92/aipriceaction) | **Frontend:** [aipriceaction-web](https://github.com/quanhua92/aipriceaction-web) | **Docker image:** [`quanhua92/aipriceaction:latest`](https://hub.docker.com/r/quanhua92/aipriceaction) | **Python SDK:** [`aipriceaction` on PyPI](https://pypi.org/project/aipriceaction/) | **AIPA Terminal:** [`aipa-cli` on PyPI](https://pypi.org/project/aipa-cli/)
|
|
29
|
+
|
|
30
|
+
Textual-based terminal interface for AI-powered ticker analysis. Features streaming chat with thinking/reasoning display, autocomplete, slash commands, and workflow tabs.
|
|
31
|
+
|
|
32
|
+
## Install
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# Run directly (no install)
|
|
36
|
+
uvx aipa-cli
|
|
37
|
+
|
|
38
|
+
# Or install as a standalone tool
|
|
39
|
+
uv tool install aipa-cli
|
|
40
|
+
|
|
41
|
+
# Use either command
|
|
42
|
+
aipa
|
|
43
|
+
aipa-cli
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Requirements
|
|
47
|
+
|
|
48
|
+
- Python 3.13+
|
|
49
|
+
- An OpenAI-compatible API key (`OPENAI_API_KEY`)
|
|
50
|
+
- Optional: set `OPENAI_BASE_URL` for custom providers like OpenRouter
|
|
51
|
+
|
|
52
|
+
## Quick Start
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
# Launch the TUI (chat, workflows, ticker browser)
|
|
56
|
+
aipa
|
|
57
|
+
|
|
58
|
+
# AI analysis with default question template
|
|
59
|
+
aipa analyze VCB
|
|
60
|
+
|
|
61
|
+
# AI analysis with a custom question
|
|
62
|
+
aipa analyze VCB --question "What is the support level and stop loss?"
|
|
63
|
+
|
|
64
|
+
# Browse available question templates
|
|
65
|
+
aipa analyze VCB --questions
|
|
66
|
+
|
|
67
|
+
# Use a specific question template by index
|
|
68
|
+
aipa analyze VCB 2 --question "What is the current trend of VCB?"
|
|
69
|
+
|
|
70
|
+
# Dump raw context data without calling the LLM (no API key needed)
|
|
71
|
+
aipa analyze VCB --context-only
|
|
72
|
+
|
|
73
|
+
# Override language to English (default is your saved setting)
|
|
74
|
+
aipa analyze VCB --lang en
|
|
75
|
+
|
|
76
|
+
# Use hourly interval with SMA instead of EMA
|
|
77
|
+
aipa analyze BTCUSDT --interval 1h --ma-type sma
|
|
78
|
+
|
|
79
|
+
# Analyze multiple tickers at once
|
|
80
|
+
aipa analyze VCB FPT VIC --interval 1D
|
|
81
|
+
|
|
82
|
+
# Run multi-agent deep research pipeline
|
|
83
|
+
aipa deep-research
|
|
84
|
+
|
|
85
|
+
# Deep research with a custom question and save report to file
|
|
86
|
+
aipa deep-research "Which sectors are leading the market?" --output report.md
|
|
87
|
+
|
|
88
|
+
# Resume a previous deep-research session from checkpoint
|
|
89
|
+
aipa deep-research --resume <session-id>
|
|
90
|
+
|
|
91
|
+
# Fetch raw OHLCV data as a table
|
|
92
|
+
aipa get-ohlcv-data VCB --interval 1D --limit 10
|
|
93
|
+
|
|
94
|
+
# Fetch with date range and no moving averages
|
|
95
|
+
aipa get-ohlcv-data VCB --start-date 2026-04-01 --end-date 2026-04-30 --no-ma
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## CLI Commands
|
|
99
|
+
|
|
100
|
+
### `aipa analyze`
|
|
101
|
+
|
|
102
|
+
AI-powered analysis for one or more tickers. Builds context from OHLCV data and sends it to the LLM with a question.
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
# Default: uses question template 0 with your saved language setting
|
|
106
|
+
aipa analyze VCB
|
|
107
|
+
|
|
108
|
+
# Custom question
|
|
109
|
+
aipa analyze VCB --question "Is this a good time to buy?"
|
|
110
|
+
|
|
111
|
+
# List all question templates (trading opportunity, news, Wyckoff, etc.)
|
|
112
|
+
aipa analyze VCB --questions
|
|
113
|
+
|
|
114
|
+
# Raw data dump only (no LLM call, no API key required)
|
|
115
|
+
aipa analyze VCB --context-only
|
|
116
|
+
|
|
117
|
+
# Multi-ticker analysis
|
|
118
|
+
aipa analyze VCB FPT MBB
|
|
119
|
+
|
|
120
|
+
# Hourly data with SMA indicators
|
|
121
|
+
aipa analyze VCB --interval 1h --ma-type sma --limit 50
|
|
122
|
+
|
|
123
|
+
# Force English output
|
|
124
|
+
aipa analyze VCB --lang en
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
| Flag | Description |
|
|
128
|
+
|---|---|
|
|
129
|
+
| `--question TEXT` | Custom analysis question |
|
|
130
|
+
| `--questions` | List available question templates and exit |
|
|
131
|
+
| `--context-only` | Dump raw context without LLM (no API key needed) |
|
|
132
|
+
| `--interval` | Time interval: `1m`, `5m`, `15m`, `30m`, `1h`, `4h`, `1D`, `1W` (default: `1D`) |
|
|
133
|
+
| `--limit N` | Number of bars (default: 20) |
|
|
134
|
+
| `--source` | Filter by source: `vn` or `crypto` |
|
|
135
|
+
| `--start-date` / `--end-date` | Date range (e.g. `2026-04-01`) |
|
|
136
|
+
| `--reference-ticker` | Reference ticker for market context (default: `VNINDEX`) |
|
|
137
|
+
| `--lang` | Language: `en` or `vn` (default: saved setting) |
|
|
138
|
+
| `--ma-type` | Moving average type: `ema` or `sma` (default: `ema`) |
|
|
139
|
+
|
|
140
|
+
### `aipa deep-research`
|
|
141
|
+
|
|
142
|
+
Multi-agent deep research pipeline: supervisor decomposes into sector subtasks, parallel workers fetch data and analyze, aggregator synthesizes, and reviewer validates data integrity.
|
|
143
|
+
|
|
144
|
+
```
|
|
145
|
+
# Default: comprehensive market overview with all VN sectors
|
|
146
|
+
aipa deep-research
|
|
147
|
+
|
|
148
|
+
# Custom research question
|
|
149
|
+
aipa deep-research "Compare banking vs real estate sectors"
|
|
150
|
+
|
|
151
|
+
# Save final report to file
|
|
152
|
+
aipa deep-research --output ~/reports/market-analysis.md
|
|
153
|
+
|
|
154
|
+
# Resume from a previous checkpoint session
|
|
155
|
+
aipa deep-research --resume 019e0cbb-0466-fa9f-d68c-2da40d35a68f
|
|
156
|
+
|
|
157
|
+
# Force Vietnamese output
|
|
158
|
+
aipa deep-research --lang vn
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
| Flag | Description |
|
|
162
|
+
|---|---|
|
|
163
|
+
| `--resume ID` | Resume from a checkpoint session ID |
|
|
164
|
+
| `--output FILE` | Save final report to file |
|
|
165
|
+
| `--lang` | Language: `en` or `vn` (default: saved setting) |
|
|
166
|
+
|
|
167
|
+
### `aipa get-ohlcv-data`
|
|
168
|
+
|
|
169
|
+
Fetch raw OHLCV data as a table (no LLM involved).
|
|
170
|
+
|
|
171
|
+
```
|
|
172
|
+
# Default: daily data with EMA indicators
|
|
173
|
+
aipa get-ohlcv-data VCB
|
|
174
|
+
|
|
175
|
+
# Hourly data, last 10 bars
|
|
176
|
+
aipa get-ohlcv-data VCB --interval 1h --limit 10
|
|
177
|
+
|
|
178
|
+
# Date range, no moving averages
|
|
179
|
+
aipa get-ohlcv-data VCB --start-date 2026-04-01 --end-date 2026-04-30 --no-ma
|
|
180
|
+
|
|
181
|
+
# Crypto data
|
|
182
|
+
aipa get-ohlcv-data BTCUSDT --interval 1D --limit 30
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
| Flag | Description |
|
|
186
|
+
|---|---|
|
|
187
|
+
| `--interval` | Time interval (default: `1D`) |
|
|
188
|
+
| `--limit N` | Number of bars |
|
|
189
|
+
| `--start-date` / `--end-date` | Date range |
|
|
190
|
+
| `--source` | Filter by source: `vn` or `crypto` |
|
|
191
|
+
| `--ma` / `--no-ma` | Include/exclude moving averages (default: included) |
|
|
192
|
+
| `--ema` | Use EMA instead of SMA |
|
|
193
|
+
|
|
194
|
+
## TUI
|
|
195
|
+
|
|
196
|
+
Launch the TUI with `aipa`. The interface has three tabs:
|
|
197
|
+
|
|
198
|
+
- **Chat** — AI-powered chat with streaming responses, thinking/reasoning display, slash commands, and arrow-key history navigation
|
|
199
|
+
- **Workflows** — Structured analysis forms with question bank dropdown for ticker analysis and deep research
|
|
200
|
+
- **Tickers** — Browse and search available tickers
|
|
201
|
+
|
|
202
|
+
### Slash Commands (Chat tab)
|
|
203
|
+
|
|
204
|
+
```
|
|
205
|
+
/analyze VCB # Default AI analysis
|
|
206
|
+
/analyze VCB 1h # AI analysis with hourly interval
|
|
207
|
+
/analyze VCB 2 # Use question template index 2
|
|
208
|
+
/analyze VCB --question What is support? # Custom question
|
|
209
|
+
/export VCB FPT # Export context to markdown file
|
|
210
|
+
/deep-research # Multi-agent research
|
|
211
|
+
/clear # Clear chat history
|
|
212
|
+
/exit # Quit
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
Press `Ctrl+O` in the Chat tab to view thinking/reasoning history.
|
|
216
|
+
|
|
217
|
+
### Settings Tab
|
|
218
|
+
|
|
219
|
+
Configure your API key, model, and base URL directly in the TUI. Settings are saved to `~/.aipriceaction/settings.json` and shared across both TUI and CLI.
|
|
220
|
+
|
|
221
|
+
## Configuration
|
|
222
|
+
|
|
223
|
+
Settings are loaded from `~/.aipriceaction/settings.json`. You can configure them via the TUI Settings tab or set environment variables:
|
|
224
|
+
|
|
225
|
+
| Variable | Description | Default |
|
|
226
|
+
|---|---|---|
|
|
227
|
+
| `OPENAI_API_KEY` | API key for the LLM provider | — |
|
|
228
|
+
| `OPENAI_BASE_URL` | Base URL for OpenAI-compatible API | OpenRouter |
|
|
229
|
+
| `OPENAI_MODEL` | Model name | `openrouter/owl-alpha` |
|
|
230
|
+
| `DATABASE_URL` | Backend API URL | `http://localhost:3000` |
|
|
231
|
+
|
|
232
|
+
## License
|
|
233
|
+
|
|
234
|
+
MIT
|
aipa_cli-0.1.5/README.md
ADDED
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
# AIPA Terminal
|
|
2
|
+
|
|
3
|
+
**Live site:** [aipriceaction.com](https://aipriceaction.com) | **GitHub:** [aipriceaction](https://github.com/quanhua92/aipriceaction) | **Frontend:** [aipriceaction-web](https://github.com/quanhua92/aipriceaction-web) | **Docker image:** [`quanhua92/aipriceaction:latest`](https://hub.docker.com/r/quanhua92/aipriceaction) | **Python SDK:** [`aipriceaction` on PyPI](https://pypi.org/project/aipriceaction/) | **AIPA Terminal:** [`aipa-cli` on PyPI](https://pypi.org/project/aipa-cli/)
|
|
4
|
+
|
|
5
|
+
Textual-based terminal interface for AI-powered ticker analysis. Features streaming chat with thinking/reasoning display, autocomplete, slash commands, and workflow tabs.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Run directly (no install)
|
|
11
|
+
uvx aipa-cli
|
|
12
|
+
|
|
13
|
+
# Or install as a standalone tool
|
|
14
|
+
uv tool install aipa-cli
|
|
15
|
+
|
|
16
|
+
# Use either command
|
|
17
|
+
aipa
|
|
18
|
+
aipa-cli
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Requirements
|
|
22
|
+
|
|
23
|
+
- Python 3.13+
|
|
24
|
+
- An OpenAI-compatible API key (`OPENAI_API_KEY`)
|
|
25
|
+
- Optional: set `OPENAI_BASE_URL` for custom providers like OpenRouter
|
|
26
|
+
|
|
27
|
+
## Quick Start
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# Launch the TUI (chat, workflows, ticker browser)
|
|
31
|
+
aipa
|
|
32
|
+
|
|
33
|
+
# AI analysis with default question template
|
|
34
|
+
aipa analyze VCB
|
|
35
|
+
|
|
36
|
+
# AI analysis with a custom question
|
|
37
|
+
aipa analyze VCB --question "What is the support level and stop loss?"
|
|
38
|
+
|
|
39
|
+
# Browse available question templates
|
|
40
|
+
aipa analyze VCB --questions
|
|
41
|
+
|
|
42
|
+
# Use a specific question template by index
|
|
43
|
+
aipa analyze VCB 2 --question "What is the current trend of VCB?"
|
|
44
|
+
|
|
45
|
+
# Dump raw context data without calling the LLM (no API key needed)
|
|
46
|
+
aipa analyze VCB --context-only
|
|
47
|
+
|
|
48
|
+
# Override language to English (default is your saved setting)
|
|
49
|
+
aipa analyze VCB --lang en
|
|
50
|
+
|
|
51
|
+
# Use hourly interval with SMA instead of EMA
|
|
52
|
+
aipa analyze BTCUSDT --interval 1h --ma-type sma
|
|
53
|
+
|
|
54
|
+
# Analyze multiple tickers at once
|
|
55
|
+
aipa analyze VCB FPT VIC --interval 1D
|
|
56
|
+
|
|
57
|
+
# Run multi-agent deep research pipeline
|
|
58
|
+
aipa deep-research
|
|
59
|
+
|
|
60
|
+
# Deep research with a custom question and save report to file
|
|
61
|
+
aipa deep-research "Which sectors are leading the market?" --output report.md
|
|
62
|
+
|
|
63
|
+
# Resume a previous deep-research session from checkpoint
|
|
64
|
+
aipa deep-research --resume <session-id>
|
|
65
|
+
|
|
66
|
+
# Fetch raw OHLCV data as a table
|
|
67
|
+
aipa get-ohlcv-data VCB --interval 1D --limit 10
|
|
68
|
+
|
|
69
|
+
# Fetch with date range and no moving averages
|
|
70
|
+
aipa get-ohlcv-data VCB --start-date 2026-04-01 --end-date 2026-04-30 --no-ma
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## CLI Commands
|
|
74
|
+
|
|
75
|
+
### `aipa analyze`
|
|
76
|
+
|
|
77
|
+
AI-powered analysis for one or more tickers. Builds context from OHLCV data and sends it to the LLM with a question.
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
# Default: uses question template 0 with your saved language setting
|
|
81
|
+
aipa analyze VCB
|
|
82
|
+
|
|
83
|
+
# Custom question
|
|
84
|
+
aipa analyze VCB --question "Is this a good time to buy?"
|
|
85
|
+
|
|
86
|
+
# List all question templates (trading opportunity, news, Wyckoff, etc.)
|
|
87
|
+
aipa analyze VCB --questions
|
|
88
|
+
|
|
89
|
+
# Raw data dump only (no LLM call, no API key required)
|
|
90
|
+
aipa analyze VCB --context-only
|
|
91
|
+
|
|
92
|
+
# Multi-ticker analysis
|
|
93
|
+
aipa analyze VCB FPT MBB
|
|
94
|
+
|
|
95
|
+
# Hourly data with SMA indicators
|
|
96
|
+
aipa analyze VCB --interval 1h --ma-type sma --limit 50
|
|
97
|
+
|
|
98
|
+
# Force English output
|
|
99
|
+
aipa analyze VCB --lang en
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
| Flag | Description |
|
|
103
|
+
|---|---|
|
|
104
|
+
| `--question TEXT` | Custom analysis question |
|
|
105
|
+
| `--questions` | List available question templates and exit |
|
|
106
|
+
| `--context-only` | Dump raw context without LLM (no API key needed) |
|
|
107
|
+
| `--interval` | Time interval: `1m`, `5m`, `15m`, `30m`, `1h`, `4h`, `1D`, `1W` (default: `1D`) |
|
|
108
|
+
| `--limit N` | Number of bars (default: 20) |
|
|
109
|
+
| `--source` | Filter by source: `vn` or `crypto` |
|
|
110
|
+
| `--start-date` / `--end-date` | Date range (e.g. `2026-04-01`) |
|
|
111
|
+
| `--reference-ticker` | Reference ticker for market context (default: `VNINDEX`) |
|
|
112
|
+
| `--lang` | Language: `en` or `vn` (default: saved setting) |
|
|
113
|
+
| `--ma-type` | Moving average type: `ema` or `sma` (default: `ema`) |
|
|
114
|
+
|
|
115
|
+
### `aipa deep-research`
|
|
116
|
+
|
|
117
|
+
Multi-agent deep research pipeline: supervisor decomposes into sector subtasks, parallel workers fetch data and analyze, aggregator synthesizes, and reviewer validates data integrity.
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
# Default: comprehensive market overview with all VN sectors
|
|
121
|
+
aipa deep-research
|
|
122
|
+
|
|
123
|
+
# Custom research question
|
|
124
|
+
aipa deep-research "Compare banking vs real estate sectors"
|
|
125
|
+
|
|
126
|
+
# Save final report to file
|
|
127
|
+
aipa deep-research --output ~/reports/market-analysis.md
|
|
128
|
+
|
|
129
|
+
# Resume from a previous checkpoint session
|
|
130
|
+
aipa deep-research --resume 019e0cbb-0466-fa9f-d68c-2da40d35a68f
|
|
131
|
+
|
|
132
|
+
# Force Vietnamese output
|
|
133
|
+
aipa deep-research --lang vn
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
| Flag | Description |
|
|
137
|
+
|---|---|
|
|
138
|
+
| `--resume ID` | Resume from a checkpoint session ID |
|
|
139
|
+
| `--output FILE` | Save final report to file |
|
|
140
|
+
| `--lang` | Language: `en` or `vn` (default: saved setting) |
|
|
141
|
+
|
|
142
|
+
### `aipa get-ohlcv-data`
|
|
143
|
+
|
|
144
|
+
Fetch raw OHLCV data as a table (no LLM involved).
|
|
145
|
+
|
|
146
|
+
```
|
|
147
|
+
# Default: daily data with EMA indicators
|
|
148
|
+
aipa get-ohlcv-data VCB
|
|
149
|
+
|
|
150
|
+
# Hourly data, last 10 bars
|
|
151
|
+
aipa get-ohlcv-data VCB --interval 1h --limit 10
|
|
152
|
+
|
|
153
|
+
# Date range, no moving averages
|
|
154
|
+
aipa get-ohlcv-data VCB --start-date 2026-04-01 --end-date 2026-04-30 --no-ma
|
|
155
|
+
|
|
156
|
+
# Crypto data
|
|
157
|
+
aipa get-ohlcv-data BTCUSDT --interval 1D --limit 30
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
| Flag | Description |
|
|
161
|
+
|---|---|
|
|
162
|
+
| `--interval` | Time interval (default: `1D`) |
|
|
163
|
+
| `--limit N` | Number of bars |
|
|
164
|
+
| `--start-date` / `--end-date` | Date range |
|
|
165
|
+
| `--source` | Filter by source: `vn` or `crypto` |
|
|
166
|
+
| `--ma` / `--no-ma` | Include/exclude moving averages (default: included) |
|
|
167
|
+
| `--ema` | Use EMA instead of SMA |
|
|
168
|
+
|
|
169
|
+
## TUI
|
|
170
|
+
|
|
171
|
+
Launch the TUI with `aipa`. The interface has three tabs:
|
|
172
|
+
|
|
173
|
+
- **Chat** — AI-powered chat with streaming responses, thinking/reasoning display, slash commands, and arrow-key history navigation
|
|
174
|
+
- **Workflows** — Structured analysis forms with question bank dropdown for ticker analysis and deep research
|
|
175
|
+
- **Tickers** — Browse and search available tickers
|
|
176
|
+
|
|
177
|
+
### Slash Commands (Chat tab)
|
|
178
|
+
|
|
179
|
+
```
|
|
180
|
+
/analyze VCB # Default AI analysis
|
|
181
|
+
/analyze VCB 1h # AI analysis with hourly interval
|
|
182
|
+
/analyze VCB 2 # Use question template index 2
|
|
183
|
+
/analyze VCB --question What is support? # Custom question
|
|
184
|
+
/export VCB FPT # Export context to markdown file
|
|
185
|
+
/deep-research # Multi-agent research
|
|
186
|
+
/clear # Clear chat history
|
|
187
|
+
/exit # Quit
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Press `Ctrl+O` in the Chat tab to view thinking/reasoning history.
|
|
191
|
+
|
|
192
|
+
### Settings Tab
|
|
193
|
+
|
|
194
|
+
Configure your API key, model, and base URL directly in the TUI. Settings are saved to `~/.aipriceaction/settings.json` and shared across both TUI and CLI.
|
|
195
|
+
|
|
196
|
+
## Configuration
|
|
197
|
+
|
|
198
|
+
Settings are loaded from `~/.aipriceaction/settings.json`. You can configure them via the TUI Settings tab or set environment variables:
|
|
199
|
+
|
|
200
|
+
| Variable | Description | Default |
|
|
201
|
+
|---|---|---|
|
|
202
|
+
| `OPENAI_API_KEY` | API key for the LLM provider | — |
|
|
203
|
+
| `OPENAI_BASE_URL` | Base URL for OpenAI-compatible API | OpenRouter |
|
|
204
|
+
| `OPENAI_MODEL` | Model name | `openrouter/owl-alpha` |
|
|
205
|
+
| `DATABASE_URL` | Backend API URL | `http://localhost:3000` |
|
|
206
|
+
|
|
207
|
+
## License
|
|
208
|
+
|
|
209
|
+
MIT
|
aipa_cli-0.1.4/PKG-INFO
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: aipa-cli
|
|
3
|
-
Version: 0.1.4
|
|
4
|
-
Summary: Terminal TUI for AI-powered ticker analysis
|
|
5
|
-
Project-URL: Homepage, https://github.com/quanhua92/aipriceaction
|
|
6
|
-
Project-URL: Repository, https://github.com/quanhua92/aipriceaction
|
|
7
|
-
Author-email: Quan Hua <quanhua92@gmail.com>
|
|
8
|
-
License-Expression: MIT
|
|
9
|
-
License-File: LICENSE
|
|
10
|
-
Classifier: Development Status :: 3 - Alpha
|
|
11
|
-
Classifier: Environment :: Console :: Curses
|
|
12
|
-
Classifier: Intended Audience :: Financial and Insurance Industry
|
|
13
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
-
Classifier: Programming Language :: Python :: 3
|
|
15
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
16
|
-
Classifier: Topic :: Office/Business :: Financial
|
|
17
|
-
Requires-Python: >=3.13
|
|
18
|
-
Requires-Dist: aipriceaction>=0.1.9
|
|
19
|
-
Requires-Dist: langchain-core
|
|
20
|
-
Requires-Dist: langchain-openai
|
|
21
|
-
Requires-Dist: langgraph
|
|
22
|
-
Requires-Dist: textual-autocomplete>=4.0.6
|
|
23
|
-
Requires-Dist: textual>=3.0.0
|
|
24
|
-
Description-Content-Type: text/markdown
|
|
25
|
-
|
|
26
|
-
# AIPA Terminal
|
|
27
|
-
|
|
28
|
-
**Live site:** [aipriceaction.com](https://aipriceaction.com) | **GitHub:** [aipriceaction](https://github.com/quanhua92/aipriceaction) | **Frontend:** [aipriceaction-web](https://github.com/quanhua92/aipriceaction-web) | **Docker image:** [`quanhua92/aipriceaction:latest`](https://hub.docker.com/r/quanhua92/aipriceaction) | **Python SDK:** [`aipriceaction` on PyPI](https://pypi.org/project/aipriceaction/) | **AIPA Terminal:** [`aipa-cli` on PyPI](https://pypi.org/project/aipa-cli/)
|
|
29
|
-
|
|
30
|
-
Textual-based terminal interface for AI-powered ticker analysis. Features streaming chat with thinking/reasoning display, autocomplete, slash commands, and workflow tabs.
|
|
31
|
-
|
|
32
|
-
## Install
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
# Run directly (no install)
|
|
36
|
-
uvx aipa-cli
|
|
37
|
-
|
|
38
|
-
# Or install as a standalone tool
|
|
39
|
-
uv tool install aipa-cli
|
|
40
|
-
|
|
41
|
-
# Use either command
|
|
42
|
-
aipa
|
|
43
|
-
aipa-cli
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## Requirements
|
|
47
|
-
|
|
48
|
-
- Python 3.13+
|
|
49
|
-
- An OpenAI-compatible API key (`OPENAI_API_KEY`)
|
|
50
|
-
- Optional: set `OPENAI_BASE_URL` for custom providers like OpenRouter
|
|
51
|
-
|
|
52
|
-
## Usage
|
|
53
|
-
|
|
54
|
-
```
|
|
55
|
-
aipa # Launch the TUI
|
|
56
|
-
aipa analyze # Run ticker analysis from CLI
|
|
57
|
-
aipa get-ohlcv-data # Fetch OHLCV data from CLI
|
|
58
|
-
aipa deep-research # Run deep research from CLI
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### TUI
|
|
62
|
-
|
|
63
|
-
The interface has three tabs:
|
|
64
|
-
|
|
65
|
-
- **Chat** — AI-powered chat with streaming responses, thinking/reasoning display, slash commands (`/analyze`, `/export`, `/clear`, `/exit`), and arrow-key history navigation
|
|
66
|
-
- **Workflows** — Structured analysis forms for ticker analysis and deep research
|
|
67
|
-
- **Tickers** — Browse and search available tickers
|
|
68
|
-
|
|
69
|
-
Press `Ctrl+O` in the Chat tab to view thinking/reasoning history.
|
|
70
|
-
|
|
71
|
-
## License
|
|
72
|
-
|
|
73
|
-
MIT
|
aipa_cli-0.1.4/README.md
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
# AIPA Terminal
|
|
2
|
-
|
|
3
|
-
**Live site:** [aipriceaction.com](https://aipriceaction.com) | **GitHub:** [aipriceaction](https://github.com/quanhua92/aipriceaction) | **Frontend:** [aipriceaction-web](https://github.com/quanhua92/aipriceaction-web) | **Docker image:** [`quanhua92/aipriceaction:latest`](https://hub.docker.com/r/quanhua92/aipriceaction) | **Python SDK:** [`aipriceaction` on PyPI](https://pypi.org/project/aipriceaction/) | **AIPA Terminal:** [`aipa-cli` on PyPI](https://pypi.org/project/aipa-cli/)
|
|
4
|
-
|
|
5
|
-
Textual-based terminal interface for AI-powered ticker analysis. Features streaming chat with thinking/reasoning display, autocomplete, slash commands, and workflow tabs.
|
|
6
|
-
|
|
7
|
-
## Install
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
# Run directly (no install)
|
|
11
|
-
uvx aipa-cli
|
|
12
|
-
|
|
13
|
-
# Or install as a standalone tool
|
|
14
|
-
uv tool install aipa-cli
|
|
15
|
-
|
|
16
|
-
# Use either command
|
|
17
|
-
aipa
|
|
18
|
-
aipa-cli
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Requirements
|
|
22
|
-
|
|
23
|
-
- Python 3.13+
|
|
24
|
-
- An OpenAI-compatible API key (`OPENAI_API_KEY`)
|
|
25
|
-
- Optional: set `OPENAI_BASE_URL` for custom providers like OpenRouter
|
|
26
|
-
|
|
27
|
-
## Usage
|
|
28
|
-
|
|
29
|
-
```
|
|
30
|
-
aipa # Launch the TUI
|
|
31
|
-
aipa analyze # Run ticker analysis from CLI
|
|
32
|
-
aipa get-ohlcv-data # Fetch OHLCV data from CLI
|
|
33
|
-
aipa deep-research # Run deep research from CLI
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
### TUI
|
|
37
|
-
|
|
38
|
-
The interface has three tabs:
|
|
39
|
-
|
|
40
|
-
- **Chat** — AI-powered chat with streaming responses, thinking/reasoning display, slash commands (`/analyze`, `/export`, `/clear`, `/exit`), and arrow-key history navigation
|
|
41
|
-
- **Workflows** — Structured analysis forms for ticker analysis and deep research
|
|
42
|
-
- **Tickers** — Browse and search available tickers
|
|
43
|
-
|
|
44
|
-
Press `Ctrl+O` in the Chat tab to view thinking/reasoning history.
|
|
45
|
-
|
|
46
|
-
## License
|
|
47
|
-
|
|
48
|
-
MIT
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|