Project Template
Project Template 把重复协作流程固定成可复用的 Project 启动方式。
Project Template 不是传统表单。它描述一个协作流程的节点、上下游关系、每个节点应该问什么、谁应该负责,以及 Agent 应该如何在信息不完整时追问。它让团队把隐性的协作契约显式化。
模板包含什么
节点
边
说明与开场问题
负责人选择
什么时候应该做模板
当一个流程第三次出现,就应该考虑模板化。重复出现意味着团队已经有隐性 SOP:需要哪些信息、谁先判断、谁最后执行、哪些问题经常缺失。
报销审核
客户反馈处理
上线流程
供应商/采购审批
Cloud environment setup
Cloud environment setup 是 Project Template 上可选的初始化步骤。从模板启动 Project 时,Syncless 会打开这个 Project 后续要使用的同一个共享云端环境,并在模板真正 ready 前运行 setup script。
它适合做持久化的项目初始化:在 /work 下创建目录、准备 Python venv、下载私有资源,或者预热小型缓存。/work 是持久化共享目录,Project 中所有人都能访问。
设置了 Cloud environment setup 的 template 启动可能需要耗费一定时间,此时启动是异步的;可以通过 check API查询启动状态。
Secrets
你可以把 secrets 声明成 key-value 字段,然后在 setup script 里像环境变量一样引用,例如 $GITHUB_TOKEN。
启动流程
Shell 脚本示例
这个例子在 /work 下创建项目级 Python venv,用 pip 安装轻量依赖,并且只在 token 存在时下载私有文件。
set -euo pipefail
mkdir -p /work/cache /work/bin
if [ ! -x /work/.venv/bin/python ]; then
python -m venv /work/.venv
fi
/work/.venv/bin/python -m pip install --upgrade pip requests
if [ -n "${GITHUB_TOKEN:-}" ] && [ ! -f /work/cache/private-data.json ]; then
curl -fsSL \
-H "Authorization: Bearer $GITHUB_TOKEN" \
-o /work/cache/private-data.json \
"https://raw.githubusercontent.com/example/private/main/data.json"
fi
/work/.venv/bin/python - <<'PY'
from pathlib import Path
Path('/work/cache/ready.txt').write_text('ready\n')
PYAPI 检查状态示例
通过 Console API 创建 Project 时,把 start response 当作异步启动结果处理。发送 task prompt 前,轮询 status endpoint,直到返回 ready。
created=$(curl -fsSL \
-X POST "https://api.syncless.ai/api/console/v1/templates/<template_id>/projects" \
-H "Authorization: Bearer <api_key>" \
-H "Content-Type: application/json" \
-d '{"name":"Launch checklist","nodes":{"<node_id>":"<owner_id>"}}')
project_id=$(printf '%s' "$created" | python -c 'import json,sys; print(json.load(sys.stdin)["project_id"])')
curl -fsSL \
"https://api.syncless.ai/api/console/v1/projects/$project_id/template-status?wait_seconds=5" \
-H "Authorization: Bearer <api_key>"