MastraEditor 클래스
그만큼MastraEditor클래스는 편집기 시스템을 설정합니다. 그것을 전달MastraPrompt 블록, Agent 코드 재정의, 버전 관리, Tool 제공자와 같은 편집기 기능을 켜는 생성자입니다.
편집기의 기능에 대한 소개는 Editor를 참조하세요.
사용예사용예에 대한 직접 링크
import { Mastra } from '@mastra/core'
import { MastraEditor } from '@mastra/editor'
export const mastra = new Mastra({
agents: {/* your agents */},
editor: new MastraEditor(),
})
생성자 매개변수생성자 매개변수에 대한 직접 링크
logger?:
toolProviders?:
processorProviders?:
filesystems?:
sandboxes?:
blobStores?:
browsers?:
builder.features.agent.browser가 활성화된 경우 필수입니다. Provider 인터페이스는 BrowserProvider 레퍼런스를 참조하세요.builder?:
enabled: false로 설정하세요.source?:
codePath?:
공급자 인터페이스공급자 인터페이스에 대한 직접 링크
위의 각 제공자 필드는 제공자 ID로 입력된 레코드를 사용합니다. 구현 형태는 공급자별 참조 페이지를 참조하세요.
Agent 빌더Agent 빌더에 대한 직접 링크
builder 필드는 저장된 Agent를 만들고 편집할 수 있는 브라우저 기반 UI인 Agent Builder를 활성화합니다. 다음을 참조하세요.
- Agent 빌더 개요: 개념 및 시작하기
- AgentBuilder옵션: 전체 옵션 스키마.
- BuilderAgentDefaults: 새 Agent에 대해 관리자가 고정한 기본값입니다.
- 빌더.구성.Agent.Model: Model 허용 목록 및 기본 Model입니다.
Builder Agent 등록Builder Agent 등록에 대한 직접 링크
Builder UI는 @mastra/editor/ee의 createBuilderAgent() 팩터리로 생성된 Agent에 대해 실행됩니다. 팩터리를 가져와 호출한 후 반환된 Agent를 Mastra 인스턴스의 agents 아래에 등록하세요.
import { Mastra } from '@mastra/core'
import { MastraEditor } from '@mastra/editor'
import { createBuilderAgent } from '@mastra/editor/ee'
export const mastra = new Mastra({
agents: { builderAgent: createBuilderAgent() },
editor: new MastraEditor({
builder: { enabled: true },
}),
})
키 이름(builderAgent)은 관례일 뿐이며 어떤 키든 사용할 수 있습니다. @mastra/editor/ee 하위 경로는 런타임에 Mastra Enterprise Edition 라이선스의 적용을 받습니다.
전체 설정 체크리스트는 Agent Builder 개요를 참조하세요.
네임스페이스네임스페이스에 대한 직접 링크
편집기는 다양한 엔터티 유형을 관리하기 위한 네임스페이스를 노출합니다. 모든 Mastra 인스턴스에서 mastra.getEditor()를 사용해 액세스하고 애플리케이션 코드에서 CRUD 메서드를 직접 호출하거나, 내부적으로 해당 메서드를 사용하는 Mastra 서버 경로를 이용하세요.
모든 네임스페이스는 공유 CRUD 기본 클래스를 확장하므로 동일한 create, getById, update, delete, list, listResolved, clearCache 메서드를 노출합니다. 아래의 네임스페이스별 속성 표에는 추가 메서드도 설명되어 있습니다.
agent:
create:
getById:
update:
delete:
list:
listResolved:
applyStoredOverrides:
clone:
clearCache:
prompt:
create:
getById:
update:
delete:
list:
listResolved:
preview:
clearCache:
mcp:
create:
getById:
update:
delete:
list:
listResolved:
clearCache:
mcpServer:
create:
getById:
update:
delete:
list:
listResolved:
clearCache:
scorer:
create:
getById:
update:
delete:
list:
listResolved:
clearCache:
Agent 네임스페이스 예시Agent 네임스페이스 예시에 대한 직접 링크
기존 코드 정의 Agent에 대한 저장된 재정의를 만듭니다.
import { mastra } from '../mastra'
const editor = mastra.getEditor()!
await editor.agent.create({
id: 'support-agent',
instructions: 'You are a friendly support agent for Acme.',
tools: {
search_kb: { description: 'Search the Acme knowledge base' },
},
})
행동 양식행동 양식에 대한 직접 링크
공급자 액세스공급자 액세스에 대한 직접 링크
getToolProvider(id)gettoolproviderid에 대한 직접 링크
등록된 Tool 제공자를 해당 ID로 반환합니다.
const composio = mastra.getEditor()?.getToolProvider('composio')
getToolProviders()gettoolproviders에 대한 직접 링크
등록된 모든 Tool 공급자를Record<string, ToolProvider>.
getProcessorProvider(id)getprocessorproviderid에 대한 직접 링크
등록된 프로세서 공급자를 해당 ID로 반환합니다.
getProcessorProviders()getprocessorproviders에 대한 직접 링크
등록된 모든 프로세서 공급자를 반환합니다.
getFilesystemProviders()getfilesystemproviders에 대한 직접 링크
등록된 모든 파일 시스템 공급자를 반환합니다.
getSandboxProviders()getsandboxproviders에 대한 직접 링크
등록된 모든 샌드박스 공급자를 반환합니다.
getBlobStoreProviders()getblobstoreproviders에 대한 직접 링크
등록된 모든 Blob 저장소 공급자를 반환합니다.
원천원천에 대한 직접 링크
getSource()getsource에 대한 직접 링크
구성된 소스('code' 또는 'db')를 반환하며, 명시적인 source 없이 편집기를 생성한 경우에는 undefined를 반환합니다.
const source = mastra.getEditor()?.getSource()
보고:'code' | 'db' | undefined
source를 생략하면 getSource()가 undefined를 반환하더라도 Editor는 구성된 데이터베이스 스토리지를 사용합니다. 스토리지 Workflow는 Editor 스토리지 옵션을, 활성화 및 Git 기록 동작은 코드 소스 버전 관리를 참조하세요.