即刻App年轻人的同好社区
下载
App内打开
Kostja
392关注5k被关注9夸夸
🤖 AI/产品/出海/运营
💼 在即刻发工作相关
🏫 🇷🇺本🇩🇪硕
个人博客alignify.co/zh分享增长
置顶
Kostja
17天前
OpenBlog:用对话管博客的 Git CMS

1️⃣我做了 OpenBlog——一个开源的博客 CMS 模块,面向「已有产品官网、想加一块 /blog」的团队。它不提供 AI 写稿,也不做 SEO 文章生成;它交付的是博客该有的基础设施:列表页与文章页路由、分类归档、RSS、sitemap、robots、canonical、JSON-LD,以及让 Coding Agent 按合约维护 Markdown 文件的 Skills 与校验规则。内容以 Git 为仓库,Agent 为管理员,人审 diff、合并即上线。

2️⃣这个项目不是在给自己搭官网时想到的,而是在服务客户产品官网的过程中逐渐成型的。我反复碰到三类结构性问题:接现有 CMS 链路太长,往往要前端深度配合,而博客早期并不需要那么重的工程投入,增长同学理应能独立负责内容和发布;可视化编辑台即便接了 MCP,操作路径依然冗长,谈不上 AI native;以及从改内容到真正上线之间总有摩擦——OpenBlog 把这条链路压到秒级对话修改、合并即发布,并支持批量处理人工几乎不可能完成的任务,比如按锚文本规则优化全文上下文内链。

3️⃣构建上,我把整个系统拆成四层,每层独立配置、独立替换。最上层是前端适配层,目前以 Next.js 静态输出为默认实现,负责把博客模块渲染成可部署的页面,也预留了 Astro 等其他框架的扩展空间,前端选型不影响内容与主题。第二层是设计主题层,内置六套设计轴预设——分别对应 OpenAI 的 monochrome、Vercel 的 developer prose、Linear 的 dark precision 等气质——以及 product、minimal、editorial 等中性预设;你可以直接在 openblog.config.ts 里指定 preset,也可以把任意一个你想复刻风格的博客 URL 丢给 theme:infer,系统会从该页面推断最接近的预设并生成 design token,再 sync 成 CSS 变量供全站组件引用。这意味着风格来源不限于你的现有产品站,Cursor Blog、Linear Now、Anthropic 的 editorial 气质,都可以作为参考锚点。第三层是组件层,即 Blog Chrome:文章页的目录、分享栏、相关文章、作者框、面包屑,列表页的 PostCard、分页、分类归档,以及不可见的 OG 与结构化数据标记——每一项都可以在 config 里按需开关,做长文博客或极简博客只改配置、不动架构。最底层是 CMS 层,默认是 Git 加 Markdown 加 YAML frontmatter,CI 校验 slug、description 长度、内链格式;如果团队已有内容栈,也可以接入无头 CMS 或数据库,OpenBlog 不绑定某一种存储方案。四层之间通过 openblog.config.ts 统一编排,改主题不动组件逻辑,换组件不影响内容文件,换前端适配层也不碰 design token。

4️⃣从产品博客的常见构建路径看,OpenBlog 覆盖两类主场景:把博客挂到已有产品站的 /blog 子路径下,对齐导航、Logo 和 chrome,让它看起来就是官网的一部分;以及从零 scaffold 一个本地 demo,跑通后再决定是否接入正式站点。跟 WordPress 这类整站 CMS 不同,OpenBlog 只管博客模块,不碰你的首页、定价和文档;跟 Contentful、Sanity 等无头 CMS 不同,它自带完整的前端渲染和 Blog Chrome,不需要你从零搭 Layout;跟 Tina、Decap 等 Git CMS 可视化后台不同,它没有 Dashboard,维护入口是对话加 PR,Agent 读 AGENTS.md 合约直接改文件;跟纯 Skills 自建相比,它把路由、SEO、主题、组件、校验全部打包成可复用的模块层,而不是每次从空白仓库重新拼装。它的定位很明确:不是写作平台,不是整站 CMS,而是产品站上那块可挂载、可 Agent 维护的博客基础设施。

5️⃣接入方式文档已经写得很完整,这里只说路径选择。已有产品站,走 INTEGRATION:把产品 URL 交给 integrate 脚本提取 logo 与品牌元数据,在 chrome 层对齐导航和 footer,选 subdirectory、monorepo 或 subdomain 部署模式即可。想先试,npx create-openblog 本地跑 demo,或 npx skills add kostja94/openblog 在 Cursor / Claude 里直接调用。具体步骤见仓库里的 INTEGRATION.md 和 AGENTS.md。

6️⃣最后说一点我对这个品类的判断。Blog 是典型的「内容非标、结构标准」——每篇文章论点、叙事、篇幅都不相同,但列表页怎么排、文章页有哪些 Zone、SEO 字段怎么填、RSS 怎么出,这些结构高度可复用。这跟很多营销页相反:Landing 往往是一套模板、内容可以 scale,但页面结构各自非标。正因为结构标准、内容非标,OpenBlog 先把博客模块这一层做深做透;如果后续有时间维护,它有可能演进成更通用的 CMS 框架。

7️⃣Customization 程度很高——四层每层都可以 fork、替换、扩展——这也是我把它做成 MIT 开源的原因:博客模块应该是团队自己的资产,而不是绑在某个 SaaS 或平台里的租约。

GitHub:github.com

GitHub - kostja94/openblog: Agent-native, Git-based blog CMS module for product sites. Mount /blog on your marketing site — Markdown in Git, Next.js, theme presets, sitemap/RSS/JSON-LD, and Agent Skills for Cursor & Claude.

00
Kostja
28天前
我以后一定养成随时备份的好习惯!!!
00
Kostja
2月前
谢谢课代表总结!还原度90%;本次PPT和两个skills制作,小产品上线只用了四十分钟,均来自过往的经历和实际需求所以开发起来很快(用IDE做的那个相同产品修bug反而花了一个多小时)

陈今: 听完 @Kostja在Linkloud的分享后,学到了在线下分享场景中,如何让一次pitch价值最大化,接入持续生长的个人/商业系统。 整体流程可以概括为: 为活动选择一个真实问题 → 提前开发可现场运行的工具 → 用自己的域名承接工具与材料 → 线下讲解方法 → 调用观众的真实项目现场运行 → 人工解释报告,综合积累复杂理解 → 用答疑获得新的问题与案例 → 将全部过程整理为公开上下文 → 反过来改进下一版工具、内容和 pitch 1️⃣他在开场中提到了两个习惯: 第一,把 PPT 放在自己的域名和网站下面。这样,每参加一次活动,都会给自己的网站带来一些流量;分享过程中形成的内容,也会逐渐成为个人内容上下文的一部分。 第二,每次参加线下活动,都会做一些新的东西。这次他准备了网站诊断工具、技术栈识别 Skill 和网站视觉改造 Skill;此前也已经在 GitHub 上开源过一套 SEO 相关的 Skill。 这两个习惯组合起来后,一场分享就不再只有 PPT。 2️⃣从日常工作里提取 Demo Kostja 平时为客户做网站诊断,通常会先进行一次约 40 分钟的沟通,再输出七八份诊断文档。 为了这次活动,他把这套原本依赖人工完成的流程封装成了线上工具,可以生成八类报告。工具会抓取网站的 Sitemap、导航和主要页面,提取产品定位、功能词、关键词、使用场景和潜在竞品,再通过竞品网站继续扩展关键词。 所以,这个 Demo 并不是为演讲临时设计的展示项目。它来自真实服务中反复出现的工作,只是借助活动这个时间节点,被推进到了可以公开使用和演示的状态。 3️⃣工具的开发过程本身也是分享内容 Kostja 为同一套诊断准备了两个版本。 一个版本使用 AI coding 工具从零开发;另一个使用 vibe coding 产品搭建。他在现场直接说明,前一个版本大概率跑不通,后一个版本相对稳定。对于非技术开发者,使用 vibe coding 产品完成一个可访问的线上版本,通常比从 IDE 和代码层面开始更简单。 这让 Demo 不只是能力展示,也包含了对工具边界的说明。 4️⃣线上工具用于展示,本地 Skill 用于实际工作 Kostja 提到,这两个线上工具主要是为了本次线下活动制作的。在日常客户项目中,他更常使用本地 Skill。 原因是:将一个内部工作流封装为公共产品,需要额外处理前端交互、测试、异常、部署、并发和维护。对于本人或少量客户使用的任务,本地运行往往更快,也更方便持续修改。 因此,他在活动中的安排是: * 参与者可以直接尝试线上工具; * 如果线上工具并发不足,可以到现场找他; * 他会在自己的电脑上本地运行一份报告。 线上版本承担分发和展示,本地 Skill 承担效率和灵活性。两者服务于不同目的,并不需要强行合并成一个完整 SaaS。 5️⃣现场报告卡住后,Pitch 仍然可以继续 进入真实项目诊断时,提前运行的网站报告出现了卡顿。 Kostja 将报告放到一边,直接询问项目的 ICP、用户角色、商家类型和使用平台,再回到网站检查这些信息是否真正被呈现出来。 后续的关键判断,例如网站缺少 use case 页面、客户案例位置过深、团队资源库并非用户最想看到的内容,都来自工具结果、现场提问、网站观察和人工判断的组合。 现场工具的作用是帮助演讲者更快进入一个陌生业务,并提供共同讨论的材料。工具没有代替现场分析,也没有决定最终结论。 一场稳定的 pitch,不能完全依赖 Demo 是否成功。工具出现问题时,演讲者仍然需要依靠自己的方法和专业判断继续完成分析。 6️⃣我的想法补充 基于这次完整记录,我会将 Kostja 的方式概括为: > 从日常客户工作中找到重复任务,借助线下活动将其封装成可展示工具;把 PPT 和分享内容放在自己的域名下;现场解释工具背后的分析逻辑;最后让真实项目进入流程,由工具、业务信息和人工判断共同完成诊断。 其中最值得学习的,是活动与长期工作的连续性。 活动前开发的工具,来自过去的客户经验;现场遇到的问题,又会影响下一版工具;PPT 和分享内容则继续沉淀到自己的域名。每一次 pitch 都在已有工作之上增加新的资产。 我觉得 Kostja 这套做法还可以再往前走一步:一次线下业务分享,本质上可以直接变成一次产品发布。 比如说我在活动现场,看了案例诊断后就用https://alignify.co/audit-website-by-lovable 立马跑了insforge的分析报告,那么 过去: 线下 pitch → 展示工具 → 提供免费试用 → 活动后有人来咨询 可以升级为: 线下 pitch → 观众立即输入自己的项目 → 免费看到个人化发现 → 现场理解报告 → 支付解锁完整结果或人工复核 → 进入后续服务 观众先听案例诊断,再现场输入自己的项目,用工具即时获得一份个性化结果;在刚刚建立起的方法理解和活动氛围中,更容易迅速达到 aha moment,并进一步转化为完整报告、人工复核或后续服务的付费。 Kostja 提到,将内部工作流封装成公共产品,需要额外处理前端交互、部署、支付、数据存储、监控和并发等问题,而这正是 InsForge 可以显著降低复杂度的地方:用 Codex + InsForge,可以在较短时间内把本地 Skill 做成具备用户系统、报告留存、支付和数据分析能力的可收费产品。这样,商业化不必等到工具足够成熟,从第一次 pitch 开始,就可以同步验证产品价值和真实付费意愿。

00
Kostja
3月前
增长vendor朋友之一🙋,多亏Iris才没让我一天到晚找客户

生姜iris: 大厂离职做OPC的第一年 收入报告来了:年入约80w(RMB) 没达到年入百万的目标,但是至少超过了当年在大厂的薪资 当时拿到的字节offer是:职级3-1 月薪4.15w(RMB)含期权10% 年包约68.75w 想当年决定从大厂离职之前万分纠结,感觉自己两年似乎放弃了140w 而今过去整整一年,回望岁月,觉得当下还算不错 以下是这一年的收入结构: (1)和AGI Villa @Monica出海说 合作开展的两期线下出海工作坊,收入约3W RMB (2) 和@泛函 老师合作制作的小报童课程「出海增长系统课」,目前售出373份,刨掉合作分佣,个人收入约4W RMB (3)很开心有3-4个项目和我推荐的FA一起拿到了融资,FA朋友给我的分成约4.5W RMB (4)各路好朋友做的增长vendor分我的推荐金应该也有几万RMB 余下收入皆来自企业咨询/顾问陪跑/单次咨询等。 这一年各平台粉丝虽然没有大爆,但是也维持了匀速增长: 视频号约2000+ 小红书接近2000 中文推特最近刚刚破2000 即刻约7000+ 同时还完成了三个站点的探索: Gingiris主页:Gingiris.com Skills合集:https://gingiris.tools/skills/ https://www.analook.com/ (竞品分析工具) 做OPC和运营一家公司相比 还是有很多不同之处 但是也十分有意思 从大厂离职的第一年,虽然收入和不少朋友还是略有差距 但是和自己比,还是表示满意 人还是要多和自己比,才能看到自己的进步和成长🌱🌱

11
Kostja
3月前
自己是Lovable的重度用户,还有一个国内大厂Vibe Coding产品的客户

结果今晚看了一个潜在意向客户的网站之后又学到新东西了

网站的最小内容/构建单位不是页面而是_ _
所以这些产品能做的页面不仅包括AI Website Builder也包括AI _ _ _ _ _ _ _ _ _ _ Generator

猜猜这些可复用的积木是什么
51
Kostja
3月前
每天Linkedin和邮箱都会收到很多想加链接和内容的外联,问了下基本都是从LLM/Agent过来的(看来大家都很重视GEO),这时候要是再反向推销SEO服务是不是成功率特别高

潜台词是:你怎么找到我的,你的客户就能怎么找到你
00
Kostja
3月前
优惠码【Kostja】,下个月见朋友们🫡
10