New:Socket for Asana Is Now Available.Learn more
Get Started

@mastra/opencode

Package Overview
Dependencies
Maintainers
7
Versions
670
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install
This package has malicious versions linked to the ongoing "Mastra AI framework compromise" supply chain attack.

Affected versions:

0.0.47
View campaign page

@mastra/opencode

OpenCode plugin for Mastra Observational Memory

latest
Source
npmnpm
Version
0.1.23
Version published
Weekly downloads
3.4K
-15.86%
Maintainers
7
Weekly downloads
 
Created
Source

@mastra/opencode

@mastra/opencode brings Mastra Observational Memory to OpenCode sessions. It condenses long conversation histories into structured observations so coding sessions retain important context without repeatedly sending the entire transcript to the model.

Installation

npm install @mastra/opencode

Usage

Re-export the plugin from an OpenCode plugin file:

import { MastraPlugin } from '@mastra/opencode';

export default MastraPlugin;

Optionally add project-level configuration:

{
  "model": "google/gemini-2.5-flash",
  "observation": { "messageTokens": 20000 },
  "reflection": { "observationTokens": 90000 },
  "storagePath": ".opencode/memory/observations.db"
}

Documentation

The plugin converts OpenCode user and assistant messages, including text, tool calls, files, images, and reasoning, into Mastra's message format. Before each model request it observes new messages when the configured token threshold is reached, removes history already represented by observations, and injects the optimized observation context into the system prompt.

Configuration is read from .opencode/mastra.json. It accepts Mastra ObservationalMemoryOptions such as the observer model, observation and reflection thresholds, scope, and shared token budget. storagePath controls the local SQLite database and defaults to .opencode/memory/observations.db.

The plugin resolves model credentials lazily from OpenCode's provider store. Existing environment variables take precedence, so OpenCode credentials only fill missing provider keys. Observation data is stored with LibSQLStore inside the project and remains available when the OpenCode session is resumed.

OpenCode toast notifications report observation and reflection progress. The plugin also registers diagnostic tools for inspecting memory status and stored observations, which helps explain when the next compaction cycle will run and what context has already been retained.

Changelog

See the package changelog for version history and release notes.

Support

We have an open community Discord. Come and say hello and let us know if you have any questions or need any help getting things running.

Keywords

mastra

FAQs

Package last updated on 03 Sep 2026

Related posts