WW

wrenautomation/wren

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

0 stars 质量 57 趋势 20NOASSERTION

Wren自动化平台。一个TypeScript单托管:Restate上的持久自动化,Postgres通过Drizzle,仪表盘Next.js(后期)。规格:designs/2026-09-17-platform-spec.md。

概览

Wren自动化平台。一个TypeScript单托管:Restate上的持久自动化,Postgres通过Drizzle,仪表盘Next.js(后期)。规格:designs/2026-09-17-platform-spec.md。 这里新来:walkthrough/是引导路径(→设置内容循环→Meta广告→邮件活动→制作),并带有只读演示对生产环境。 草稿会跟随WREN_CONTENT_VOICE(你说的是一个markdown文件)、你在该平台上的最后一次重稿笔记及其迄今为止最好的帖子,并通过WREN_CONTENT_CHANNELS的渠道发送。本地的--media文件首先到达WREN_MEDIA_BUCKET(工作人员和盒子无法读取这台笔记本电脑);使用URL原样。设计:designs/2026-09-22-content-loop.md。 视频页脚是模板:长视频描述下的帖子:youtube/页脚,短视频下的帖子:youtube/shorts-footer,作品集标题下的帖子:instagram/reel-footer。使用Wren模板编辑时,会获得post:youtube/footer > f.post,然后wren模板设置post:youtube/footer f.post --为什么“...

概述(AI 翻译)

Wren 自动化平台。一个 TypeScript monorepo:在 Restate 上做持久自动化,通过 Drizzle Postgres,Next.js 中(后期)的仪表盘。规格:designs/2026-09-17-platform-spec.md。

新来的:walkthrough/ 是引导路径(设置内容循环→Meta广告→→ 电子邮件活动→生产)带有只读演示,针对生产环境。

快速开始

内容循环(每个平台)

草稿紧随WREN_CONTENT_VOICE(你说的是一个可降代码文件),你最后一次重稿笔记 在那个平台上以及迄今为止最好的帖子,并通过渠道发布 WREN_CONTENT_CHANNELS。一个本地的--media文件落在WREN_MEDIA_BUCKET 首先(工人和盒子无法读取这台笔记本电脑);使用原样的网址。设计:designs/2026-09-22-content-loop.md。

视频页脚是模板:post:youtube/footer 在一段长视频描述下, post:youtube/shorts-footer在短片标题下,post:instagram/reel-footer在Reel的标题下。 用 wren templates get post:youtube/footer > f.post 编辑,然后设置 ‘wren 模板 set’ 帖子:YouTube/页脚 f.post --为什么“…” —期待 —发布“,或者在库中,模板。一个新的 版本等待批准。默认值:packages/templates/defaults/post/。

元广告

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

wren

Wren Automation platform. One TypeScript monorepo: durable automations on Restate, Postgres via Drizzle, dashboard in Next.js (later). Spec: designs/2026-09-17-platform-spec.md.

New here: walkthrough/ is the guided path (setup → content loop → Meta ads → email campaign → production) with read-only demos against prod.

Quick start

cp .env.example .env
pnpm install
docker compose up -d          # Postgres :5434, Restate ingress :8080 admin :9070
pnpm db:migrate
pnpm worker                   # Restate endpoint on :9080 (keep running)
pnpm register                 # tell Restate where the worker is (once per worker restart)
ln -s "$PWD/bin/wren" ~/.local/bin/wren   # the CLI, compiled on first run and after every source change
wren status

Content loop (every platform)

wren status                         # drafts, open ideas, spend; exit 1 on Thursday+ with nothing drafted this week
echo "shipped the spend gate today. every buy asks me first." | wren content add
wren content add idea.md --media short.mp4 --title "Spend gate"   # a short: YouTube, Reels, TikTok, X, LinkedIn captions
wren content drafts                 # one row per platform, status draft
wren content show 
wren content redraft  "shorter, keep the discord line"   # the model rewrites from your note
wren content edit  fixed.md
wren content approve ...   # each posts at its platform's next slot (LinkedIn 08:30 + 12:30 weekdays, X noon, IG 18:00 … on WREN_SEND_TIMEZONE)
wren content approve  --at 2026-09-23T14:00:00Z
wren content approve  --now  # on the queue's next pass
wren content queue start            # ContentScheduler/default: posts approved drafts as they come due
wren content metrics start          # ContentMetrics/default: one look per young post per day; Monday = what-worked to the channel
wren content planner start --draft  # ContentPlanner/default, 17:00: drafts tomorrow's open slots (ideas, build log, a reader's question); approve keeps the slot
wren content planner slots linkedin 08:30 --days 1-5  # one platform's post times (1 = Monday); keeps the rest, starts the planner
wren content results --days 7       # published posts, engagement per 100 views, best first
wren content costs --days 30        # drafting calls and tokens by platform and model

Drafts follow WREN_CONTENT_VOICE (a markdown file in your words), your last redraft notes on that platform and its best posts so far, and go out through the channels in WREN_CONTENT_CHANNELS. A local --media file lands in WREN_MEDIA_BUCKET first (the worker and the box cannot read this laptop); a URL is used as is. Design: designs/2026-09-22-content-loop.md.

Video footers are templates: post:youtube/footer under a long video’s description, post:youtube/shorts-footer under a Short’s, post:instagram/reel-footer under a Reel’s caption.

在 GitHub 查看完整 README

推荐工具

换一个关键词,或者移除筛选条件。

安装

npx skillfish add wrenautomation/wren
新手?先看 mcpskill.org 教程 →