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 Studiosection. - 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¶
-
Activate or deactivate instances in the settings page to inject the selection into the Agent runtime context.
-
Set the local sync directory to let the Agent prioritize editing local Rojo-style files within the sync scope.
-
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. -
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:
serverNamelauncherCommandactiveStudioIdactiveStudioLabelrefreshTimeoutMsscriptSyncRoot
Among them:
activeStudioIdandactiveStudioLabelare used to maintain the active selection.scriptSyncRootis 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.