本提交初始化完整的shop-crm-agent项目: 1. 创建基础项目结构与配置文件(.gitignore、go.mod/go.sum) 2. 添加项目许可协议与文档(README.md、AGENTS.md、SKILL.md) 3. 实现核心CLI入口与命令框架 4. 封装Protobuf API客户端与完整的命令实现 5. 添加单元测试覆盖核心功能与边界情况 6. 提供构建脚本与版本管理能力
51 lines
2.8 KiB
Markdown
51 lines
2.8 KiB
Markdown
---
|
||
name: lc-shop-crm-agent
|
||
description: 安装、更新并安全使用 shop-crm-agent 查询和维护 Shop CRM 项目与独立报价。
|
||
---
|
||
|
||
# lc-shop-crm-agent - Shop CRM Agent 操作流程
|
||
|
||
## 目的
|
||
|
||
指导 AI Agent 从公开源码构建 `shop-crm-agent`,并通过正式 Protobuf API 安全操作 CRM 项目和独立报价。
|
||
|
||
## 安装与更新
|
||
|
||
1. 仓库固定 clone 为工作区中的 `shop-crm-agent` 目录;与 LightCore 联合开发时二者必须同级。
|
||
2. 缺少仓库时,从 `https://code.zhecent.com/open/shop-crm-agent.git` 匿名 clone,不使用来源不明的压缩包或二进制。
|
||
3. 检查 `go version` 满足 `go.mod`;缺少 Go 时安装官方 Go 工具链,再继续构建。
|
||
4. 首次安装在仓库根目录执行 `go run ./scripts/build.go`,使用 `bin/shop-crm-agent`;Windows 使用 `bin/shop-crm-agent.exe`。
|
||
5. 收到更新通知后先确认 `git status --short` 为空,再执行 `git pull --ff-only`;拉取后重新读取本文件并重新构建。
|
||
6. 本地存在修改、拉取失败、测试失败、构建失败或版本探针失败时停止,不得强制重置或继续使用半完成产物。
|
||
|
||
## 运行配置
|
||
|
||
- 确认 `LIGHTCORE_API_BASE_URL` 和 `LIGHTCORE_SHOP_CRM_AGENT_TOKEN` 已由运行环境提供;不得显示、记录或提交 Token。
|
||
- 凭据只通过 Shop 管理后台创建和撤销;CLI 不管理凭据。
|
||
- 业务命令使用仓库 `bin/` 下的当前构建产物,精确参数以 `<binary> <subcommand> --help` 为准。
|
||
|
||
## 操作流程
|
||
|
||
1. 创建项目前用 `customer-list` 获取真实客户 ID;其他操作先查询真实项目、报价、SKU、层级和产品行 ID。
|
||
2. 每个写命令使用稳定且唯一的 `--request-id`;重试同一操作时复用原 ID 和完全相同的参数。
|
||
3. 报价内容修改严格执行 `begin -> command -> preview -> commit`;不提交时执行 `discard`。
|
||
4. 删除先执行 `delete-preview`,只使用其返回的 revision 和 `changeSetId`;`allowed=false` 时停止。
|
||
5. 读取 JSON 响应的 `header.code`、`header.replayed`、revision、`changeSetId` 与 `affectedLineIds`,不得只凭进程退出码推断业务状态。
|
||
|
||
## 阻塞检查点
|
||
|
||
- 需求超出项目主线和独立报价时停止;不得转向客户维护、合同、设计画板、跟进、资金、文件、采购或产品库维护。
|
||
- 产品库行只提交真实 `sku-id`,不得尝试修改产品库成本;自定义行仅通过明确 flag 修改自身成本。
|
||
- 非空层级删除只有用户意图明确时才使用 `--cascade`。
|
||
- 项目非空、报价锁定、revision 变化、changeSet 不一致或回执状态未知时不得强行继续。
|
||
- 请求取消、超时或结果不确定时先查询资源状态,不得盲目生成新 request ID 重复写入。
|
||
|
||
## 验证
|
||
|
||
```bash
|
||
go test ./...
|
||
go build ./...
|
||
go run ./scripts/build.go
|
||
./bin/shop-crm-agent --version
|
||
```
|