Skip to main content
Glama

dsh-plugin-diepi

dsh-plugin-diepi es un plugin comunitario de DSH mantenido de forma independiente: el usuario expresa en lenguaje natural una estrategia diaria de acciones o ETF, DSH se encarga de la conversación y la orquestación, diepi-mcp proporciona un protocolo de herramientas restringido, y diePi se encarga de la validación de datos, los límites causales, el emparejamiento, la contabilidad y los artefactos de resultados inmutables.

自然语言
  -> DSH + diepi-quant-research Skill
  -> StrategySpec v1(结构化、可预览、拒绝任意代码)
  -> diepi-mcp(MCP stdio、作业队列、证据绑定)
  -> 独立 diePi 子进程
  -> 已验证的 RunArtifact / ResultContract

La versión actual es Developer Preview: el paquete de Python es diepi-mcp 0.1.0a1, y el bundle de npm es dsh-plugin-diepi 0.1.0-alpha.1. Este proyecto no es un proyecto oficial de DeepSeek ni representa ningún respaldo oficial.

Qué puede hacer

  • Datos diarios, cuenta de efectivo, una sola acción A o ETF.

  • StrategySpec v1 / ma_crossover: cruce estricto de medias móviles rápida y lenta, con filtro opcional de ampliación de volumen de negociación.

  • Las decisiones previas a la apertura solo leen los datos diarios completos hasta T-1; las órdenes se emparejan como muy pronto en la apertura del día T.

  • Compatible con datos raw_only, adjusted_only y dual estrictamente alineados.

  • Backtesting en cola asíncrona; submission_id hace que los reintentos por tiempo de espera desconocido sean idempotentes.

  • La fuente de datos, el calendario de negociación, la plantilla de estrategia, los parámetros de ejecución y el artefacto final se vinculan capa por capa.

  • El bundle de DSH monta automáticamente ocho herramientas MCP restringidas y la Skill diepi-quant-research.

No se admiten Python arbitrario, protocolos de estrategia intradía, ventas en corto, apalancamiento, futuros, trading real, credenciales de bróker, descarga de cotizaciones integrada, optimizadores de parámetros ni GUI. El modelo no puede pasar rutas, comandos, SQL ni código fuente de Python a través de este plugin.

Related MCP server: OpenFinClaw CLI

Experiencia synthetic de cinco minutos

La primera experiencia no lee cotizaciones reales de este repositorio ni del repositorio de diePi. diepi-mcp init-config reclama de forma exclusiva un nuevo adapter home fuera del espacio de trabajo de DSH, y llama al mismo generador de demo determinista de diePi para generar precios, volúmenes, días de negociación y etiquetas de valores ficticios; estos datos solo se usan para verificar la instalación y el cableado del protocolo.

Requisitos:

  • Python 3.10+;

  • Node.js ^22.19.0 || >=24.0.0;

  • pnpm 11.7.x, y pnpm en PATH;

  • DSH 0.1.0-rc.7 (soporte principal) o 0.1.0-rc.8 (canary).

Primero instala el Alpha de Python tras la publicación coordinada y crea una nueva raíz propiedad del host. adapter-home-alpha1 no debe existir todavía:

$hostRoot = Join-Path $env:LOCALAPPDATA "diepi-mcp-host"
$adapterHome = Join-Path $hostRoot "adapter-home-alpha1"
New-Item -ItemType Directory -Force -Path $hostRoot | Out-Null

python -m venv (Join-Path $hostRoot "venv")
$experiencePython = Join-Path $hostRoot "venv\Scripts\python.exe"
$mcpCommand = Join-Path $hostRoot "venv\Scripts\diepi-mcp.exe"

& $experiencePython -m pip install "diepi-mcp==0.1.0a1"
& $mcpCommand init-config --target $adapterHome

$env:DIEPI_MCP_COMMAND = (Resolve-Path $mcpCommand).Path
$env:DIEPI_MCP_CONFIG = (Resolve-Path (Join-Path $adapterHome "diepi-mcp.json")).Path
& $env:DIEPI_MCP_COMMAND --check-config

El comando de inicialización rechaza sobrescribir, fusionar o reutilizar un destino existente. Primero crea el destino y el marcador .diepi-mcp-incomplete de forma exclusiva, luego escribe el payload staged con exclusive-create, y solo al final confirma diepi-mcp.json y elimina el marcador. Un fallo deja un directorio incomplete sin configuración utilizable; nunca elimina ni se hace cargo de un destino en disputa; usa un directorio nuevo o deja que el propietario del host revise el contenido y lo limpie manualmente. La configuración generada solo contiene rutas relativas; state, results y los datos synthetic permanecen en el adapter home y no entran en el espacio de trabajo del Agent ni en el repositorio Git. examples/config.example.json es solo una referencia de esquema; no es necesario copiarlo manualmente. En producción también se deben usar permisos de archivo para que el Agent solo pueda leer las cotizaciones, y no pueda escribir la configuración, el entorno MCP, el state ni las raíces de results.

La gestión de plugins de DSH invoca pnpm directamente. Si Node incluye Corepack, se puede fijar la versión que usa DSH:

corepack enable
corepack prepare pnpm@11.7.0 --activate
pnpm --version

Si el Node actual no incluye corepack, instálalo primero según las instrucciones oficiales de Corepack/pnpm y continúa. Instala en el perfil web, no en un perfil personalizado arbitrario que solo contenga el bundle base:

dsh plugin --profile web add dsh-plugin-diepi@0.1.0-alpha.1
dsh --profile web --dump-config
dsh web --no-open

Los cambios en los miembros del plugin solo afectan a los procesos nuevos de DSH. Para usar headless:

dsh plugin --profile headless add dsh-plugin-diepi@0.1.0-alpha.1
dsh --profile headless --dump-config
dsh --profile headless

Al hacer checkout del bundle de prueba desde este repositorio, reemplaza el nombre del paquete por ./dsh en la raíz del repositorio. No instales el paquete npm directamente desde la URL raíz del repositorio Git; el paquete npm se encuentra en el subdirectorio dsh/.

El bundle exige en la activación que DIEPI_MCP_COMMAND y DIEPI_MCP_CONFIG sean rutas absolutas explícitas. No recurre a un ejecutable con el mismo nombre en PATH ni adivina la ubicación de la configuración. El directorio de trabajo del subproceso MCP se fija al directorio de configuración propiedad del host, no al espacio de trabajo del Agent.

Del lenguaje natural al backtest

Por ejemplo:

Usa los datos diarios de 510300.SH, compra a plena capacidad cuando la media de 5 días cruce al alza la de 20 días, y vende todo en el cruce a la baja; backtest del año 2024.

El Agent primero genera un StrategySpec v1 revisable y luego llama en orden a:

  1. capabilities

  2. preview_strategy

  3. validate_data

  4. start_backtest con un submission_id nuevo que empiece por req_

  5. job_status y, si es necesario, cancel_job

  6. get_result

Cuando ocurra un timeout de MCP o una interrupción de la transferencia, se debe reintentar con exactamente los mismos parámetros y el mismo submission_id. Solo se pueden comparar resultados cuando se cumplen todas las condiciones siguientes:

artifact_verified == true
adapter_attribution_verified == true
result_committed == true
result_status == SUCCESS
rankable == true

Cotizaciones propias y Skill de Tushare

La entrada mínima son datos diarios raw que cumplan market_data_v1 de diePi; la entrada óptima son tres vías completamente alineadas: raw, HFQ y los factores de ajuste originales. Que una interfaz ascendente llame a los datos hfq no demuestra que satisfagan la identidad de factores de diePi; la decisión final la toma el validador de diePi.

El plugin no incluye conectores integrados, no lleva cotizaciones reales, no guarda tokens y no instala Skills externas automáticamente. Cuando falten datos, el Agent puede guiar al usuario hacia la Skill oficial de Tushare instalada de forma independiente. Solo registramos un commit ascendente revisado como referencia de entrega manual; la instalación, los permisos de red, las credenciales, los términos del proveedor y las decisiones de actualización los controla el usuario. Las reglas detalladas están en Tushare handoff.

La Skill externa solo se encarga de escribir los datos en una nueva raíz de staging. El propietario del host debe validar fuera de la sesión, registrar como dataset_id opaco, congelar la raíz de datos y reiniciar el MCP; una sola sesión del Agent no puede saltarse este límite.

Estrategia de versiones y compatibilidad

  • diepi-mcp==0.1.0a1 depende exactamente de diepi==0.1.1. Esto es intencional: el adapter depende actualmente de la devolución de cancelación, la evidencia de origen, la identidad de calendario y la semántica de artefactos atómicos de diePi; un rango amplio de 0.1.x no puede demostrar compatibilidad.

  • DSH rc.7 es la versión principal de soporte de Alpha; rc.8 es el canary prospectivo. Ambos siguen en Developer Preview; las pruebas de rc.8 deben usar un DSH_HOME independiente y no reutilizar el estado de sesión de rc.7.

  • El harness incluye @deepseek-ai/dsh-mcp-client y @deepseek-ai/dsh-skill-filesystem; este bundle no los repite.

El requisito estricto del orden de publicación es que primero diepi==0.1.1 sea instalable desde el índice de Python coordinado; el CI del plugin debe fallar antes de eso, no relajar el pin. Después, las puertas de publicación validan el SHA-256 de los candidatos de descarga, instalan el sdist en un entorno limpio y, en las cuatro celdas de Windows/Ubuntu, Node 22/24, web/headless y DSH rc.7/rc.8, instalan la wheel y el tgz de npm empaquetado. Cada celda ejecuta un smoke synthetic directo de MCP/adapter sobre la wheel, y además arranca DSH de verdad; tras el settle del Loader, descubre estrictamente las ocho herramientas mcp__diepi__* y llama a capabilities. Esta sonda clave sin modelo no pretende cubrir la cancelación a través de DSH, la reconexión tras caídas ni los efectos de modelos reales; esos límites los cubren las pruebas de código fuente o las verificaciones de publicación manuales documentadas por separado.

Límites de seguridad

El stdio de MCP es un proceso del host, no está dentro del sandbox de archivos del Agent. La configuración, los ejecutables, la raíz de datos, el state y los results deben estar controlados por el propietario del host. Las pruebas hash demuestran la identidad de consistencia entre artefactos, pero no pueden convertir un directorio escribible por el Agent en una raíz de evidencia confiable, ni demostrar que las cotizaciones son reales, que se obtuvo autorización legal o que no hay sesgo de supervivencia.

El modelo de amenazas detallado y el canal de reporte de vulnerabilidades privadas están en SECURITY.md.

Desarrollo

python -m venv .venv
.\.venv\Scripts\python.exe -m pip install ".[dev]"
.\.venv\Scripts\python.exe -m pytest -m "not integration"
.\.venv\Scripts\ruff.exe check src tests
.\.venv\Scripts\python.exe -m build
.\.venv\Scripts\python.exe -m twine check dist\*

Push-Location dsh
npm pack --dry-run
Pop-Location

Las reglas de contribución están en CONTRIBUTING.md, y los cambios de versión en CHANGELOG.md.

Este proyecto se usa únicamente para verificación de ingeniería de software, investigación cuantitativa y backtesting histórico. Los resultados no constituyen asesoramiento de inversión, oferta de transacción, garantía de rendimiento ni servicios de bróker; el backtest puede verse afectado por la calidad de los datos, el sesgo de supervivencia, los ajustes, los supuestos de emparejamiento, las comisiones, el slippage y el sobreajuste. El usuario es responsable de la fuente de datos, las licencias del proveedor, el uso del modelo y las decisiones de inversión.

Apache-2.0, ver LICENSE. Las relaciones con terceros están en THIRD_PARTY_NOTICES.md. Los nombres y logotipos relacionados con DeepSeek, DeepSeek Harness y DSH pertenecen a sus respectivos titulares; este proyecto no tiene afiliación ni respaldo con ellos.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Full-lifecycle algorithmic trading MCP server. AI strategy generation from plain English, backtesting, live bot deployment to 10+ brokers, portfolio monitoring, and prediction markets. Stocks, options, crypto, futures. 32 tools. Free tier.
  • A
    license
    A
    quality
    A
    maintenance
    An MCP server exposing a registry of paper-backed quantitative trading methods plus a deterministic, no-LLM decision helper for reproducible trading research.
    13
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server that exposes the Backtest360 backtesting engine API as tools, enabling AI agents to conversationally discover indicators, build and validate strategies, run backtests, and read results.
    14
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

  • Hosted MCP for stocks, options, Greeks, brokers, order previews, alerts, and workflows.

  • MCP server for generating rough-draft project plans from natural-language prompts.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/elonmaskhair-prog/dsh-plugin-diepi'

If you have feedback or need assistance with the MCP directory API, please join our Discord server