Files
CNWei 942f8de3b7 docs: 重写 README 并加入 uv 示例与端到端自检
- README 重排为快速开始、执行语义、输入校验、API 参考与故障排查
- 新增 samples/python-task:uv 管理的演示任务
- 新增 tools/verify.py:14 项 API 全链路自检
2026-10-26 00:38:16 +08:00

61 lines
2.0 KiB
Python

"""TaskPilot 演示任务。
在 TaskPilot 里把「项目工作目录」指向本目录、解释器填 ``python.exe``、脚本填
``main.py``,后端会自动关联同级的 ``.venv`` 并以虚拟环境解释器运行。
常用参数:
--lines N 输出 N 行中文(默认 3)
--sleep N 执行前等待 N 秒,用于验证超时与取消
--fail 以退出码 3 结束,用于验证失败状态
--append PATH 把一行结果追加到指定文件,用于验证副作用
"""
from __future__ import annotations
import argparse
import os
import sys
import time
from datetime import datetime, timezone
from pathlib import Path
def main() -> int:
parser = argparse.ArgumentParser(description="TaskPilot python demo task")
parser.add_argument("--lines", type=int, default=3)
parser.add_argument("--sleep", type=float, default=0.0)
parser.add_argument("--fail", action="store_true")
parser.add_argument("--append", type=Path)
args = parser.parse_args()
started = datetime.now(timezone.utc).isoformat(timespec="seconds")
print(f"[demo] 启动时间 {started}")
print(f"[demo] 解释器 {sys.executable}")
print(f"[demo] VIRTUAL_ENV {os.environ.get('VIRTUAL_ENV', '<未设置>')}")
print(f"[demo] 工作目录 {Path.cwd()}")
print(f"[demo] 参数 lines={args.lines} sleep={args.sleep} fail={args.fail}")
for index in range(args.lines):
print(f"[demo] 第 {index + 1} 行:中文输出与勾选 √")
if args.append is not None:
args.append.parent.mkdir(parents=True, exist_ok=True)
with args.append.open("a", encoding="utf-8") as handle:
handle.write(f"{started} ok\n")
print(f"[demo] 已追加写入 {args.append}")
if args.sleep > 0:
print(f"[demo] 开始等待 {args.sleep} 秒", flush=True)
time.sleep(args.sleep)
if args.fail:
print("[demo] 按要求返回失败", file=sys.stderr)
return 3
print("[demo] 完成")
return 0
if __name__ == "__main__":
raise SystemExit(main())