关于 Flowershow
Flowershow 是一个开源发布平台,可将 Markdown 文件发布为网站,适用于管理文档、知识库等内容的人士。其 `fl` 命令行工具也可让 AI Agent 从会话中发布文件或文件夹。
主要功能
- 01将 Markdown 发布为网站
- 02使用 `fl` 命令行工具发布
- 03通过拖放发布
- 04从 Obsidian 或 GitHub 发布
- 05开源平台
适用场景
- 01发布 AI 会话中的笔记
- 02将文档制作为网站
- 03发布 Obsidian 库中的内容
MCP 相关
Flowershow 被列为 MCP 服务,但所提供的 README 未说明其 MCP 接口或向客户端开放的能力。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://flowershow.app/api/mcpclaude mcp add --transport http app-flowershow-flowershow https://flowershow.app/api/mcp{"mcpServers":{"app-flowershow-flowershow":{"type":"http","url":"https://flowershow.app/api/mcp"}}}在 Cursor 中打开{"servers":{"app-flowershow-flowershow":{"type":"http","url":"https://flowershow.app/api/mcp"}}}在 VS Code 中打开{"mcpServers":{"app-flowershow-flowershow":{"type":"http","url":"https://flowershow.app/api/mcp"}}}{"mcpServers":{"app-flowershow-flowershow":{"serverUrl":"https://flowershow.app/api/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Flowershow 💐
快速轻松地发布 Markdown——用于文档、知识库、网站等
立即试用并注册:https://flowershow.app/
想看看实际效果吗?🎉 https://flowershow.app 本身就是使用 Flowershow 💐 构建并发布的。
- 📝 文档:https://flowershow.app/docs
- 🤖 面向 AI:https://flowershow.app/cli
- 💎 面向 Obsidian:https://flowershow.app/uses/obsidian
Flowershow 为开源项目而自豪。
Flowershow 是 Datopian 的产品,致力于让所有人都能发挥数据与知识的力量。
发布
只需登录网站,即可通过拖放操作,在几秒钟内发布内容;也可以通过 Obsidian(插件)、Github 等方式发布。
命令行(面向 AI)
CLI 是一个名为 fl 的单一二进制文件。
# Install (macOS / Linux)
curl -fsSL https://raw.githubusercontent.com/flowershow/flowershow/main/apps/cli/install.sh | sh
# Log in and publish a folder or file
fl login
fl ./my-notes
Windows:从最新版本下载 fl_windows_amd64.zip,并将 fl.exe 放入 PATH。完整详情请参阅:CLI 参考。
正在使用 AI Agent(Claude、ChatGPT、Codex、Cursor)?请参阅 https://flowershow.app/publish-with-ai。
面向开发者(为 Flowershow 本身做贡献)
使用 Flowershow 无需了解以下内容。 如需安装和发布,请参阅上文的安装和发布。本节仅适用于从源代码开发 Flowershow 平台的人员。
Monorepo 结构
这是一个使用 pnpm 工作区管理的 Turborepo monorepo。
apps/
flowershow/ # Next.js web application (flowershow.app)
cli/ # Go CLI (`fl`) — publish markdown files from the terminal or AI agents
packages/
api-contract/ # @flowershow/api-contract — Zod schemas, TS types, OpenAPI 3.1 spec
cloudflare-worker/ # Markdown processing Cloudflare worker
remark-wiki-link/ # @flowershow/remark-wiki-link — remark plugin for wiki-style links
content/
flowershow-app/ # Marketing site content (Obsidian vault, not a workspace package)
开发环境设置
前置条件(仅用于平台开发): Node.js 22+、pnpm 和 Docker。
# Clone (include the e2e test-site submodule)
git clone --recurse-submodules https://github.com/flowershow/flowershow.git
cd flowershow
# Install dependencies
pnpm install
# Copy env template (then edit apps/flowershow/.env with your secrets)
cp apps/flowershow/.env.example apps/flowershow/.env
# Start everything: Postgres, MinIO, Inngest, Cloudflare Worker, Next.js app
pnpm dev
运行后,访问 http://cloud.localhost:3000。
如果克隆时没有使用
--recurse-submodules,请运行git submodule update --init以获取端到端测试站点。
命令
pnpm dev --stripe # Also start Stripe webhook forwarding
pnpm dev --github # Also start Smee (GitHub webhook proxy)
pnpm dev --search # Also start Typesense
pnpm dev:all # Start everything including all optional services
pnpm dev:local # Start dev servers only (no Docker infrastructure)
pnpm dev:local:all # Start dev servers only + all optional services
pnpm dev:down # Stop Docker containers (keep data)
pnpm dev:nuke # Stop containers + delete all data volumes
pnpm build # Build all packages
pnpm test # Run tests across all packages
pnpm lint # Lint all packages (ESLint for app, Biome for packages)
pnpm format # Check formatting (Biome)
pnpm format:write # Auto-fix formatting
有关 Web 应用设置(数据库、存储、身份验证等),请参阅 apps/flowershow/README.md。
工具链
| 工具 | 范围 | 用途 |
|---|---|---|
| Biome | 整个仓库 | 为 packages/ 格式化(单引号、2 空格缩进)和代码检查 |
| ESLint | apps/flowershow | 通过 eslint-config-next 执行 Next.js 专属代码检查 |
| Vitest | packages/remark-wiki-link | 单元测试 |
| Playwright | apps/flowershow | 端到端测试 |
| Turborepo | 根目录 | 任务编排与缓存 |
| Changesets | packages/ | 版本管理和 npm 发布 |
| Husky | 根目录 | Git 钩子(提交前会运行 lint-staged) |
每次提交前,提交钩子都会通过 lint-staged 自动格式化暂存文件。
发布软件包
pnpm changeset # Create a changeset describing your change
pnpm version-packages # Bump versions based on changesets
pnpm release # Build all packages and publish to npm
文档
- Web 应用:
apps/flowershow/README.md— 架构、本地开发环境设置、环境配置、测试和故障排除 - REST API 契约:
packages/api-contract/README.md— Flowershow REST API 的 Zod 架构、TypeScript 类型和 OpenAPI 3.1 规范。该契约是 API 接口的唯一事实来源;Next.js API 路由、CLI 和 Obsidian 插件都会使用它。 - 交互式 API 文档:运行开发服务器后,访问
http://cloud.flowershow.local:3000/api/docs查看 Swagger UI,或访问/api/docs/openapi.json查看原始规范。生产环境中: flowershow.app/api/docs。 - CLI:
apps/cli/README.md— 用于发布 Markdown 文件的 Go CLI。也是 AI Agent 集成的接口 — 请参阅 Flowershow skill。 - 用户文档:flowershow.app/docs
社区
贡献
我们正在努力开放 Flowershow 的部分内容,供社区贡献。目前这项工作尚未准备就绪,但我们期待很快欢迎贡献者加入。
你现在就可以通过提交演示或 Flowershow Markdown 功能测试的拉取请求来贡献:
- 演示:demo.flowershow.me — github.com/flowershow/demo
- 测试:test.flowershow.me — github.com/flowershow/test
开发工作流
- 从
staging创建功能分支 - 实现更改
- 向
staging提交 PR - 获批后,将更改合并到
main
我们使用 squash 合并将更改合入 staging,并采用 conventional commit 消息。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。