Skip to main content

How to use dshcode

Package all dsh basic capabilities into profile combo bundles as the first-layer patch for each profile, hosting 60+ core entries including models, tools, sandbox, permissions, and session persistence.

This article is auto-derived from indexed fields (wiki / faq / compatibility_json), not freshly AI-generated.

This article is derived from the plugin's already-indexed fields (wiki / faq / compatibility_json / readme), not freshly generated by AI. Source field is noted at the end of each section.

Quick start

dshcode — @deepseek-ai/dsh-base

— source: plugin_wiki.wiki_content

Install & verify

dsh plugin --profile web add @deepseek-ai/dsh-base

Run the command above in your DSH Web Profile. Then enable the plugin in the plugin list.

— source: plugins.install

Key points

  • macOS:在访达中右键点击应用并选择打开,然后在弹窗中确认。或者在终端执行一次 xattr -cr /Applications/DSHCode.app。
  • Windows:在 SmartScreen 弹窗中点击更多信息,然后选择仍要运行。
  • LINUX DO — 本项目也在 LINUX DO 社区持续分享与交流。
  • dsh-genui — 为内置生成式 UI 能力提供插件实现。
  • dsh-annotation — 为内置文本批注流程提供插件实现。

— source: plugin_wiki.readme_en (fallback readme_raw)

FAQ

What capabilities does this combo package include?

It is the collection of all dsh's "out-of-the-box" capabilities - LLM adapters, Agent main loop, bash/pwsh tools, file system, subagent dispatch, subagent fork, session persistence (JSONL), SQLite session query, permission & sandbox policies, settings/credentials localization, telemetry, token usage metering, compression, plan mode, goal loop, Web search, etc.

Can I edit this combo package?

No need and not recommended. Its "configuration" is concentrated in the same cordis.patch.yml, which is mounted by the profile combiner at load time; your override should be written in your own profile's cordis.patch.yml, just override the entire row by row id. The patch semantics is "replace entire config line", no deep merging.

What's the difference between running on macOS / Linux vs Windows?

The bash and pwsh shell stacks are mutually exclusively mounted in the same patch file. On POSIX, enable bash-sandbox and tool-bash, disable pwsh series; on Windows, enable pwsh series, disable bash series. Sandbox, permission, and fs-sandbox take effect on both sides, with Windows using ACL-restricted token runner.

How to enable telemetry?

Disabled by default at the factory. To enable, set environment variable DSH_TELEMETRY_MODE to FULL or FEEDBACK_ONLY, and point DSH_TELEMETRY_OTLP_URL to your OTLP/HTTP collector. Without setting DSH_HOME/.anonymous-user-id, exports will also include a random UUID as user.id.

What's the default permission model?

Sandbox defaults to workspace-write (write limited to workspace and current session's temp subdirectory), approval defaults to ask. If environment variable DSH_PERMISSION_MODE is set to danger-full-access, sandbox becomes full access, approval becomes never; if set to read-only, it's read-only.

What happens if I uninstall it?

It is the first layer patch of all factory profiles - removing it from dsh.profile.bundles will cause the entire profile to return to an empty state with only user-defined rows, and common tools, models, and persistence will disappear. It is not a user-facing optional extension, recommended to keep.

Can I change to a different default model?

Yes. Just override the agent-default-model line by id in your profile's cordis.patch.yml (replace the entire provider/model field line), or configure llm-deepseek / llm-pi-ai sections in "$DSH_HOME/settings.yaml" to override this combo package's default deepseek-official / deepseek-v4-flash selection.

Where are images in the session stored?

The actual bytes are placed in the local directory configured by the attachment-local row (separate from JSONL session logs). The session log only retains content-addressed references, which are parsed on-demand by that row for each request.

— source: plugin_wiki.faq_json

Compatibility

  • DSH: 未声明
  • Node: >=22.19.0(要求 ^22.19.0 或 >=24.0.0,源自仓库根 engines 字段)
  • Platforms: macOS, Linux, Windows

— source: plugin_wiki.compatibility_json

Pitfalls

Review the upstream repo before installing. This guide is auto-derived from indexed fields and may lag the latest release. If anything contradicts the official docs, treat the upstream source as authoritative.

— source: general rule

How to use dshcode