Installation
npx dsh-smart-profile --helpThis command is generated from the GitHub repository address. Inspect the upstream README and source before running it; pin a release or commit when reproducibility matters.
README
Maintainer-authored documentation snapshot.
This README snapshot could not be refreshed during the latest directory sync.
dsh-smart-profile
English | 简体中文
Project-aware capability setup for DeepSeek Harness: detect the repository, trim to the task, discover and score plugin candidates, preview exact changes, install with explicit approval, verify, and rollback on failure.
dsh-smart-profile is designed to solve the configuration gap created by an “everything is a plugin” ecosystem. Instead of asking users to know every plugin in advance, it starts from the repository and the task.
Why use it?
- Project-aware — starts from your actual repository instead of a generic plugin list.
- Task-aware — trims capabilities for the concrete task you are trying to complete.
- Safety-first — preview by default; installation requires explicit
--apply --approve. - Explainable — detection returns evidence/confidence and plugin selection exposes scoring/risk signals.
- Recoverable — verifies each installation and rolls back packages installed by the current run on failure.
- Low overhead — zero runtime npm dependencies.
Quick start
The package is publicly available on npm.
npx dsh-smart-profile --help
npx dsh-smart-profile scan .
npx dsh-smart-profile setup .
Check the current published version:
npm view dsh-smart-profile version
Install the bundle into a DeepSeek Harness profile:
npx --yes @deepseek-ai/dsh@next plugin --profile web add dsh-smart-profile@latest
Or use the helper command:
npx dsh-smart-profile install --profile web
What 1.0 does
project
↓
stack detection + evidence/confidence
↓
capability recommendations
↓
optional task-aware trimming
↓
public npm candidate discovery
↓
project-fit / maintenance / package / supply-chain scoring
↓
DSH compatibility status
↓
safe candidate selection
↓
exact install + verify + rollback preview
↓
explicit --apply --approve
↓
install one by one
↓
DSH --dump-config verification
↓
success
failure → remove the current package and roll back packages installed by this run in reverse order
The default behavior is preview-only. The CLI does not write to a DSH profile unless the user supplies both --apply and --approve.
One-command project setup
Preview a complete setup plan:
npx dsh-smart-profile setup .
Trim the setup to a concrete task:
npx dsh-smart-profile setup . --task "fix the frontend Playwright tests"
Choose another profile or candidate score threshold:
npx dsh-smart-profile setup . --profile web --min-score 75
Actually apply the reviewed plan:
npx dsh-smart-profile setup . --profile web --apply --approve
Both write flags are intentional. --approve without --apply still does not install anything.
Standalone commands
npx dsh-smart-profile scan .
npx dsh-smart-profile recommend .
npx dsh-smart-profile compose "debug the database migration" .
npx dsh-smart-profile discover .
npx dsh-smart-profile score .
npx dsh-smart-profile compat next
npx dsh-smart-profile web . --port 4173
Manual single-package safety flow:
npx dsh-smart-profile plan dsh-example@1.2.3 --profile web
npx dsh-smart-profile apply dsh-example@1.2.3 --profile web --approve
Harness tools
The bundle registers read-oriented/preview tools:
smart_profile_scan— stack detection with evidencesmart_profile_recommend— project capability recommendationssmart_profile_discover— public npm candidate discovery; no installsmart_profile_score— candidate scoring and risk flagssmart_profile_install_plan— exact single-candidate command plan; no executionsmart_profile_compose— task-aware capability trimmingsmart_profile_setup_plan— full 1.0 setup preview; no executionsmart_profile_compat— local compatibility policy/matrix report
The Harness model is deliberately not given an auto-install tool. Profile writes remain an explicit CLI action so a model call cannot silently install host-level code.
Detection coverage
Current detectors include:
- JavaScript / TypeScript / Node.js
- Python
- Java / Kotlin
- Go
- Rust
- PHP
- Ruby
- .NET
- Dart / Flutter
- React, Next.js, Vue, Nuxt, Svelte, Angular
- Express, Fastify, NestJS, FastAPI, Django, Flask
- Spring Boot, Gin, Axum, Actix Web
- Laravel, Symfony, Rails, Sinatra, ASP.NET Core
- PostgreSQL, MySQL, MongoDB, Redis, SQLite signals
- Docker / Compose
- Kubernetes / Helm
- Terraform
- selected AWS / Azure / Google Cloud signals
- GitHub Actions, Azure Pipelines, Google Cloud Build
- Playwright, Cypress, Vitest, Jest, Pytest, PHPUnit, RSpec, xUnit
- npm/yarn/pnpm workspaces, Turborepo, Nx, Lerna
Detection is heuristic and returns evidence plus confidence instead of pretending every signal is certain.
Candidate scoring
Scores are advisory. 1.0 combines:
- project/capability fit
- release recency
- npm search relevance as a weak signal
- repository/license/homepage metadata
- dependency size
- lifecycle install scripts
- DSH bundle declaration
Automatic setup selection refuses candidates that:
- are below the configured score threshold
- are marked
review-required - expose blocking lifecycle install-script risk
- do not declare
dsh.bundle.patch
A high score is not a security guarantee. Review source for sensitive environments.
Safe install and rollback
Before installing a selected package, 1.0 uses DSH --dump-config as an in-memory snapshot/verification signal. Raw composed configuration is not persisted by this package; only hashes are returned in operation results.
If the package is already present in the composed profile, setup leaves it untouched. For packages installed during the current setup run:
- each package is installed separately
- each installation is verified with
--dump-config - the current package is removed if verification fails
- packages installed earlier in the same setup run are then removed in reverse order
Rollback is best-effort because host/package-manager failures can still interrupt processes outside this package's control.
DSH compatibility matrix
compatibility.json distinguishes between:
ci-target— a channel the repository workflow attempts to testverified— reserved for evidence-backed combinationsunknown— exact targets not recorded in the matrix
The repository workflow tests Node 20/22/24, npm package shape, local bundle installation, and DSH --dump-config against @deepseek-ai/dsh@next. A declared target is not automatically labeled verified.
npx dsh-smart-profile compat next
Local Web UI
npx dsh-smart-profile web . --port 4173
The dashboard:
- binds to
127.0.0.1by default - is read-only
- shows detected stack and capability recommendations
- supports task composition
- exposes no install/remove endpoint
- escapes repository-provided text
- uses CSP and
no-storeresponses
Privacy
The scanner intentionally avoids arbitrary source-code reads. It focuses on known manifests, lockfile names, selected configuration files, and directory/file signals.
It does not intentionally read:
.env- private keys
- credential files
- arbitrary application source files
Generated/build/vendor directories are skipped and scanning is bounded by depth and manifest limits.
Automated npm publishing
The repository includes .github/workflows/publish.yml for npm Trusted Publishing with GitHub Actions OIDC.
For future releases:
- bump
package.jsonto the next version - commit and push the change
- create and push a matching tag such as
v1.1.0 - the workflow checks that the tag matches
package.json - tests and
npm run pack:checkmust pass beforenpm publish
The workflow intentionally contains no long-lived npm publish token. npm Trusted Publishing must be configured once for this package with:
- GitHub owner:
Makima667 - repository:
dsh-smart-profile - workflow filename:
publish.yml - allowed action:
npm publish
Development
Requires Node.js 20+.
npm test
npm run pack:check
The package has zero runtime npm dependencies.
Version history
- 0.1 — baseline stack scan + capability recommendation
- 0.2 — confidence/evidence and broader detection
- 0.3 — plugin candidate discovery
- 0.4 — plugin scoring / risk signals
- 0.5 — safe install planning, verification, rollback
- 0.6 — DSH compatibility matrix + CI target workflow
- 0.7 — task-aware capability trimming
- 0.8 — read-only local Web UI
- 1.0 — complete automatic project capability configuration pipeline with explicit write approval
See CHANGELOG.md for details.
Next directions after 1.0
The 1.x line should focus on trust and ecosystem quality rather than simply adding more detectors:
- signed/attested plugin metadata and provenance
- stronger GitHub repository health/security signals
- cached registry index for faster discovery
- per-capability policy files for teams
- machine-readable setup plans for CI
- verified compatibility results generated from successful workflow runs
- atomic profile snapshot/restore if Harness exposes a stable profile transaction API
- richer but still approval-gated Web UI
- community-maintained compatibility/capability registry adapters
License
MIT
Project files and signals
Shown items are public repository signals detected in the directory snapshot.
Repository information
- Language
- JavaScript
- License
- MIT
- Latest release
- v1.0.0
- Last updated
- Aug 18, 2026, 7:15 AM
Install deliberately
Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.