{ "name": "dsh-local-ai", "version": "0.2.9", "description": "Local-model (Ollama) integration for DeepSeek Harness: discover, pull, remove, and inspect local models, route requests to them by task type or keyword with automatic fallback to the cloud, and get a one-shot status overview via /ollama.", "repository": { "type": "git", "url": "git+https://github.com/PerryLink/dsh-local-ai.git" }, "homepage": "https://github.com/PerryLink/dsh-local-ai#readme", "bugs": { "url": "https://github.com/PerryLink/dsh-local-ai/issues" }, "author": "PerryLink", "private": false, "type": "module", "main": "./lib/index.js", "types": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "default": "./lib/index.js" }, "./package.json": "./package.json" }, "files": [ "lib", "src", "cordis.patch.yml", "CHANGELOG.md", "THIRD_PARTY_NOTICES.md", "README.md", "README.zh.md", "README.es.md", "README.pt.md", "README.hi.md", "LICENSE" ], "sideEffects": false, "dsh": { "bundle": { "patch": "./cordis.patch.yml" } }, "dshWorkshop": { "schema": "omdsh-workshop-package/v1", "type": "plugin", "integration": { "protocol": "harness-profile", "artifact": "cordis.patch.yml" }, "install": { "mode": "transactional", "adapter": "profile-bundle", "failurePolicy": "generation-rollback", "touchesCurrentBeforeActivation": false }, "lifecycle": { "activation": "restart-profile", "dispose": "supported" }, "permissions": [ "network:outbound", "native-code:none" ], "compatibility": { "dshVersions": [ "0.1.2-rc.1", "0.1.5-rc.1" ] }, "capability": { "id": "local-ai", "kind": "service", "invocation": "mount the dsh-local-ai bundle row", "expected": "registers the Ollama LlmAdapter route, exposes ollama_list/pull/remove/show tools plus a health check, routes requests to local models by rule, and provides the /ollama command" }, "evidence": { "install": null, "failureIsolation": null, "hotReload": null, "remove": null } }, "keywords": [ "dsh", "dsh-plugin", "deepseek-harness", "deepseek", "cordis", "ollama", "local-llm", "local-models", "offline", "privacy", "model-routing" ], "engines": { "node": "^22.19.0 || >=24.0.0" }, "packageManager": "pnpm@11.7.0", "peerDependencies": { "@deepseek-ai/cordis": "^4.0.2", "@deepseek-ai/dsh-attachment": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", "@deepseek-ai/dsh-commands": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", "@deepseek-ai/dsh-llm": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", "@deepseek-ai/dsh-subprocess": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", "@deepseek-ai/dsh-timeout": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", "@deepseek-ai/dsh-tools": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", "@deepseek-ai/schemastery": "^3.18.2" }, "dependencies": { "tsdown": "^0.22.14", "typescript": "^5.9.0" }, "devDependencies": { "@deepseek-ai/dsh-util-values": "0.1.5-rc.1", "@deepseek-ai/cordis": "^4.0.2", "@deepseek-ai/cordis-plugin-include": "^1.0.7", "@deepseek-ai/cordis-plugin-loader": "^1.0.3", "@deepseek-ai/dsh-attachment": "0.1.5-rc.1", "@deepseek-ai/dsh-commands": "0.1.5-rc.1", "@deepseek-ai/dsh-llm": "0.1.5-rc.1", "@deepseek-ai/dsh-session": "0.1.5-rc.1", "@deepseek-ai/dsh-subprocess": "0.1.5-rc.1", "@deepseek-ai/dsh-subprocess-local": "0.1.5-rc.1", "@deepseek-ai/dsh-system-prompt": "0.1.5-rc.1", "@deepseek-ai/dsh-timeout": "0.1.5-rc.1", "@deepseek-ai/dsh-tools": "0.1.5-rc.1", "@deepseek-ai/schemastery": "^3.18.2", "@types/node": "^22.19.0", "@vitest/coverage-v8": "^3.2.0", "oxlint": "0.18.1", "vitest": "^3.2.0" }, "scripts": { "build": "node scripts/prepare.mjs", "typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json --noEmit", "typecheck:ci": "tsc -p tsconfig.ci.json --noEmit", "test": "vitest run", "test:coverage": "vitest run --coverage", "lint": "oxlint", "prepare": "node scripts/prepare.mjs", "verify:self-contained": "node scripts/verify-self-contained.mjs", "verify:artifacts": "node scripts/verify-artifacts.mjs", "verify:readme-sync": "node scripts/check-readme-sync.mjs", "pack:check": "node scripts/prepare.mjs && pnpm pack" }, "license": "Apache-2.0", "funding": { "type": "individual", "url": "https://github.com/sponsors/PerryLink" } }