DSH (DeepSeek Harness) follows the philosophy of “everything is a plugin.” When you need to share a local file system or workspace with other devices, @weibaohui/dsh-webdav-server is a practical solution. This plugin turns a shared directory into a WebDAV server, allowing it to be mounted as a local disk by Windows, macOS, Linux, and the iOS Files app.
Core Features¶
- Multi-platform mounting: Provides a standard WebDAV interface, supporting direct mounting from native file apps on Windows, macOS, Linux, and iOS/iPadOS.
- Standalone service: Has an independent listening port (default 19087) and authentication mechanism, fully isolated from the DSH web interface and other plugins.
- Dual authentication modes: Supports both “standalone token” and “reusing user-management account” authentication methods.
- Read-only and symbolic links: Supports enabling read-only mode and following symbolic links.
- Hot updates: After configuration changes (such as port, token, or root directory), the plugin compares fingerprints every 3 seconds and automatically rebuilds the listener, without requiring a DSH restart.
- Visual configuration: The shared root directory, listening address, port, token, and other settings can be configured visually on the settings page, with built-in mounting guides for three platforms.
Installation and Activation¶
After installing this plugin, restart DSH to use it.
dsh plugin add github:weibaohui/dsh-webdav-server
After installation is complete, go to the Settings → WebDAV Server page.
Basic Usage¶
- On the settings page, confirm that the service is running (enabled by default).
- Copy the LAN address (default
http://<your IP>:19087/) and access token from the settings page. - On another computer or device, connect following the “mounting guide” provided on the settings page:
- Username: Enter anything (for example,
dsh). - Password: Enter the access token copied above.
- Username: Enter anything (for example,
Authentication Modes¶
This plugin provides two authentication modes, switchable with one click on the settings page:
- Standalone token (default): Any username is accepted; the password is fixed as the access token. It has zero dependencies and works out of the box. It is generated automatically on first launch and can be regenerated at any time from the settings page.
- user-management account: Reuses the login username and password from the
user-managementplugin.- Note: Accounts with two-factor authentication (TOTP) enabled cannot be mounted (Basic authentication does not support dynamic codes); disabled accounts are refused for mounting; after a password change, previously verified old credentials remain valid for up to 5 minutes.
Platform Mounting Guides¶
The settings page includes built-in mounting steps for mainstream systems, with the address and credentials automatically filled in.
macOS¶
In Finder, press ⌘K (Go → Connect to Server), enter http://<ip>:19087/. After connecting, use any username and enter the token as the password. Alternatively, run open http://<ip>:19087/ in Terminal to directly open the connection window.
Windows¶
- Open File Explorer, click “Map network drive”, enter
http://<ip>:19087/in the folder field, check “Use different credentials”, enter any username, and enter the token as the password. - If mapping has no response on Win11 23H2+, run the following commands as an administrator to enable the WebClient service:
sc config WebClient start= auto && net start WebClient
- If using a plaintext HTTP connection, modify the registry value
HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\BasicAuthLevelto2(DWORD) and restart the service; if copying large files fails, modifyFileSizeLimitInBytesto4294967295.
Linux¶
Mount using davfs2:
sudo apt install davfs2
sudo mkdir -p /mnt/dsh
sudo mount -t davfs http://<ip>:19087/ /mnt/dsh
# 用户名任意,密码 = 令牌
Non-interactive configuration: Write http://<ip>:19087/ dsh <token> to /etc/davfs2/secrets, and set permissions with chmod 600.
iOS / iPadOS¶
Open the “Files” app, tap “Connect to Server” in the top-right corner, and enter the address and token.
Configuration and Persistence¶
Configuration data is stored under the dsh-webdav-server section in the host service’s ~/.dsh/settings.yaml. The plugin’s default shared root directory is ~/.dsh/dsh-webdav-server/share, and it will be created automatically if it does not exist.
Considerations¶
- Security risk: Whoever mounts the service can read and write to wherever the root directory points. It is recommended not to expose the entire
HOMEdirectory; enable read-only mode for public directories. - Dependency check: When using
user-managementmode, it automatically falls back to token authentication if the plugin is not installed or the user database is corrupted. - Compatibility: Large file transfers may be limited by system or client configuration.
Ecosystem Position¶
This plugin is part of the DSH plugin ecosystem and is maintained by the community. For more details, see the GitHub repository.