# Contributing to dsh-tool-ths 感谢你愿意贡献!这个项目的目标是让 DeepSeek Harness 的 agent 能稳定、方便地 访问同花顺 / iFinD 数据。 ## 快速开始 ```bash git clone git@github.com:Xiaobai01/dsh-tool-ths.git cd dsh-tool-ths # 冒烟测试(public 通道免登录) node scripts/smoke.mjs 600519 # 含 iFinD 通道 IFIND_REFRESH_TOKEN=xxx node scripts/smoke.mjs 600519 # 加载插件并逐个调用全部工具(stub 注册表,无需启动 DSH) node scripts/harness.mjs 600519 ``` ## 提交前检查清单 - [ ] `node scripts/harness.mjs 600519` 全部工具通过 - [ ] `node scripts/smoke.mjs 600519` 通道正常(public 必测) - [ ] 新增/修改的工具已同步更新 `docs/tool-reference.md` - [ ] 没有硬编码的个人路径、token、账号信息 - [ ] 提交信息使用 `feat: / fix: / docs: / chore:` 前缀 ## 报告问题 请附上: 1. DSH 版本(`dsh --version`)与 Node 版本 2. 使用的通道(`public` / `ifind`) 3. 复现命令或工具调用参数 4. 完整错误信息(含错误码,如 `IFIND_NO_TOKEN`、`-1301`) ⚠️ **请勿在 issue 中粘贴你的 `refresh_token` 或任何账号凭据。** ## 贡献者许可(Contributor License Agreement) 本项目采用 **Apache-2.0**。为保证项目的长期可维护性(包括未来可能的许可证 调整或商业授权),提交 PR 即表示你同意: 1. 你的贡献按 **Apache License 2.0** 授权给本项目及所有使用者; 2. 你拥有该贡献的版权,或已获得版权人授权提交; 3. 你授予项目维护者一项**永久、全球、非独占、免版税**的许可,允许以任何 许可证(包括商业许可证)再许可你的贡献。 > 如果你的雇主对你在职期间的贡献主张权利,请先取得书面许可再提交。 如果你不同意上述条款,欢迎改为提交 issue 描述需求,由维护者实现。 ## 代码风格 - ES Module、Tab 缩进,与现有文件保持一致 - 工具定义集中在 `index.js` 的 `apply()` 中,数据通道逻辑放在 `lib/` - 对外暴露的中文文案与注释保持简洁、面向使用者 - 新增依赖需谨慎:本项目刻意保持**零运行时依赖**(只用 DSH 宿主提供的包)