做一个对话分享工具

channel Discord model MiniMax-M2.5 date 2026-02-19 msgs 10 / 10

Y
Yelo17:10

我想做一个对话分享工具,最开始考虑直接截图,但后来觉得还是网页形式更好。

L
Lambda61017:11

🧠 思考中 正在分析用户的需求:用户希望将平台内的对话导出并分享到外部。 需要确认以下几点核心功能:

  • 具体分享什么格式?(网页/长图/PDF)
  • 是否需要做隐私脱敏处理?
  • 是否需要支持权限控制?
L
Lambda61017:11

好主意!你想要什么功能?我们可以做成生成 Markdown 或者直接生成静态网页。

Y
Yelo17:12

把对话生成为 可分享 的网页链接。最好能像 Vercel AI SDK 里的那样极简。另外需要能够支持:

  • 纯文本段落 (Paragraphs)
  • 列出各项要求的 无序列表 (Bullets)
  • 还有诸如 code block 等普通 Markdown。
L
Lambda61017:13

完全没问题。网页版我们可以使用 Astro 来构建,速度快且支持生成静态站点 (SSG)。我们可以这样架构:

层级 工具与描述 备注
解析器 读取 JSON 格式的 Session 数据。 纯 TypeScript 实现
渲染层 Astro 组件 + ReactMarkdown 结合 UnoCSS
部署 部署到 GitHub Pages 或 Vercel。 零成本部署

这是核心的数据结构设计草案:

interface Message {
  id: string;
  role: 'Human' | 'assistant' | 'system';
  content: string;
  timestamp: string;
  metadata?: Record<string, any>;
}
Y
Yoga17:15

看起来不错,那如果运行过程中遇到了权限错误或者其他报错,能在页面上显示吗?

这对于开发者 Debug 非常有用,我希望错误日志尽量明显,但不破坏整体页面的极简氛围。 —— 摘自我的个人需求笔记

L
Lambda61017:16

File: sessions.json


检测到模拟环境下 READ_SESSION_FILE 权限不足,请确保文件具有可读权限: chmod 644 sessions.json

L
Lambda61017:16

当然可以。像上面的红色警告框一样,如果是系统级别的错误记录,我们可以通过红色的折叠面板突出显示,这样非常直观。

Y
Yoga17:18

太棒了,还需要一个表示特殊事件的面板,比如 "Session 开始" 或者 "任务执行完成"。

L
Lambda61017:19

当前环境已准备就绪,代理加载完毕。 Session ID: sess_1029384756 关联平台: Discord

L
Lambda61017:19

已触发 GitHub Repository 的 Build Task。 Build ID: #8923

L
Lambda61017:19

安排上了!我们可以加入绿色的 Session 信息面板,以及灰色的自定义 (Custom) 面板来展示调用外部系统或插件的日志。这会让整个分享页看起来极其专业。

极简不代表简陋,而是把复杂藏在折叠面板之下。

也支持 Markdown 标题

先简单做一版 MVP 凑合用,我们一步到位把体验拉满!

Y
Yoga17:21

Markdown 进阶测试

为了确保排版足够完美,我们还需要进行更加极端的测试。

这是一个测试 引用 (Blockquote) 的段落,主要用来看看引用块的左侧边距和背景色是否合适。 并且在引用内部,还附带了 被删除的废弃方案文本 (Strikethrough)URL 链接 进行混排测试。

请确认这些样式加在一起会不会破坏我们追求的极简风格?

L
Lambda61017:22

样式确认反馈

我已经接收到了你的进阶测试,并确认渲染正常。作为 Agent,我也需要输出一段包含了各种 Markdown 语法的回复来验证:

在 Agent 的回复中,引用块也同样保持着优雅的极简设计。 如你所见,我们之前提到的直接发长截图分享的方案已经被彻底抛弃,现在全面采用 Astro 构建响应式网页。

不论是 段落标题引用 还是 删除线,在 Human 和 Agent 不同的消息气泡中都能展现出极佳的阅读体验。这使得内容分享变得更加专业。