@opensearch-project/agent-health 0.1.1 → 0.3.0
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.
- package/README.md +179 -259
- package/cli/dist/index.js +905 -239
- package/dist/assets/index-EvPLSTAS.js +267 -0
- package/dist/assets/index-RXasQKUs.css +1 -0
- package/dist/index.html +2 -2
- package/dist/opensearch-logo-dark.svg +5 -0
- package/dist/opensearch-logo-light.svg +5 -0
- package/dist/test-first-run-improved.html +469 -0
- package/lib/dist/config/index.js +97 -56
- package/lib/dist/index.js +82 -6
- package/package.json +6 -4
- package/server/dist/app.js +12212 -6867
- package/server/dist/index.js +8782 -3329
- package/dist/assets/index-D5yuaEp4.js +0 -267
- package/dist/assets/index-D6wGwYUm.css +0 -1
package/README.md
CHANGED
|
@@ -1,26 +1,79 @@
|
|
|
1
|
-
|
|
1
|
+
<h1 align="center" style="border-bottom: none">
|
|
2
|
+
<div>
|
|
3
|
+
<a href="https://opensearch.org">
|
|
4
|
+
<img alt="OpenSearch Agent Health" src="assets/opensearch-logo.svg" width="200" />
|
|
5
|
+
</a>
|
|
6
|
+
<br>
|
|
7
|
+
Agent Health
|
|
8
|
+
</div>
|
|
9
|
+
</h1>
|
|
10
|
+
|
|
11
|
+
<h2 align="center" style="border-bottom: none">Open-source AI Agent Evaluation & Observability</h2>
|
|
12
|
+
|
|
13
|
+
<p align="center">
|
|
14
|
+
Agent Health helps you evaluate, monitor, and optimize AI agents. From autonomous RCA agents to coding assistants, it provides real-time execution streaming, LLM-based evaluation with trajectory comparison, batch experiments, and deep observability through OpenTelemetry traces — all backed by OpenSearch.
|
|
15
|
+
</p>
|
|
16
|
+
|
|
17
|
+
<div align="center">
|
|
2
18
|
|
|
3
19
|
[](LICENSE.txt)
|
|
4
20
|
[](https://www.npmjs.com/package/@opensearch-project/agent-health)
|
|
5
|
-
[](https://github.com/opensearch-project/agent-health/actions/workflows/ci.yml)
|
|
22
|
+
|
|
23
|
+
</div>
|
|
24
|
+
|
|
25
|
+
<p align="center">
|
|
26
|
+
<a href="https://opensearch.org"><b>Website</b></a> •
|
|
27
|
+
<a href="https://opensearch.org/slack.html"><b>Slack</b></a> •
|
|
28
|
+
<a href="https://x.com/OpenSearchProj"><b>Twitter/X</b></a> •
|
|
29
|
+
<a href="https://www.youtube.com/watch?v=MU3tTv4lKtc"><b>Demo Video</b></a> •
|
|
30
|
+
<a href="https://observability.opensearch.org/docs/agent-health/"><b>Documentation</b></a> •
|
|
31
|
+
<a href="CHANGELOG.md"><b>Changelog</b></a>
|
|
32
|
+
</p>
|
|
33
|
+
|
|
34
|
+
<div align="center" style="margin-top: 1em; margin-bottom: 1em;">
|
|
35
|
+
<a href="#what-is-agent-health">What is Agent Health?</a> •
|
|
36
|
+
<a href="#installation">Installation</a> •
|
|
37
|
+
<a href="#features">Features</a> •
|
|
38
|
+
<a href="#quick-configuration">Configuration</a> •
|
|
39
|
+
<a href="#contributing">Contributing</a>
|
|
40
|
+
</div>
|
|
41
|
+
|
|
42
|
+
<br>
|
|
43
|
+
|
|
44
|
+
<p align="center">
|
|
45
|
+
<a href="screenshots/Comparison.png">
|
|
46
|
+
<img alt="Agent Health — Run Comparison Dashboard" src="screenshots/Comparison.png" />
|
|
47
|
+
</a>
|
|
48
|
+
</p>
|
|
49
|
+
|
|
50
|
+
<p align="center">
|
|
51
|
+
<i>Side-by-side comparison of agent evaluation runs with pass rate, accuracy, cost, and performance metrics over time.</i>
|
|
52
|
+
</p>
|
|
6
53
|
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
<a id="what-is-agent-health"></a>
|
|
7
57
|
## What is Agent Health?
|
|
8
58
|
|
|
9
|
-
Agent Health is an evaluation and observability framework for AI agents. It helps you measure agent performance through "Golden Path" trajectory comparison—where an LLM judge evaluates agent actions against expected outcomes.
|
|
59
|
+
Agent Health is an evaluation and observability framework for AI agents, built on [OpenSearch](https://opensearch.org). It helps you measure agent performance through **"Golden Path" trajectory comparison** — where an LLM judge evaluates agent actions against expected outcomes — and provides deep observability into agent execution via OpenTelemetry traces.
|
|
10
60
|
|
|
11
61
|
**Who uses Agent Health:**
|
|
12
62
|
- AI teams building autonomous agents (RCA, customer support, data analysis)
|
|
13
63
|
- QA engineers testing agent behavior across scenarios
|
|
14
64
|
- Platform teams monitoring agent performance in production
|
|
65
|
+
- Developers using AI coding agents who want visibility into usage, costs, and productivity
|
|
66
|
+
|
|
67
|
+
> **See it in action:** Watch the [demo video on YouTube](https://www.youtube.com/watch?v=MU3tTv4lKtc)
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
<a id="installation"></a>
|
|
72
|
+
## Installation
|
|
15
73
|
|
|
16
|
-
|
|
17
|
-
- Real-time agent execution streaming and visualization
|
|
18
|
-
- LLM-based evaluation with pass/fail scoring
|
|
19
|
-
- Batch experiments comparing agents and models
|
|
20
|
-
- OpenTelemetry trace integration for performance analysis
|
|
21
|
-
- Pluggable connectors for different agent types (REST, SSE, CLI)
|
|
74
|
+
Get Agent Health running in minutes. Choose the option that best suits your needs:
|
|
22
75
|
|
|
23
|
-
|
|
76
|
+
### Option 1: NPX (Fastest — No Setup)
|
|
24
77
|
|
|
25
78
|
```bash
|
|
26
79
|
# Start Agent Health with demo data (no configuration needed)
|
|
@@ -29,20 +82,67 @@ npx @opensearch-project/agent-health
|
|
|
29
82
|
|
|
30
83
|
Opens http://localhost:4001 with pre-loaded sample data for exploration.
|
|
31
84
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
85
|
+
### Option 2: Docker Compose (with OpenSearch Observability Stack)
|
|
86
|
+
|
|
87
|
+
For the full observability stack with OpenSearch, OpenTelemetry Collector, and Data Prepper for trace ingestion:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# Clone the repository
|
|
91
|
+
git clone https://github.com/opensearch-project/agent-health.git
|
|
92
|
+
cd agent-health
|
|
93
|
+
|
|
94
|
+
# Start the OpenSearch observability stack
|
|
95
|
+
docker compose up -d
|
|
96
|
+
|
|
97
|
+
# Copy Docker environment configuration
|
|
98
|
+
cp .env.docker .env
|
|
35
99
|
|
|
100
|
+
# Start Agent Health (connects to local OpenSearch automatically)
|
|
101
|
+
npx @opensearch-project/agent-health
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
This brings up:
|
|
105
|
+
- **OpenSearch** — Stores traces, test cases, benchmarks, and evaluation results
|
|
106
|
+
- **OpenTelemetry Collector** — Receives telemetry data via OTLP (ports 4317/4318)
|
|
107
|
+
- **Data Prepper** — Transforms and enriches traces before OpenSearch ingestion
|
|
108
|
+
|
|
109
|
+
> **Prerequisites:** Docker Desktop with 4GB+ memory allocated. See [docker-compose.yml](./docker-compose.yml) for configuration options.
|
|
110
|
+
|
|
111
|
+
### Next Steps
|
|
112
|
+
|
|
113
|
+
- [Getting Started Guide](./GETTING_STARTED.md) — Step-by-step walkthrough from install to first evaluation
|
|
114
|
+
- [Configuration Guide](./docs/CONFIGURATION.md) — Connect your own agent and configure the environment
|
|
115
|
+
- [CLI Reference](./docs/CLI.md) — Full command-line documentation
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
<a id="features"></a>
|
|
36
120
|
## Features
|
|
37
121
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
122
|
+
### Agent Evaluation & Observability
|
|
123
|
+
|
|
124
|
+
| Feature | Description |
|
|
125
|
+
|---------|-------------|
|
|
126
|
+
| **Evals** | Real-time agent evaluation with trajectory streaming |
|
|
127
|
+
| **Experiments** | Batch evaluation runs with configurable parameters |
|
|
128
|
+
| **Compare** | Side-by-side trace comparison with aligned and merged views |
|
|
129
|
+
| **Agent Traces** | Table-based trace view with latency histogram, filtering, and detailed flyout |
|
|
130
|
+
| **Live Traces** | Real-time trace monitoring with auto-refresh and filtering |
|
|
131
|
+
| **Trace Views** | Timeline and Flow visualizations for debugging |
|
|
132
|
+
| **Reports** | Evaluation reports with LLM judge reasoning |
|
|
133
|
+
| **Connectors** | Pluggable protocol adapters (AG-UI SSE, REST, CLI, Claude Code) |
|
|
134
|
+
|
|
135
|
+
### Coding Agent Analytics
|
|
136
|
+
|
|
137
|
+
A unified dashboard for monitoring AI coding agent usage across **Claude Code**, **Kiro**, and **Codex CLI**. Zero configuration — just run `agent-health` and it auto-detects installed agents.
|
|
138
|
+
|
|
139
|
+
- **Multi-agent dashboard**: Session history, cost estimation, tool usage, activity patterns, and efficiency metrics
|
|
140
|
+
- **9 analytics tabs**: Overview, Sessions, Projects, Costs, Activity, Efficiency, Tools, Advanced, and Workspace management
|
|
141
|
+
- **Interactive drill-downs**: Click any chart, card, or metric to drill into filtered session views
|
|
142
|
+
- **Workspace management**: View and edit Claude Code memory files, plans, tasks; browse Kiro MCP servers, agents, and extensions
|
|
143
|
+
- **Privacy-first**: All data stays local — reads directly from `~/.claude/`, `~/.kiro/`, `~/.codex/`
|
|
144
|
+
|
|
145
|
+
[Full Coding Agent Analytics documentation](./docs/CODING_AGENT_ANALYTICS.md)
|
|
46
146
|
|
|
47
147
|
### Supported Connectors
|
|
48
148
|
|
|
@@ -56,59 +156,44 @@ Opens http://localhost:4001 with pre-loaded sample data for exploration.
|
|
|
56
156
|
|
|
57
157
|
For creating custom connectors, see [docs/CONNECTORS.md](./docs/CONNECTORS.md).
|
|
58
158
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
## Architecture
|
|
62
|
-
|
|
63
|
-

|
|
64
|
-
|
|
65
|
-
Agent Health uses a client-server architecture where all clients (UI, CLI) access OpenSearch through a unified HTTP API. The server handles agent communication via pluggable connectors and proxies LLM judge calls to AWS Bedrock.
|
|
66
|
-
|
|
67
|
-
For detailed architecture documentation, see [docs/ARCHITECTURE.md](./docs/ARCHITECTURE.md).
|
|
159
|
+
### Observio Sample Agent
|
|
68
160
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
## CLI Commands
|
|
161
|
+
Agent Health includes **Observio**, a reference ReAct agent you can use as a practice target for evaluating and improving agent performance:
|
|
72
162
|
|
|
73
163
|
```bash
|
|
74
|
-
|
|
75
|
-
npx @opensearch-project/agent-health
|
|
76
|
-
|
|
77
|
-
# List available agents and connectors
|
|
78
|
-
npx @opensearch-project/agent-health list agents
|
|
79
|
-
npx @opensearch-project/agent-health list connectors
|
|
164
|
+
cd observio-sample-agent && npm install && npm run start:ag-ui
|
|
165
|
+
npx @opensearch-project/agent-health run -t demo-otel-001 -a observio
|
|
166
|
+
```
|
|
80
167
|
|
|
81
|
-
|
|
82
|
-
npx @opensearch-project/agent-health run -t demo-otel-001 -a demo
|
|
168
|
+
See the [Observio README](./observio-sample-agent/README.md) for details.
|
|
83
169
|
|
|
84
|
-
|
|
85
|
-
npx @opensearch-project/agent-health init
|
|
86
|
-
```
|
|
170
|
+
---
|
|
87
171
|
|
|
88
|
-
|
|
172
|
+
<a id="architecture"></a>
|
|
173
|
+
## Architecture
|
|
89
174
|
|
|
175
|
+
<p align="center">
|
|
176
|
+
<img alt="Agent Health Architecture" src="docs/diagrams/architecture.png" />
|
|
177
|
+
</p>
|
|
90
178
|
|
|
179
|
+
Agent Health uses a client-server architecture where all clients (UI, CLI) access OpenSearch through a unified HTTP API. The server handles agent communication via pluggable connectors and proxies LLM judge calls to AWS Bedrock.
|
|
91
180
|
|
|
181
|
+
For detailed architecture documentation, see [docs/ARCHITECTURE.md](./docs/ARCHITECTURE.md).
|
|
92
182
|
|
|
93
|
-
|
|
183
|
+
---
|
|
94
184
|
|
|
95
|
-
|
|
185
|
+
<a id="quick-configuration"></a>
|
|
186
|
+
## Quick Configuration
|
|
96
187
|
|
|
97
|
-
|
|
188
|
+
Agent Health works out-of-the-box with demo data. Configure when you're ready to connect your own agent:
|
|
98
189
|
|
|
99
|
-
**For LLM Judge evaluation** (uses AWS Bedrock):
|
|
100
190
|
```bash
|
|
101
|
-
#
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
# Add AWS credentials
|
|
105
|
-
AWS_REGION=us-east-1
|
|
106
|
-
AWS_ACCESS_KEY_ID=your_access_key
|
|
107
|
-
AWS_SECRET_ACCESS_KEY=your_secret_key
|
|
191
|
+
# Generate a config file with examples
|
|
192
|
+
npx @opensearch-project/agent-health init
|
|
108
193
|
```
|
|
109
194
|
|
|
110
|
-
**For your own agent** - create `agent-health.config.ts`:
|
|
111
195
|
```typescript
|
|
196
|
+
// agent-health.config.ts
|
|
112
197
|
export default {
|
|
113
198
|
agents: [
|
|
114
199
|
{
|
|
@@ -117,234 +202,69 @@ export default {
|
|
|
117
202
|
endpoint: "http://localhost:8000/agent",
|
|
118
203
|
connectorType: "rest", // or "agui-streaming", "subprocess"
|
|
119
204
|
models: ["claude-sonnet-4"],
|
|
205
|
+
useTraces: true, // Enable OpenTelemetry trace collection
|
|
120
206
|
}
|
|
121
207
|
],
|
|
122
208
|
};
|
|
123
209
|
```
|
|
124
210
|
|
|
125
|
-
**
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
## Development Commands
|
|
130
|
-
|
|
131
|
-
| Command | Description |
|
|
132
|
-
|---------|-------------|
|
|
133
|
-
| `npm install` | Install dependencies |
|
|
134
|
-
| `npm run dev` | Start frontend dev server (port 4000) |
|
|
135
|
-
| `npm run dev:server` | Start backend server (port 4001) |
|
|
136
|
-
| `npm run build` | TypeScript compile + Vite production build |
|
|
137
|
-
| `npm test` | Run all tests |
|
|
138
|
-
| `npm run test:unit` | Run unit tests only |
|
|
139
|
-
| `npm run test:integration` | Run integration tests only |
|
|
140
|
-
| `npm run test:e2e` | Run E2E tests with Playwright |
|
|
141
|
-
| `npm run test:e2e:ui` | Run E2E tests with Playwright UI |
|
|
142
|
-
| `npm run test:all` | Run all tests (unit + integration + e2e) |
|
|
143
|
-
| `npm test -- --coverage` | Run tests with coverage report |
|
|
144
|
-
| `npm run build:all` | Build UI + server + CLI |
|
|
145
|
-
| `npm run build:cli` | Build CLI only |
|
|
146
|
-
|
|
147
|
-
### Production Mode
|
|
148
|
-
|
|
149
|
-
```bash
|
|
150
|
-
npm run server # Build UI + start single server on port 4001
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
Open http://localhost:4001
|
|
154
|
-
|
|
155
|
-
### NPX Usage
|
|
156
|
-
|
|
157
|
-
After publishing, run directly with npx:
|
|
158
|
-
|
|
159
|
-
```bash
|
|
160
|
-
npx @opensearch-project/agent-health # Start server on port 4001
|
|
161
|
-
npx @opensearch-project/agent-health --port 8080
|
|
162
|
-
npx @opensearch-project/agent-health --env-file .env
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
### Ports Summary
|
|
211
|
+
> **Tip:** Run `npx @opensearch-project/agent-health doctor` to verify your configuration is loaded correctly.
|
|
166
212
|
|
|
167
|
-
|
|
168
|
-
|------|---------|---------|
|
|
169
|
-
| **Dev (frontend)** | `npm run dev` | 4000 |
|
|
170
|
-
| **Dev (backend)** | `npm run dev:server` | 4001 |
|
|
171
|
-
| **Production** | `npm run server` | 4001 |
|
|
172
|
-
| **NPX** | `npx @opensearch-project/agent-health` | 4001 (default) |
|
|
173
|
-
|
|
174
|
-
In development, the Vite dev server (4000) proxies `/api` requests to the backend (4001).
|
|
213
|
+
For full configuration options including authentication hooks and environment variables, see [CONFIGURATION.md](./docs/CONFIGURATION.md).
|
|
175
214
|
|
|
176
215
|
---
|
|
177
216
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
AgentEval uses a comprehensive test suite with three layers:
|
|
181
|
-
|
|
182
|
-
### Test Types
|
|
183
|
-
|
|
184
|
-
| Type | Location | Command | Description |
|
|
185
|
-
|------|----------|---------|-------------|
|
|
186
|
-
| **Unit** | `tests/unit/` | `npm run test:unit` | Fast, isolated function tests |
|
|
187
|
-
| **Integration** | `tests/integration/` | `npm run test:integration` | Tests with real backend server |
|
|
188
|
-
| **E2E** | `tests/e2e/` | `npm run test:e2e` | Browser-based UI tests with Playwright |
|
|
189
|
-
|
|
190
|
-
### Running Tests
|
|
191
|
-
|
|
192
|
-
```bash
|
|
193
|
-
# All tests
|
|
194
|
-
npm test # Unit + integration
|
|
195
|
-
npm run test:all # Unit + integration + E2E
|
|
196
|
-
|
|
197
|
-
# By type
|
|
198
|
-
npm run test:unit # Unit tests only
|
|
199
|
-
npm run test:integration # Integration tests (starts server)
|
|
200
|
-
npm run test:e2e # E2E tests (starts servers)
|
|
201
|
-
npm run test:e2e:ui # E2E with Playwright UI for debugging
|
|
202
|
-
|
|
203
|
-
# With coverage
|
|
204
|
-
npm run test:unit -- --coverage
|
|
205
|
-
|
|
206
|
-
# Specific file
|
|
207
|
-
npm test -- path/to/file.test.ts
|
|
208
|
-
npx playwright test tests/e2e/dashboard.spec.ts
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
### E2E Testing with Playwright
|
|
212
|
-
|
|
213
|
-
E2E tests use [Playwright](https://playwright.dev/) to test the UI in a real browser.
|
|
214
|
-
|
|
215
|
-
```bash
|
|
216
|
-
# First time: install browsers
|
|
217
|
-
npx playwright install
|
|
218
|
-
|
|
219
|
-
# Run all E2E tests
|
|
220
|
-
npm run test:e2e
|
|
221
|
-
|
|
222
|
-
# Interactive UI mode (recommended for debugging)
|
|
223
|
-
npm run test:e2e:ui
|
|
224
|
-
|
|
225
|
-
# View test report
|
|
226
|
-
npm run test:e2e:report
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
**Writing E2E Tests:**
|
|
230
|
-
- Place tests in `tests/e2e/*.spec.ts`
|
|
231
|
-
- Use `data-testid` attributes for reliable selectors
|
|
232
|
-
- Handle empty states gracefully (check if data exists before asserting)
|
|
233
|
-
- See existing tests for patterns
|
|
234
|
-
|
|
235
|
-
### CI Pipeline
|
|
236
|
-
|
|
237
|
-
All PRs must pass these CI checks:
|
|
238
|
-
|
|
239
|
-
| Job | What it checks |
|
|
240
|
-
|-----|----------------|
|
|
241
|
-
| `build-and-test` | Build + unit tests + 90% coverage |
|
|
242
|
-
| `lint-and-typecheck` | TypeScript compilation |
|
|
243
|
-
| `license-check` | SPDX headers on all source files |
|
|
244
|
-
| `integration-tests` | Backend integration tests with coverage |
|
|
245
|
-
| `e2e-tests` | Playwright browser tests with pass/fail tracking |
|
|
246
|
-
| `security-scan` | npm audit for vulnerabilities |
|
|
247
|
-
| `test-summary` | Consolidated test results summary |
|
|
248
|
-
|
|
249
|
-
### Coverage Thresholds
|
|
250
|
-
|
|
251
|
-
| Test Type | Metric | Threshold |
|
|
252
|
-
|-----------|--------|-----------|
|
|
253
|
-
| Unit | Lines | ≥ 90% |
|
|
254
|
-
| Unit | Branches | ≥ 80% |
|
|
255
|
-
| Unit | Functions | ≥ 80% |
|
|
256
|
-
| Unit | Statements | ≥ 90% |
|
|
257
|
-
| Integration | Lines | Informational (no threshold) |
|
|
258
|
-
| E2E | Pass Rate | 100% |
|
|
259
|
-
|
|
260
|
-
### CI Artifacts
|
|
217
|
+
<a id="star-history"></a>
|
|
218
|
+
## Star History
|
|
261
219
|
|
|
262
|
-
|
|
220
|
+
If you find Agent Health useful, please consider giving us a star! Your support helps us grow our community and continue improving the project.
|
|
263
221
|
|
|
264
|
-
|
|
265
|
-
|----------|----------|
|
|
266
|
-
| `coverage-report` | Unit test coverage (HTML, LCOV) |
|
|
267
|
-
| `integration-coverage-report` | Integration test coverage |
|
|
268
|
-
| `playwright-report` | E2E test report with screenshots/traces |
|
|
269
|
-
| `test-badges` | Badge data JSON for coverage visualization |
|
|
270
|
-
|
|
271
|
-
### Full Evaluation Flow E2E Tests
|
|
272
|
-
|
|
273
|
-
The E2E test suite includes tests for the complete evaluation flow using mock modes:
|
|
274
|
-
- **Demo Agent** (`mock://demo`) - Simulated AG-UI streaming responses
|
|
275
|
-
- **Demo Model** (`provider: "demo"`) - Simulated LLM judge evaluation
|
|
276
|
-
|
|
277
|
-
This allows testing the full Create Test Case → Create Benchmark → Run Evaluation → View Results flow without requiring AWS credentials or a live agent in CI.
|
|
222
|
+
[](https://github.com/opensearch-project/agent-health)
|
|
278
223
|
|
|
279
224
|
---
|
|
280
225
|
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
Agent Health supports multiple agent types:
|
|
284
|
-
|
|
285
|
-
| Agent | Endpoint Variable | Setup |
|
|
286
|
-
|-------|-------------------|-------|
|
|
287
|
-
| Langgraph | `LANGGRAPH_ENDPOINT` | Simple localhost agent |
|
|
288
|
-
| HolmesGPT | `HOLMESGPT_ENDPOINT` | AG-UI compatible RCA agent |
|
|
289
|
-
| ML-Commons | `MLCOMMONS_ENDPOINT` | See [ML-Commons Setup](./docs/ML-COMMONS-SETUP.md) |
|
|
226
|
+
<a id="contributing"></a>
|
|
227
|
+
## Contributing
|
|
290
228
|
|
|
229
|
+
We welcome contributions! There are many ways to get involved:
|
|
291
230
|
|
|
292
|
-
|
|
231
|
+
- [Report a Bug](https://github.com/opensearch-project/agent-health/issues/new/choose) — Found something broken? Let us know
|
|
232
|
+
- [Request a Feature](https://github.com/opensearch-project/agent-health/issues/new/choose) — Have an idea? We'd love to hear it
|
|
233
|
+
- [Submit a Pull Request](https://github.com/opensearch-project/agent-health/pulls) — Code contributions are always welcome
|
|
234
|
+
- [Join the Discussion](https://opensearch.org/slack.html) — Chat with us on the OpenSearch Slack
|
|
293
235
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
Enable verbose debug logging to diagnose issues:
|
|
236
|
+
### Development Quick Start
|
|
297
237
|
|
|
298
238
|
```bash
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
239
|
+
git clone https://github.com/opensearch-project/agent-health.git
|
|
240
|
+
cd agent-health
|
|
241
|
+
npm install
|
|
242
|
+
npm run dev # Frontend on port 4000
|
|
243
|
+
npm run dev:server # Backend on port 4001
|
|
304
244
|
```
|
|
305
245
|
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
---
|
|
246
|
+
All commits require DCO signoff (`git commit -s`) and all PRs must pass CI checks.
|
|
309
247
|
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
| Issue | Solution |
|
|
313
|
-
|-------|----------|
|
|
314
|
-
| Cannot connect to backend | Run `npm run dev:server`, check `curl http://localhost:4001/health` |
|
|
315
|
-
| AWS credentials expired | Refresh credentials in `.env` |
|
|
316
|
-
| Storage/Traces not working | Check OpenSearch endpoint and credentials in `.env` |
|
|
317
|
-
| Need verbose logs | Set `DEBUG=true` in `.env` or toggle in Settings page |
|
|
248
|
+
For detailed development setup, testing, CI pipeline, debugging, and troubleshooting, see the [Developer Guide](./DEVELOPER_GUIDE.md). For full contribution guidelines, see [CONTRIBUTING.md](./CONTRIBUTING.md).
|
|
318
249
|
|
|
319
250
|
---
|
|
320
251
|
|
|
321
|
-
##
|
|
322
|
-
|
|
323
|
-
We welcome contributions! See [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines.
|
|
324
|
-
|
|
325
|
-
### Development Workflow
|
|
326
|
-
|
|
327
|
-
1. Fork and clone the repository
|
|
328
|
-
2. Install dependencies: `npm install`
|
|
329
|
-
3. Create a feature branch: `git checkout -b feature/your-feature`
|
|
330
|
-
4. Make changes and add tests
|
|
331
|
-
5. Run tests: `npm test`
|
|
332
|
-
6. Commit with DCO signoff: `git commit -s -m "feat: your message"`
|
|
333
|
-
7. Push and create a Pull Request
|
|
252
|
+
## Documentation
|
|
334
253
|
|
|
335
|
-
|
|
254
|
+
| Guide | Description |
|
|
255
|
+
|-------|-------------|
|
|
256
|
+
| [Getting Started](./GETTING_STARTED.md) | Step-by-step walkthrough from install to first evaluation |
|
|
257
|
+
| [Configuration](./docs/CONFIGURATION.md) | Connect your agent and configure the environment |
|
|
258
|
+
| [CLI Reference](./docs/CLI.md) | Command-line interface documentation |
|
|
259
|
+
| [Coding Agent Analytics](./docs/CODING_AGENT_ANALYTICS.md) | Multi-agent dashboard and remote server monitoring |
|
|
260
|
+
| [Observio Sample Agent](./observio-sample-agent/) | Reference agent for practicing evaluations |
|
|
261
|
+
| [Developer Guide](./DEVELOPER_GUIDE.md) | Development setup, testing, CI, debugging |
|
|
262
|
+
| [Connectors Guide](./docs/CONNECTORS.md) | Create custom connectors for your agent type |
|
|
263
|
+
| [Architecture](./docs/ARCHITECTURE.md) | System design and patterns |
|
|
264
|
+
| [ML-Commons Setup](./docs/ML-COMMONS-SETUP.md) | OpenSearch ML-Commons integration |
|
|
336
265
|
|
|
337
266
|
---
|
|
338
267
|
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
- [Getting Started](./GETTING_STARTED.md) - Step-by-step walkthrough from install to first evaluation
|
|
343
|
-
- [Configuration](./docs/CONFIGURATION.md) - Connect your agent and configure the environment
|
|
344
|
-
- [CLI Reference](./docs/CLI.md) - Command-line interface documentation
|
|
345
|
-
|
|
346
|
-
### Developer Guides
|
|
347
|
-
- [Development Guide](./CLAUDE.md) - Architecture, coding conventions, and contributing
|
|
348
|
-
- [Connectors Guide](./docs/CONNECTORS.md) - Create custom connectors for your agent type
|
|
349
|
-
- [ML-Commons Setup](./docs/ML-COMMONS-SETUP.md) - OpenSearch ML-Commons integration
|
|
350
|
-
- [Architecture](./docs/ARCHITECTURE.md) - System design and patterns
|
|
268
|
+
<p align="center">
|
|
269
|
+
Made with care by the <a href="https://opensearch.org">OpenSearch</a> community
|
|
270
|
+
</p>
|