dsh-console
DSH Console — 本地 Web 控制台,构建和运行时空智能体应用
Install / Use
claude mcp add gischina -- npx -y github:gischina/dsh-consoleIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AI & Machine LearningSupported Platforms
Tags
Our assessment of dsh-console
dsh-console scores 67/100 on our quality scale, 899th of 956 AI & Machine Learning skills we index.
Its MCP Server is 45 KB long, well organised into 65 sections with 33 code examples: long enough that it reads more like full documentation than a focused instruction file, which agents can find harder to follow.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 9 days ago, so dsh-console is actively maintained.
- It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 87/100, with 2 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
dsh-console compared with similar skills
All 4 of these similar skills score higher than dsh-console; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| dsh-console (this skill)by gischina | 67 | 3 | 9d ago | MCP Server |
| claude-memby thedotmack | 100 | 101.7k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 99.4k | 4d ago | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 87.0k | 7d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 76.0k | 1d ago | CLAUDE.md |
Frequently asked questions
- How do I install dsh-console?
- Run
claude mcp add gischina -- npx -y github:gischina/dsh-console. The install tabs above show the steps for each supported agent. - Which AI agents does dsh-console work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is dsh-console safe to use?
- It is Apache-2.0-licensed and scores 87/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is dsh-console still maintained?
- The repository was last updated 9 days ago, so dsh-console is actively maintained.
Skill content
View source on GitHub企业级时空智能体生产平台请访问另一个项目 https://github.com/gischina/sti-harness
DSH Console · 易智瑞西安时空智能应用工作台
DSH Console 是一个 DSH 控制台,把 DSH 的会话、技能、知识库、MCP、插件、模型、设置、
凭据、子代理等能力做成一个本地网页,打开 http://127.0.0.1:3081 即可操作,
并内置对接 GeoScene Pro MCP 服务端——GeoScene Pro 起来后,对话里就能直接调用它的 31 个工具,
覆盖从加载数据、读写图层属性,到符号化与标注、属性与空间关系查询、视图缩放、工程存档与出图,
再到执行 GP 工具的整条链路。
它不是替代 DSH,而是 DSH 的增强:控制台自己不存数据,页面上的内容全部来自 DSH 的实时接口。
搭建一个时空智能体应用的过程也收进了同一页:不必再在终端、配置文件和多份文档之间来回切换, 能力、配置与运行状态都看得见、改得动,整个过程更省事。
<img width="1910" alt="时空智能体 · 对话页" src="docs/images/chat-agent.png" /> <img width="1910" alt="轨迹 · 会话事件时间线" src="docs/images/trajectory.png" /> <img width="1910" alt="工作流 · 运行明细与子代理" src="docs/images/workflow.png" /> <img width="1910" alt="工作空间 · 分组与工作目录" src="docs/images/workspace.png" /> <img width="1910" alt="MCP 服务 · 连接器市场" src="docs/images/mcp-market.png" /> <img width="1910" alt="Skills 管理 · 插件市场(6400+ 技能)" src="docs/images/skills-market.png" /> <img width="1910" alt="知识库 · dsh-knowledge 插件管理界面" src="docs/images/knowledge.png" />
目录
- 内置 GeoScene Pro MCP 对接
- MCP 连接器(dsh-mcp-connector 插件)
- Skills 管理(@weibaohui/skills-management 插件)
- 插件市场(dshmarket 插件)
- 知识库(dsh-knowledge 插件)
- 1. 架构与依赖关系
- 2. 环境要求
- 3. 快速启动(两步)
- 3.5 部署到其他机器(给别人用)
- 4. 环境变量
- 5. 目录结构
- 6. 功能页面
- 7. 控制台自有接口
- 8. 数据来源原则
- 9. 停止与重启
- 10. 故障排查
- 11. 已知限制
- 12. 排障顺序
内置 GeoScene Pro MCP 对接
控制台面向 GeoScene Pro 做了内置对接:控制台侧不需要写任何配置,它按固定约定
(StartGeoSceneMcp 启动、127.0.0.1:11000 通信)直接把 GeoScene Pro 当作本机的 MCP 服务端来用。
控制台侧(自动,无需配置)
- TCP 探测
127.0.0.1:11000 - 探到端口后发起真实的
initialize/tools/list握手,数出实际可用工具数 - 握手成功即回写快照
mcp-tools.json;失败时回退上一次成功的结果,并在页面上标明来源,不假装在线
DSH 侧(一次性配置)
要让智能体真正能调用这些工具,需要在 ~/.dsh/profiles/<profile>/cordis.patch.yml 里
加载 mcp-geoscene 客户端实例,改完重启 dsh web(该 profile 的 HMR 已关闭)。
握手通过后,智能体可调用的 GeoScene Pro 工具共 31 个:
| 分组 | 工具 |
|---|---|
| 图层与数据 | get_all_layers_properties_json · get_layer_properties_by_name · modify_layer_properties · add_data · remove_layer_by_name · read_gdb_data |
| 符号化与标注 | render_point · render_line · render_polygon · render_by_lyrx · render_layer_by_unique_values · render_layer_by_graduated_color · label_layer · set_label_symbol_properties · hide_labels_by_layer_name |
| 查询与选择 | query_features_by_attribute · query_by_spatial_relation · filter_by_attribute · clear_selection_by_layer_name · query_and_zoom |
| 视图与缩放 | zoom_to_extent · zoom_to_layer_extent · zoom_to_selected_features |
| 工程与出图 | open_project · save_current_project · create_project_by_template · export_map_to_jpg · public_map |
| GP 与状态 | executegp · get_gp_history · is_busy |
清单取自一次真实的
initialize+tools/list握手结果,不是写死的常量;GeoScene Pro 版本 或服务端工具开关不同,实际数量会随之变化 ——「MCP 服务」页显示的是本机实测值。
知识库(dsh-knowledge 插件)
控制台对第三方知识库插件 dsh-knowledge 做了自适应集成:DSH 那边装了它,控制台侧不加任何配置, 就会多出「知识库」和「本地模型」两个页面;没装时这两个页面显示引导卡,其余功能不受影响。
插件提供什么(本项目不重复实现,只负责接进来)
- 知识库管理:建库 / 分组 / 从文件、目录、URL 或纯文本导入文档,解析分块,原文与分块预览,召回测试
- 向量与检索:OpenAI 兼容 / Ollama / 本地模型 / 关键词降级四种 embedding 模式,混合检索与回答前自动注入
- 模型可见工具:
knowledge_search等一组工具,智能体在对话里直接查知识库 - 本地模型管理:embedding / 重排 / OCR 模型的下载、重试与健康状态
控制台做了什么
- 两个页面:
#/knowledge(侧栏「能力与资产」组)与#/knowledge/models(不在侧栏;从知识库页右上角的「🧩 本地模型」按钮进入), 以插件槽位装载插件自带的界面——控制台不维护第二份知识库界面 server.cjs铺一条/api/kb/* → /knowledge/*的等价通道:请求体原样转发、不设超时 (导入目录树、重建索引是分钟级长任务,浏览器中途断开要把中止传下去)- 插件界面代码运行时从本机已装的插件里取(
/api/kb-client.js),不拷贝进本仓库—— 页面上跑的永远是你装的那一份,生产包也不随带插件的 AGPL 代码 - 插件界面需要 React:控制台内置一份构建期抽取的 React 运行时(
public/react/, 由tools/extract-react-runtime.mjs生成),不借用 DSH 的前端产物(那样会把 DSH 的界面整个带起来)
前提(DSH 侧,一次性)
dsh plugin --profile web add dsh-knowledge
装完重启 dsh web。插件是否可用以「知识库」页顶部的实时探测为准;
没装时页面给出引导,不会假装可用。
MCP 连接器(dsh-mcp-connector 插件)
控制台对第三方 MCP 管理插件 dsh-mcp-connector 做了自适应集成:DSH 那边装了它,控制台侧不加任何配置,「MCP 服务」页就变成完整的 MCP 连接中心——市场 / 已连接 / 工具 三个页签由插件驱动;没装时这三个页签不出现, 页面给出安装引导,「本机配置」页签照常可用。
插件提供什么(本项目不重复实现,只负责接进来)
- 持续更新的连接器市场:111+ 张卡片,覆盖企业数据、金融投资、法律合规、开发工具、 办公协作、调研分析、设计创意、效率工具、其他共 9 类(目录走公共 Registry,会持续增长)
- 多种接入方式:OAuth 2.0 PKCE 授权、API Key / Bearer、Streamable HTTP / stdio、
mcpServersJSON 导入、从连接器描述 URL 安装 - 跨连接工具查找:按名称 / 描述搜索全部已启用连接的工具,含易读参数 schema、来源与缓存时间
- 连接排障:带失败阶段与错误码的可解释诊断、健康检查、重新发现工具
- 安全生命周期:凭据只存本机、OAuth 自动刷新、脱敏导出、变更前自动快照(可回滚)
- 作用域与三层治理:project / global 可见范围,Connection / Server / Tool 三级 allow/deny 规则
安装(DSH 侧,一次性)
dsh plugin --profile web add dsh-mcp-connector
重复执行同一条命令即可升级。装完(或升级完)完全重启 dsh web
(EADDRINUSE 127.0.0.1:3080 表示旧进程还在,先停掉再启)。要求 Node.js 20+。
插件也可用它的安装脚本装,详见插件仓库 README。
怎么用(控制台侧,零配置)
装好插件后打开侧栏「MCP 服务」(#/mcp/manager),四个页签:
| 页签 | 干什么 |
|---|---|
| 🔗 已连接 | 连接清单与健康状态;每条可 🩺测活 / 🧰列工具(真实 tools/list)/ ✏️改名 / ⚙️编辑配置(敏感值以 <KEEP> 保留标记沿用,不回显)/ ⏸停用 / ✂️断开 |
| 🛍️ 市场 | 按分类浏览 + 关键词搜索;免凭据的点「连接」即通,凭据型弹表单填 Token,OAuth 型拉起授权页 |
| 🧰 工具 | 跨全部连接搜索工具(防抖即时过滤 + 按连接筛选 + 分页),点「详情」看参数 schema |
| ⚙️ 本机配置 | 随 DSH 启动加载的服务清单(即内置 GeoScene Pro MCP 对接那一套),与连接器互不影响 |
页面上还有:➕ 添加连接(导入 JSON / 手动配置 HTTP 与 stdio / 从 URL 安装三个入口)、 🩺 全部测活、📤 导出脱敏配置(可搬到别的机器重新导入)、版本横条(插件版本 + 检查更新)。插件状态有 SSE 实时推送,连接变更时页面自动刷新。
<img width="1910" alt="MCP 服务 · 已连接与健康管理" src="docs/images/mcp-connected.png" /> <img width="1910" alt="MCP 服务 · 跨连接工具搜索" src="docs/images/mcp-tools.png" /> <img width="1910" alt="MCP 服务 · 添加连接(三个入口)" src="docs/images/mcp-add.png" />内置默认本地 MCP(GeoScene Pro)
页面内置了与 DSH「MCP 选项 → Studio 连接配置方式」一致的默认模板
{"mcpServers":{"GeoScenePro":{"command":"StartGeoSceneMcp"}}}:没有任何连接时,
空状态第一个按钮就是「🏠 启用默认本地 MCP」一键加上;「添加连接 → 导入 JSON」里也有
默认模板可填充;清单中该连接带「默认」标。实际添加仍走插件的 importJson
(导入即实测连通性,失败不保存),控制台不落第二份配置。
控制台做了什么
server.cjs铺一组/api/mcpc*通道:POST /api/mcpc等价转发插件白名单 API (不设超时,OAuth 授权要等人操作)、/api/mcpc-status可用性探测、/api/mcpc-ui/*市场卡片图标代理、/api/mcpc-eventsSSE 状态流直通—— 与/api/kb/*同一思路:控制台只铺通道与外壳,数据全部来自本机已装插件,不落第二份拷贝- 页面外壳(四个页签、表单、清单)由控制台实现,但连接的增删改测全部调插件自己的后端, 与插件在 DSH 侧的会话状态、工具治理天然一致
两套 MCP 机制的关系:「本机配置」页签 = 随 DSH 启动从 cordis.patch.yml 加载的服务
(改配置要重启 dsh web);「市场 / 已连接 / 工具」= 插件热管理的连接(免重启、即配即测)。
两者注入的工具都以 mcp__<serverName>__* 前缀提供给模型,互不干扰。
⚠️ stdio 类连接(如 GeoScenePro)依赖被拉起的本机程序:GeoScene Pro 没启动时,
StartGeoSceneMcp会判断「Pro 未启动」,连接状态显示「未知/待恢复」—— 那是真实结果,不是故障;把 GeoScene Pro 打开后点「🩺 测活」即可恢复。
Skills 管理(@weibaohui/skills-management 插件)
与 MCP 连接器同构:控制台对第三方技能管理插件 @weibaohui/skills-management 做了自适应集成。DSH 那边装了它,控制台侧不加任何配置,「Skills 管理」页就变成完整的 技能中心——已安装 / 市场 / 执行器 三个页签由插件驱动;没装时这三个页签不出现, 页面给出安装引导,「本机配置」页签照常可用。
插件提供什么(本项目不重复实现,只负责接进来)
- 内置 ntd 技能市场:6400+ 技能(gitcode 仓库每日自动同步),按来源 / 关键词过滤, 每张卡标注注入开销(≈token / 字符,js-tiktoken cl100k_base 估算)
- 一键安装:市场 → DSH 用户库(
~/.dsh/skills),已存在时确认后可覆盖;装完即用 (DSH 的技能加载有 watcher,免重启) - 本机执行器收编:扫描本机十余个 coding agent 的技能目录(Claude Code / ZCode / Codex / OpenCode / CodeBuddy / WorkBuddy / Agents 等,可自定义目录),把其他 执行器已有的技能一键「收编到 DSH」
- 模型可见性治理:切换 dsh 原生 frontmatter 键
disable-model-invocation—— 关掉后技能不再自动注入模型(≈token 开销归零),用户仍可手动/技能名调用 - 市场仓库治理:仓库地址 / 分支 / 自动同步策略可配(持久化到
~/.dsh/settings.yaml), 支持私有 token;同步状态(落后 / 领先 / 最近同步时间)在页面横条实时可见
安装(DSH 侧,一次性)
在 DSH 插件市场搜 skills-management 安装,或终端执行:
dsh plugin --profile web add @weibaohui/skills-management
(插件管理语法以 dsh plugin --help 为准。)装完重启 dsh web。
要求 Node.js 22.5+ / DSH >= 0.1.7-rc.2,详见插件仓库 README。
怎么用(控制台侧,零配置)
装好插件后打开侧栏「Skills 管理」(#/skills/manager),五个页签:
| 页签 | 干什么 |
|---|---|
| 📦 已安装 | DSH 用户库(~/.dsh/skills)技能清单:每张卡标注 ≈token 注入开销、文件数 / 体积、修改时间;可看详情(SKILL.md 元数据 + 正文预览 + 依赖文件)、删除 |
| 🛍️ 市场 | 6400+ 技能按来源过滤 + 关键词搜索;点「安装」一键装入用户库;顶部横条显示市场仓库状态(地址 / 分支 / 是否落后 / 上次同步) |
| 🗂️ 执行器 | 本机全部 coding agent 技能目录一览(17 个内置执行器 + 自定义);点行下钻看该执行器的技能,「收编到 DSH」一键搬运,dsh / agents 根内可切「模型可调用」 |
| ⚙️ 本机配置 | 按当前会话 cwd 解析的技能加载根目录 + 会话实际加载的技能清单(原先整页的内容),与插件管理的技能库互不影响 |
| 🧬 编排 | 可视化画布把 MCP 工具与技能串成一条编排,三层校验后导出为 SKILL.md;不依赖插件,随时可用 |
页面上还有:🔄 同步市场(git 拉取整库,分钟级)、🔄 重扫本机(重新扫描加载根目录)。 列表每 1 分钟 TTL 缓存,安装 / 删除 / 同步后自动强制刷新。
<img width="1910" alt="Skills 管理 · 插件市场" src="docs/images/skills-market.png" /> <img width="1910" alt="Skills 管理 · 已安装清单" src="docs/images/skills-manager.png" /> <img width="1910" alt="Skills 管理 · 本机执行器与收编" src="docs/images/skills-executors.png" />「🧬 编排」不依赖插件,插件未安装时这一页签照常可用。
控制台做了什么
server.cjs铺一组/api/skmg*通道:/api/skmg/<子路径>等价转发插件 API (GET/POST/PUT/DELETE 原样透传、query 与 JSON 体原样带过去;不设超时——市场同步 是 git 拉整库、要等)、/api/skmg-status可用性探测(200=已装 / 404=未装)—— 与/api/mcpc、/api/kb/*同一思路:控制台只铺通道与外壳,数据全部来自本机已装插件, 不落第二份拷贝- 页面外壳(五个页签、搜索、下钻、详情弹窗)由控制台实现,但安装 / 删除 / 治理开关 全部调插件自己的后端,与插件在 DSH 侧注册的 skill provider 天然一致
与「本机配置」的关系:「本机配置」页签 = DSH 的技能加载视角(按会话 cwd 解析
项目 / 用户根目录,展示会话里实际生效的技能);「已安装 / 市场 / 执行器」= 磁盘上
技能目录本身的管理视角;「🧬 编排」是编辑器,产出也是技能。装插件装进的用户库
(~/.dsh/skills)就是前者根目录之一,两条路最终汇合到 DSH 的 skill 工具。
插件市场(dshmarket 插件)
与 MCP / Skills 同构:控制台对第三方 Cordis 插件市场 dshmarket(dshmarket.com) 做自适应集成。DSH 侧装了它,控制台「插件」页就变成真正的插件中心—— 已安装 / 市场 两个页签由插件驱动;没装时这两个页签给出安装引导, 「本机清单」页签(合成树诊断)照常可用。
插件提供什么(本项目不重复实现,只负责接进来)
- 社区目录:awesome-dsh-plugin 全量清单(4000+,按分类 / 星标 / 下载量 / 最新排序, 中英双语描述,每日 CI 刷新)
- 一键安装:优先 npm 包,其次 GitHub Release / 源码;多数插件装完刷新页面即用,免重启
- 热启停:开关写入 profile 的
cordis.patch.yml(官方补丁层),约 1 秒热重组; 宿主基础设施与市场自身受保护,不可误关 - 更新 / 卸载:按包检查可更新版本、一键更新或卸载;安装过程可看 busy 状态
- 安全边界:只允许 curated 目录里的源;POST 带 same-origin 校验(控制台服务端转发满足)
安装(DSH 侧,一次性)
dsh plugin --profile web add dshmarket
装完重启 dsh web。要求 dsh web ≥ 0.1.0-rc.6,详见
插件仓库 README。
怎么用(控制台侧,零配置)
装好插件后打开侧栏「插件」(#/plugin/manager),三个页签:
| 页签 | 干什么 |
|---|---|
| 📦 已安装 | 当前 profile 已装包:运行态 / 禁用态、可更新徽标;启用·禁用·更新·卸载 |
| 🛍️ 市场 | 4000+ 社区插件按分类过滤 + 关键词搜索;点「安装」一键装入当前 profile |
| 📋 本机清单 | dsh --dump-config 合成树(分类 / 来源层 / 安全敏感 / 已禁用)+ pluginInventory/list 与动态插件运行时诊断 —— 原先整页内容,不依赖 dshmarket |
页面上还有:🔄 刷新(重拉市场目录 / 已装 / 更新检查)、🔄 重探本机树(dump-config)。
控制台做了什么
server.cjs铺一组/api/dshm*通道:/api/dshm/<子路径>等价转发/dsh-market/<子路径>(GET/POST 原样透传;install / update / uninstall 不设超时;不转发浏览器 Origin, 以满足插件的 sameOrigin fence;401 就地重换会话 cookie)、/api/dshm-status可用性探测(200=已装 / 404=未装)——与/api/skmg、/api/mcpc、/api/kb/*同一思路- 页面外壳(三个页签、搜索、卡片、操作按钮)由控制台实现,安装 / 启停 / 卸载 / 更新 全部调 dshmarket 自己的后端,与 DSH 原生 Settings → Plugin Market 同一套状态
与「本机清单」的关系:「已安装 / 市场」= 包管理视角(profile 依赖与补丁层); 「本机清单」= 合成视角(base + web-app + patch 展开后的 Cordis 行 + 运行时 fiber)。 两条路最终汇合到同一份 profile。
1. 架构与依赖关系
┌──────────────────────────────┐
│ 浏览器 │
│ http://127.0.0.1:3081 │
└───────────┬──────────────────┘
│ HTTP + WebSocket(同源,无跨域问题)
┌───────────▼──────────────────┐
│ dsh-console / server.cjs │ ← 本项目(N
Truncated for display — read the full file on GitHub.
Related Skills
claude-mem
101.7kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Agent-Reach
99.4kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Understand-Anything
87.0kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
76.0kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
