@yupi996: https://x.com/yupi996/status/2090338234257863068
Summary
This article provides a detailed tutorial on how to deploy DeepSeek Harness to a server, enabling team collaboration and remote access, and highlights its highly flexible plugin ecosystem.
View Cached Full Text
Cached at: 08/20/26, 05:02 PM
I Deployed DeepSeek Harness on a Server, and My Colleagues Had a Blast!
Hello everyone, I’m Programmer Fish Skin.
Recently, DeepSeek Harness (DSH for short) has become incredibly popular, giving off vibes similar to the OpenClaw moment during this year’s Spring Festival.
At the time of writing, DSH has been released for exactly one week, and it has already garnered 160k GitHub Stars. The plugin ecosystem is also surprisingly vibrant. The community-curated awesome-dsh-plugin selection list now includes over a thousand plugins.
Multi-model integration, scheduled tasks, code reviews, desktop pets, casual gaming plugins, stock tracking—you name it, there’s a plugin for both practical and entertainment purposes.
It truly lives up to its official slogan, “Everything is a plugin,” with an almost ridiculous level of flexibility.
However, pain points naturally arise along the way…
By default, only you can access DSH. You’ve carefully installed a bunch of plugins, fine-tuned your workspace, but how do you share it with your team? Everyone can’t reinstall everything from scratch, can they?
It would be great if the team could collaborate within the same project space—everyone can instruct the AI to work, with project progress, conversation history, and the plugin environment all synchronized.
There’s another common scenario. While you’re out, you suddenly want to check on the progress of your Vibe Coding project on your home computer, see if the AI has gone off track, and adjust your development direction accordingly.
Or maybe you’re on the subway and suddenly have a great idea. You want the AI to verify it quickly, but all you have is your phone, so you have to jot down the idea for later.
Fortunately, DSH is designed to run on the web. By deploying it on a server to run 24/7, all these problems can be solved.
In this article, I’ll guide you step by step through deploying DeepSeek Harness on a server, enabling anytime, anywhere access from multiple devices.
It’s another of my detailed tutorials—save it, and let’s get started~
DSH Server Deployment Tutorial
First, we need a cloud server. The server used in this tutorial has a configuration of 2C 2G, meaning 2 CPU cores and 2 GB of RAM, running Debian 12.15. It’s just about able to run DSH stably.
It’s recommended to use a server with at least this configuration. Lower specs might cause DSH to run unreliably.
1. Connect to the Server
If you’re using a cloud server from a major provider like Tencent Cloud, Alibaba Cloud, or Huawei Cloud, you can log in directly via the web console.
For example, Alibaba Cloud servers support remote connections through Workbench:
Besides web login, you can also connect via SSH. You can check the official documentation of your cloud service provider for specific steps.
After successfully connecting to the server, we need to install a server management panel to avoid operating in the command line. Common options include the BT Panel and 1Panel.
2. Install 1Panel
Here, we’ll use 1Panel as an example. 1Panel is a modern, open-source Linux server operations and management panel. It has a clean, user-friendly interface and comes with a built-in app store for one-click installation of various services.
Run the following command in the server’s terminal to install 1Panel:
bash -c "$(curl -sSL https://resource.fit2cloud.com/1panel/package/v2/quick_start.sh)"
The first step of installation requires selecting a language. Input 2 and press Enter to choose Chinese.
Next, choose the installation directory. Just press Enter to use the default path /opt.
Then, the system will ask if you want to install Docker. Input y to confirm. This step might be slower depending on your network, so wait patiently for a few minutes.
After Docker is installed, you’ll reach the final stage of the panel installation: configuring panel information.
First, configure mirror acceleration. Accessing GitHub, Docker, and other resources can be slow in China, so enabling mirror acceleration is necessary. Input y and press Enter.
Next, set the 1Panel access port. This port will be appended to your server’s IP address to access the management panel. For example, if your server IP is 114.51.41.xx and you set the port to 9810, the address to access the panel would be 114.51.41.xx:9810.
You can press Enter to use the randomly generated port, or set a memorable one. However, avoid ports already used by common services. I’ve compiled a reference list for you:
Next is setting the 1Panel security entry, which acts as an additional passcode when accessing the management panel, also appended to the address. For instance, if you set it to ikun, following the example above, the full address to access the panel would be 114.51.41.91:9810/ikun. This way, even if someone knows your server’s IP and port, they can’t get in without the security entry.
You can press Enter here to use a random entry, but I strongly recommend setting one you can remember.
Finally, set the panel username and password. This step is straightforward—once set, even if someone knows the security entry, they’ll be blocked by the username and password. Triple protection for maximum security.
3. Open Firewall Ports
This step is also crucial. Only by opening the firewall ports can you access services on the server from outside.
Using Alibaba Cloud as an example, we go to the ECS management backend, find “Security Groups,” and click “Add Rule” under “Inbound Rules.” If you’re using a server from another provider, look for a similar “Firewall” or “Security Groups” settings page.
Set the access source to 0.0.0.0/0 (Any location), and enter the port number you set for 1Panel in the destination port field.
You can also add the port DSH will use later here, such as 10443. You can customize it as long as it doesn’t conflict with the avoidance list mentioned earlier.
After filling everything in, click “Submit.”
Congratulations! By reading this far, you’ve already surpassed 66.66% of users!
All preliminary work is complete. Next, we officially install DeepSeek Harness.
4. Install DSH
Enter IP address:Port/Security Entry in your browser to access the 1Panel management backend.
After logging in, you can see the server’s current status and memory usage on the homepage.
Click the left menu to enter the App Store, search for DeepSeek Harness, and you’ll see that 1Panel already includes this application. Click “Install” directly.
In the installation interface, there are several configuration items to note:
- HTTPS Port: Enter the port you allocated for DSH in the firewall security group, e.g.,
10443. - Access Address: Enter your server’s public IP address.
- Web Username and Password: These will be the login credentials for accessing DSH later.
A quick note: DSH itself doesn’t have built-in login authentication. Its web server intentionally refuses to bind to 0.0.0.0 (a publicly accessible address) to prevent unauthorized access. The version in the 1Panel App Store integrates the Caddy reverse proxy to provide HTTPS encryption and username/password authentication. All external access must first be authenticated by Caddy before being forwarded to DSH, ensuring security.
Finally, check “Advanced Settings,” enable external port access, and click the “Confirm” button in the bottom right to start the installation.
Wait patiently for the installation to complete. Then, you can access DeepSeek Harness via IP:10443.
Since we haven’t configured a custom domain or an official HTTPS certificate yet (1Panel uses a self-signed certificate), the browser will show a security warning. This is normal—just ignore the risk and proceed.
Enter the Web username and password you set earlier to log in:
Once inside DSH, the first thing to do is configure the model. You can directly enter your DeepSeek API Key, or switch to other model providers in the settings. DSH is compatible with the OpenAI API format, so most model services compatible with the OpenAI API can be integrated directly.
Get your API Key from the DeepSeek Open Platform: https://platform.deepseek.com/api_keys
One more thing to note: Since DSH runs on a cloud server, it can’t directly open project folders on your local computer like it would locally. You need to manually create project directories in the workspace, or let DSH use git clone to pull projects from GitHub to the server.
For first-time use, it’s recommended to use a test project and not point directly to a production code repository, as the Agent has file read/write and command execution permissions.
At this point, all preparations are complete. You can now start experiencing multi-device access.
5. Experience and Demo
Theoretically, as long as the server configuration can handle it, the number of devices accessing simultaneously is unlimited. I tested with three or four devices accessing at the same time without any pressure. Project sessions, chat history, and plugin environments are all synchronized in real time.
Here, I’ve installed the Kun Kun theme skin. As you can see, whether on a phone or computer, the skin is synchronized when you open DSH.
Text streaming output is also fully synchronized. Content being generated on one device is immediately visible on another.
For a better mobile experience, it’s recommended to install the mobile UI adaptation plugin mexiaosqwq/dsh-web-mobile. It automatically collapses the sidebar into a drawer on narrow screens and makes the conversation area full-width, greatly improving the interaction.
Install it with a single command:
dsh plugin --profile web add github:mexiaosqwq/dsh-web-mobile
If you want to quickly get started with DeepSeek Harness and learn its basic usage, you can read my previous “DeepSeek Harness Step-by-Step Tutorial.”
6. Domain Binding
Using the IP + port method works, but it’s not convenient or secure. If you have a domain, it’s recommended to bind one to DSH. This makes it easier to remember and allows you to configure an official HTTPS certificate.
The operation isn’t difficult. First, go to the “Website” page in the left menu of 1Panel. 1Panel will prompt you to install OpenResty—click to go to the store and install it.
Keep all settings at their defaults and click “Install.”
After installation, return to the “Website” page and click “Create.”
You can choose “One-Click Deployment” or “Reverse Proxy” to complete the domain binding.
However, configuring in 1Panel alone isn’t enough. You also need to go to your cloud provider’s domain console and set up DNS domain resolution for your server IP.
Add a record in the domain resolution settings: choose record type A, set the host record (name) to dsh, and set the record value to your server’s public IP.
Save the settings, wait for the resolution to take effect, and then access the full domain address to see DeepSeek Harness.
Note: If DSH is deployed on a server located in China, you must complete ICP filing before domain access can work normally. Without filing, requests will be blocked by operators, and the page won’t load.
Why Choose Server Deployment?
At this point, some of you might wonder: Platforms like Vercel, Cloudflare, and Netlify are so convenient and don’t require you to prepare your own server. Why not deploy DSH on them?
Because DSH isn’t just a frontend webpage. It’s an “AI employee” that needs to run continuously, read/write files, and execute script commands over the long term. It requires a stable environment as its home.
Vercel, Cloudflare, and Netlify are all built on Serverless (serverless) architecture.
Note: Serverless doesn’t mean there are no servers. Instead, you only have temporary access to a server managed and scheduled by the platform. This makes it easier to use, as you rarely need to operate the server via the command line.
Why is it temporary access?
After deploying code to a Serverless platform, it only starts a running instance when a request comes in and destroys it after processing the request. This is its core design principle: “use and destroy.”
This principle works well for scenarios like API endpoints and static websites that handle one request at a time, but it’s completely unsuitable for DSH.
DSH needs a persistent file system to store project code and conversation history, a real terminal to execute shell commands, and long-term execution to handle complex, multi-step tasks. Serverless platforms have read-only or temporary file systems, no persistent terminals, and strict execution timeouts. Functions are destroyed after running, so they can’t meet these requirements at all.
Therefore, it’s best to deploy DSH honestly on a server with a complete operating system.
LAN Deployment
If you don’t have a cloud server yet or want to keep all AI-generated artifacts local, LAN deployment is also a good option.
After deploying DSH on a LAN, it can be shared among devices at home. One main machine runs DSH, and you can use a tablet in bed to check the AI’s work progress. The entire household can use a shared environment.
If you set up a shared DSH in the office, colleagues on the same Wi-Fi can access it without everyone installing it individually.
Sounds quite practical, right? How do you set it up?
Thanks to DSH’s rich plugin ecosystem, several plugins already solve LAN access needs very well.
There’s a popular all-in-one plugin called dsh-web-ui in the community. It not only includes LAN remote access functionality but also provides task boards, Git graphs, mobile remote control, skins, and other comprehensive feature enhancements. This project already has thousands of Stars on GitHub—feel free to check it out if you’re interested.
If you don’t want the all-in-one package and only need LAN access, you can install the corresponding plugin separately.
Based on different use cases, I’ve compiled the relevant plugins into a reference image. Choose according to your needs:
A technical detail here: DSH defaults to listening only on 127.0.0.1 (the loopback address). Officially, it intentionally rejects --host 0.0.0.0 binding requests at the CLI level to prevent directly exposing the Agent’s command execution capabilities to the network.
The LAN plugins mentioned above work by using bundle patches to bind the webserver to 0.0.0.0 at the plugin level, while injecting crypto.randomUUID polyfills to address missing browser APIs in non-HTTPS environments. Although convenient, LAN access means any device on the same network can connect to your DSH, so it’s only recommended in trusted internal networks like home or office environments.
Final Thoughts
By now, you should feel how open DeepSeek Harness is.
Beyond “Everything is a plugin,” DSH itself chose a web-based form over a desktop client, meaning it naturally supports remote access, multi-device synchronization, and team collaboration. This openness is something local-only Agent tools don’t have.
If you want to use DSH anytime, anywhere, share it with your team, or are worried about AI messing up your computer’s files, you can follow this tutorial to try cloud-based DSH.
Alright, that’s all for this share. This article will be included in my free and open-source “AI Programming Beginner’s Guide,” which features thousands of illustrations and hundreds of thousands of words, guiding you from zero to quickly learn AI programming, create your own product, and master the entire monetization process—all in one go.
Open-source link: https://github.com/liyupi/ai-guide
I’m Fish Skin, continuously sharing AI programming insights. If you found this useful, remember to like, save, and follow~
Welcome to share more DeepSeek Harness tips in the comments!
Similar Articles
@seclink: Since it's already trending, the code is worth reading and understanding to absorb its strengths. Among them, the concepts of loose coupling and modularity are indeed worth learning from. deepseek-harness is worth learning from for its 'capability as seam' plugin-style loose coupling: http://ctx.tools/ctx.sandb…
DeepSeek released the developer preview of Harness v0.1, and the open-source codebase showcases a plugin-style loose coupling architecture, emphasizing the advantages of modularity and loose coupling concepts.
@Saccc_c: L站 netizens are still too impressive. Someone reverse-engineered part of the technical architecture based on the leaked DeepSeek Harness closed-beta ecosystem plugin repository on GitHub, for reference. All I can say is I'm looking forward to DeepSeek Harness!
L站 netizens reverse-engineered part of the technical architecture based on the leaked DeepSeek Harness closed-beta ecosystem plugin repository on GitHub, sparking anticipation for DeepSeek Harness.
@baboonAI4S: https://x.com/baboonAI4S/status/2083921996967227637
A systematic review of 257 open-source projects in the comments of the DeepSeek Harness beta recruitment post reveals a three-tier ecosystem, with DeepSeek support at 49%, and offers recommendations for beta testing priorities.
@tianyi: If you are a developer of an open-source project related to Agent Harness and wish to participate in the beta testing of DeepSeek Harness, you can reply or message me privately. Please include your GitHub ID and representative open-source works.
A DeepSeek team member invites developers of open-source projects related to Agent Harness to participate in the beta testing of DeepSeek Harness, with a GitHub ID and representative works required.
@BoxMrChen: The Deepseek Harness philosophy is awesome. They made everything into plugins — GUI, TUI — and oppose hardcoding workflows like plan, subagent, permissions, MCP into the core. To be honest, at first glance I felt they reinvented Pi Agent, even though it was built on Cordis...
The author comments on Deepseek Harness's plugin-based philosophy, arguing that it turns everything (GUI/TUI, etc.) into plugins and opposes hardcoding workflows. They compare it with Pi Agent and Prime-Agent, propose the idea of building a self-evolving Agent in a REPL, and have already started implementing it with Codex.