360 Secure SkillHub
360 安全技能中心

FamilyWall

通过 Python 脚本调用 FamilyWall 会话式接口,管理家庭日历事件、购物与待办清单、家庭消息、成员位置、餐食计划与食谱、家庭墙,并可下载消息中的图片、音频等媒体文件,需要配置账号邮箱与密码环境变量。

snowsand-enterprises
snowsand-enterprises
热度 52.79
最近更新 2026-05-18 21:55:27
分类:生活依赖:代码执行 / 读写文件 / 第三方 API应用场景:食谱 / 购物 / 任务管理 / 日程安排

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add snowsand-familywall
Metadata
name
familywall
version
1.3.0
description
Interact with the FamilyWall family organization platform. Manage calendar events, shopping lists, tasks, family messaging, member locations, meal plans, recipes, the family wall/feed, and media file downloading. Use when: (1) checking family calendar or creating events, (2) managing shopping lists or to-do items, (3) sending/reading family messages, (4) checking family member locations, (5) viewing the family wall/feed, (6) meal planning or recipe management, (7) downloading photos, audio, or other media from messages. Triggers: "family calendar", "family events", "shopping list", "grocery list", "family message", "family chat", "family location", "where is", "family wall", "family feed", "add to list", "family members", "familywall", "meal plan", "recipe", "what's for dinner", "weekly meals", "download photo", "download media", "family photos", "message attachment".

FamilyWall Integration

FamilyWall family organization platform integration for managing calendars, lists, messaging, meal plans, recipes, and more.

Authentication

FamilyWall uses email/password authentication with session tokens. Required environment variables:

  • FAMILYWALL_EMAIL - FamilyWall account email
  • FAMILYWALL_PASSWORD - FamilyWall account password

These should be set in ~/.openclaw/.env.

Test connection:

source ~/.openclaw/.env && {baseDir}/scripts/familywall.py status

Quick Reference

All operations use the {baseDir}/scripts/familywall.py script:

Operation Command
Status & Members
Account/family status {baseDir}/scripts/familywall.py status
List family members {baseDir}/scripts/familywall.py members
Calendar Events
List upcoming events {baseDir}/scripts/familywall.py events list --days 7
Create event {baseDir}/scripts/familywall.py events create "Title" --start "2026-03-10T14:00:00" --end "2026-03-10T15:00:00"
Create all-day event {baseDir}/scripts/familywall.py events create "Holiday" --start "2026-03-10" --end "2026-03-11" --allday
Delete event {baseDir}/scripts/familywall.py events delete EVENT_ID
Shopping Lists / Tasks
List all lists {baseDir}/scripts/familywall.py lists list
View list items {baseDir}/scripts/familywall.py lists items LIST_ID
Add item to list {baseDir}/scripts/familywall.py lists add LIST_ID "Milk"
Add with quantity {baseDir}/scripts/familywall.py lists add LIST_ID "Eggs" --quantity "12"
Check item (purchased) {baseDir}/scripts/familywall.py lists check ITEM_ID
Uncheck item {baseDir}/scripts/familywall.py lists check ITEM_ID --uncheck
Create new list {baseDir}/scripts/familywall.py lists create "Groceries" --type SHOPPING
Create todo list {baseDir}/scripts/familywall.py lists create "Chores" --type TODO
Messaging
List threads {baseDir}/scripts/familywall.py messages threads
Read messages {baseDir}/scripts/familywall.py messages read THREAD_ID --limit 20
Send message {baseDir}/scripts/familywall.py messages send THREAD_ID "Hello family!"
Media
List media in thread {baseDir}/scripts/familywall.py media list THREAD_ID
Download by URL {baseDir}/scripts/familywall.py media download --url "PICTURE_URL" -o file.jpg
Download by media ID {baseDir}/scripts/familywall.py media download --media-id MEDIA_ID --thread-id THREAD_ID
Download all from thread {baseDir}/scripts/familywall.py media download-all THREAD_ID --output-dir ./media
Meal Planner
View meal plan {baseDir}/scripts/familywall.py meals list --days 7
Add meal to plan {baseDir}/scripts/familywall.py meals add "Tacos" --date 2026-05-15 --type DINNER
Recipes
Create recipe {baseDir}/scripts/familywall.py recipes create "Pasta" --ingredients "noodles\nsauce" --instructions "1. Boil\n2. Mix"
Import recipe from URL {baseDir}/scripts/familywall.py recipes from-url "https://example.com/recipe"
List recipe categories {baseDir}/scripts/familywall.py recipes categories
Location
Get member locations {baseDir}/scripts/familywall.py locations
Wall / Feed
Get family wall {baseDir}/scripts/familywall.py wall --limit 20

Common Workflows

Check upcoming family events

source ~/.openclaw/.env
{baseDir}/scripts/familywall.py events list --days 7

Add items to shopping list

source ~/.openclaw/.env
# First get the list ID
{baseDir}/scripts/familywall.py lists list
# Then add items
{baseDir}/scripts/familywall.py lists add "tasklist/12345_67890" "Milk"
{baseDir}/scripts/familywall.py lists add "tasklist/12345_67890" "Bread"
{baseDir}/scripts/familywall.py lists add "tasklist/12345_67890" "Eggs" --quantity "12"

Create a calendar event

source ~/.openclaw/.env
{baseDir}/scripts/familywall.py events create "Family Dinner" \
  --start "2026-05-15T18:00:00" \
  --end "2026-05-15T20:00:00" \
  --location "Home" \
  --description "Weekly family dinner"

Send a family message

source ~/.openclaw/.env
# Get thread list first
{baseDir}/scripts/familywall.py messages threads
# Send message to a thread
{baseDir}/scripts/familywall.py messages send "imthread/12345_67890" "Dinner is ready!"

Download media from messages

Messages can contain photos, audio, and other media files. The medias array in message responses includes pictureUrl for downloading.

source ~/.openclaw/.env
# List all media in a thread
{baseDir}/scripts/familywall.py media list "imThread/12345"

# Download a specific file by URL (from media list output)
{baseDir}/scripts/familywall.py media download --url "https://api.familywall.com/media/..." -o photo.jpg

# Download by media ID (looks up the URL automatically)
{baseDir}/scripts/familywall.py media download --media-id "media/12345_67890" --thread-id "imThread/12345"

# Download ALL media from a thread into a directory
{baseDir}/scripts/familywall.py media download-all "imThread/12345" --output-dir ./family_media

# Download media from a specific message only
{baseDir}/scripts/familywall.py media download-all "imThread/12345" --message-id "message/12345_67890" --output-dir ./media

Plan meals for the week

source ~/.openclaw/.env
# View current meal plan
{baseDir}/scripts/familywall.py meals list --days 7
# Add meals
{baseDir}/scripts/familywall.py meals add "Spaghetti" --date 2026-05-13 --type DINNER
{baseDir}/scripts/familywall.py meals add "Pancakes" --date 2026-05-14 --type BREAKFAST
{baseDir}/scripts/familywall.py meals add "Grilled Chicken" --date 2026-05-14 --type DINNER

Meal types: BREAKFAST, LUNCH, DINNER, SNACK

Create a recipe

source ~/.openclaw/.env
{baseDir}/scripts/familywall.py recipes create "Banana Smoothie" \
  --ingredients "2 bananas\n1 cup milk\n1 tbsp honey\nIce" \
  --instructions "1. Add all ingredients to blender\n2. Blend until smooth\n3. Serve immediately" \
  --prep-time 5 --serves 2 \
  --description "Quick healthy breakfast smoothie"

Import a recipe from a website

source ~/.openclaw/.env
{baseDir}/scripts/familywall.py recipes from-url "https://www.example.com/recipe/chocolate-cake"

Check family member locations

source ~/.openclaw/.env
{baseDir}/scripts/familywall.py locations

API Details

The FamilyWall API is at https://api.familywall.com/api. Authentication is session-based:

  1. Login via log2in endpoint with email/password
  2. Receive JSESSIONID cookie and tokenCsrf
  3. Include both on subsequent requests

Key API Endpoints

Category Endpoint Description
Auth log2in Login with email/password
Account accgetallfamily Get all family data
Family famlistfamily List user's families
Events evtlist List calendar events
Events evtcreate Create event
Events evtdelete Delete event
Lists tasklistlist List all task/shopping lists
Lists tasklistget Get list with items
Lists tasklistadd Add item to list
Lists tasklistcheck Check/uncheck item
Lists tasklistcreate Create new list
Messages imthreadlist List IM threads
Messages immessagelist2 Get messages from thread (includes media)
Messages imsend Send message
Media /media/... Download media files (GET with session auth)
Location loclist Get member locations
Wall walllist Get wall/feed posts
Meals mplistinterval List planned meals in range
Meals mpcreate Add dish to meal plan
Meals mpmealput Create/edit a meal
Recipes mprecipeput Create/edit a recipe
Recipes mprecipeputbyurl Create recipe from URL
Recipes mpcategorylist List recipe categories
Recipes mpadditemtolist Add meal ingredients to shopping list

Request Format

All requests are POST with application/x-www-form-urlencoded body. Parameters use prefix notation:

  • a00 prefix for first call parameters
  • a01call, a02call, etc. for batched calls
  • partnerScope=Family required on all calls

Response Format

Responses are JSON with structure:

{
  "a00": {
    "r": {"r": <result_data>},  // Success
    "ex": {"ex": {"message": "..."}},  // Error
    "cn": "endpoint_name"
  }
}

Media in Messages

Messages from immessagelist2 include a medias array. Each media object contains:

Field Description
mediaId Unique media identifier (e.g. media/12345_67890)
pictureUrl Direct download URL (requires session auth cookie)
mimeType MIME type (image/jpeg, audio/mp4, etc.)
name Original filename
datasize File size in bytes
resolutionX/Y Image dimensions (images only)
durationMs Duration in milliseconds (audio/video only)
readystate Processing state (READY = downloadable)

To download media, send an authenticated GET request to the pictureUrl with the JSESSIONID cookie and tokencsrf header.

Wall/feed posts may also contain media attachments with the same structure.

Error Handling

Common errors:

  • FizClassId 1: Account not found
  • FizClassId 4: Account identifier not validated
  • FizClassId 10: API key not found
  • FizClassId 26: Account blocked
  • FizClassId 502: Call not registered / missing parameter
  • FizClassId 503: Model does not exist
  • FizClassId 510: No family context (need to select family first)

Dependencies

  • Python 3.10+ (uses stdlib urllib if requests not available)
  • Optional: requests library for better HTTP handling

Full API Reference

The complete FamilyWall API reference (all endpoints, parameters, return types, and exceptions) is maintained on Confluence:

FamilyWall — API Reference