ShapelessAI
ShapelessAI помогает вести присутствие в социальных сетях: готовит, планирует и
публикует контент на подключённых платформах, хранит Brand Memory и поддерживает работу постоянных
агентов, пока вы спите.
Этот репозиторий — публичная площадка для интерфейса агентов: CLI shapeless, MCP-сервера, плагина
Claude Code и трекера задач. Ваш агент или скрипт управляет аккаунтом ShapelessAI: создаёт и планирует
публикации, запускает задачи и возобновляет остановившиеся, утверждает и публикует материалы, редактирует
Brand Memory и управляет постоянными агентами.
Документация доступна на shapelessai.com/docs: здесь описаны маршруты,
права доступа, ограничения платформ и коды отказа — отдельная страница для каждой темы. Каждая страница
также доступна в формате обычного Markdown: добавьте .md к адресу (https://shapelessai.com/docs/posts.md)
или отправьте заголовок Accept: text/markdown. Если агенту нужно получить всю документацию за один запрос,
ему следует обратиться к shapelessai.com/llms-full.txt.
Установка
npx shapelessai --help # one-off
npm i -g shapelessai # keeps `shapeless` on your PATH
Требуется Node версии 20 или новее.
Аутентификация
Создайте ключ в студии: Settings -> API keys (/studio/api-keys). Выдавайте только те права доступа,
которые необходимы вызывающей стороне: read, write или publish. Публиковать контент позволяет только
publish.
shapeless login # paste the key; we verify it and store it 0600
export SHAPELESS_API_KEY=slk_... # or: env var, beats the stored key
Настройки хранятся в ~/.config/shapeless/config.json. Переменная SHAPELESS_BASE_URL
позволяет задать адрес API (по умолчанию https://shapelessai.com). Команда shapeless logout
удаляет локальную копию ключа; чтобы отозвать сам ключ, сделайте это в студии.
Для вывода необработанного ответа API к любой команде можно добавить --json. Также доступен параметр --help.
Публикация
Создайте публикацию и добавьте её в очередь — на текущий момент, на заданное время или на ближайший свободный
интервал в аккаунте. Требуется право publish.
--text "Shipping day." # now
shapeless posts create --to --text "..." --at 2026-09-21T09:00:00+03:00 # at a time
shapeless posts create --to --text "..." --queue # next free slot
shapeless posts create --to --text "..." --media k1,k2
--first-comment "Link: https://..." # LinkedIn, X, Bluesky
shapeless posts create --to --text "..." --media
--title "The video title" --settings '{"privacyStatus":"unlisted"}'">
shapeless connections # the accounts and their ids
shapeless platforms # limits, media rules, settings schema (no key needed)
shapeless posts create --to <connectionId> --text "Shipping day." # now
shapeless posts create --to <connectionId> --text "..." --at 2026-09-21T09:00:00+03:00 # at a time
shapeless posts create --to <connectionId> --text "..." --queue # next free slot
shapeless posts create --to <connectionId> --text "..." --media k1,k2 \
--first-comment "Link: https://..." # LinkedIn, X, Bluesky
shapeless posts create --to <youtubeConnectionId> --text "..." --media <clip.mp4 key> \
--title "The video title" --settings '{"privacyStatus":"unlisted"}'
Инструмент MCP называется posts_create и принимает те же аргументы: connectionId, text, mediaKeys,
title, scheduledAt или queue: true, settings, firstComment. Сначала вызовите platforms_list,
чтобы узнать ограничения платформы и её settingsSchema.
Бесплатный тариф: десять публикаций в день в очереди. Лимит рассчитывается по дате UTC, в которую выходит
каждая публикация: если запланировать неделю вперёд, можно опубликовать по десять материалов в день, а не десять
за всю неделю. При попытке разместить одиннадцатую публикацию возвращается
402 {code: "free_daily_cap", limit, day, resetsAt} с указанием даты, на которую исчерпан лимит. За каждую
публикацию в X взимается плата, поэтому в бесплатном тарифе разрешена одна публикация в X в день и без ссылок
(402 free_x_daily_cap, free_x_link). Тариф Scheduler за $9 снимает дневной лимит и включает 150 публикаций
в X в месяц; у тарифов для агентов ограничений нет. Создание, планирование и публикация не расходуют кредиты.
В бесплатный тариф также включено 125 кредитов в месяц для команды агентов. Подробнее:
Задачи: выполнение с сохранением состояния
Задача — это процесс, который сервер продолжает выполнять, даже если вы отключились. Такой формат подходит
для агентов и задач cron.
the next page back
shapeless jobs show # transcript summary + outputs shapeless jobs tail # re-attach to the live stream
Put files on the message - the agent sees the image, not just its name
shapeless jobs create does this thumbnail work? --attach ./thumb.png --attach ./notes.md shapeless jobs continue and this one --media-key workspace-assets//logo.png
Resume a stuck or failed run - history is rebuilt server-side
shapeless jobs continue keep going, but make the second post shorter --watch
shapeless jobs stop ">
# Fire and forget
shapeless jobs create draft three posts about our beta launch
# Watch it live (tails the event stream, falls back to polling)
shapeless jobs create plan this week --label "Weekly plan" --budget 2.50 --watch
# Come back later
shapeless jobs list # 200 newest; prints a cursor if older jobs exist
shapeless jobs list --before <cursor> # the next page back
shapeless jobs show <id> # transcript summary + outputs
shapeless jobs tail <id> # re-attach to the live stream
# Put files on the message - the agent sees the image, not just its name
shapeless jobs create does this thumbnail work? --attach ./thumb.png --attach ./notes.md
shapeless jobs continue <id> and this one --media-key workspace-assets/<account>/logo.png
# Resume a stuck or failed run - history is rebuilt server-side
shapeless jobs continue <id> keep going, but make the second post shorter --watch
shapeless jobs stop <id>
Публикации: очередь
shapeless posts approve # proposed -> scheduled [publish] shapeless posts dismiss shapeless posts publish # out, now [publish] shapeless posts mark-posted --url https://...">
shapeless posts list --status proposed
shapeless posts show <id>
shapeless posts approve <id> <id> <id> # proposed -> scheduled [publish]
shapeless posts dismiss <id>
shapeless posts publish <id> # out, now [publish]
shapeless posts mark-posted <id> --url https://...
Агенты, Brand Memory и ресурсы
--status paused # or: shapeless agents pause shapeless agents wake # run it now [publish]
shapeless brain ls shapeless brain get positioning.md shapeless brain put voice.md --file ./voice.md # or pipe on stdin shapeless brain import ./pitch-deck.pdf shapeless brain export --out brain.zip
shapeless assets list shapeless assets upload ./logo.png shapeless connections">
shapeless agents list
shapeless agents create --name "Daily reach" --prompt "..." --days mon,thu --hours 9
shapeless agents edit <id> --status paused # or: shapeless agents pause <id>
shapeless agents wake <id> # run it now [publish]
shapeless brain ls
shapeless brain get positioning.md
shapeless brain put voice.md --file ./voice.md # or pipe on stdin
shapeless brain import ./pitch-deck.pdf
shapeless brain export --out brain.zip
shapeless assets list
shapeless assets upload ./logo.png
shapeless connections
MCP-сервер
Размещённый сервер доступен по адресу https://shapelessai.com/mcp. Добавьте этот URL в любой клиент с поддержкой
удалённого MCP: Claude (Settings -> Connectors -> Add custom connector), ChatGPT (Developer mode),
Claude Code, Cursor, Codex, VS Code или Gemini CLI. Откроется вкладка ShapelessAI, где можно войти в систему
и подтвердить подключение. Используется OAuth, ключ не нужен. Инструкции для каждого клиента, составленные
поставщиками, доступны на странице shapelessai.com/connect.
Клиенты, которые не могут открыть браузер (Agent SDK, задача CI или самостоятельно размещённый агент), могут
пропустить OAuth: передайте API key из Settings -> API keys в заголовке Authorization: Bearer slk_...,
используя тот же URL. Подойдёт любой MCP-клиент, который поддерживает заголовки; доступ определяется областью
действия ключа.
curl -s https://shapelessai.com/mcp -H "Authorization: Bearer $SHAPELESS_API_KEY" \
-H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Аутентификация codex mcp add shapeless --url https://shapelessai.com/mcp && codex mcp login shapeless gemini mcp add --transport http shapeless https://shapelessai.com/mcp">
claude mcp add --transport http --scope user shapeless https://shapelessai.com/mcp # then /mcp -> Authenticate
codex mcp add shapeless --url https://shapelessai.com/mcp && codex mcp login shapeless
gemini mcp add --transport http shapeless https://shapelessai.com/mcp
Те же инструменты (posts_create, jobs_create, posts_approve, brain_write и другие) доступны и при локальном запуске:
shapeless mcp использует MCP через stdio и API key, сохранённый командой shapeless login. Кроме того, он предоставляет
инструменты для работы с файлами на диске: assets_upload, brain_import и files для сообщения в задаче. У каждого инструмента
есть название и аннотации: инструменты только для чтения запускаются без ограничений, а действия, которые публикуют данные,
тратят средства или перезаписывают информацию, помечены как разрушительные — перед их выполнением клиент запрашивает подтверждение.
В описании каждого инструмента указана необходимая область доступа.
Помимо инструментов для работы с учётной записью, MCP включает каждый инструмент, доступный собственному агенту нашей студии: всего 32,
включая generate_image, generate_footage, edit_footage, render_carousel, speak,
caption_file, web_search, x_pulse и другие. В результате работы каждый инструмент возвращает созданные файлы в виде media keys,
которые можно опубликовать с помощью posts_create. Таблица стоимости доступна на странице
shapelessai.com/docs/mcp; актуальные данные можно получить с помощью tools_list.
Задача — это переписка, поэтому работа может продолжаться как в терминале, так и в веб-приложении:
-
В каждом результате задачи есть
url—https://shapelessai.com/studio/c/,поэтому агент может отправить пользователю ссылку на результат своей работы.
-
jobs_brief— компактный способ получить данные перед ответом: последние 30 сообщенийс ограничением длины, без рассуждений и активности инструментов, перечень артефактов и
количество публикаций в каждой очереди по статусам. Результат детерминированный, модель не используется.
jobs_getпо-прежнему возвращает полную переписку. -
jobs_listвозвращает до 200 задач за раз, начиная с самых новых, и полеnextCursor;передайте его как
before, чтобы просмотреть более раннюю историю. -
jobs_tailотслеживает выполнение задачи (не более 60 секунд и 200 событий)и возвращает события вместе с курсором для продолжения отслеживания. Если у задачи нет потока
выполнения, инструмент вернёт
{live: false}, а не сообщение об ошибке. -
jobs_createиjobs_continueпринимают файлы:files(абсолютные локальные пути —файлы
.mdи.txtпередаются напрямую, изображения, видео, аудио и PDF загружаются)и
mediaKeys(файлы, уже имеющиеся в учётной записи, например результат работыassets_upload). К одному сообщению можно прикрепить до 6 файлов. Они появятся в сообщении,которое пользователь видит в студии, и агент действительно обработает их: пиксели изображения
передаются в контекст текущего хода, а не только его имя файла.
Есть один prompt — continue (аргумент: id), который Claude Code отображает как slash-команду:
он загружает краткую информацию о переписке и предлагает агенту ответить в той же ветке с помощью jobs_continue.
Запуск stdio-сервера вместо размещённого сервера — Claude Code:
claude mcp add shapeless -e SHAPELESS_API_KEY=slk_... -- npx shapelessai mcp
Claude Desktop (claude_desktop_config.json) и другие клиенты, поддерживающие только stdio:
{
"mcpServers": {
"shapeless": {
"command": "npx",
"args": ["shapelessai", "mcp"],
"env": { "SHAPELESS_API_KEY": "slk_..." }
}
}
}
Если переменная окружения не задана, сервер использует ключ, сохранённый командой shapeless login.
Плагины Agent Plugins (Cursor, Kiro, Copilot, Codex) и Gemini CLI
plugins/shapeless — это также пакет Agent Plugins 1.0 (plugin.json,
mcp.json, skills/). Любой клиент, который поддерживает этот формат, установит размещённый MCP-сервер и
skill из этого репозитория. Gemini CLI считывает файл gemini-extension.json в корне репозитория:
gemini extensions install https://github.com/FirstClassTree/shapelessai
Плагин Claude Code
Этот репозиторий также служит каталогом плагинов. Плагин shapeless подключает размещённый MCP-сервер и
содержит skill, который знакомит Claude с основными принципами работы: областями доступа, очередью публикаций и правилами работы с Brand Memory:
/plugin marketplace add FirstClassTree/shapelessai
/plugin install shapeless@shapeless
Затем выполните /mcp, выберите shapeless и нажмите Authenticate — в браузере откроется страница для входа.
Где ещё представлен ShapelessAI
Тот же сервер и skill можно установить из реестра, который уже использует ваш клиент:
- MCP: Официальный реестр MCP (
com.shapelessai/shapeless),
- Приложения, плагины и skills: ChatGPT,
- Пакеты: Docker Hub,
Snap,
npm (инструменты AI SDK: shapelessai-ai-sdk),
- Платформы для рабочих процессов и API-хабы: Dify Marketplace,
-
Документация для агентов программирования: Context7
-
Каталоги продуктов: Twelve Tools,
API
Всё описанное выше работает по единому документированному контракту:
shapelessai.com/docs/api — все маршруты, необходимые для них области доступа,
ограничения частоты запросов и операции, которые намеренно не принимают API key. Машиночитаемая версия доступна по адресу
| Страница | Что на ней описано |
|---|---|
| /docs | Начните отсюда: ключ, URL MCP, CLI и три основных действия |
| /docs/posts | Создание публикаций, планирование, очередь, медиафайлы, первый комментарий и все причины отказа |
| /docs/platforms | Ограничения и правила для каждой платформы; актуальные данные из GET /api/platforms |
| /docs/api | Все маршруты, доступные по ключу, и необходимые области доступа |
| /docs/cli | Команда shapeless |
| /docs/mcp | Размещённый MCP-сервер и его инструменты |
| /docs/jobs | Долговременные запуски |
| /docs/brand-memory | Долговременная база знаний учётной записи |
| /docs/auth | Ключи, области доступа, OAuth и ограничения частоты запросов |
Поддержка и конфиденциальность
- Поддержка: hello@shapelessai.com или создайте issue.
CLI разрабатывается в соответствии с описанным выше контрактом и выпускается в этом репозитории.
-
Политика конфиденциальности: shapelessai.com/privacy
-
Условия использования: shapelessai.com/terms