Skip to content

Commit b40b672

Browse files
authored
feat: add a command-line interface with a dashboard (#17)
1 parent 093543f commit b40b672

30 files changed

Lines changed: 6550 additions & 1326 deletions

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,3 +207,4 @@ README_MEMO.md
207207
.ruff_cache/
208208
/.agents
209209
skills-lock.json
210+
/chart-cli/output

README.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<div align="center">
22

3-
**Repository overview** &nbsp;|&nbsp; [Agent Framework](docs/agent_framework.md) &nbsp;|&nbsp; [Semantic Kernel](docs/semantic_kernel.md) &nbsp;|&nbsp; [AutoGen reference](docs/autogen.md) &nbsp;|&nbsp; [Agent Framework patterns](docs/agent_framework_patterns.md) &nbsp;|&nbsp; [Framework comparison](docs/autogen_agent_sk.md)
3+
**Repository overview** &nbsp;|&nbsp; [Agent Framework](docs/agent_framework.md) &nbsp;|&nbsp; [Semantic Kernel](docs/semantic_kernel.md) &nbsp;|&nbsp; [AutoGen reference](docs/autogen.md) &nbsp;|&nbsp; [Agent Framework patterns](docs/agent_framework_patterns.md) &nbsp;|&nbsp; [Terminal dashboard](docs/chart_cli.md) &nbsp;|&nbsp; [Framework comparison](docs/autogen_agent_sk.md)
44

55
</div>
66

@@ -22,6 +22,7 @@ This project shows how to use Microsoft Agent Framework for stock-market researc
2222
| [Semantic Kernel workflow](docs/semantic_kernel.md) | Same steps, plugin-based. | Compare with the main workflow. |
2323
| [AutoGen reference](docs/autogen.md) | Earlier group-chat version. | Compare implementation styles. |
2424
| [Agent Framework patterns](docs/agent_framework_patterns.md) | Examples for the investment domain. | Explore features one at a time. |
25+
| [Real-time terminal dashboard](docs/chart_cli.md) | Live watchlist and charts driven by an Agent Framework workflow, with `/ask`, `/model`, and `/help` commands. | Watch signals update in a terminal. |
2526
| [Framework comparison](docs/autogen_agent_sk.md) | Short comparison of the three frameworks. | - |
2627

2728
The [Agent Framework patterns](docs/agent_framework_patterns.md) are the only pattern showcase in this repository. The 30 examples show Microsoft Agent Framework features for investment research. Semantic Kernel and AutoGen do not have separate pattern libraries here.
@@ -57,6 +58,27 @@ Use this command only when comparing the plugin-based agent variant. It reuses t
5758
uv run python -m semantic_kernel.main
5859
```
5960

61+
## Real-time terminal dashboard
62+
63+
[chart-cli](docs/chart_cli.md) renders a live watchlist, price chart, and Agent Framework workflow output in the terminal. Press `/` for the command prompt: `/ask` answers questions about the symbols on screen, `/model` switches the chat backend, `/help` lists everything. The screenshot below is a real capture of the running dashboard; `AGENT:RULES` means the workflow fell back to its transparent rule-based path because no Foundry credentials were available.
64+
65+
<img src="docs/chart-cli-dashboard.png" alt="chart-cli terminal dashboard with a watchlist, price chart, details, workflow signals, agent call, and market and risk notes" width="900">
66+
67+
Run this from PowerShell:
68+
69+
```powershell
70+
cd chart-cli
71+
pnpm install
72+
.\scripts\test-cli.ps1
73+
```
74+
75+
The script verifies the Node UI and Python Agent Framework protocol, then opens
76+
the interactive dashboard in the same terminal. It starts the workflow process
77+
used by the dashboard; do not start a separate Python backend. Use
78+
`.\scripts\test-cli.ps1 -CheckOnly` for verification without opening the UI.
79+
80+
See the [terminal dashboard guide](docs/chart_cli.md) for the panels, keys, commands, ticker editing, and provider setup.
81+
6082
## Sample research output
6183

6284
The following Agent Framework sample uses `MSFT` from 2020-01-01 through 2026-07-01 with a simulated $10,000 starting balance. It is historical research only; a later run can generate a different strategy and result.
@@ -102,6 +124,7 @@ See the full [backtest workbook](output/agent_framework/backtest_results.xlsx),
102124
| [semantic_kernel](semantic_kernel) | The Semantic Kernel version of the research workflow. |
103125
| [autogen](autogen) | The AutoGen reference version, with its own Poetry environment. |
104126
| [agent_framework_patterns](agent_framework_patterns) | Thirty small Agent Framework examples for investment research. |
127+
| [chart-cli](chart-cli) | Real-time terminal dashboard with a companion Agent Framework workflow. |
105128
| [tests](tests) | Offline tests for Agent Framework patterns and the REPL contracts. |
106129
| [output](output) | Saved charts, metrics, and example pattern responses. |
107130
| [docs](docs) | Guides for each implementation and framework comparison. |

chart-cli/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
node_modules/
2+
.cache/
3+
*.log

chart-cli/config.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"tickers": ["MSFT", "AAPL", "NVDA", "GOOGL", "AMZN", "META", "AVGO", "TSLA", "QQQ", "SPY"],
3+
"cryptoIds": {
4+
"BTC": "bitcoin",
5+
"ETH": "ethereum",
6+
"SOL": "solana"
7+
},
8+
"updateIntervalMs": 120000,
9+
"chart": {
10+
"defaultPeriodIndex": 1
11+
},
12+
"agent": {
13+
"enabled": true,
14+
"command": "uv",
15+
"args": ["run", "--project", "..", "python", "-m", "signal_agent.run_agent", "--serve"],
16+
"analyzeIntervalMs": 600000,
17+
"timeoutMs": 180000
18+
}
19+
}

chart-cli/package.json

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
{
2+
"name": "chart-cli",
3+
"version": "1.0.0",
4+
"private": true,
5+
"description": "Real-time terminal market dashboard driven by a Microsoft Agent Framework workflow",
6+
"type": "module",
7+
"main": "src/index.js",
8+
"bin": {
9+
"chart-cli": "./src/index.js"
10+
},
11+
"packageManager": "pnpm@10.32.0",
12+
"engines": {
13+
"node": ">=20"
14+
},
15+
"scripts": {
16+
"start": "node src/index.js",
17+
"dev": "node src/index.js",
18+
"agent": "uv run --project .. python -m signal_agent.run_agent --demo",
19+
"test": "powershell -NoProfile -ExecutionPolicy Bypass -File scripts/test-cli.ps1 -CheckOnly"
20+
},
21+
"keywords": [
22+
"stocks",
23+
"crypto",
24+
"terminal",
25+
"dashboard",
26+
"tui",
27+
"agent-framework"
28+
],
29+
"license": "MIT",
30+
"dependencies": {
31+
"axios": "^1.7.9",
32+
"blessed": "^0.1.81",
33+
"blessed-contrib": "^4.11.0",
34+
"chalk": "^5.4.1"
35+
}
36+
}

0 commit comments

Comments
 (0)