Skip to content

edgestream/AI.Agents

Repository files navigation

AI.Agents

Conversational AG-UI web interface and backend server

image

Quickstart

Copy the application settings example into appsettings.Development.json in the repository root and configure exactly one provider:

{
  "OpenAI": {
    "ApiKey": "<your-api-key>",
    "Model": "<provider-model>"
  }
}

Start the services:

docker compose up --build

Open the frontend at http://localhost:3000.

Stop the services:

docker compose down

Development

Running local

For a native backend run, create src/Server/appsettings.Development.json or use user secrets, then start the backend:

dotnet run --project src/Server

The repository-root appsettings.Development.json is still used by docker compose via the mounted secret file.

Open another console and start the frontend:

cd src/Web
npm run dev

Remote AG-UI Agents

The backend can expose configured remote AG-UI agents as delegate tools for the primary clerk agent. Configure named agents under Agents:

{
  "Agents": {
    "news": {
      "Protocol": "AGUI",
      "Endpoint": "http://localhost:8888",
      "Description": "Mock news agent that returns structured Fake News stories."
    }
  }
}

Run the mock news agent locally in a separate console:

dotnet run --project samples/Fake-News

The sample also includes Kubernetes manifests in samples/Fake-News/deploy/k8s.

Running tests

Tests are grouped into categories to make it easy to run only what you need:

Category Description
(default) Unit and fake-backed integration tests — no external services required.
ExternalDependency Tests that require a running stack, internet access, or other external systems.
Live Tests that call real websites or cloud services instead of local fakes.

Run tests which don't need an internet connection or external services:

# Run all default tests:
dotnet test --filter "TestCategory!=ExternalDependency&TestCategory!=Live"

End-to-end tests use Playwright. We have to install a headless browser first (once):

tests/E2ETests/bin/Debug/net10.0/playwright.ps1 install --with-deps chromium

These tests are black-box tests - no server is started or managed by the test project. The full stack (frontend + backend) must be running before executing the tests:

# Against the local stack:
dotnet test tests/E2ETests

# Against a remote environment:
E2E_BASE_URL=https://staging.example.com dotnet test tests/E2ETests

When a test fails a trace zip is automatically saved next to the test assembly and you can open it in the Playwright Trace Viewer:

npx playwright show-trace tests/E2ETests/bin/Debug/net10.0/traces/ChatPage_CanSendMessage_ReceivesResponse.zip

Deployment

Deployment documentation is split by service:

About

Agentic application development framework (.NET)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors