Foreword

When using Roblox Studio MCP in DSH, if multiple Studio instances are connected simultaneously, a common problem arises: which instance should the Agent operate on? Which directories is the official Script Sync currently synchronizing? Should disk scripts be edited directly first?

dsh-roblox-studio consolidates instance selection, MCP bridge status, and official Script Sync status into the DSH Settings page, injecting the active selection into the Agent runtime context.

What is this

dsh-roblox-studio is a native plugin for DeepSeek Harness, with the repository at bxsexc/dsh-roblox-studio and an MIT license.

It targets the DSH Web profile and provides a settings interface for Roblox Studio MCP: listing connected Studio instances in real-time, supporting the selection of an active instance, displaying official Script Sync status, and guiding the Agent to prioritize editing local Rojo-style files after a local sync directory is set.

Core Features

Instance List and Activation

The following introduces the instance management section in the settings page.

  • Lists connected Studio instances in real-time within the Settings → Roblox Studio section.
  • Supports one-click activation or deactivation of a specific instance.
  • Displays MCP bridge status and instance stale (stale) markers.

Agent Runtime Context

The active selection is injected into the Agent runtime context via ctx.systemPrompt.context.

The context prompts the Agent to use the specified studio_id in all mcp__roblox__* tool calls and alerts the Agent if the selection becomes invalid.

Selection Persistence

The active selection is persisted in the Settings provider’s roblox-studio namespace, typically located at ~/.dsh/settings.yaml.

Official Script Sync Status

The settings page displays the official Script Sync status, including:

  • Sync Root
  • Error Trees
  • Query Failure Reasons

Status is cached for 45 seconds and supports scheduled/event-based refresh.

The official Script Sync does not have an MCP programming interface, so the plugin cannot launch it on behalf of the user and does not reimplement a one-way snapshot-style sync.

File Priority Editing

After setting a local sync directory, the runtime context guides the Agent to prioritize editing local Rojo-style files within the sync scope directly.

Theme

The interface uses DSH design system aliases and automatically switches between light and dark themes by following body[data-ds-dark-theme].

Installation and Enablement

Environment requirement: Node ^22.19.0 || >=24.0.0.

The installation command provided in the README uses the Gitee repository path:

git clone https://gitee.com/nidiehhh/dsh-roblox-studio.git
dsh plugin --profile web add /path/to/dsh-roblox-studio

After installation, restart the Web profile and open:

GUI → Settings → Roblox Studio

The plugin declares the following peerDependencies:

@deepseek-ai/cordis ^4.0.0-rc.7
@deepseek-ai/dsh-settings ^0.0.1
@deepseek-ai/dsh-system-prompt ^0.0.1
@deepseek-ai/dsh-host-webserver ^0.0.1
@deepseek-ai/schemastery ^3.18.0

Among them, @deepseek-ai/dsh-host-webserver is an optional dependency.

Typical Usage

  1. Activate or deactivate instances in the settings page to inject the selection into the Agent runtime context.

  2. Set the local sync directory to let the Agent prioritize editing local Rojo-style files within the sync scope.

  3. Use Roblox Studio’s official Script Sync for real-time bidirectional script synchronization between disk and Studio, which can be selected via the Resource Manager right-click on Service or Folder → Sync to… to choose a local directory.

  4. Call the settings interface to get a snapshot or perform actions. The interface is:

/_dsh/roblox-studio/settings

GET is used to get a snapshot; POST supports refresh, activate, clear, and saveScriptSyncRoot. Carry expectedRevision when executing activate, clear, or saveScriptSyncRoot; saveScriptSyncRoot also requires scriptSyncRoot.

Examples:

GET /_dsh/roblox-studio/settings
POST /_dsh/roblox-studio/settings
{"action":"refresh"}
{"action":"activate","studioId":"<studio-id>","expectedRevision":1}
{"action":"clear","expectedRevision":1}
{"action":"saveScriptSyncRoot","scriptSyncRoot":"/path/to/local-sync-dir","expectedRevision":1}

Configuration Items

Plugin configuration items include:

  • serverName
  • launcherCommand
  • activeStudioId
  • activeStudioLabel
  • refreshTimeoutMs
  • scriptSyncRoot

Among them:

  • activeStudioId and activeStudioLabel are used to maintain the active selection.
  • scriptSyncRoot is the local sync directory for official Script Sync; after setting it, the Agent will prioritize editing local files within the sync scope directly.

Use Cases and Notes

Suitable for developers who use Roblox Studio MCP in the DSH Web profile and need to centrally view instance status, select an active instance, and view the official Script Sync status.

The plugin runs with the permissions of the current dsh process. You should check the source code and license before installation. Official Script Sync needs to be configured in Roblox Studio in the official manner; the plugin only displays status and provides runtime context guidance for the Agent.

Links

  • Plugin Directory Page: https://www.skillhub.cn/plugins/bxsexc/dsh-roblox-studio
  • GitHub Repository: https://github.com/bxsexc/dsh-roblox-studio

This directory page is a community directory belonging to an independent site and has no official affiliation with DeepSeek / Hypersphere.