docs: 同步语言规范与 PowerShell 约束的 Wiki 镜像 (#1)

- Development-Workflow:整页取上游新版,新增「语言与术语」
- Local-Development-and-Verification:新增「PowerShell 语法与外部命令」
  子节,本项目原有内容保留
- Project-Profile:运行环境补充 PowerShell 7 pwsh;DevHarness 基线提交
  更新为 40b99387adc184274c43fda5f7efb3746642e27a

check --strict 通过,55 项单元测试全部通过。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LbdtsD3ohhSMy3KPoCgARq
This commit is contained in:
QiuSW
2026-09-02 15:26:23 +08:00
co-authored by Claude Opus 5
parent 0e5a17fe88
commit c5c47f98f9
3 changed files with 53 additions and 8 deletions
+5 -4
View File
@@ -2,8 +2,8 @@
generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件)
wiki_page: Project-Profile
wiki_url: https://git.ilapage.cn/chengma/cmsp/wiki/Project-Profile.-
wiki_revision: 31121357f505262b339bfb1816f2008fd38f04b8
synchronized_at: 2026-09-02T03:57:21Z
wiki_revision: 851951b8efc73aff595e100c24d7404bec45a09a
synchronized_at: 2026-09-02T07:25:55Z
<!-- gitea-wiki-mirror:end -->
# 项目档案
@@ -39,8 +39,8 @@ synchronized_at: 2026-09-02T03:57:21Z
| 项目 | 内容 |
|---|---|
| DevHarness 来源仓库 | `D:/OPC/dev_harness`(对应 `https://git.ilapage.cn/OPC/dev_harness`) |
| 当前基线提交 | `c13f6adb76c2ffbcae080dabf1df869a241e8f63` |
| 最后接入或升级日期 | 2026-09-02 |
| 当前基线提交 | `40b99387adc184274c43fda5f7efb3746642e27a` |
| 最后接入或升级日期 | 2026-09-02(接入 `c13f6ad`,同日升级至 `40b9938`,见工单 #1) |
| 项目适配说明 | 完整保留 Harness 规则与 `dev_scripts/` 工具。治理模式选择轻量。本项目无常驻服务,不创建 `Deployment-and-Operations` 页面;`Deployment-Template` 仅作为模板保留。 |
## 子项目与交付单元
@@ -72,6 +72,7 @@ synchronized_at: 2026-09-02T03:57:21Z
| 外部依赖程序 | Google Chrome(专属 Profile,用于淘宝登录与 CDP)、`ffprobe`(视频完整性校验) |
| 外部服务 | 货憨憨 ERP HTTP 接口;淘宝 MTOP 以图搜接口;验证码识别为外部 HTTP OCR 服务 |
| 支持环境 | Windows 10 及以上;不支持 macOS 与 Linux |
| 开发命令行 | PowerShell 7 `pwsh`;不套用 Bash 语法,见[本地开发与验证](04-local-development-and-verification.md) |
| 常驻服务 | 无。本项目是单机桌面程序,不部署服务端 |
## 迁移来源
+11 -2
View File
@@ -2,8 +2,8 @@
generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件)
wiki_page: Development-Workflow
wiki_url: https://git.ilapage.cn/chengma/cmsp/wiki/Development-Workflow.-
wiki_revision: bbc3e4fa231918f0763e34da282c154b3188406c
synchronized_at: 2026-09-02T03:57:21Z
wiki_revision: bdde4b3aa64377fb9a3db1314f3f203cdba7e69b
synchronized_at: 2026-09-02T07:25:57Z
<!-- gitea-wiki-mirror:end -->
# 开发工作流
@@ -15,6 +15,15 @@ synchronized_at: 2026-09-02T03:57:21Z
- Git 保存源码、与特定代码版本强绑定的文档,以及 Wiki 的本地镜像。
- 本地 `docs/` 仅供浏览和审查,不是长期文档编辑入口。
## 语言与术语
- 用户可以使用中文、英文或合理的中英混合语言提出需求和补充信息;Agent 不要求用户先翻译。
- Agent 默认使用中文进行分析、回复、工单记录和内部项目文档维护。
- 代码标识符、命令、参数、路径、文件名、API 名称、协议名、日志和错误原文保持原样,不做会影响搜索、复制、执行或排错的翻译。
- commit、revision、middleware 等通用英文术语可以保留;可能影响初级维护者理解时,在首次出现处补充简短中文解释,不反复注释。
- 用户明确要求某次回复、交付物或对外文档使用其他语言时,按该次明确要求执行;默认中文不是禁止其他交付语言的门禁。
- 引用外部材料时保留必要原文并用中文说明结论;不得为了语言统一改写事实、错误信息或接口契约。
## Gitea 交互与工单最小读取
- 所有 Gitea 工单和 Wiki 的查询、创建、更新、评论、状态变更及关闭操作,优先使用项目已配置的 Gitea MCP。
+37 -2
View File
@@ -2,8 +2,8 @@
generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件)
wiki_page: Local-Development-and-Verification
wiki_url: https://git.ilapage.cn/chengma/cmsp/wiki/Local-Development-and-Verification.-
wiki_revision: 62df45bceed4d638250dcc514c1db5940b2185ce
synchronized_at: 2026-09-02T03:57:23Z
wiki_revision: c539cdacdad897d81aee331d4d787e5a9f85a8cd
synchronized_at: 2026-09-02T07:25:58Z
<!-- gitea-wiki-mirror:end -->
# 本地开发与验证
@@ -34,6 +34,41 @@ synchronized_at: 2026-09-02T03:57:23Z
- 只有确实出现乱码时才调整当前进程的输出编码,不要默认设置。
- 不使用 `-ExecutionPolicy Bypass`。确有可信 `.ps1` 被执行策略阻止且没有更小替代方案时,才对该次进程使用并在工单记录原因。
### PowerShell 语法与外部命令
- Windows 环境默认使用当前 PowerShell 语法,不套用 Bash 的 heredoc、变量、路径、引号或反斜杠转义规则。只有明确调用 Bash、WSL 或 Git Bash,并确认路径与编码边界时,才使用 Bash 专用语法。
- 不需要变量展开的正则和字符串优先用单引号;单引号字符串内部的单引号写成两个单引号。需要变量展开时才使用双引号。
- 正则同时包含单双引号或转义复杂时,优先赋值给变量、使用 `rg -e`,或拆成语义等价的简单查询;不得为了避开转义改变 AND/OR 条件或重复执行无关搜索。
```powershell
rg -n 'error|warning' docs
$pattern = 'can''t match "value"'
rg -n -e $pattern docs
```
PowerShell 不支持 Bash heredoc。需要把多行 Python 送入标准输入时,使用单引号 here-string,避免 PowerShell 展开 Python 中的 dollar sign(`$`)等内容。起始标记后必须立即换行,结束标记必须单独占一行:
```powershell
@'
print("hello")
'@ | python -
```
`foreach`、`if` 等语句块不能裸放在管道左侧;需要管道输出时使用 `$()`、`@()` 或先赋值。普通命令输出无需包装:
```powershell
@(foreach ($number in 1..3) { $number }) |
Measure-Object
```
不要把含 `*` 的搜索路径直接作为 `rg` 路径参数。优先传入真实目录,并用 `-g/--glob` 让 ripgrep 筛选路径:
```powershell
rg -n -g '*.md' 'PowerShell' docs
```
只有确实需要把实体路径列表交给其他命令时,才使用 `Get-ChildItem` 展开并传递 `.FullName`;不要把 `Get-ChildItem -Filter` 设为所有 `rg` 搜索的固定前置。
## 第一次运行
```powershell