2作者: JawadR28 天前原帖
基本上是为 Python 设计的 Google Docs。 在过去的四个月里,我一直在开发一个我非常自豪的全栈项目,名为 PyTogether;这是一个为初学者设计的实时协作 Python IDE(可以想象成 Google Docs,但用于 Python)。它旨在用于配对编程、辅导或一起学习 Python。完全免费,没有订阅、没有广告,什么都没有。只需创建一个账户,建立一个小组,开始一个项目。它具有完善的代码检查、极其直观的用户界面、自动保存和实时光标。目前没有任何限制(除了代码大小以防止恶意负载)。 为什么要在 Replit 或 VS Code Live Share 已经存在的情况下构建这个? 因为我的目标是简单性(和教育)。我想要一个轻量级的工具,适合那些只想编写和分享简单 Python 脚本(无论是独自一人还是与他人一起)的初学者,而不需要下载、付费墙或额外的干扰。它也没有内置 AI/助手,这正是许多教师和学习者所偏好的。此外,它是免费的,哈哈。 技术栈(前端): - React + TailwindCSS - CodeMirror 用于代码检查 - Y.js 用于实时同步和实时光标 - Skulpt 用于在浏览器中执行 Python(出于安全考虑 - 我最初想使用 Docker 容器,但那样在大规模时会占用太多内存。Skulpt 的库有限,因此不幸的是像 pygame 这样的导入将无法工作)。 我并不太喜欢前端或用户界面设计,所以我依赖 AI 来帮助设计,但所有的逻辑/代码都是我自己的。通过 Vercel 部署。 技术栈(后端): - Django(channels、auth、celery/redis 支持使其非常适合) - 通过 Supabase 使用 PostgreSQL - JWT + OAuth 认证 - Redis 用于通道层 + 缓存 - 完全 Docker 化 + 部署在 VPS 上(8GB RAM,$7/月的套餐) 数据模型: 用户 <-> 小组 -> 项目 -> 代码 用户可以加入多个小组 小组可以有多个项目 每个项目属于一个小组,并且有一个代码文件(为了简单起见,保持简单,尽管我可能会稍后添加文件系统)。 在构建这个项目时,我遇到了很多问题,尤其是与后端相关的。最大的问题是如何创建一个可靠且智能的自动保存系统。我不能让它在每次用户按键时都保存,因为显而易见,这会在大规模时使数据库不堪重负。因此,我想出了一个我非常自豪的解决方案;我使用 Redis 来缓存活跃项目,然后每分钟使用 Celery 循环遍历这些活跃项目,并将代码持久化到数据库。我通过跟踪每个项目的用户数量来实现这一点,每当有人加入或离开时,如果某个项目的用户数量降到 0,就将其从 Redis 中移除(同时保存代码)。Redis 非常快速,因此在每次按键时保存代码根本不是问题。通过这种方式,我实际上是一次性解决了四个问题,因为我重用了已经集成到我的通道层中的 Redis 来跟踪活跃项目,并缓存代码,这样当新用户进入项目时,就可以从 Redis 中获取代码,而不是访问数据库。我甚至可以将 Redis 用作 Celery 的消息代理(没有使用 RabbitMQ,因为我想节省存储,而不是将整个新服务 Docker 化)。这在大规模时也能很好地工作,因为 Celery 会将大量代码的自动保存任务从后端卸载。代码在有人离开项目时也会保存。后来我遇到的另一个问题是如果有人尝试发送大量文本,所以我将限制设置为 1 MB(会对此进行调整)。 在 VPS 上部署是另一个挑战。我花了大约 8 小时来处理 Nginx、Certbot、Docker 和 GitHub Actions,以使一切正常运行。这很令人沮丧,但我学到了很多东西。 如果你感兴趣,或者想亲自查看这项工作,源代码在这里。欢迎贡献: [https://github.com/SJRiz/pytogether](https://github.com/SJRiz/pytogether)。 我仍在学习,所以任何反馈都将是非常棒的(以及贡献)!
1作者: zizhouwang28 天前原帖
我是一个控制狂,想到让人工智能自动回复邮件就觉得荒谬。我遇到的每位创始人都是这样,光是打出“把你的支持/销售放在自动驾驶模式”这几个字就让我感到不适。 我创建了min.来帮助我和我的团队处理邮件。谁应该阅读,谁应该回复,什么时候跟进等等。 min.的特点是: - 一个简单的邮件界面,用于管理个人和团队的收件箱。 - 一个原生AI收件箱,可以将消息分类并优先排序到自定义标签和文件夹中。 - 取代繁杂的客户关系管理系统、帮助台和电子表格,仅用……邮件。 - 可在两次点击中部署的对话代理(跟进、日程安排、提醒)。 min.不是: - 一个完全放手的收件箱,自动回复你所有的邮件。(例如:“把你的支持/销售放在自动驾驶模式!”) - 仅仅为了速度而构建——min.是为那些在每次互动中都关心提供A+体验的团队而设计的。 - 尴尬,因为它的运作方式正是你所期望的邮件工作方式,支持与Gmail的双向同步。 2分钟演示视频: [https://www.youtube.com/watch?v=IKtzNL72P34](https://www.youtube.com/watch?v=IKtzNL72P34) 在线演示: [https://app.getmin.ai/demo](https://app.getmin.ai/demo) 如果你想加入测试版,请给我发私信或发送邮件至 hello@getmin.ai。谢谢! 埃里克