We replaced our custom Agent runtime with DeepSeek Harness — building MOVO as the enterprise layer #5842
Replies: 1 comment 1 reply
|
Congrats on shipping MOVO CE — and on making the "stop building the runtime" call. That boundary question is exactly what several of us have been circling in the discussions here (e.g. #5834 asks how to serve dsh as a multi-turn API to an enterprise backend — MOVO is now a working public answer to that thread), so a field report from a real migration is genuinely useful. On whether the runtime/enterprise split makes sense: it matches the harness's own grain. dsh already treats most "enterprise-adjacent" concerns as pluggable layers rather than core: per-session agent composition is a preset layer, approval/interaction is a service with pluggable answerers, credentials are capability providers with env/.env/file backends, automation gets a dedicated stdio-only ACP server, and the webhook ingress is shipped as a reference custom-route adapter. What stays in core is the agent loop, session/durable-log invariants, and the tool/event surfaces. So "DSH runs the agent, MOVO runs the enterprise layer around it" is not a compromise — it's the architecture those seams were cut for. Things I'd argue belong outside dsh (from the seams that exist today):
Hardest parts integrating dsh into a multi-user enterprise platform (the ones that surprised us when mapping the surface):
One integration shape worth considering: instead of the browser-facing server, mount a narrow custom gateway that reuses the session-controller RPC behind your own auth (the Happy to go deeper on any of these — the "what stays outside" list is the one I'd most like to see the ecosystem converge on, because plugin authors keep re-deriving it independently. |
Uh oh!
There was an error while loading. Please reload this page.
We've been building MOVO, a self-hosted enterprise Agent platform.
Originally, we built most of the Agent runtime ourselves: planning, tool execution, Skills, sub-agents, session state, recovery, browser execution, sandbox integration, and so on.
After DeepSeek Harness was released, we made a fairly significant architecture decision:
we stopped building our own runtime and migrated MOVO to DSH.
The reason was not that our runtime could not continue evolving. The real question was whether this was the right layer for a small enterprise software team to keep investing in.
DSH's plugin-oriented architecture is very close to the direction we had already been moving toward. More importantly, if DSH develops a strong ecosystem around tools, Skills, sandboxes and runtime extensions, projects built on top of it can benefit from that ecosystem instead of rebuilding everything independently.
This migration also helped us clarify the boundary of MOVO:
DSH handles how an Agent runs.
MOVO focuses on how an Agent enters enterprise production.
Today, MOVO mainly focuses on the enterprise layer around DSH, including knowledge/RAG, identity and RBAC, governance, system integration, Agent management, private deployment and enterprise-facing workspace/admin capabilities.
The migration is now mostly complete, and we've open-sourced the MOVO Community Edition:
https://github.com/himovo/movo
We're still early, so we're especially interested in feedback from people building on DSH:
Does this separation between runtime and enterprise layer make sense?
Which enterprise capabilities do you think should remain outside DSH?
What are the hardest parts of integrating DSH into a multi-user enterprise platform?
Would love to hear how others are thinking about this boundary.
All reactions