# 许可范围(Scope of License) 本项目采用**代码开源 / 规则内容闭源**的双轨策略:插件是工具,工具开源;规则是作者个人的工作习惯沉淀,不随代码分发。 | 范围 | 是否开源 | 说明 | | --- | --- | --- | | 本仓**源代码**(`lib/`、`test/`、构建与配置文件) | **是**,MIT | 见 [`LICENSE`](LICENSE);可自由使用、修改、分发 | | 本仓内的**示例规则**(面板「插入 4 条虚构示例」用的那几条) | **是**,随代码 | **全部虚构**,不是作者的真实规则 | | **作者本人维护的规则内容** | **否** | 只存在于作者本机的 `$DSH_HOME/dev-rules.json`,相关材料另存于作者私有的闭源位置;**不进本仓、不随本仓分发** | | **使用者自己写的规则内容** | 归使用者 | 与本项目许可无关:插件只是读写你本机的那份 JSON | ## 为什么这样切 代码与内容在物理上本来就是分开的:**代码在本仓,规则在你本机**。所以这条边界不需要靠约定去守,它由文件位置本身保证 —— 本仓里没有、也不会有作者的规则数据。 规则部分不开源,是因为它是作者多年实际工作里沉淀下来的判断(哪些错踩过、哪条边界不能越),属于私有内容;它既不随代码分发,也不因使用本插件而获得。 ## 请注意 - **本仓里没有作者的真实规则内容。** 示例规则一律虚构,仅供上手时对着改。 - **你自己那份 `dev-rules.json` 是你的内容。** 它不受本仓许可约束;但如果你要在 issue / PR 里贴出来,请先确认里面没有不便公开的东西。 - **导出 / 导入只在本地发生。** 面板的「导出 md」「导入」是纯本地文件操作,不联网、不上传;插件本身也不向任何远端发送规则数据。 - 若你希望连同规则内容一起开源,那是**你的**规则、**你的**决定 —— 与本项目无关。 ## 历史提示(给后来的维护者) 本仓对外发布的那条历史(`main`)是**单一初始提交**的干净历史:工作树与历史里都没有作者的真实规则内容,也没有其它项目的材料。 早期本地开发过程中曾经有过两类内容 —— 面板示例规则逐字用过作者的真实规则前几条(已换成虚构示例),以及另一个私有项目的文档备份一度放在本仓(已迁出)。这两类内容只存在于**未推送的本地旧历史**里:对外发布时另起了干净历史,所以公开平台上的提交里取不到它们。 也因此:**维护时不要 `git push --all` / `--mirror`**,把那条旧历史留在本机即可;将来若需要重建对外历史,同样按「另起干净历史」处理。