-
released this
2026-07-11 01:46:24 -05:00 | 245 commits to main since this release📅 Originally published on GitHub: Sat, 11 Jul 2026 06:59:10 GMT
🏷️ Git tag created: Sat, 11 Jul 2026 06:46:24 GMTFeatures
-
External coding agents over ACP (#360 by @JackChen-me). OMA can now orchestrate an external coding agent over the Agent Client Protocol as a first-class team member, alongside LLM agents in the same task DAG. Declare an agent with
backend: { kind: 'acp', ... }and it runs a local coding CLI (for example Claude Code via the official@agentclientprotocol/claude-agent-acpadapter) instead of an LLM, sharing the same shared memory, cascade-on-failure, and token budget as any other agent. See docs/external-agents.md. -
Orchestrator cost budget (#358 by @LambIessz). New
maxCostBudgetandestimateCoston orchestrator config let you set a user-defined spend cap. The estimator receives the effective model, provider, phase, and task id so you can price per model, and the cap is enforced acrossrunAgent,runTasks,runTeam, consensus, and synthesis, mirroring the existing token-budget boundaries. -
Per-agent scoped tool credentials (#362 by @JackChen-me). New
AgentConfig.credentialsis a per-agent secret bag threaded intoToolUseContext.credentials. Tool code readscontext.credentials?.SEARCH_API_KEYinstead of closing a single shared secret over every tool, so each agent holds only the credentials it was assigned. A compromised or misbehaving subagent no longer inherits the coordinator's full access. -
Secret redaction on the persistence path (#359 by @JackChen-me). Redaction previously stopped at the observability layer, so a secret an agent emitted into its answer was scrubbed in traces but written in the clear to shared memory and any on-disk checkpoint. The new
RedactingStore, aMemoryStoredecorator, redacts values at the single choke point every shared-memory and checkpoint write passes through, and is structure-aware for JSON so checkpoint snapshots stay valid with only secrets masked. Closes #339. -
MessageBus persisted in checkpoints (#363 by @LambIessz). Checkpoint and restore now carry MessageBus state (messages and per-agent read position), so a resumed run keeps its inter-agent message history. Live callback subscribers stay process-local and are not serialized. Closes #343.
-
Trace span parent linkage (#354 by @tlysanhuo). Every trace event now carries a
spanIdand optionalparentId, with stable agent span ids so LLM and tool spans point to their owning agent span, worker agents link under their task span, andplan_readylinks under the coordinator decomposition. A team run is now reconstructable as a proper span tree. Closes #340.
Fixes
- Windows: kill the full process tree on bash timeout (#357 by @Bobuyoucrypto). A timed-out
bashcommand on Windows now kills its full process tree withtaskkill /T /Fand returns promptly, instead of leaving background children alive and hanging until they exit on their own. Exit codes 124 (timeout) and 130 (abort) are reported authoritatively, and the suite now passes on Windows.
Install
npm install @open-multi-agent/core@1.10.0New project:
npm create oma-app@latest(scaffold updated to create-oma-app@0.3.1, which pins core 1.10.0).Thanks to @LambIessz, @tlysanhuo, @Bobuyoucrypto, and @JackChen-me.
Downloads
-
-
released this
2026-07-03 13:08:59 -05:00 | 259 commits to main since this release📅 Originally published on GitHub: Fri, 03 Jul 2026 18:11:55 GMT
🏷️ Git tag created: Fri, 03 Jul 2026 18:08:59 GMTFeatures
- Durable memory:
FileStore(#347 by @JackChen-me). A zero-dependency, filesystem-backedMemoryStore, so checkpoint/resume survives a process restart out of the box. Writes are atomic (temp file, fsync, rename) and reads come from an in-memory mirror; a corrupt state file fails loud instead of silently. Until now the only bundled store wasInMemoryStore, so durability meant writing your own. - Error-aware task retry (#346 by @JackChen-me). Retry (opt-in via
maxRetries > 0) now classifies failures:isRetryableError()skips provably-terminal errors (most 4xx, token-budget, aborted calls) instead of burning attempts, while 429, 5xx, network blips, and per-call timeouts still retry. Adds equal jitter and honors abort signals, on both streaming and non-streaming paths. - Per-call LLM timeout (#344 by @JackChen-me). New opt-in
AgentConfig.callTimeoutMs(and onCoordinatorConfig) bounds a singleadapter.chat()call, so one stalled request no longer hangs the whole run. Uniform across every adapter and surfaced asLLMCallTimeoutError, distinct from a deliberate abort or a real API error. Unset preserves current behavior exactly. - Run-level metrics on
TeamRunResult(#345 by @lesbass).TeamRunResultnow carries ametricsrollup (total tokens, retries, error/failure/completed counts, and task-latency aggregates) computed from per-task data, and the dashboard renders a matching summary bar. - Vercel AI SDK 7 support (#348 by @JackChen-me). The optional
aipeer range now spans^5 || ^6 || ^7, so you can use the AI SDK bridge on the latest release without peer-dependency warnings. No adapter code changes. The AI SDK 7 bridge needs Node >= 22 (core stays >= 18).
Docs
- Plan preview and replay guide, surfaced from both READMEs (#349 by @JackChen-me).
Install
npm install @open-multi-agent/core@1.9.0New project:
npm create oma-app@latestThanks to @lesbass and @JackChen-me.
Downloads
- Durable memory:
-
released this
2026-06-26 22:44:39 -05:00 | 266 commits to main since this release📅 Originally published on GitHub: Sat, 27 Jun 2026 03:46:41 GMT
🏷️ Git tag created: Sat, 27 Jun 2026 03:44:39 GMTPatch release with two install/runtime fixes.
Fixes
defaultModelnow reaches every agent, not just the coordinator. PreviouslyOrchestratorConfig.defaultModelonly applied to the coordinator pass. Workers,runAgent, delegated, and consensus agents never inherited it, so it was effectively dead for executing agents. They now inheritdefaultModelthe same way they already inheriteddefaultProvider,defaultBaseURL, anddefaultApiKey.AgentConfig.modelbecomes optional in an orchestrated run; a standalonenew Agent()still requires an explicit model and throws a clear error if it is missing. (#323)- Vercel AI SDK v6 is now supported. The optional
aipeer range widened from^5.0.0to^5.0.0 || ^6.0.0, so installs that pair the framework with AI SDK v6 (for example via@ai-sdk/react@3, which pullsai@6) no longer fail with ERESOLVE. The adapter works against both majors. (#324)
Docs
README and examples cleanups: clearer out-of-the-box vs peer-install provider guidance, a one-click Vercel deploy starter link, corrected example run paths after the reorg, and Ecosystem additions. (#320–#322, #325–#331)
Also republishes
create-oma-app@0.2.1(template pin bumped to core1.8.1).Downloads
-
released this
2026-06-19 13:31:19 -05:00 | 279 commits to main since this release📅 Originally published on GitHub: Fri, 19 Jun 2026 18:47:06 GMT
🏷️ Git tag created: Fri, 19 Jun 2026 18:31:19 GMTFeatures
- Checkpoint and resume (#294 by @mvanhorn, #314 by @JackChen-me). A long run can now survive a crash or restart. Persist progress to any
MemoryStorewithcheckpoint: trueonrunTeam/runTasks/runFromPlan, then resume withorchestrator.restore(...). On resume,runTeamre-runs coordinator synthesis so you still get a final answer, and checkpointing into the team's own shared-memory store no longer re-serializes the whole store per task. - Consensus verification reaches runTeam (#301 by @nuthalapativarun). The per-task judge loop from 1.7.0 now applies to coordinator-generated tasks. Pass the judges with
RunTeamOptions.verifyJudges, and the coordinator opts a task in withverify: trueor a partial config. - Native reasoning round-trip on Bedrock (#302 by @nuthalapativarun). Extended-thinking blocks round-trip through Bedrock's signature protocol with full fidelity, moving
echoesReasoningfromnevertoown-issued.
Fixes
- Dashboard: the run details panel is back to a right-hand sidebar on desktop instead of stacking under the canvas (#308 by @JackChen-me).
Onboarding and examples
npm create oma-appscaffolds a runnable multi-agent demo in one command (#305, #306 by @JackChen-me).- The full-app examples run end to end on a single DeepSeek key (#311 by @JackChen-me).
- New consensus pattern example (#297 by @nuthalapativarun).
Install
npm install @open-multi-agent/core@1.8.0
New project: npm create oma-app@latest
Thanks to @mvanhorn, @nuthalapativarun, and @JackChen-me.
Downloads
- Checkpoint and resume (#294 by @mvanhorn, #314 by @JackChen-me). A long run can now survive a crash or restart. Persist progress to any
-
released this
2026-06-14 22:08:24 -05:00 | 298 commits to main since this release📅 Originally published on GitHub: Mon, 15 Jun 2026 03:18:35 GMT
🏷️ Git tag created: Mon, 15 Jun 2026 03:08:24 GMT⚠️ Breaking: built-in tools are now opt-in / default-deny (#289 by @JackChen-me)
A no-tools agent used to receive every built-in implicitly, including an
unsandboxedbash. Tool output flows back to the model, so under prompt
injection that was a remotely triggerable exec + exfiltration path. Built-in
tools (bash,file_*,grep,glob,delegate_to_agent) now need a
positive grant: with neithertoolsnortoolPresetset, an agent resolves to
zero.Migrating:
- One-line restore of the old allow-all:
defaultToolPreset: 'full'onOrchestratorConfig. - Or grant per agent via
tools/toolPreset. - Custom tools (
customTools/addTool) are unaffected: registration is the grant, anddisallowedToolsis still honored.
Features
- Consensus / adversarial verification (#280 by @CodingBangboo).
runConsensus()runs proposers against judges, plus an optional per-taskverifyhook that puts a task's own result through the same judge loop. - Deterministic model routing (#286 by @cat0825). Opt-in
modelRoutingsends different orchestration calls (coordinator, synthesis, workers, delegated) to different models by match rules, without mutating your team config. Also fixes routing being bypassed on pooled agents. - MiniMax-M3 is the new default (#292 by @octo-patch). Up to a 1M-token context (512K guaranteed) with image input. M2.7 and
MiniMax-M2.7-highspeedstay available if you pin them explicitly.
Docs
- Model routing guide:
docs/model-routing.md, linked from both READMEs (#293 by @JackChen-me). - TencentDB-Agent-Memory integration cookbook under
examples/(#295 by @JackChen-me). - LiteLLM added to the OpenAI-compatible providers table (#283 by @RheagalFire).
Install
npm install @open-multi-agent/core@1.7.0
Thanks to @CodingBangboo, @cat0825, @octo-patch, and @RheagalFire. Extra thanks to @CodingBangboo, who landed the consensus primitive (#280) and has been a steady reviewer this cycle.
Downloads
- One-line restore of the old allow-all:
-
released this
2026-06-06 12:20:40 -05:00 | 306 commits to main since this release📅 Originally published on GitHub: Sat, 06 Jun 2026 17:25:44 GMT
🏷️ Git tag created: Sat, 06 Jun 2026 17:20:40 GMTFeatures
- Replay persisted team plans, so a previously decomposed plan can be re-run without a new coordinator pass (#285 by @cat0825)
- Add a Tencent Hunyuan provider adapter (#281 by @KaitlynFeng)
- Add a robust regex fallback for malformed single-string JSON tool calls from local models (#269 by @apollo-mg)
Fixes
- Validate message content at every adapter entry, surfacing a clear InvalidMessageError instead of a deep
content.some is not a functioncrash (#288 by @JackChen-me, implementing the fail-fast approach @apollo-mg diagnosed in #268) - Preserve memoryScope and retry config when a plan is replayed (#287 by @JackChen-me)
- Support structured shared-memory handoff between agents (#284 by @cat0825)
Internal
- Extract a shared repairToolArgs helper across the OpenAI-compatible adapters (#282 by @JackChen-me)
- Add unit tests for the error types (#290 by @Oxygen56)
Docs
- Move the Ecosystem section above Examples in the README (#277 by @JackChen-me)
Install
npm install @open-multi-agent/core@1.6.0
Thanks to @KaitlynFeng, @apollo-mg, @cat0825, and @Oxygen56.
Downloads
-
released this
2026-05-29 22:44:26 -05:00 | 316 commits to main since this release📅 Originally published on GitHub: Sat, 30 May 2026 03:54:54 GMT
🏷️ Git tag created: Sat, 30 May 2026 03:44:26 GMTopen-multi-agent v1.5.0
Features
- Per-agent filesystem sandbox (#264 by @JackChen-me).
file_read/file_write/file_edit/grep/glob
now resolve every path, symlinks included, inside each agent'scwd, defaulting to
<cwd>/.agent-workspace.bashstays unsandboxed. Behavior change below. - Cross-provider reasoning text fallback (#260 by @MyPrototypeWhat).
preserveReasoningAsText
carries reasoning across providers that can't echo native reasoning blocks, as inline
<thinking>text instead of dropping it. Phase 2 of #223. - MiMo provider (#265 by @kidoom).
- Doubao (Volcengine) provider shortcut (#261 by @kidoom, #236 by @janelawrence). Target
Doubao models without custombaseURLwiring. - DeepSeek V4 default model names (#250 by @JackChen-me). Behavior change below.
Fixes
- Secrets redacted from traces, bash output, and dashboard payloads (#263 by @JackChen-me).
API keys and tokens no longer leak into observability surfaces. - MCP: dedupe normalized tool names, clean up client/transport on connect failure
(#256 by @JackChen-me). - Orchestrator honors
abortSignalbefore synthesis and rejects ambiguous task deps
(#255 by @JackChen-me). - Loop detector replays history and warns on text-only loops (#254 by @JackChen-me).
- DeepSeek echoes
reasoning_contenton V4 tool-calling (#251 by @JackChen-me).
Behavior changes
- Filesystem tools sandbox to
<cwd>/.agent-workspaceby default (#264). Agents that read or
wrote outsideprocess.cwd(), or used relative paths, now get a sandbox error. Set
OrchestratorConfig.defaultCwd(orAgentConfig.cwd) to your root,process.cwd()for the old
wide default, ornullto disable.bashis not sandboxed. - DeepSeek CLI default is now
deepseek-v4-flash(#250). Affects theomaCLI run without
--model; library users are unaffected (no hardcoded default in the adapter).deepseek-chat
anddeepseek-reasonerkeep routing until DeepSeek retires them on 2026-07-24.
Package metadata
docs/no longer ships in the npm tarball. README links now point to the GitHub copy, so
they always track the latest version. If you read docs from
node_modules/@open-multi-agent/core/docs/(uncommon), switch to the GitHub URLs.
Examples and docs
- Provider examples: Moonshot (#259), Qwen (#257), and an index of existing ones (#258), all by
@goodneamtakenbydogs. - Bilig WorkPaper MCP integration example (#247 by @gregkonush).
- README restructured with built-in capabilities surfaced and zh synced (#273 by @JackChen-me),
CLAUDE.md slimmed to a code map (#274 by @JackChen-me), integrations governance README replacing
the stale DECISIONS.md (#248 by @JackChen-me). - Tests and CI: DeepSeek tool-calling via
chat()andstream()(#252 by @btroops), OpenAI
adapter fallback assertions (#253), CI onnpm ci(#262), and a CI check asserting the npm
tarball ships onlydist/plus metadata.
Install
npm install @open-multi-agent/core@1.5.0Thanks to @kidoom, @janelawrence, @MyPrototypeWhat, @goodneamtakenbydogs, @btroops, and @gregkonush.
Downloads
- Per-agent filesystem sandbox (#264 by @JackChen-me).
-
released this
2026-05-23 23:27:55 -05:00 | 338 commits to main since this release📅 Originally published on GitHub: Sun, 24 May 2026 04:43:08 GMT
🏷️ Git tag created: Sun, 24 May 2026 04:27:55 GMTv1.4.2
Drop-in safe patch: three opt-in additions and three new examples. All new APIs default to off.
New (opt-in)
RunTeamOptions.revealCoordinator(#245 by @JackChen-me). Whentrue, prepends a team-context block (goal, full roster, this worker's assignee identity) to every worker prompt underrunTeam. Defaultfalsekeeps existing prompts byte-identical.runTasksand the short-circuit single-agent path ignore it. Closes #244.enableReasoningTextReplay(#234 by @matthewYang08). Opt-in replay of frameworkreasoningblocks as inline<thinking>text on OpenAI-family requests, capped bymaxReasoningReplayChars(default 1200). Also closes a latent 400 against OpenAI when a reasoning-only assistant message emitted{content: null}with notool_calls. Refs #223.ReasoningBlock.provenance+LLMAdapter.capabilities(#243 by @MyPrototypeWhat). Phase 1 of #223: additive IR fields, per-adapterechoesReasoning: 'never' | 'own-issued'declarations, and a sharedreasoningBlockToInlineTexthelper. No behavior change yet; Phase 2 wirescapabilitiesinto the outbound fallback.
Examples
- Doubao (ByteDance) provider example via Volcengine Ark (#232 by @nuthalapativarun).
- Zhipu GLM provider example (#231 by @nuthalapativarun).
- Narrative puzzle hint arbitration cookbook: 5-agent multi-source conflict resolution with external safety veto (#235 by @suans4746-del). Closes #212.
Documentation
compressToolResultsandmaxToolOutputCharsdocumented in the context management guide (#233 by @nuthalapativarun).
Install
npm install @open-multi-agent/core@1.4.2Thanks to @MyPrototypeWhat, @nuthalapativarun, @matthewYang08, and @suans4746-del.
Full Changelog: https://github.com/open-multi-agent/open-multi-agent/compare/v1.4.1...v1.4.2
Downloads
-
released this
2026-05-17 13:37:23 -05:00 | 348 commits to main since this release📅 Originally published on GitHub: Mon, 18 May 2026 10:35:27 GMT
🏷️ Git tag created: Sun, 17 May 2026 18:37:23 GMTv1.4.1
Patch release: two bug fixes for OpenAI-family adapters and the runner, plus Vercel AI SDK as an optional adapter. The previous npm package (
@jackchen_me/open-multi-agent) is now formally deprecated.Bug fixes
- OpenAI-family adapters: guard
choices[0]with optional chaining (#220). Prevents crashes when providers return emptychoicesarrays. Thanks @dvirarad. - Runner: defer
maxTokenBudgetbreak until aftertool_resultis appended (#221). Fixes orphanedtool_useblocks when the token budget is hit mid-turn. Thanks @CodingBangboo.
New (optional)
- Vercel AI SDK adapter via the dedicated
@open-multi-agent/core/ai-sdksubpath (#229). BridgesLLMAdapterto AI SDK'sgenerateText/streamText. Optional peer depai; main import is unaffected if you don't use it. Thanks @ibrahimkzmv.
Documentation
Deprecation
- The previous npm package,
@jackchen_me/open-multi-agent, is now formally deprecated. Existing installs continue to work; new installs should usenpm install @open-multi-agent/core. The npm CLI shows a deprecation message automatically.
Full Changelog: https://github.com/open-multi-agent/open-multi-agent/compare/v1.4.0...v1.4.1
Downloads
- OpenAI-family adapters: guard
-
released this
2026-05-09 02:40:10 -05:00 | 355 commits to main since this release📅 Originally published on GitHub: Sat, 09 May 2026 08:39:34 GMT
🏷️ Git tag created: Sat, 09 May 2026 07:40:10 GMTHighlights
Official org package
Open Multi-Agent now has an official organization package:
npm install @open-multi-agent/coreNew projects should use
@open-multi-agent/core.Plan-only orchestration
Adds PlanOnly mode so teams can inspect the coordinator's task DAG before running agent work. (#203 by @CodingBangboo)
LLM adapter improvements
- Preserve reasoning blocks across Anthropic and Gemini turns. (#205 by @MyPrototypeWhat)
- Forward
reasoning_effortand backfill sampling-parameter parity across OpenAI-compatible, Copilot, and Azure paths. (#209 by @MyPrototypeWhat) - Add a Mistral provider example and README entry. (#206 by @mvanhorn)
Shared memory TTL
SharedMemory entries can now expire by turn count. (#213 by @MyPrototypeWhat)
Fixes
- Keep text-tool extraction depth non-negative when a stray closing brace appears. (#217 by @voidborne-d)
- Fix truncation behavior and tighten coordinator dependency guidance. (#215 by @CodingBangboo)
Examples and Docs
- Add paper replication triage cookbook example. (#202 by @DaiMao-UT)
- Add rare disease information triage example. (#211 by @oooooowoooooo)
- Refresh README, hero animation, badges, docs, and repository links for the new GitHub organization. (#214 and #218 by @JackChen-me)
Compatibility
No intentional runtime API breaks were introduced. The package identity changed to
@open-multi-agent/core.The previous package path,
@jackchen_me/open-multi-agent, remains supported during the migration window and is also published at1.4.0.Install
npm install @open-multi-agent/core@1.4.0Legacy path during the migration window:
npm install @jackchen_me/open-multi-agent@1.4.0Downloads
mirror of
https://github.com/open-multi-agent/open-multi-agent.git
synced 2026-10-18 17:21:10 -05:00