dsh-wenshan
Manifest valid★ 93Wenshan: DeepSeek Harness Geography Field Internship Knowledge Graph Plugin and Unofficial Secondary Development Project
dsh-wenshan
Wenshan is a DeepSeek Harness community plugin for geography field-study internships. It organizes internship materials into a reviewable, traceable knowledge graph, and uses published knowledge for on-site tours, teaching and Q&A.
[!IMPORTANT] This project is not an official release of DeepSeek or DeepSeek Harness, and it does not represent the upstream project. The repository contains a customized copy of the DeepSeek Harness source code, used to provide a reproducible installation and runtime environment.
Relationship with DeepSeek Harness
This project is built on top of deepseek-ai/deepseek-harness and follows its Cordis plugin system. The main extensions include:
dsh-georag: a plugin for knowledge retrieval, relation expansion, spatial queries, and knowledge event storage.dsh-wenshan: tools and prompts for the two agent modes — knowledge evolution and field teaching assistant.dsh-wenshan-intake: a plugin for material intake, the knowledge graph API, and the browser pages.presetsandwenshan.cordis.yml: Wenshan's DSH preset and product mount configuration.

Features
- Knowledge evolution: ingest text, PDF, Word, images, recordings and common GIS files, generate drafts, publish after review.
- Field assistant: read-only formal knowledge base, with concept search, adjacent relations, location, weather, itinerary queries.
- Closed-loop gaps: unanswerable questions are logged; evolution mode supplements by question count, clears gaps after publishing.
- Photo map: photos clustered by teaching point on a terrain hillshade basemap, with per-day route animation and "playback" replay.
- Knowledge galaxy: 3D galaxy view of the graph, nodes glow by type, particle flow on links, rotate/focus/read node body.
- Interactive graph: search, filter, drag, locate nodes, read note bodies on demand.
- Local persistence: raw data, extractions, drafts, publish and gap records saved separately, restorable after restart.
- Permission isolation: field assistant cannot write materials or publish knowledge, only logs gaps.

Environment
The current startup script targets Windows 10/11 and requires:
- Node.js 24, or Node.js 22.19 or later
- pnpm
- Python 3.11
Before the first installation, make sure the command line can find node, pnpm, and py -3.11. To install pnpm, run:
npm install -g pnpm
Quick Start
git clone <你的仓库地址>
cd <仓库目录>
.\安装问山.bat
.\启动.bat
The install script installs and builds the bundled DeepSeek Harness, plus knowledge graph, document extraction, audio transcription, and GIS dependencies. After completion, open:
- Main interface:
http://127.0.0.1:3080/ - Knowledge graph:
http://127.0.0.1:3080/wenshan/knowledge-graph - Photo map:
http://127.0.0.1:3080/wenshan/photo-map(photo thumbnails are generated by更新数据.bat) - Knowledge galaxy:
http://127.0.0.1:3080/wenshan/knowledge-galaxy
The photo map's topographic hillshade basemap is generated by py -3.11 tools/build_terrain.py (it downloads DEMs from AWS Open Elevations tiles; once generated, it works offline; if missing, the page automatically falls back to a plain vector basemap).
On first entry, configure model and API Key under 设置 > 模型. Credentials go to the local DSH config, not this repo.
Usage Workflow
Ingesting materials
Switch to 知识演化, pick a materials folder, or paste short text directly. The system deduplicates by SHA-256 content fingerprint; originals and extraction results are saved separately.
Main supported formats:
| Type | Formats |
|---|---|
| Text | TXT, Markdown, CSV, TSV |
| Documents | PDF, DOCX |
| Images | JPG, PNG, WebP, HEIC, TIFF |
| Audio | MP3, WAV, M4A, OGG, FLAC, AAC |
| GIS | GeoJSON, GPX, ZIP containing Shapefile or GDB |
Review & Publish
After sending 处理最新资料, the engine reads sources and generates drafts. Drafts do not auto-enter the formal base. Once content is confirmed, follow the page prompt to send the full passphrase:
确认发布 draft-xxxxxxxx
可以, 继续 etc. do not trigger publishing. The search engine updates immediately after a successful publish.
On-site Q&A
Switch to 野外助教 to use the formal knowledge base. This mode registers read-only tools and cannot modify sources, drafts, or published knowledge.
Closed-loop knowledge gaps
When the field assistant confirms "published materials do not cover this question", it logs the question verbatim as a gap; repeats only add a count. The to-supplement list appears in the "Questions to supplement" panel on the left of the graph page, or send 查看知识缺口 in a 知识演化 chat. After supplementing and publishing, have the engine clear gaps one by one.
Data Structure
The base Lushan data lives in data/*.json. New materials and knowledge created at runtime are written to data/knowledge/:
data/knowledge/
├─ events.jsonl
├─ sources/
├─ extracted/
└─ structured/
data/knowledge/, data/photos/, and local credentials are already in .gitignore. Before publishing the repository, you should still review the licensing and privacy boundaries of raw field-study records, photos, and geospatial data.
To rebuild the base data from raw GDB files, an Obsidian knowledge base, and a daily curation directory, first adjust the three source paths in config/lushan.json, then run:
.\更新数据.bat
Project Structure
presets/ 知识演化与野外助教两个 DSH preset
dsh-georag/ GeoRAG 检索、空间查询和知识事件存储插件
dsh-wenshan/ DSH 工具注册与两种模式的系统提示词
dsh-wenshan-intake/ 资料收录、图谱接口和图谱页面插件
deepseek-harness-master/ 项目内定制的 DeepSeek Harness 源码
tools/ 数据构建、资料提取和验收脚本
web/ 独立界面源码及检索评测复用代码
data/ 可公开的基础检索数据
Technical Notes
Wenshan is a secondary development on the bundled DeepSeek Harness. The graph uses force-graph; base retrieval combines Chinese bigram BM25, knowledge relation expansion, and spatial distance decay. The main service listens only on 127.0.0.1, which suits local demos and teaching environments.
For public deployment, add login auth, HTTPS, rate limiting, file security checks, and data backup; do not expose the local port directly.
License & Disclaimer
This project is licensed under the MIT License. The original MIT license, copyright notices, and third-party dependency declarations of DeepSeek Harness are preserved in deepseek-harness-master/deepseek-harness-master/; summary information is available in NOTICE.md. force-graph is licensed under the MIT License.
DeepSeek and DeepSeek Harness are referenced only to explain compatibility and code provenance. The valley background is generated by this project; the repo does not include the original Wallpaper Engine asset pack. Before publishing the Lushan sample data, verify data licensing and privacy boundaries yourself.
Compatibility
Versions
| Latest version | Published | Size |
|---|---|---|
| 0.0.1-rc.1 | — | — |
| 0.0.1-rc.2 | — | — |
| 0.0.1-rc.3 | — | — |
| 0.0.1-rc.5 | — | — |
| 0.1.0-rc.2 | — | — |
| 0.1.0-rc.3 | — | — |
| 0.1.0-rc.6 | — | — |
| 0.1.0-rc.7 | — | — |
| 0.1.0-rc.8 | — | — |
| 0.1.1-rc.1 | — | — |
| 0.1.1-rc.2 | — | — |
| 0.1.2-alpha.2 | — | — |
| 0.1.2-alpha.3 | — | — |
| 0.1.2-alpha.4 | — | — |
| 0.1.2-alpha.5 | — | — |
| 0.1.2-rc.1 | — | — |
| 0.1.3-alpha.2 | — | — |
| 0.1.5-alpha.1 | — | — |
| 0.1.5-alpha.2 | — | — |
| 0.1.5-rc.1 | — | — |
Comments
Loading…
Similar plugins
by Olympianz
DeepSeek Harness 页面埋点与热力图分析插件:科学埋点采集、本地热力图与统计、CLI/HTTP 接口、上传授权。
★ 0
TypeScript
Aug 30, 2026
dsh plugin --profile web add dsh-heatmapby deepseek-dsh
DeepSeek Harness Web UI 增强插件:余额用量概览、项目文件浏览、Git 变更与历史、内置终端、Harness 更新检查
★ 4
↓ 26/wk
JavaScript
Aug 20, 2026
dsh plugin --profile web add dsh-workspaceby lzhphantom
DSH(DeepSeek Harness)组合包插件:只读扫描任意项目目录,自动构建**模块级 + 文件级知识图谱**,帮助快速理解项目整体架构与设计思路,为后续进化、优化提供依据。
★ 0
MIT
JavaScript
Aug 16, 2026
dsh plugin --profile web add dsh-kgraph-pluginby RaganaBloodedge
DeepSeek Harness 长期记忆插件:分层任务记忆 + 关系图谱 + 索引常驻稳定前缀;零运行时依赖,另附同源的 Agent skill 形态
★ 0
MIT
TypeScript
Oct 15, 2026
dsh plugin --profile web add dsh-lmmarrby Luke-Yong
dsh-plugin-knowledge-graph for Deepseek Harness
★ 4
MIT
TypeScript
Aug 17, 2026
dsh plugin --profile web add dsh-plugin-knowledge-graphby JohnXu22786
DSH 插件:为任务自动创建隔离的 git 工作区,管理创建/同步/收尾全生命周期 (task-isolated git worktrees for DeepSeek Harness)
★ 2
MIT
JavaScript
Oct 24, 2026
dsh plugin --profile web add worktree-mgr