Manage Halo blogs through the official API.
When this skill is first used, ask the user for:
https://blog.example.com)Then save credentials to ~/halo-manager/config.json:
json
{
"blog_url": "https://blog.example.com",
"username": "your-username",
"password": "your-password"
}
Security Note: Never expose credentials in logs, responses, or shared channels.
Halo uses RSA-encrypted password + CSRF token + Session cookie.
/login - Extract CSRF token and RSA public key/login with form data (username, encrypted password, CSRF token)~/halo-manager/session.jsontext
{blog_url}/apis/api.console.halo.run/v1alpha1/
OperationMethodEndpointList postsGET/postsGet postGET/posts/{name}Create postPOST/postsUpdate postPUT/posts/{name}Delete postDELETE/posts/{name}
OperationMethodEndpointList categoriesGET/categoriesCreate categoryPOST/categoriesUpdate categoryPUT/categories/{name}Delete categoryDELETE/categories/{name}
OperationMethodEndpointList tagsGET/tagsCreate tagPOST/tagsUpdate tagPUT/tags/{name}Delete tagDELETE/tags/{name}
OperationMethodEndpointList usersGET/usersGet current userGET/users/-
OperationMethodEndpointList commentsGET/commentsApprove commentPUT/comments/{name}/approvalDelete commentDELETE/comments/{name}
OperationMethodEndpointList attachmentsGET/attachmentsUpload attachmentPOST/attachmentsDelete attachmentDELETE/attachments/{name}
json
{
"post": {
"spec": {
"title": "Post Title",
"slug": "post-slug",
"content": "Post content in Markdown",
"rawType": "markdown",
"categories": ["category-name"],
"tags": ["tag1", "tag2"],
"publish": true
}
}
}
/posts/attachmentsStatusMeaningAction401UnauthorizedRe-login403ForbiddenCheck permissions404Not foundVerify resource exists500Server errorRetry or report
text
【操作名称】
请求:{method} {endpoint}
状态:{status_code}
结果:成功/失败
详情:...