Align Agent CLI docs to host shared python on PATH
All checks were successful
技能自动化发布 / release (push) Successful in 7s

This commit is contained in:
2026-07-15 13:58:41 +08:00
parent 296798a0f3
commit b016b3b411
9 changed files with 42 additions and 60 deletions

View File

@@ -129,10 +129,10 @@ Action 是**可选能力**
## 执行模型
宿主将 action 转为 argv再用**共享 Python** 执行(与 Agent CLI 同一解释器契约)
宿主将 action 转为 argv再用**共享 Python**(用户数据目录下 `python-runtime/.venv`)执行
```text
{JIANGCHANG_PYTHON_EXE} {skill_root}/scripts/main.py <command> <args...>
python {skill_root}/scripts/main.py <command> <args...>
```
- `entrypoint.type` 当前只支持 `cli`

View File

@@ -4,27 +4,27 @@
## 解释器(必读)
必须使用宿主**共享 Python runtime**,不要系统 Python / 临时 venv
必须使用宿主**共享 Python runtime**`{JIANGCHANG_DATA_ROOT}/python-runtime/.venv`,已在 PATH / `VIRTUAL_ENV`)。一条命令直接跑,不要先探系统 Python。
| 优先级 | 写法 |
|--------|------|
| **推荐Agent** | `"$JIANGCHANG_PYTHON_EXE" {baseDir}/scripts/main.py <command> …` |
| Windows cmd | `"%JIANGCHANG_PYTHON_EXE%" {baseDir}/scripts/main.py <command> …` |
| 等价PATH 已指向共享 venv | `python {baseDir}/scripts/main.py <command> …` |
| 手工排查(未注入环境时) | `{JIANGCHANG_DATA_ROOT}/python-runtime/.venv/Scripts/python.exe`Windows`…/.venv/bin/python3`Unix |
```bash
python {baseDir}/scripts/main.py <command> …
```
| 场景 | 写法 |
|------|------|
| **推荐Agent** | `python {baseDir}/scripts/main.py <command> …` |
| 手工排查(环境未注入时) | `{JIANGCHANG_DATA_ROOT}/python-runtime/.venv/Scripts/python.exe`Windows`…/.venv/bin/python3`Unix |
**禁止**对技能脚本使用 `uv run python …`(会创建临时环境,加载不到 `jiangchang-platform-kit` / `jiangchang_skill_core`)。
**禁止** Agent 自行 `pip install` / `uv pip install` 往临时环境塞依赖。
下文示例里的 `python` **均指**上述共享解释器(优先写成 `$JIANGCHANG_PYTHON_EXE`)。
## 最小命令
```bash
"$JIANGCHANG_PYTHON_EXE" {baseDir}/scripts/main.py health
"$JIANGCHANG_PYTHON_EXE" {baseDir}/scripts/main.py config-path
"$JIANGCHANG_PYTHON_EXE" {baseDir}/scripts/main.py version
"$JIANGCHANG_PYTHON_EXE" {baseDir}/scripts/main.py init-db
python {baseDir}/scripts/main.py health
python {baseDir}/scripts/main.py config-path
python {baseDir}/scripts/main.py version
python {baseDir}/scripts/main.py init-db
```
## 标准行为
@@ -36,8 +36,8 @@
- **`init-db`**:幂等创建/迁移本地 SQLite`_jiangchang_*` 展示元数据)。成功输出一行 JSON`ok` / `skill` / `db_path`),退出码 `0`。宿主可在技能安装或更新成功后静默调用;不要并入 `health`
- **`run` / RPA / 长任务**CLI 仍是同一内核;**Agent 禁止**用 bash 干等长任务结束。须走宿主 Skill Action`run_skill_action`),且该 Action 一般为 `executionProfile: "async"`**任务中心**。长时间无 stdout **不代表卡死**;进度看任务中心 / Run Journal。
- **排查顺序**(由快到慢):
1. `"$JIANGCHANG_PYTHON_EXE" {baseDir}/scripts/main.py logs`
2. `"$JIANGCHANG_PYTHON_EXE" {baseDir}/scripts/main.py log-get <log_id>`
1. `python {baseDir}/scripts/main.py logs`
2. `python {baseDir}/scripts/main.py log-get <log_id>`
3. 统一日志文件 `{JIANGCHANG_DATA_ROOT}/{JIANGCHANG_USER_ID}/logs/jiangchang.log`(含 `trace_id``task_failed` 等)
4. Run Journal `{JIANGCHANG_DATA_ROOT}/.jiangchang/runs/{job_id}.jsonl`
5. RPA artifacts / `video_log` / 失败截图(开发规范见 `development/RPA.md`);未开启录屏时可能只有截图或日志
@@ -68,30 +68,14 @@
## 通用业务命令骨架
```bash
"$JIANGCHANG_PYTHON_EXE" {baseDir}/scripts/main.py run
"$JIANGCHANG_PYTHON_EXE" {baseDir}/scripts/main.py run -t <target> -i <input_id>
"$JIANGCHANG_PYTHON_EXE" {baseDir}/scripts/main.py logs
"$JIANGCHANG_PYTHON_EXE" {baseDir}/scripts/main.py logs --task-type demo --status failed
"$JIANGCHANG_PYTHON_EXE" {baseDir}/scripts/main.py log-get <log_id>
python {baseDir}/scripts/main.py run
python {baseDir}/scripts/main.py run -t <target> -i <input_id>
python {baseDir}/scripts/main.py logs
python {baseDir}/scripts/main.py logs --task-type demo --status failed
python {baseDir}/scripts/main.py log-get <log_id>
```
| 命令 | 用途 | Agent 注意 |
|------|------|------------|
| `run` | 执行一次任务(常为长任务 / RPA | **走 `run_skill_action`**,不要 bash poll |
| `logs` | 列出最近 N 条任务日志 | 可用短 CLI |
| `log-get` | 按 log_id 查看单条任务日志JSON | 可用短 CLI |
## 查询/导出类(可选)
复制后按需增加,例如:`contacts``contact-get``export` 或业务等价命令。短查询用共享 Python CLI需挂数据管理/定时/Agent 结构化入口时再写进 `assets/actions.json`
## 若你的技能依赖兄弟技能
使用 `service.sibling_bridge.call_sibling_json(skill_slug, args)`,不要硬编码兄弟技能名到 `sibling_bridge.py` 自身;并在 `SKILL.md` 声明 `dependencies.required`。兄弟进程继承当前解释器(须已是共享 runtime
## 模板约定
- 最小模板至少保留 `health` / `config-path` / `version`
- 通用业务技能建议使用 `run` / `logs` / `log-get`
- 不要再用旧模板的 `publish` / `--account-id` / `--article-id` 命名
- Skill Action 与任务中心契约见 [`ACTIONS.md`](ACTIONS.md)
| `logs` / `log-get` | 查任务日志 | 可用短 CLI |