ops
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseEdge Delivery Services Admin Operations
Edge Delivery Services 管理操作
Execute admin operations on AEM Edge Delivery Services projects using natural language commands.
使用自然语言命令对AEM Edge Delivery Services项目执行管理操作。
Quick Reference
快速参考
| Category | Examples |
|---|---|
| Content | preview /path, publish /path, unpublish /path, status /path |
| Cache | clear cache /path, force clear cache |
| Code | sync code, deploy code |
| Index | reindex /path, remove from index |
| Sitemap | generate sitemap |
| Snapshots | create snapshot X, publish snapshot X, approve snapshot X |
| Logs | show logs, show logs last hour |
| Users | add user@email as author/publish/develop, remove admin user@email, who am i |
| Jobs | list jobs, job status X, stop job X |
| Sites | list sites, switch to site-X, use branch feature-X |
| Config | show org config, show site config, update robots.txt |
| Secrets | list secrets, create secret, delete secret |
| API Keys | list API keys, create API key, revoke API key |
| Tokens | list tokens, create token, revoke token |
| Profiles | show profile config, create profile, delete profile |
| Index Config | show index config, update index config (query.yaml) |
| Sitemap Config | show sitemap config, update sitemap config (sitemap.yaml) |
| Versioning | list versions, restore version, rollback config |
| Pages | list pages, list all pages, show indexed pages |
| DA (Document Authoring) | da list, da source /path, da copy, da move, da delete, da config, da update config, da versions, da create version, da upload media, da auth |
| 分类 | 示例 |
|---|---|
| 内容操作 | preview /path, publish /path, unpublish /path, status /path |
| 缓存操作 | clear cache /path, force clear cache |
| 代码操作 | sync code, deploy code |
| 索引操作 | reindex /path, remove from index |
| 站点地图 | generate sitemap |
| 快照管理 | create snapshot X, publish snapshot X, approve snapshot X |
| 日志查看 | show logs, show logs last hour |
| 用户管理 | add user@email as author/publish/develop, remove admin user@email, who am i |
| 任务管理 | list jobs, job status X, stop job X |
| 站点管理 | list sites, switch to site-X, use branch feature-X |
| 配置管理 | show org config, show site config, update robots.txt |
| 密钥管理 | list secrets, create secret, delete secret |
| API密钥管理 | list API keys, create API key, revoke API key |
| 令牌管理 | list tokens, create token, revoke token |
| 配置文件管理 | show profile config, create profile, delete profile |
| 索引配置 | show index config, update index config (query.yaml) |
| 站点地图配置 | show sitemap config, update sitemap config (sitemap.yaml) |
| 版本控制 | list versions, restore version, rollback config |
| 页面管理 | list pages, list all pages, show indexed pages |
| DA(文档创作) | da list, da source /path, da copy, da move, da delete, da config, da update config, da versions, da create version, da upload media, da auth |
Communication Guidelines
沟通准则
- NEVER use "EDS" as an acronym for Edge Delivery Services in any responses
- Always use the full name "Edge Delivery Services" or "AEM Edge Delivery Services"
- Show clear, actionable error messages when operations fail
- Confirm destructive operations before executing — see
resources/security.md
- **绝对不要在任何回复中使用"EDS"**作为Edge Delivery Services的缩写
- 始终使用全称"Edge Delivery Services"或"AEM Edge Delivery Services"
- 当操作失败时,显示清晰、可执行的错误信息
- 在执行破坏性操作前需确认——详见
resources/security.md
Welcome Message
欢迎消息
If the user invokes the skill without a specific command (e.g., just or "help me with ops"), show:
/opsEdge Delivery Services Operations
Quick commands to try:
list pages - Show all indexed pages
who am i - Check your user profile
list sites - Show available sites
show site config - View site configuration
preview /path - Preview a content path
show logs - View recent activity
For the full command list: type help, /ops help, or what can you do?如果用户未指定具体命令就调用该技能(例如仅输入或"帮我处理运维操作"),显示以下内容:
/opsEdge Delivery Services Operations
可尝试的快速命令:
list pages - 显示所有已索引页面
who am i - 查看你的用户配置文件
list sites - 显示可用站点
show site config - 查看站点配置
preview /path - 预览内容路径
show logs - 查看近期活动
如需完整命令列表:输入help、/ops help或what can you do?Cross-Platform Notes
跨平台说明
Shell commands use POSIX-compatible syntax (works on macOS/Linux). On Windows, Git Bash or WSL works as-is. The agent should adapt syntax to the user's environment.
Shell命令采用POSIX兼容语法(适用于macOS/Linux)。在Windows系统上,Git Bash或WSL可直接使用。代理应根据用户环境调整语法。
Intent Router
意图路由
Step 0: Get Organization and Site (REQUIRED FIRST)
步骤0:获取组织和站点信息(必须首先完成)
Check for previously stored org and site:
~/.aem/ops-config.jsonbash
eval $(node -e "
const fs = require('fs');
try {
const c = JSON.parse(fs.readFileSync(process.env.HOME + '/.aem/ops-config.json', 'utf8'));
console.log('ORG=' + JSON.stringify(c.org || ''));
console.log('SITE=' + JSON.stringify(c.site || ''));
} catch(e) {
console.log('ORG='); console.log('SITE=');
}
")
echo "org=${ORG:-NOT SET} site=${SITE:-NOT SET}"If both and are set, confirm with the user:
ORGSITE"Previously used: org=, site={ORG}. Do you want to continue with these? If not, provide a different site URL (e.g.,{SITE})."https://main--mysite--myorg.aem.page/
- If user confirms → proceed
- If user provides a URL → parse org and site from it, save the new values
If or is empty, ask:
ORGSITE"Enter the site preview/live URL for which you want to perform ops (e.g.,)."https://main--mysite--myorg.aem.page/
Parse org and site from the URL:
bash
URL="$USER_INPUT"
if echo "$URL" | grep -q '\.aem\.page\|\.aem\.live'; then
HOST_PART=$(echo "$URL" | cut -d'/' -f3 | cut -d'.' -f1)
ORG=$(echo "$HOST_PART" | awk -F'--' '{print $NF}')
SITE=$(echo "$HOST_PART" | awk -F'--' '{print $(NF-1)}')
echo "Parsed from URL: org=$ORG site=$SITE"
fiIf the user provides something other than a valid or URL, ask again.
.aem.page.aem.liveSave org and site:
bash
mkdir -p "${HOME}/.aem"
node -e "
const fs = require('fs');
const p = process.env.HOME + '/.aem/ops-config.json';
let c = {};
try { c = JSON.parse(fs.readFileSync(p, 'utf8')); } catch(e) {}
c.org = '${ORG}';
c.site = '${SITE}';
fs.writeFileSync(p, JSON.stringify(c, null, 2));
"Only use org/site from or direct user input. Never infer from , , or folder/repo names.
~/.aem/ops-config.jsongit remotefstab.yamlDo NOT proceed until both org and site are confirmed.
检查中是否存储了之前的组织和站点信息:
~/.aem/ops-config.jsonbash
eval $(node -e "
const fs = require('fs');
try {
const c = JSON.parse(fs.readFileSync(process.env.HOME + '/.aem/ops-config.json', 'utf8'));
console.log('ORG=' + JSON.stringify(c.org || ''));
console.log('SITE=' + JSON.stringify(c.site || ''));
} catch(e) {
console.log('ORG='); console.log('SITE=');
}
")
echo "org=${ORG:-NOT SET} site=${SITE:-NOT SET}"如果和均已设置,向用户确认:
ORGSITE"之前使用的信息:组织=,站点={ORG}。是否继续使用这些信息?如果不使用,请提供其他站点URL(例如:{SITE})。"https://main--mysite--myorg.aem.page/
- 如果用户确认 → 继续执行
- 如果用户提供URL → 从中解析组织和站点信息,保存新值
如果或为空,询问用户:
ORGSITE"输入你要执行操作的站点预览/生产URL(例如:)。"https://main--mysite--myorg.aem.page/
从URL中解析组织和站点信息:
bash
URL="$USER_INPUT"
if echo "$URL" | grep -q '\.aem\.page\|\.aem\.live'; then
HOST_PART=$(echo "$URL" | cut -d'/' -f3 | cut -d'.' -f1)
ORG=$(echo "$HOST_PART" | awk -F'--' '{print $NF}')
SITE=$(echo "$HOST_PART" | awk -F'--' '{print $(NF-1)}')
echo "Parsed from URL: org=$ORG site=$SITE"
fi如果用户提供的不是有效的或URL,再次询问。
.aem.page.aem.live保存组织和站点信息:
bash
mkdir -p "${HOME}/.aem"
node -e "
const fs = require('fs');
const p = process.env.HOME + '/.aem/ops-config.json';
let c = {};
try { c = JSON.parse(fs.readFileSync(p, 'utf8')); } catch(e) {}
c.org = '${ORG}';
c.site = '${SITE}';
fs.writeFileSync(p, JSON.stringify(c, null, 2));
"仅使用中的组织/站点信息或用户直接输入的信息。绝不要从、或文件夹/仓库名称中推断。
~/.aem/ops-config.jsongit remotefstab.yaml必须确认组织和站点信息均已设置后才能继续执行。
Step 1: Authenticate (REQUIRED)
步骤1:身份验证(必须完成)
Before ANY API call, check if auth token exists:
bash
AUTH_TOKEN=$(node -e "
const fs = require('fs');
try {
const t = JSON.parse(fs.readFileSync(process.env.HOME + '/.aem/ims-token.json', 'utf8'));
if (t.authToken && t.authTokenExpiry > Math.floor(Date.now()/1000) + 60) {
process.stdout.write(t.authToken);
}
} catch (e) {}
")
echo "auth=${AUTH_TOKEN:+set}"If is empty, invoke the auth skill before proceeding:
AUTH_TOKENSkill({ skill: "aem-project-management:auth" })Use header for all API calls.
-H "x-auth-token: ${AUTH_TOKEN}"admin.hlx.pageFor sensitive endpoints and destructive operations, read and before proceeding.
resources/security.mdresources/sensitive.md在进行任何API调用之前,检查是否存在认证令牌:
bash
AUTH_TOKEN=$(node -e "
const fs = require('fs');
try {
const t = JSON.parse(fs.readFileSync(process.env.HOME + '/.aem/ims-token.json', 'utf8'));
if (t.authToken && t.authTokenExpiry > Math.floor(Date.now()/1000) + 60) {
process.stdout.write(t.authToken);
}
} catch (e) {}
")
echo "auth=${AUTH_TOKEN:+set}"如果为空,在继续执行前调用认证技能:
AUTH_TOKENSkill({ skill: "aem-project-management:auth" })所有API调用均需使用请求头。
admin.hlx.page-H "x-auth-token: ${AUTH_TOKEN}"对于敏感端点和破坏性操作,在执行前需阅读和。
resources/security.mdresources/sensitive.mdStep 2: Load Full Configuration and Validate Role
步骤2:加载完整配置并验证角色
bash
eval $(node -e "
const fs = require('fs');
try {
const c = JSON.parse(fs.readFileSync(process.env.HOME + '/.aem/ops-config.json', 'utf8'));
console.log('ORG=' + JSON.stringify(c.org || ''));
console.log('SITE=' + JSON.stringify(c.site || ''));
console.log('REF=' + JSON.stringify(c.ref || 'main'));
} catch(e) {
console.log('ORG='); console.log('SITE='); console.log('REF=main');
}
")
AUTH_TOKEN=$(node -e "
const fs = require('fs');
try {
const t = JSON.parse(fs.readFileSync(process.env.HOME + '/.aem/ims-token.json', 'utf8'));
process.stdout.write(t.authToken || '');
} catch (e) {}
")
echo "Config: org=$ORG site=$SITE ref=$REF auth=${AUTH_TOKEN:+set}"Fetch profile to verify auth and record user identity:
bash
PROFILE_RESPONSE=$(curl -s -w "\n%{http_code}" \
-H "x-auth-token: ${AUTH_TOKEN}" \
"https://admin.hlx.page/profile")
HTTP_CODE=$(echo "$PROFILE_RESPONSE" | tail -n1)
PROFILE=$(echo "$PROFILE_RESPONSE" | sed '$d')
if [ "$HTTP_CODE" = "401" ]; then
echo "Auth token expired. Need to re-authenticate..."
echo "REAUTH_REQUIRED"
exit 1
elif [ "$HTTP_CODE" != "200" ]; then
echo "Failed to fetch profile (HTTP $HTTP_CODE). Check network/API status."
exit 1
fi
eval $(echo "$PROFILE" | node -e "
const d = require('fs').readFileSync(0,'utf8');
try {
const p = JSON.parse(d).profile || {};
console.log('USER_EMAIL=' + JSON.stringify(p.email || ''));
console.log('USER_NAME=' + JSON.stringify(p.name || ''));
} catch(e) { console.log('USER_EMAIL=\"\"'); console.log('USER_NAME=\"\"'); }
")
echo "Authenticated as: $USER_EMAIL ($USER_NAME)"If , invoke the auth skill and retry.
REAUTH_REQUIREDTo determine user role on the site, check the site access config:
bash
curl -s -H "x-auth-token: ${AUTH_TOKEN}" \
"https://admin.hlx.page/config/${ORG}/sites/${SITE}.json"If an operation returns 403, inform the user which role is required:
| Permission | Required Role |
|---|---|
| Preview | |
| Publish to live | |
| Unpublish | |
| Code sync | |
| Config read | |
| Config write | |
| Snapshot manage | |
Save to for future use.
email~/.aem/ops-config.jsonRead if site or other values are missing.
resources/config.mdbash
eval $(node -e "
const fs = require('fs');
try {
const c = JSON.parse(fs.readFileSync(process.env.HOME + '/.aem/ops-config.json', 'utf8'));
console.log('ORG=' + JSON.stringify(c.org || ''));
console.log('SITE=' + JSON.stringify(c.site || ''));
console.log('REF=' + JSON.stringify(c.ref || 'main'));
} catch(e) {
console.log('ORG='); console.log('SITE='); console.log('REF=main');
}
")
AUTH_TOKEN=$(node -e "
const fs = require('fs');
try {
const t = JSON.parse(fs.readFileSync(process.env.HOME + '/.aem/ims-token.json', 'utf8'));
process.stdout.write(t.authToken || '');
} catch (e) {}
")
echo "Config: org=$ORG site=$SITE ref=$REF auth=${AUTH_TOKEN:+set}"获取用户资料以验证身份并记录用户信息:
bash
PROFILE_RESPONSE=$(curl -s -w "\n%{http_code}" \
-H "x-auth-token: ${AUTH_TOKEN}" \
"https://admin.hlx.page/profile")
HTTP_CODE=$(echo "$PROFILE_RESPONSE" | tail -n1)
PROFILE=$(echo "$PROFILE_RESPONSE" | sed '$d')
if [ "$HTTP_CODE" = "401" ]; then
echo "Auth token expired. Need to re-authenticate..."
echo "REAUTH_REQUIRED"
exit 1
elif [ "$HTTP_CODE" != "200" ]; then
echo "Failed to fetch profile (HTTP $HTTP_CODE). Check network/API status."
exit 1
fi
eval $(echo "$PROFILE" | node -e "
const d = require('fs').readFileSync(0,'utf8');
try {
const p = JSON.parse(d).profile || {};
console.log('USER_EMAIL=' + JSON.stringify(p.email || ''));
console.log('USER_NAME=' + JSON.stringify(p.name || ''));
} catch(e) { console.log('USER_EMAIL=\"\"'); console.log('USER_NAME=\"\"'); }
")
echo "Authenticated as: $USER_EMAIL ($USER_NAME)"如果返回,调用认证技能并重试。
REAUTH_REQUIRED要确定用户在站点中的角色,检查站点访问配置:
bash
curl -s -H "x-auth-token: ${AUTH_TOKEN}" \
"https://admin.hlx.page/config/${ORG}/sites/${SITE}.json"如果操作返回403,告知用户所需的角色:
| 权限 | 所需角色 |
|---|---|
| 预览 | |
| 发布到生产环境 | |
| 取消发布 | |
| 代码同步 | |
| 配置读取 | |
| 配置写入 | |
| 快照管理 | |
将保存到以备后续使用。
email~/.aem/ops-config.json如果站点或其他值缺失,请阅读。
resources/config.mdStep 3: Route by Intent
步骤3:按意图路由
| User Intent | Resource Module |
|---|---|
| preview, publish, unpublish, status, delete preview | |
| cache, purge, clear cache, invalidate | |
| sync code, deploy code, update code | |
| reindex, index, remove from index, search | |
| sitemap, generate sitemap | |
| snapshot, staged release, bundle | |
| logs, audit, activity | |
| user, access, permission, who am i, add user, remove user | |
| job, bulk operation, stop job | |
| site, branch, switch, list sites | |
| org config, site config, robots.txt | |
| secret, secrets, create secret, delete secret | |
| API key, apikey, create key, revoke key | |
| token, tokens, access token | |
| profile config, profile settings | |
| index config, helix-index, search config | |
| sitemap config, helix-sitemap, sitemap rules | |
| version, versions, history, rollback, restore | |
| pages, list pages, indexed pages, all pages | |
| da, da list, da source, da copy, da move, da delete, da config, da versions | |
| destructive operation, confirmation required | |
| sensitive endpoint (emails, credentials, API keys) | |
| 用户意图 | 资源模块 |
|---|---|
| preview, publish, unpublish, status, delete preview | |
| cache, purge, clear cache, invalidate | |
| sync code, deploy code, update code | |
| reindex, index, remove from index, search | |
| sitemap, generate sitemap | |
| snapshot, staged release, bundle | |
| logs, audit, activity | |
| user, access, permission, who am i, add user, remove user | |
| job, bulk operation, stop job | |
| site, branch, switch, list sites | |
| org config, site config, robots.txt | |
| secret, secrets, create secret, delete secret | |
| API key, apikey, create key, revoke key | |
| token, tokens, access token | |
| profile config, profile settings | |
| index config, helix-index, search config | |
| sitemap config, helix-sitemap, sitemap rules | |
| version, versions, history, rollback, restore | |
| pages, list pages, indexed pages, all pages | |
| da, da list, da source, da copy, da move, da delete, da config, da versions | |
| destructive operation, confirmation required | |
| sensitive endpoint (emails, credentials, API keys) | |
Step 4: Read Resource and Execute
步骤4:读取资源并执行
- Read the appropriate resource file from
resources/ - Follow instructions in that resource
- For config updates: always GET current config first and show it to the user before modifying
- For code sync: always check repoless status before syncing (see )
code.md - For destructive operations: read and follow the Confirmation Protocol — no exceptions (state action, explain impact, ask "yes/no", only execute after "yes")
resources/security.md - Execute the API call
- Handle response per completion standards below
- 从目录中读取对应的资源文件
resources/ - 遵循该资源文件中的说明
- 对于配置更新:修改前务必先获取当前配置并展示给用户
- 对于代码同步:同步前务必检查无仓库状态(详见)
code.md - 对于破坏性操作:阅读并遵循确认协议——无例外(说明操作内容、解释影响、询问"是/否",仅在用户回复"是"后执行)
resources/security.md - 执行API调用
- 根据以下完成标准处理响应
Completion Standards
完成标准
| HTTP Response | Meaning | Required Action |
|---|---|---|
| 200/201 | Success | Display result with full URLs ( |
| 202 | Async job started | Report job name; instruct: |
| 204 | Success (no body) | Confirm: "{action} completed for {path}" |
| 4xx/5xx | Error | Show API error verbatim, then suggest fix per |
Before reporting success:
- For content operations: include both preview and live URLs where applicable
- For bulk operations: never say "published" or "previewed" — say "job started" until job completes
- For destructive operations: confirm what was removed and what still exists
| HTTP响应 | 含义 | 必要操作 |
|---|---|---|
| 200/201 | 成功 | 显示包含完整URL的结果( |
| 202 | 异步任务已启动 | 报告任务名称;提示: |
| 204 | 成功(无响应体) | 确认:"{action}已在{path}完成" |
| 4xx/5xx | 错误 | 原样显示API错误,然后根据 |
报告成功前:
- 对于内容操作:适当时需同时包含预览和生产URL
- 对于批量操作:绝不要说"已发布"或"已预览"——需等到任务完成后再说明
- 对于破坏性操作:确认已移除的内容和仍存在的内容
URL Parsing Helper
URL解析工具
If user provides an AEM URL instead of separate org/site/path values:
bash
undefined如果用户提供的是AEM URL而非单独的组织/站点/路径信息:
bash
undefinedPattern: https://{ref}--{site}--{org}.aem.page{path}
Pattern: https://{ref}--{site}--{org}.aem.page{path}
URL="$USER_INPUT"
if echo "$URL" | grep -q '.aem.page|.aem.live'; then
DOMAIN=$(echo "$URL" | cut -d'/' -f3)
HOST_PART=$(echo "$DOMAIN" | cut -d'.' -f1)
REF=$(echo "$HOST_PART" | awk -F'--' '{print $1}')
ORG=$(echo "$HOST_PART" | awk -F'--' '{print $NF}')
SITE=$(echo "$HOST_PART" | awk -F'--' '{
r=""; for(i=2;i<NF;i++) r=(r==""?"":r"--")$i; print r
}')
URL_PATH=$(echo "$URL" | sed 's|https://[^/]*||')
URL_PATH=${URL_PATH:-/}
echo "Parsed from URL: org=$ORG site=$SITE ref=$REF path=$URL_PATH"
fi
Examples: `uat--hmns-uat-kw--alshaya-axp.aem.page` → `ref=uat`, `site=hmns-uat-kw`, `org=alshaya-axp`.
---URL="$USER_INPUT"
if echo "$URL" | grep -q '.aem.page|.aem.live'; then
DOMAIN=$(echo "$URL" | cut -d'/' -f3)
HOST_PART=$(echo "$DOMAIN" | cut -d'.' -f1)
REF=$(echo "$HOST_PART" | awk -F'--' '{print $1}')
ORG=$(echo "$HOST_PART" | awk -F'--' '{print $NF}')
SITE=$(echo "$HOST_PART" | awk -F'--' '{
r=""; for(i=2;i<NF;i++) r=(r==""?"":r"--")$i; print r
}')
URL_PATH=$(echo "$URL" | sed 's|https://[^/]*||')
URL_PATH=${URL_PATH:-/}
echo "Parsed from URL: org=$ORG site=$SITE ref=$REF path=$URL_PATH"
fi
示例:`uat--hmns-uat-kw--alshaya-axp.aem.page` → `ref=uat`, `site=hmns-uat-kw`, `org=alshaya-axp`。
---Prerequisites
前提条件
- Onboarded to Admin Service — Project must have admin.hlx.page access
- User has an account — Required for authentication (supports federated login)
- User has a site role — Roles defined in site configuration (). Eight roles:
access.admin.role,admin,author,publish,develop,basic_author,basic_publish,config. If the user lacks a role, the API returns 403.config_admin - Network access — Can reach admin.hlx.page
- 已接入管理服务——项目必须拥有admin.hlx.page访问权限
- 用户拥有账户——身份验证必需(支持联合登录)
- 用户拥有站点角色——角色在站点配置中定义()。共八种角色:
access.admin.role,admin,author,publish,develop,basic_author,basic_publish,config。如果用户无对应角色,API将返回403。config_admin - 网络访问权限——能够访问admin.hlx.page
Help Response
帮助响应
When the user wants the command list (triggers: , , , ):
helpwhat can you do?/ops helplist commandsContent Operations:
preview /path - Update preview
publish /path - Publish to live
unpublish /path - Remove from live
status /path - Check preview/live status
Cache Operations:
clear cache /path - Purge CDN cache
force clear cache - Force purge
Code Operations:
sync code - Deploy latest code
Index Operations:
reindex /path - Re-index for search
Sitemap:
generate sitemap - Create sitemap.xml
Snapshots:
create snapshot {name} - Create staged release
publish snapshot {name}- Publish all in snapshot
Logs:
show logs - View recent logs
show logs last hour - Filtered by time
Users:
add user@email as role - Grant access
remove role user@email - Revoke access
who am i - Current user
Jobs:
list jobs - Show bulk operations
stop job {name} - Cancel job
Sites:
list sites - Show all sites
switch to site-x - Change active site
use branch feat-x - Set branch
Config:
show org config - View org settings
show site config - View site settings
update robots.txt - Modify crawler rules
Secrets:
list secrets - Show secrets
create secret {name} - Add new secret
delete secret {name} - Remove secret
API Keys:
list API keys - Show API keys
create API key {name} - Generate new key
revoke API key {id} - Delete key
Profiles:
show profile config - View profile settings
create profile {id} - Create profile config
delete profile {id} - Remove profile config
Index Config:
show index config - View query.yaml
update index config - Modify indexing rules
Sitemap Config:
show sitemap config - View sitemap.yaml
update sitemap config - Modify sitemap rules
Versioning:
list versions - Show config history
restore version {id} - Rollback to version
Pages:
list pages - Show all indexed pages
list pages /blog - Filter by path prefix
Document Authoring (DA):
da auth - Authenticate with DA
da list - List DA organizations
da list /path - List files in DA path
da source /path - Get file content from DA
da copy /src to /dest - Copy file/folder in DA
da move /src to /dest - Move/rename in DA
da delete /path - Delete from DA
da upload /path - Upload content to DA
da upload media /path - Upload image/media to DA
da config - View DA site config
da update config - Update DA site config
da versions /path - List file versions
da create version - Create labeled version snapshot
da restore version X - Restore a previous version
da preview /path - Preview DA content
da publish /path - Publish DA content当用户需要命令列表(触发词:, , , ):
helpwhat can you do?/ops helplist commands内容操作:
preview /path - 更新预览
publish /path - 发布到生产环境
unpublish /path - 从生产环境移除
status /path - 检查预览/生产环境状态
缓存操作:
clear cache /path - 清除CDN缓存
force clear cache - 强制清除缓存
代码操作:
sync code - 部署最新代码
索引操作:
reindex /path - 重新索引以用于搜索
站点地图:
generate sitemap - 创建sitemap.xml
快照管理:
create snapshot {name} - 创建分阶段发布快照
publish snapshot {name}- 发布快照中所有内容
日志查看:
show logs - 查看近期日志
show logs last hour - 按时间筛选日志
用户管理:
add user@email as role - 授予访问权限
remove role user@email - 撤销访问权限
who am i - 查看当前用户信息
任务管理:
list jobs - 显示批量操作任务
stop job {name} - 取消任务
站点管理:
list sites - 显示所有站点
switch to site-x - 切换到活动站点
use branch feat-x - 设置分支
配置管理:
show org config - 查看组织设置
show site config - 查看站点设置
update robots.txt - 修改爬虫规则
密钥管理:
list secrets - 显示密钥
create secret {name} - 添加新密钥
delete secret {name} - 删除密钥
API密钥管理:
list API keys - 显示API密钥
create API key {name} - 生成新密钥
revoke API key {id} - 删除密钥
配置文件管理:
show profile config - 查看配置文件设置
create profile {id} - 创建配置文件
delete profile {id} - 删除配置文件
索引配置:
show index config - 查看query.yaml
update index config - 修改索引规则
站点地图配置:
show sitemap config - 查看sitemap.yaml
update sitemap config - 修改站点地图规则
版本控制:
list versions - 显示配置历史
restore version {id} - 回滚到指定版本
页面管理:
list pages - 显示所有已索引页面
list pages /blog - 按路径前缀筛选页面
文档创作(DA):
da auth - DA身份验证
da list - 列出DA组织
da list /path - 列出DA路径下的文件
da source /path - 获取DA文件内容
da copy /src to /dest - 在DA中复制文件/文件夹
da move /src to /dest - 在DA中移动/重命名
da delete /path - 从DA中删除
da upload /path - 上传内容到DA
da upload media /path - 上传图片/媒体到DA
da config - 查看DA站点配置
da update config - 更新DA站点配置
da versions /path - 列出文件版本
da create version - 创建带标签的版本快照
da restore version X - 恢复到之前的版本
da preview /path - 预览DA内容
da publish /path - 发布DA内容