Install
openclaw skills install cyber-luban-diaryAI diary service - push diary entries, query diaries, get AI analysis and cover images via HTTP API.
openclaw skills install cyber-luban-diaryAn AI-powered diary service. Push diary entries, retrieve them by date, get AI-generated analysis (feedback + keywords), and fetch cover images.
Click the link below to authorize with Feishu and get your API token (long-lived, no expiration):
After Feishu login, copy the token displayed on the page.
Set the token as an environment variable:
export AI_DIARY_TOKEN="your_token_here"
When the user wants to save or push a diary entry for a specific date:
curl -s -X POST "https://image.yezishop.vip/api/diary-hook/$AI_DIARY_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"date\": \"$DATE\", \"content\": \"$CONTENT\"}" | jq .
date must be in YYYY-MM-DD formatcontent is the diary textWhen the user asks about a specific date's diary:
curl -s "https://image.yezishop.vip/api/diary-hook/$AI_DIARY_TOKEN/diaries?date=$DATE" | jq .
When the user wants to see recent diary entries:
curl -s "https://image.yezishop.vip/api/diary-hook/$AI_DIARY_TOKEN/diaries?limit=$LIMIT&offset=$OFFSET" | jq .
limit defaults to 20, offset defaults to 0curl -s "https://image.yezishop.vip/api/diary-hook/$AI_DIARY_TOKEN/diaries/$DIARY_ID" | jq .
When the user wants AI analysis of a diary entry. Returns cached result if analysis already exists:
curl -s -X POST "https://image.yezishop.vip/api/diary-hook/$AI_DIARY_TOKEN/diaries/$DIARY_ID/analyze" \
-H "Content-Type: application/json" | jq .
Response includes feedback (text review) and keywords (3 key terms).
curl -s "https://image.yezishop.vip/api/diary-hook/$AI_DIARY_TOKEN/diaries/$DIARY_ID/image" | jq .
Returns image field with the image URL, or null if no image exists.
All endpoints return JSON with success: true/false. Diary objects contain:
id - Diary IDdiary_date - Date in YYYY-MM-DD formatcontent - Diary text contentfeedback - AI analysis feedback (after analyze)keywords - Array of 3 keywords (after analyze)cover_image - Cover image URL (if generated)hook_content - Content pushed via webhookstatus - Processing status