John Kennedy
9db7eab134
feat: Add Corridor MCP analyzePlan integration ( #1572 )
...
* Add Corridor MCP analyzePlan integration
* Update agent/integrations/corridor_mcp.py
Co-authored-by: open-swe[bot] <215916821+open-swe[bot]@users.noreply.github.com>
* Add Corridor analysis prompt
* Only include Corridor prompt when tool loads
---------
Co-authored-by: open-swe[bot] <215916821+open-swe[bot]@users.noreply.github.com>
2026-06-18 14:01:25 -07:00
Johannes du Plessis
f539962c73
feat: server-side Datadog/LangSmith observability tools + team creds [closes OPE-54] ( #1476 )
...
* feat: server-side Datadog/LangSmith observability tools + team creds
Add team-wide observability credential settings (Datadog DD_SITE/API/APP
keys, LangSmith API key) stored encrypted server-side, with an admin
dashboard section to connect/disconnect each provider. When connected,
get_agent loads read-only observability tools server-side: Datadog via its
hosted MCP server (langchain-mcp-adapters, toolsets=core) and LangSmith
read tools (langsmith_get_trace, langsmith_list_runs). Credentials live in
the LangGraph server process and are never exposed to the sandbox.
Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
* fix: address review on observability tools
Address PR review feedback:
- Authorize observability tools per triggering user (admins + the
OBSERVABILITY_AUTHORIZED_EMAILS allowlist) so prompt-injected runs from
untrusted contributors can't reach team Datadog/LangSmith data.
- Use the documented Datadog MCP auth headers DD_API_KEY / DD_APPLICATION_KEY.
- Store each provider's credentials under its own store key to avoid a
read-modify-write race dropping the other provider on concurrent saves.
Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
* fix: async email resolution in observability authorization gate
---------
Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
2026-06-10 11:07:42 -07:00
Johannes du Plessis
0a7fae60cd
docs: document dashboard + refresh local dev setup ( #1376 )
...
* docs: document dashboard + refresh local dev setup in INSTALLATION
- add the web dashboard (ui/) and its FastAPI backend API to the setup flow
- document dashboard-login OAuth (GITHUB_APP_CLIENT_ID/SECRET, second callback
URL) as distinct from the LangSmith-brokered agent-runtime OAuth
- add new env vars: DASHBOARD_API_BASE_URL/BASE_URL/JWT_SECRET/ALLOWED_ORIGINS,
CONFIGURED_ADMINS, X_SERVICE_AUTH_JWT_SECRET, LANGGRAPH_URL, SANDBOX_TYPE,
REVIEWER_OUTCOMES_DATASET, PUBLIC_REPO_ORG_GATE, SLACK_CLIENT_ID/SECRET/TEAM_ID,
SLACK_REPO_OWNER/NAME
- add "Sign in with Slack" OIDC account-linking setup
- rewrite local dev: make dev serves 3 graphs + FastAPI on :2024; new step for
running the UI (bun) on :3000, incl. the required DASHBOARD_ALLOWED_ORIGINS
CORS setting and cookie wiring
- correct production langgraph.json to three graphs; document Vercel UI deploy
- add dashboard verify + troubleshooting sections
- README: dashboard feature bullet + updated install blurb
* docs: clarify dashboard API setup
Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
---------
Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
2026-06-02 15:55:35 -07:00
Johannes du Plessis
96774f20ae
feat: move github workflows to gh cli ( #1238 )
...
* feat: move github workflows to gh cli
Use LangSmith proxy auth to support gh-driven GitHub workflows while removing custom GitHub wrapper tools.
* docker ignore + snapshot and docker image updates
* updated image and instructions
* removing open_pr if needed after agent call
2026-05-04 18:03:53 -07:00
Johannes du Plessis
448be4a466
feat(open-swe): Default to GPT-5.5 medium reasoning ( #1224 )
...
* feat: default to GPT-5.5 medium reasoning
Use OpenAI GPT-5.5 with medium reasoning as the default model and document the completion-token budget semantics for reasoning models.
* fix: use Responses API reasoning config
Pass GPT-5.5 reasoning settings through LangChain's Responses API parameter instead of the Chat Completions-only reasoning_effort field.
* feat: raise GPT-5.5 output budget
Set the default GPT-5.5 output token budget to the model maximum so long-running coding tasks have more room for reasoning and final responses.
* feat: align recursion limit with Deep Agents
Use Deep Agents' default recursion limit so longer coding runs have room to complete without Open SWE imposing a lower cap.
* chore: remove minimal effort level
* chore: reduce max tokens to 64_000
---------
Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
2026-04-28 15:03:21 -07:00
Aran Yogesh
2039fe6660
feat: stop auto-cloning and let agent manage repo setup [closes OPE-21] ( #1159 )
...
* feat: authenticate git operations via sandbox proxy instead of credential files
* feat: authenticate git operations via sandbox proxy instead of credential files
* feat: authenticate git operations via sandbox proxy instead of credential files
* removing logger.info
* formatting and linting
* fix: resolve lint errors in server.py (imports, unused vars, undefined names)
* feat: use opaque proxy headers for GitHub auth in sandbox
* linting formatting and test changes
* linting
* Delete .claude directory
* Delete tests/evals directory
* fix: address PR review — guard missing tokens, quote shell paths, add proxy auth tests
* fix: restore authorship, branch_name support, and installation token for PR creation
* linitng
* fix: move installation token fetch before commit, clean up dead proxy validation code
* feat: stop auto-cloning and let agent manage repo setup [closes OPE-21]
* feat: stop auto-cloning and let agent manage repo setup [closes OPE-21]
* fix: address review feedback — restore agents_md, add git user config, lint fixes
* fix: drop github_token arg from sandbox creation, use generic create_sandbox factory with langsmith-only proxy config
* fix: use _get_langsmith_api_key() for prod key fallback, warn when API key missing for proxy config
* linting
* linting
* feat: add installation token auth to list_repos GitHub API call
* agents.md update
* linting
* fix: address PR review feedback — shell precedence bug in prompt, remove dead code
* linting
* Apply suggestion from @bracesproul
Co-authored-by: Brace Sproul <braceasproul@gmail.com>
* Apply suggestion from @bracesproul
Co-authored-by: Brace Sproul <braceasproul@gmail.com>
* fix: address PR review feedback — restore {working_dir} in prompt, remove clone code block
* fix:Extract check_or_recreate_sandbox utility from inline sandbox health check
* fix: address PR review feedback — async list_repos, restore template name, fix prompt colon
* fix: resolve merge conflicts with main, adopt deepagents v0.5.0a4 LangSmithSandbox
* linting
* yogesh/ope-21-stop-auto-cloning
* Update agent/tools/list_repos.py
Co-authored-by: Brace Sproul <braceasproul@gmail.com>
* Update agent/prompt.py
Co-authored-by: Brace Sproul <braceasproul@gmail.com>
* feat: address PR review — list_repos uses GitHub API only, PR trigger includes org/repo
* linting
* feat: address PR review feedback — list_repos pagination, simpler return, sandbox health check
* feat: support listing repos for personal user accounts via is_organization flag
---------
Co-authored-by: Brace Sproul <braceasproul@gmail.com>
2026-04-10 17:04:55 -07:00
Brace Sproul
0d8647c2cd
fix: Revert dummy readme change ( #1132 )
2026-03-25 13:35:11 -07:00
Brace Sproul
4cfe2fd8a5
chore: dummy readme change to test committing workflow ( #1130 )
...
* chore: dummy readme change to test committing workflow
Co-authored-by: Brace Sproul <46789226+bracesproul@users.noreply.github.com>
* cr
---------
Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
2026-03-25 13:34:08 -07:00
Mason Daugherty
d524e3ba92
chore: add badges and tagline to readme header ( #1069 )
...
* Add badges, tagline, and ecosystem links to README header
* Match README header syntax exactly to langchain-ai/langchain repo style
* Apply suggestion from @mdrxy
Co-authored-by: Mason Daugherty <github@mdrxy.com>
---------
Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
Co-authored-by: Brace Sproul <braceasproul@gmail.com>
2026-03-17 18:25:48 +00:00
Brace Sproul
633d80bf0e
fix: Add back logo to readme ( #1068 )
2026-03-17 10:41:41 -07:00
Brace Sproul
82e2bcc94b
chore: Update announcement blog post link in README ( #1067 )
2026-03-17 10:38:51 -07:00
Harrison Chase
5c493ea1c7
cr
2026-03-07 13:24:10 -08:00
aran-yogesh
abd26fbbaf
readme updates
2026-03-06 15:21:38 -08:00
aran-yogesh
229cc08713
readme update
2026-03-06 15:06:16 -08:00
Aran Yogesh
86ea40e04f
Update README.md
...
Co-authored-by: Brace Sproul <braceasproul@gmail.com>
2026-03-06 14:56:12 -08:00
aran-yogesh
75bc943ac5
order update instructions
2026-03-06 14:47:05 -08:00
aran-yogesh
a6d05a86b2
lineaer webhook update instructions
2026-03-06 14:36:26 -08:00
aran-yogesh
1d19c05b7e
chore: readme update
2026-03-06 14:23:29 -08:00
Open SWE Bot
f154609351
docs: Add repository deprecation warning to README
...
This repository is no longer actively maintained and will not receive further updates. Added a prominent warning notice at the top of the README to inform users that the project has been deprecated.
2026-01-26 01:01:16 +00:00
Open SWE Bot
db8adf2be2
feat: Add deprecation warning for open-swe-max labels
...
- Add deprecation warning in webhook handler when max labels are used
- Update documentation to indicate open-swe-max labels are deprecated
- Recommend users switch to standard open-swe labels with Opus 4.5
- Update README, best-practices.mdx, github.mdx, and prompts.ts
- Max labels still functional but now log deprecation warnings
2026-01-26 00:56:50 +00:00
Lauren Hirata Singh
bfb2ab7bcc
Fix links and improve README content ( #859 )
...
Updated docs links in README.md for accuracy and clarity.
2025-11-13 18:39:29 -08:00
Brace Sproul
8af9ae9e76
docs: Add blog and video links to readme ( #687 )
2025-08-06 10:48:22 -07:00
Brace Sproul
a7f726df00
feat: Opus 4.1 support, switch default open-swe-max to Opus 4.1 ( #678 )
2025-08-05 10:34:26 -07:00
Brace Sproul
68be0e816d
fix: readme title wording ( #668 )
2025-08-05 00:38:21 +00:00
Brace Sproul
cc127000ab
fix: info -> note readme ( #666 )
2025-08-05 00:02:24 +00:00
Brace Sproul
700bbf20f5
chore: add proper jsonwebtoken deps ( #659 )
...
* deps: add proper jsonwebtoken deps
* cr
2025-08-04 13:31:59 -07:00
open-swe[bot]
2c774ee517
feat: Add Max Mode Labels with Claude Opus 4 Support ( #577 )
...
* Apply patch
* Apply patch
* Apply patch
* Apply patch
* Apply patch
* Apply patch
* Apply patch
* Apply patch
* Apply patch
* Apply patch
* cr
---------
Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
Co-authored-by: bracesproul <braceasproul@gmail.com>
2025-07-28 16:33:12 -07:00
Brace Sproul
8e5414ce2b
fix: Typo in readme ( #566 )
2025-07-28 18:27:21 +00:00
Brace Sproul
f61ea79b13
chore: Cleanup readme ( #532 )
...
* chore: Cleanup readme
* cr
* cr
* cr
* cr
* cr
2025-07-25 16:46:52 +00:00
Aliyan Ishfaq
f822fda82d
feat: Added LLM fallback ( #433 )
...
* prompt changes and eval fix
* prompt deletions reverted
* formatting
* chore: code cleaning
* feat: add LangGraph evaluation support
* fix: py lg check logging fix
* chore: code cleaning
* dataset added
* chore: code cleaning
* chore: code cleaning
* Readme changes
* feat: LLM fallback added
* feat: add llm fallback
* chore: code cleaning
* chore: code cleaning
* chore: code cleaned
* feat: llm fallback in runtime
* fix: build errors
* refactor: FallbackRunnable now extends ConfigurableModel
* Readme update
* feat: llm as a judge script added
* chore: code formatted
* fix: use GA gemini models instead of preview
* fix: type improvements
* feat: added skeleton for tool py-dev-server
* fix: code cleaning & type improvements
* fix: code cleaning
* cr
---------
Co-authored-by: bracesproul <braceasproul@gmail.com>
2025-07-21 15:54:55 -07:00
Brace Sproul
cf81583473
fix: Cleanup readme, small changes to docs ( #458 )
...
* fix: Cleanup readme, small changes to docs
* add formatter to docs
* cr
* cr
* cr
* cr
* cr
* cr
* cr
2025-07-21 21:12:55 +00:00
Brace Sproul
abc984409f
refactor: Proxy req utils, rename GITHUB_TOKEN_ENCRYPTION_KEY to SECRETS_ENCRYPTION_KEY ( #391 )
...
* refactor: Proxy req utils, rename GITHUB_TOKEN_ENCRYPTION_KEY to SECRETS_ENCRYPTION_KEY
* cr
2025-07-11 10:48:14 -07:00
Brace Sproul
38dc6ebdf4
fix: Improve DX for getting port for agent ( #221 )
...
* fix: Improve DX for getting port for agent
* docs
2025-06-18 18:58:15 +00:00
Brace Sproul
1d0a1cce6f
feat: Clone, commit and push as bot, not user ( #174 )
2025-06-15 13:41:32 -07:00
Brace Sproul
fda6529419
feat(open-swe): encrypt GitHub tokens in proxy route to prevent exposure in LangGraph runs ( #160 )
...
* Apply patch
* Apply patch
* Apply patch
* Apply patch
* Apply patch
* cr
* docs
2025-06-15 12:37:31 -07:00
Brace Sproul
bf72e1faf7
feat: GitHub e2e auth ( #106 )
...
* feat: GitHub e2e auth
* cr
* reimplement proxy route
* fix github auth
* cr
* cr
* cr
* cr
* cr
2025-06-11 21:00:08 +00:00
Brace Sproul
8afe1e6803
feat: Update chat UI to be Open SWE specific ( #76 ) ( #91 )
...
* init repo-selector
* add branch selector UI, extend GH hook w branch info
* add reconnectOnMount: true resumeStream, remove repo description from selector, fix styling
* styling repo + branch
* udpate getBranch calls to include targetRepo arg
* format
* add search to repo + branch selectors
* add settings icon link to /github for dev convenience
* add default branch selection
* format
* minor cleanup
* init task list UI demo
* individual task component
* tasks real data
* task visual improvement
* persisting tasks, navigate to thread onClick
* task UI
* TaskSidebar, Navigate to tasks
* org tasks by thread
* group by thread
* improve sidebar, task-list, rm github modal on refresh
* collapse sidebar works when viewing a thread
* remove micro-tasks expansion from threads component, change taskId to taskIndex for persistence + simplicity
* init config sidebar ui
* open and close config sidebar
* add ref for getAllTasks + add graph_id metadata
* format
* create threadItem component
* format
* add threadUtils
* centralize + refactor types
* format
* improve thread status, realtime updates
* fix scroll issue
* remove temperature from config-sidebar
* Change model via sidebar
* fix flashing on updates
* init plan UI
* centralize types
* self CR: refactoring, cleanup, remove comments, add todos
* CR: clean comments + logs, fix repo selector bug
* fix: Update example env file in web (#77 )
* disable auto scroll on pageload
* reposelector: use default branch not main master
* remove archived tab temp, default branch listed first in branchSelector dropdown
* auto select first repo
* improve status indicator
* refactor status indicator
* simplify status implementation to use Langgraph
* util moved from provider to thread-utils
* linting, improve task completion logic
* feat: Support followup requests (#60 )
* feat: Support followup requests
* cr
* cr
* fix
* account for pr already exists
* remove task provider
* fix: Better prompting and context provided for codebase structure awareness (#85 )
* fix: Better prompting and context provided for codebase structure awareness
* cr
* linting + skeleton loader
* fix: branch selector, add github api pagination
* small branch update
* update task completion status realtime
* threadItem stream remove flashing/polling
* feat: Create a shared package (#89 )
* feat: Create a shared package
* formatting
* fix: drop passing target repo to getBranchName
* drop docs
* use shared package for config fields in config sidebar
* fix: styling and structure for repo/branch selectors
* fix: use shared types/objects for config fields
* default key for configs
* fix: improved styling for threads
* fix renering num tasks
* disable repo branch selector when chat started
* cr
* cr
* bump deps
* fix: rendering plan in interrupt
* cr
* cr
---------
Co-authored-by: Dylan Boudro <121908331+starmorph@users.noreply.github.com>
2025-06-09 00:29:40 +00:00
Brace Sproul
887fc030a4
feat(agent-generated): Add github oauth ( #63 )
...
* Apply patch
* Apply patch
* Apply patch
* Apply patch
* Apply patch
* Apply patch
* Apply patch
* Apply patch
* Apply patch
* Apply patch
* Apply patch
* Apply patch
* format and lint
* fix ui
* Apply patch (#68 )
Co-authored-by: Harrison Chase <11986836+hwchase17@users.noreply.github.com>
* fix: Github auth
* update readme
* cr
* cr
* cr
* cr
---------
Co-authored-by: Harrison Chase <11986836+hwchase17@users.noreply.github.com>
Co-authored-by: Harrison Chase <hw.chase.17@gmail.com>
2025-06-02 01:30:29 +00:00
Ivan Dagelic
65b68a1a42
feat: daytona sandboxes ( #59 )
...
* feat: daytona sandboxes
Signed-off-by: Ivan Dagelic <dagelic.ivan@gmail.com>
* fix: change daytona snapshot namespace
Signed-off-by: Ivan Dagelic <dagelic.ivan@gmail.com>
* update yarn.lock and run formatter
---------
Signed-off-by: Ivan Dagelic <dagelic.ivan@gmail.com>
Co-authored-by: Brace Sproul <braceasproul@gmail.com>
2025-05-30 15:59:14 -07:00
Brace Sproul
d87da9a356
feat: Add new instructions in readme ( #49 )
2025-05-29 21:03:57 +00:00
Brace Sproul
8f00f90289
chore: Add warning to readme ( #48 )
2025-05-29 13:43:12 -07:00
Brace Sproul
c6d867e1a7
feat: Monorepo ( #22 )
...
* feat: Monorepo
* cr
* cr
2025-05-26 13:02:51 -07:00
Brace Sproul
fd0d50be26
fix: Docs and scripts ( #15 )
...
* fix: Docs and scripts
* cr
* fix: better err handling
* cr
2025-05-23 16:43:14 -07:00
bracesproul
e2415aee3f
init commit
2025-05-21 14:47:56 -07:00