# 参与开发 本项目分成固定采集转换和可读文本分析两步。提交改动时请保留这条边界;读取工具不得暗中打开微信、解密或联网,采集工具不得接受模型传入的路径、命令、账号或筛选条件。 ## 本机开发 需要 Node.js 22+、Python 3.10+。索引核心只依赖 Python 标准库;完整合成测试需要先安装采集依赖: ```text python -m pip install -r collector/requirements.txt python tools/check.py python tools/release.py ``` 宿主提供 DSH 的两个 peer dependencies,不需要在源码目录运行 npm install。完整修改完成后统一执行验证;先定位实际调用链,再完成实现和文档,避免用未核实的假设补功能。 若本机安装 DSH,可附加运行时验证: ```text python tools/check.py --installation ``` 它只在独立进程中使用 DSH 程序模块和合成状态,不启动模型,不加载正在运行的桌面会话。真实采集是另一项需要本机授权的验收,不能由持续集成执行。 ## 合成数据 `python examples/demo.py` 在系统临时目录新建独立演示状态,生成三条标明“示例”的记录,展示按类型读取。它不改默认账号或索引,不输出本机目录,不递归清理临时文件。 测试身份使用 `synthetic-` 前缀,显示名使用“示例”或“合成”前缀。不要把真实消息改扩展名后作为测试样本;测试目录也执行隐私扫描。新增功能需验证真实行为边界,例如取消后是否仍有子进程、分页是否漏条、忽略是否影响历史上下文,而不只断言实现细节。 ## 提交要求 - 说明问题触发条件、最终行为、验证结果和仍未覆盖的平台。 - 保留消息原文与证据编号;不要把运行结果的真实性和发布包匿名性混为一谈。 - 不提交状态目录、数据库、导出、日志、用户名、电脑路径、私有配置或密钥。 - 不递归清理包含链接或来源不明的测试目录。 - 新增发行文件逐个列入 `package.json` 的 `files`;只允许字面文件名,不能使用目录或通配符。 - 引入参考代码时记录来源、对应版本与许可证;依赖单独安装,不将第三方二进制装入源码包。 项目原创部分采用 MIT;采集器中源自上游的部分及对应修改遵循 Apache-2.0,详见 `THIRD_PARTY_NOTICES.md`。提交者应保证有权提交代码,并保留相关授权与归属说明。