feat: 实现完整的本地配置管理与CLI重构
本次重构实现了标准化的本地配置系统,替换原有的硬编码环境变量读取逻辑: 1. 新增跨平台的原子化配置文件读写,支持Unix和Windows系统 2. 新增init命令用于安全初始化和更新本地凭据 3. 替换原有错误提示文案为更友好的中文提示 4. 更新文档说明新的配置流程和安全规范 5. 新增完整的配置相关测试用例 6. 添加必要的依赖包支持
This commit is contained in:
@@ -17,8 +17,12 @@
|
||||
- 写命令必须使用稳定且唯一的 `--request-id`;同一操作重试时复用原 request ID 和原参数。
|
||||
- 报价编辑固定使用 `begin -> command -> preview -> commit`,放弃时使用 `discard`。
|
||||
- 项目和报价删除必须先执行对应 `delete-preview`,不得绕过 revision 与 `changeSetId`。
|
||||
- CLI 只读取 `LIGHTCORE_API_BASE_URL` 和 `LIGHTCORE_SHOP_CRM_AGENT_TOKEN`;缺失时明确失败,不回退 localhost。
|
||||
- Token 不得写入源码、文件、日志或输出;测试只能使用明显虚构的占位值。
|
||||
- API 默认连接 `https://api.zhecent.com`;`LIGHTCORE_API_BASE_URL` 只用于显式覆盖,不回退 localhost。
|
||||
- CLI 只以仓库内 `bin/shop-crm-agent[.exe]` 运行;不得用 `go install` 安装该 CLI,不得将其二进制复制或软链接到仓库外,也不得为该 CLI 修改 `PATH`、Shell 启动文件或系统级配置。
|
||||
- 本地配置只通过 `shop-crm-agent init` 隐藏读取 Token,并在仓库根写入 Git 已忽略的 `.env`;该命令可重复执行且每次原子覆盖原文件,除 `init` 外不得修改该文件。
|
||||
- 二进制从 `bin/` 定位仓库根 `.env`,`go run` 只允许从仓库根使用。`.env` 只包含 `LIGHTCORE_SHOP_CRM_AGENT_TOKEN`;`init` 在 Unix 系统写入 `0600`,加载时拒绝组或其他用户权限。
|
||||
- 进程环境中的 `LIGHTCORE_SHOP_CRM_AGENT_TOKEN` 优先于 `.env`;覆盖 API 地址时必须同时显式提供环境 Token,禁止把 `.env` 的生产凭据发送到其他地址。
|
||||
- CLI 不创建、更新或撤销服务端凭据。Agent 不得读取、显示、记录或提交 `.env` 内容;Token 不得进入源码、命令参数、日志或输出,测试只能使用明显虚构的占位值。
|
||||
|
||||
## 开发流程
|
||||
|
||||
|
||||
Reference in New Issue
Block a user