# dsh-engineering-suite

[![CI](https://github.com/lonelymoon87/dsh-engineering-suite/actions/workflows/ci.yml/badge.svg)](https://github.com/lonelymoon87/dsh-engineering-suite/actions/workflows/ci.yml)
[![DSH 兼容性](https://github.com/lonelymoon87/dsh-engineering-suite/actions/workflows/dsh-compatibility.yml/badge.svg)](https://github.com/lonelymoon87/dsh-engineering-suite/actions/workflows/dsh-compatibility.yml)
[![Release](https://img.shields.io/github/v/release/lonelymoon87/dsh-engineering-suite)](https://github.com/lonelymoon87/dsh-engineering-suite/releases/latest)
[![License](https://img.shields.io/github/license/lonelymoon87/dsh-engineering-suite)](./LICENSE)

一个原生 DeepSeek Harness Profile Bundle，一次安装四个彼此独立的工程插件。

- [dsh-specflow](https://github.com/lonelymoon87/dsh-specflow) 提供可持久化的规格驱动交付流程；
- [dsh-gitflow](https://github.com/lonelymoon87/dsh-gitflow) 提供有边界的 Git 检查、提交、分支和可选 Change Ledger 恢复点；
- [dsh-guardian](https://github.com/lonelymoon87/dsh-guardian) 提供危险操作策略、规范结果脱敏和安全审查；
- [dsh-code-intel](https://github.com/lonelymoon87/dsh-code-intel) 提供符号大纲、持久词法检索和可选 embedding 混合检索。

[English](./README.md)

## 为什么需要组合包

四个插件都能单独使用，但工程 profile 通常同时需要它们。本包实现官方 DSH bundle layer，内含四个 v0.1.3 runtime artifact，通过 package subpath 暴露，再由 `cordis.patch.yml` 插入对应插件条目。它不包裹已有 API，不复制状态，也不增加新的模型可见工具。

当前 suite 把所有组件固定在 v0.1.3，使每个版本都对应一套可复现组合，也不依赖含义可能冲突的第三方 npm 包名。VS Code 扩展属于客户端，不是 profile 插件，因此不包含在本包内。

## 安装

v0.1.0 已针对 DSH 0.1.0-rc.8 与 0.1.1-rc.1 验证，要求 Node.js `^22.19 || >=24`。

```sh
dsh plugin --profile web add https://github.com/lonelymoon87/dsh-engineering-suite/releases/download/v0.1.0/dsh-engineering-suite-0.1.0.tgz
```

一次性 Agent profile 请把 `web` 换成 `headless`。安装后需要重启长期运行的 profile。移除组合层时执行

```sh
dsh plugin --profile web remove dsh-engineering-suite
```

不需要完整套件时，直接安装单个组件即可。profile 与 home 的 `cordis.patch.yml` 仍具有最终控制权，可以按插入的 id 替换配置。

## 权限与数据

组合包本身没有 runtime 代码，也不处理数据。各组件保留各自文档中的行为。

- SpecFlow 读取规格进度，并可能指导普通的工作区文件修改；
- GitFlow 通过 DSH shell 执行本地 Git 命令，并通过审批限制修改操作；
- Guardian 在进程内检查工具调用与规范结果，不读取凭据存储；
- Code Intel 写入可重建的本地索引，只有显式配置时才访问 embedding endpoint。

在敏感工作区启用前，请阅读上述各组件 README。所有组件都不发送遥测，也不注册必须识别的自定义会话事件。

## 验证

- CI 在 Node 22.19 与 Node 24 上检查包内容；
- 兼容矩阵会把 pack 产物装入全新的 DSH 0.1.0-rc.8、`latest` 与 `next` profile，并确认四个插件条目全部存在；
- 组件行为继续由各自仓库测试，本仓库只测试组合与分发。

## 许可证

[MIT](./LICENSE)
