strands-agents/harness-sdk

Build an agent harness and control it end-to-end. Open-source SDK for production AI agents in Python & TypeScript - any model, any cloud.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 50 minutes ago
Added to GitGenius on December 14th, 2025
Created on May 14th, 2025
Open Issues & Pull Requests: 692 (+1)
GitHub issues: Enabled
Number of forks: 1,080
Total Stargazers: 7,105 (+1)
Total Subscribers: 49 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.6 days
Mean response time: 23.6 days
90th percentile: 74.1 days
Tracked items: 1,269

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 71% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "bug" is answered fastest, typically in about 34 hours, while "ready for contribution" waits about 9 days. Almost all tracked open issues have seen activity in the last three months. Only 4% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 516
New in 7 days: 32
Closed in 7 days: 30
Avg open age: 127 days
Stale 30+ days: 382
Stale 90+ days: 34

Recent activity

Opened in 7 days: 23
Closed in 7 days: 16
Comments in 7 days: 16
Events in 7 days: 115

Top labels

  • python (846)
  • enhancement (817)
  • bug (498)
  • area-model (198)
  • typescript (164)
  • area-tool (121)
  • ready for contribution (92)
  • area-context (91)

Detailed Description

The harness-sdk repository is a monorepo containing the Strands Agents SDK, an open-source framework for building and deploying production AI agents in Python and TypeScript. The project takes a model-driven approach to agent development, allowing developers to create agents with minimal code while maintaining full control over execution and behavior. The repository is organized into distinct directories: the Python SDK under strands-py, the TypeScript SDK under strands-ts, a developer CLI called strandly, documentation infrastructure in the site directory, and governance materials in the team directory.

The core value proposition centers on flexibility and control. The framework supports any large language model and any cloud provider, with first-class integrations for Amazon Bedrock, Anthropic, OpenAI, and Gemini, plus additional providers and custom implementations. Developers can swap between backends without changing their application code. Built-in features include context management, execution limits, observability, streaming support, structured output, MCP protocol support, and multi-agent patterns. The agent loop traces every decision by default, and developers can intercept any step through hooks for logging, validation, or redirection.

The Python SDK requires Python 3.10 or later and is distributed via PyPI as the strands-agents package. The TypeScript SDK requires Node.js 20 and is available on npm as @strands-agents/sdk. Both SDKs default to Amazon Bedrock as the model provider, though the documentation covers configuration for alternative providers including Ollama for local development. The TypeScript implementation includes Zod-typed tools and structured output capabilities alongside the core agent loop functionality.

GitGenius activity data reveals substantial development momentum and community engagement. The most active labels are enhancement with 602 items, bug with 370 items, and python with 223 items, reflecting ongoing feature development and maintenance.

The repository emphasizes production readiness through guardrails that catch mistakes before execution and steering handlers that allow agents to self-correct rather than fail silently. The documentation site, built with Astro and Starlight, provides comprehensive guidance including a quickstart guide, agent loop concepts, examples, API references for both languages, and a production deployment guide. The project maintains a Discord community for user engagement and team interaction.

Development is coordinated from the repository root with git operations, while each package maintains its own toolchain and release cycle. The framework is designed to scale from simple conversational assistants to complex autonomous workflows, supporting both local development and production deployment scenarios.