diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..2fa54e3 --- /dev/null +++ b/.npmrc @@ -0,0 +1,4 @@ +# DSH host packages (@deepseek-ai/*) are provided by the Harness profile, not npm. +# Bare clone install must not auto-fetch peers (e.g. dsh-api-remotes → dsh-type-meta 404). +auto-install-peers=false +strict-peer-dependencies=false diff --git a/docs/INSTALL.md b/docs/INSTALL.md index 95e7b96..93e73a2 100644 --- a/docs/INSTALL.md +++ b/docs/INSTALL.md @@ -20,6 +20,10 @@ You do **not** run `link-preset.ps1` for normal use. That script is only a manua No local Python / `netx_mcp` install is required for DSH. (OpenClaw and other MCP hosts can still use `python -m netx_mcp` separately.) +## Clone / `pnpm install`(仓库源码) + +`@deepseek-ai/*` 由 **DSH Host profile** 提供,**不**声明为可从公共 registry 安装的依赖。仓库根目录 `pnpm install` 只会装公开包(如 `fflate`)。完整运行请用上面的 `dsh plugin add`,不要指望裸 clone 能从 npm 拉齐 Harness 内部包。 + ## Install ```powershell diff --git a/package.json b/package.json index e6dfda1..3b05387 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dsh-netxops", - "version": "0.1.27", + "version": "0.1.28", "description": "DeepSeek Harness Netx Ops: capability groups ops/topology + multi IM delivery + session export", "license": "MIT", "type": "module", @@ -31,7 +31,8 @@ "examples/", "scripts/", "README.md", - "LICENSE" + "LICENSE", + ".npmrc" ], "keywords": [ "dsh-plugin", @@ -69,25 +70,13 @@ } }, "peerDependencies": { - "@deepseek-ai/cordis": "*", - "@deepseek-ai/schemastery": "*", - "@deepseek-ai/dsh-credentials": "*", - "@deepseek-ai/dsh-settings": "*", - "@deepseek-ai/dsh-tools": "*", - "@deepseek-ai/dsh-persona": "*", - "@deepseek-ai/dsh-skill-filesystem": "*", - "@deepseek-ai/dsh-tool-skill": "*", - "@deepseek-ai/dsh-tool-fs": "*", - "@deepseek-ai/dsh-tool-jobs": "*", - "@deepseek-ai/dsh-agent-instructions": "*", - "@deepseek-ai/dsh-client-locale": "*", - "@deepseek-ai/dsh-client-ui-settings": "*", - "@deepseek-ai/dsh-client-ui-settings-plugins": "*", - "@deepseek-ai/dsh-client-ui-slots": "*", - "@deepseek-ai/dsh-client-ui-renderer": "*", - "@deepseek-ai/dsh-api-remotes": "*", "react": "^18.2.0 || ^19.0.0" }, + "peerDependenciesMeta": { + "react": { + "optional": true + } + }, "dependencies": { "fflate": "^0.8.2" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..14872f2 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,63 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + fflate: + specifier: ^0.8.2 + version: 0.8.3 + react: + specifier: ^18.2.0 || ^19.0.0 + version: 19.2.8 + devDependencies: + '@types/react': + specifier: ~18.3.1 + version: 18.3.31 + typescript: + specifier: ^5.8.0 + version: 5.9.3 + +packages: + + '@types/prop-types@15.7.15': + resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==} + + '@types/react@18.3.31': + resolution: {integrity: sha512-vfEqpXTvwT91yhmwdfouStN2hSKwTvyRs8qpLfADyrq/kxDw0hZM7Wk9Ug1FELj8hIby+S/+kQCSRFF32nv2Qw==} + + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + + fflate@0.8.3: + resolution: {integrity: sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==} + + react@19.2.8: + resolution: {integrity: sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw==} + engines: {node: '>=0.10.0'} + + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + +snapshots: + + '@types/prop-types@15.7.15': {} + + '@types/react@18.3.31': + dependencies: + '@types/prop-types': 15.7.15 + csstype: 3.2.3 + + csstype@3.2.3: {} + + fflate@0.8.3: {} + + react@19.2.8: {} + + typescript@5.9.3: {}