DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
T

dsh-tuanjie-plugin

Tuanjie Plugin

DeepSeek Harness plugin: connects to the Codely bridge of a running 团结引擎 editor and packages scenes, GameObjects, component properties, editor commands, and C# execution as AI tools.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:ThePuristImpurity/dsh-tuanjie-plugin#cf0acb69b93fdc40133610460dd94393fe7498da
READMECompatibilityVersions

Compatibility and provenance

Tuanjie Plugin is published as dsh-tuanjie-plugin and currently resolves to version 0.1.2. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
10/23/2026

Versions

0.1.2stable
10/23/2026
0.1.1stable
10/23/2026
0.1.0stable
10/22/2026

Related plugins

Loading related plugins…

Latest
0.1.2
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/25/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in developer-tools.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Sdk Minimal@deepseek-ai/dsh-sdk-minimalThe standalone minimal SDK profile bundle: JSON-RPC, one DeepSeek adapter, persistent shell, and JSONL sessionsSdk App@deepseek-ai/dsh-sdk-appThe dsh SDK profile bundle: stdio JSON-RPC serving and process lifecycle over dsh-baseExperimental Inspector@deepseek-ai/dsh-experimental-inspectorExperimental cross-realm CDP hub for Host debugging and Client Runtime inspection

README

dsh-tuanjie-plugin

DeepSeek Harness plugin that drives the Tuanjie (团结引擎) editor — connect to a running editor's Codely bridge, build and modify scenes and GameObjects, edit component properties, run editor commands, and execute C# inside the editor process.

Docs: README.zh.md (中文文档)

Install

dsh plugin add dsh-tuanjie-plugin

Requirements

The Tuanjie editor must already be running with the target project loaded, and that project must ship the Codely bridge (cn.tuanjie.codely.bridge, bundled with Tuanjie by default). This plugin cannot launch the editor for you.

Tools

ToolPurpose
tuanjie_statusList connectable editor instances (port, project root, state)
tuanjie_list_commandsList every command the editor exposes, with supported actions
tuanjie_commandRun a named command, e.g. manage_gameobject + ["create", "--name", "Player"]
tuanjie_evalExecute C# inside the editor process with full UnityEngine / UnityEditor access
tuanjie_cliRun the underlying bridge subcommands (status / editors / command / shell)

Reliability (0.1.1)

The 0.1.0 line had one nasty failure mode: a wrong argument type was silently dropped by the bridge while it still answered success: true. 0.1.1 normalizes and validates arguments in the CLI adapter, so these either work or fail loudly:

Invocation0.1.00.1.1
--position "1,2,3"silently dropped, nothing movescoerced to an array, actually applies
--componentsToAdd BoxCollidersilently dropped, Transform onlywrapped into an array
--propertyValue "1,2,3"zeroes out the vectorcoerced to an array, no longer zeroed
--types warningignored, returns every typereturns warnings only
--name=X (equals form)stored as a key literally named name=Xequivalent to the space form
delete --name XTarget GameObject ('') not foundrejected, tells you to use --target
--output out.pngsilently ignoredrejected, points at --path / --filename
misspelled flag (e.g. --filterTypo)silently ignoredrejected with a spelling suggestion
apply_text_edits without line/columninserts at the top of the file, still reports successrejected before sending
--imports System.Textoverrides the default namespaces, CS0103merged into the defaults
modify --componentName X --propertyName Y --propertyValue Zreports success, field keeps its old valuerejected, points at set_component_property / --componentProperties
modify --componentProperties '{"Typo":{…}}'One or more component property operations failed, no hint whichnames the missing component and lists the ones the object really has
modify --componentProperties '{"m_LocalPosition.x":5}'success: true, nothing writtenrejected, tells you to nest it under a component
apply_text_edits --edits '[]'bridge answers No edits provided.rejected before sending

An unknown argument is now caught before the request is sent, and the error lists every parameter that tool accepts. If the bridge answers with No modifications applied, 0 targets found, or not found using method, the envelope is downgraded to a failure.

Even so, verify writes with tuanjie_eval — the plugin cannot change the bridge's own behaviour.

tuanjie_eval accepts quotes and backslashes as written (no escaping needed), and Debug.Log output comes back in data.logs.

Known limitations

  • The bridge cannot launch the editor; it only attaches to a running instance.
  • capture_game_view is disabled by the bridge. Use manage_gameview, or record_game_view on exec_runtime_script (requires ffmpeg).
  • Screenshots land where --path + --filename say (relative paths resolve against the project root); read the real path from data.path. --path may name the file directly when it ends in .png (--path screenshots/Foo.png): the value is split into directory + file name, while an extension-less --path still means a directory that the bridge names itself. Captures always write PNG — the bridge appends .png to --filename whatever it is given — so other image extensions (.jpg, .gif, …) are rejected with an error instead of silently turning into a directory.
  • Keyboard and mouse-move input via manage_input needs the Input System package (com.unity.inputsystem). Clicking uGUI elements does not — it goes through the EventSystem.
  • tuanjie_cli is not the Unity Hub CLI: projects create, templates list, open, pipeline install, test, build, logs are all unsupported.

License

MIT. Derived from @opdsh/unity-plugin 0.1.7 (MIT, Copyright (c) 2026 vibotaku); the transport layer was rewritten for Tuanjie's Codely bridge. Original copyright notice is preserved in LICENSE.