dsh-tuanjie-plugin
Manifest validDrive the Tuanjie editor from DeepSeek Harness by connecting to the running editor's Codely bridge, creating and modifying GameObjects, editing component properties, running editor commands, and execu
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
| Tool | Purpose |
|---|---|
tuanjie_status | List connectable editor instances (port, project root, state) |
tuanjie_list_commands | List every command the editor exposes, with supported actions |
tuanjie_command | Run a named command, e.g. manage_gameobject + ["create", "--name", "Player"] |
tuanjie_eval | Execute C# inside the editor process with full UnityEngine / UnityEditor access |
tuanjie_cli | Run 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:
| Invocation | 0.1.0 | 0.1.1 |
|---|---|---|
--position "1,2,3" | silently dropped, nothing moves | coerced to an array, actually applies |
--componentsToAdd BoxCollider | silently dropped, Transform only | wrapped into an array |
--propertyValue "1,2,3" | zeroes out the vector | coerced to an array, no longer zeroed |
--types warning | ignored, returns every type | returns warnings only |
--name=X (equals form) | stored as a key literally named name=X | equivalent to the space form |
delete --name X | Target GameObject ('') not found | rejected, tells you to use --target |
--output out.png | silently ignored | rejected, points at --path / --filename |
misspelled flag (e.g. --filterTypo) | silently ignored | rejected with a spelling suggestion |
apply_text_edits without line/column | inserts at the top of the file, still reports success | rejected before sending |
--imports System.Text | overrides the default namespaces, CS0103 | merged into the defaults |
modify --componentName X --propertyName Y --propertyValue Z | reports success, field keeps its old value | rejected, points at set_component_property / --componentProperties |
modify --componentProperties '{"Typo":{…}}' | One or more component property operations failed, no hint which | names the missing component and lists the ones the object really has |
modify --componentProperties '{"m_LocalPosition.x":5}' | success: true, nothing written | rejected, 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_viewis disabled by the bridge. Usemanage_gameview, orrecord_game_viewonexec_runtime_script(requiresffmpeg).- Screenshots land where
--path+--filenamesay (relative paths resolve against the project root); read the real path fromdata.path.--pathmay 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--pathstill means a directory that the bridge names itself. Captures always write PNG — the bridge appends.pngto--filenamewhatever 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_inputneeds the Input System package (com.unity.inputsystem). Clicking uGUI elements does not — it goes through the EventSystem. tuanjie_cliis not the Unity Hub CLI:projects create,templates list,open,pipeline install,test,build,logsare 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.
Comments
Loading…
Similar plugins
by 142gg-GZX
DSH plugin: control Unity / Tuanjie editor over a local HTTP bridge — build scenes, write C#, compile, play, screenshot, simulate input.
★ 2
MIT
C#
Sep 19, 2026
dsh plugin --profile web add dsh-skill-unity-bridgeby JimLuan
Terminal UI plugin for the DeepSeek Harness dsh CLI: an interactive in-process host surface over dsh-base (sessions, streaming conversation, tool cards, approvals, questions, jobs, subagents, goals, p
★ 0
TypeScript
Aug 16, 2026
dsh plugin --profile web add dsh-tui-pluginby huiliyi37
官方 DeepSeek Harness 的交互式终端 UI 插件:自研 ANSI 极简交互渲染、流式 Markdown/工具卡、16+ 主题、slash 命令与选择器、输入历史与本地偏好持久化、LSP 诊断、memory记忆,很丝滑的开发体验。
★ 291
↓ 274/wk
Apache-2.0
TypeScript
Sep 30, 2026
dsh plugin --profile terminal add @huiliyi37/dsh-tianshu-tuiby omdsh-plugins
Open the current project directory in a native editor from the DeepSeek Harness web GUI: the session header's editor picker, and the host half that finds the installed editors and launches one
★ 0
MIT
TypeScript
Sep 3, 2026
dsh plugin --profile web add @omdsh-plugins/omdsh-editorby xiaoso456
DeepSeek Harness 基础工具增强:持久 bash、结构化 read、多模式 edit、原子 write、双引擎 grep/glob、图像直读,一个插件全覆盖
★ 15
↓ 718/wk
MIT
TypeScript
Oct 21, 2026
dsh plugin --profile web add @xiaoso/dsh-tool-plusby beijingwahw
DeepSeek Companion — DeepSeek Harness 官方伴侣插件:对话导出/交接摘要/成本优化/全局检索 + 执行轨迹分析、Prompt 工程工作台、多模型竞技场、任务编排、安全与审计(E–J 九大模块,Cordis 插件化)。
★ 4
↓ 102/wk
MIT
TypeScript
Sep 19, 2026
dsh plugin --profile web add dsh-companion