重新调整模板
This commit is contained in:
@@ -97,7 +97,6 @@ your-skill/
|
||||
├─ scripts/
|
||||
│ ├─ cli/
|
||||
│ ├─ db/
|
||||
│ ├─ jiangchang_skill_core/
|
||||
│ ├─ service/
|
||||
│ └─ util/
|
||||
├─ tests/
|
||||
@@ -125,7 +124,6 @@ scripts/
|
||||
├─ main.py
|
||||
├─ cli/
|
||||
├─ db/
|
||||
├─ jiangchang_skill_core/
|
||||
├─ service/
|
||||
└─ util/
|
||||
```
|
||||
@@ -151,9 +149,7 @@ scripts/
|
||||
- `util/`
|
||||
作用:常量、日志、路径、时间工具、通用帮助函数
|
||||
|
||||
- `jiangchang_skill_core/`
|
||||
作用:运行时环境、统一日志、配置读取、RPA 共享库(vendor 自 platform-kit)
|
||||
一般按现有规范技能复制,不要自己乱改结构
|
||||
公共能力(config、logging、runtime_env、rpa、media_assets、video_session、runtime_diagnostics)从共享 runtime 的 `jiangchang-platform-kit>=1.0.11` import,**不得**在 `scripts/` 下保留 `jiangchang_skill_core/` 副本。
|
||||
|
||||
## 3.2 开发 RPA 类 skill
|
||||
|
||||
@@ -168,7 +164,7 @@ scripts/
|
||||
from jiangchang_skill_core import config
|
||||
from jiangchang_skill_core.rpa import launch_persistent_browser, anti_detect, wait_for_captcha_pass
|
||||
```
|
||||
vendor 源码在 `scripts/jiangchang_skill_core/rpa/`(与 `jiangchang-platform-kit` 保持同步拷贝)。
|
||||
上述 import 来自宿主共享 runtime 安装的 `jiangchang-platform-kit`,不是技能目录副本。
|
||||
4. **mock 档必须离线可跑**(`OPENCLAW_TEST_TARGET=mock`);sim_rpa / real_* 按需单独测。
|
||||
5. **桌面/手机**:本期标准见 RPA.md 第 2/3 节,复用 `jiangchang_desktop_sdk` / `screencast`,**不要在新 skill 里重复造包**(尚待实战验证)。
|
||||
|
||||
@@ -176,8 +172,9 @@ scripts/
|
||||
|
||||
### 3.1 `requirements.txt` 依赖规范
|
||||
|
||||
技能根目录的 `requirements.txt` 是**标准文件**,用于声明本技能特有的 Python 三方依赖。
|
||||
技能根目录的 `requirements.txt` 是**标准文件**,用于声明本技能 Python 三方依赖。
|
||||
|
||||
- 模板默认包含 `jiangchang-platform-kit>=1.0.11`(公共 SDK);复制后保留该行,再按需追加技能特有依赖。
|
||||
- 匠厂宿主安装/更新技能后,会将其安装到共享 venv:`{JIANGCHANG_DATA_ROOT}/python-runtime/.venv`。
|
||||
- **不要**在业务代码中 `subprocess` / `pip install`;缺依赖由 `health` 报错,由宿主负责安装。
|
||||
- **版本约束尽量收窄**,降低多技能共享 venv 时的冲突风险。推荐范围写法:
|
||||
@@ -186,7 +183,23 @@ scripts/
|
||||
- 不推荐:`chromadb>=0.5.0`
|
||||
- 推荐:`chromadb>=0.5.23,<0.6`
|
||||
- **不要**把系统组件(VC++ Runtime、浏览器安装包等)写进 `requirements.txt`;这类前置条件写在 `health` / preflight 文档与错误提示中。
|
||||
- 若技能无额外 Python 依赖,可保留仅含注释的 `requirements.txt`(宿主会识别为 empty 并跳过安装)。
|
||||
- 若技能无额外 Python 依赖,可保留仅含 `jiangchang-platform-kit>=1.0.11` 的最小 `requirements.txt`。
|
||||
|
||||
### 3.3 公共能力不要复制
|
||||
|
||||
以下模块由 platform-kit 提供,技能内**不要**重复实现或 vendored 拷贝:
|
||||
|
||||
| 能力 | 导入方式 |
|
||||
|------|----------|
|
||||
| config | `from jiangchang_skill_core import config` |
|
||||
| logging | `from jiangchang_skill_core.unified_logging import ...` 或 `util.logging_config` 薄封装 |
|
||||
| runtime_env | `from jiangchang_skill_core.runtime_env import ...` 或 `util.runtime_paths` 薄封装 |
|
||||
| rpa | `from jiangchang_skill_core.rpa import ...` |
|
||||
| media_assets | `from jiangchang_skill_core.media_assets import ...` |
|
||||
| video_session | `from jiangchang_skill_core.rpa.video_session import RpaVideoSession` |
|
||||
| runtime_diagnostics | `from jiangchang_skill_core import collect_runtime_diagnostics, format_runtime_health_lines` |
|
||||
|
||||
`health` 应委托 `collect_runtime_diagnostics`,不要在 `scripts/util/` 自建 `runtime_diagnostics.py`。
|
||||
|
||||
## 4. 开发一个新 skill 的标准步骤
|
||||
|
||||
|
||||
Reference in New Issue
Block a user