1作者: ajke大约 1 个月前原帖
嗨,HN, 我创建了 ClientDock——一个服务提供商用来管理沟通和文件的客户门户,旨在避免电子邮件混乱。 背景: 在一次超过200封邮件的线程中丢失了一个关键的客户交付物后,我决定构建一个更好的解决方案。大多数“客户门户”都是臃肿的项目管理工具。我想要的是一个专注于一件事的工具:让客户沟通变得轻松无忧。 技术细节: - 使用 Next.js 15(应用路由)构建 - 通过 OpenNext 适配器部署在 Cloudflare Workers 上 - 使用 Cloudflare D1(边缘的 SQLite)存储数据 - 使用 NextAuth v5 进行身份验证 - 使用 Drizzle ORM 进行类型安全的数据库操作 - 使用 React Email 和 Resend 发送事务性邮件 - 使用 Stripe 处理支付 架构决策: 1. 边缘优先:部署在 Cloudflare Workers 上,以实现全球性能。每个请求都在最近的边缘位置处理。 2. 类型安全:全程使用 TypeScript,Drizzle ORM 确保数据库的类型安全。 3. 国际化:从一开始就使用 next-intl,以便未来扩展。 4. 模块化认证:使用带 Drizzle 适配器的 NextAuth,以提高灵活性。 有趣的挑战: - 使用 OpenNext 适配器调整 Next.js SSR 以适应 Cloudflare Workers 环境 - 管理 D1 的数据库迁移 - 实现细粒度的访问控制 - 针对边缘部署进行优化 当前状态: MVP 已完成。希望获得以下方面的反馈: - 功能优先级 - 定价策略 - 技术架构 - 用户体验改进 开放问题: 1. 我是否应该添加实时协作功能? 2. 移动应用与响应式网页哪个更重要? 3. 这个领域合适的定价模型是什么? 代码尚未开源,但我很乐意讨论技术决策并分享在 Cloudflare Workers 上构建的经验教训。 期待您的反馈!
3作者: jimmydesi9大约 1 个月前原帖
作为一名企业主,如果您在为品牌招聘模特方面感到沮丧,那么不必再寻找其他地方,直接访问 fashaion.com,获取虚拟模特,让她们穿上您的服装,看看效果,这样可以节省成本和时间。
1作者: kavin_key大约 1 个月前原帖
大家好, 我一直在开发 Trainly,这是一个图形化的 RAG API,旨在帮助开发者在几分钟内将原始文档转换为可用的 RAG 端点。 与其手动连接 LangChain、向量数据库和检索器,Trainly 让你可以: 1. 使用 `pip install trainly` 安装 2. 使用你的 API 密钥进行初始化 3. 上传你的文档 4. 查询你的端点
2作者: chfritz大约 1 个月前原帖
我一直想要这样的功能:一个简单的方法来“通过名称解析 Docker 容器”——例如,访问在我的开发机器上运行的 Docker 容器中的 Web 服务器。当然,我可以从所有这些容器中导出端口,尽量避免它们在主机上互相干扰,然后使用 http://localhost:PORT。但为什么要经历这些麻烦呢?这些容器已经在它们各自的 IP(例如,172.24.0.5:8123)上暴露了各自的端口,所以我只需要一个方便的方法来找到它们。 mdns-docker 允许你执行,例如,“ping my-container.docker.local”,它会找到一个运行中的容器的 IP,该容器的名称与主机模糊匹配。它的工作原理是运行一个本地的 mDNS 服务,监听 `*.docker.local` 请求,找到一个名称包含请求(这里是“my-container”)的运行中容器,获取该容器的本地 IP 地址,并用该 IP 地址响应 mDNS 查询。 示例:启动一个 ClickHouse 服务(作为示例)`docker run --rm --name myclicky clickhouse:25.7`,然后打开 `<a href="http://myclick.docker.local:8123" rel="nofollow">http://myclick.docker.local:8123</a>` 来访问内置仪表板——无需端口映射! 如果你还没有玩过 mDNS,你就错过了很多乐趣。它易于使用,能够让你的生活变得更加轻松的可能性是无穷无尽的。它也是 Spotify 和 Chromecast 用于本地设备发现的技术。