TermoSlack - 基于终端的 Slack 客户端

1作者: adhyys7 个月前
嗨,HN, 我构建了 TermoSlack,一个完全基于终端的 Slack 客户端,用 Node.js 编写,使用 Socket Mode 和 OAuth 用户登录实现实时更新。 为什么我构建它——好问题! ================================ 可能有几个答案: 1) 比原版 Slack 客户端占用更少的内存 2) 不需要 Electron 3) 真的很快 还有更多... ================================ 有哪些功能??? ================================ -- 通过 Socket Mode 实现实时 Slack 消息(xapp + xoxb) -- 使用 OAuth 进行用户登录(没有共享的机器人身份) -- 多个工作区 -- 频道列表、消息查看、消息发送 -- 使用 neo-blessed 构建的终端 UI -- 除了 Slack API 调用外,完全离线工作 -- 打包成单个 Windows/Linux 可执行文件 ================================ 我用了什么来构建这个项目?? ==================================== -- Node.js (ESM) -- @slack/web-api & @slack/socket-mode -- neo-blessed TUI -- express(本地 OAuth 回调服务器) -- pkg(用于生成独立的可执行文件) ==================================== 早些时候,我曾考虑用 Python 来实现这个,但我切换到了 node.js,因为它会让这个项目更具挑战性 ================================ 正在进行的工作: ================= -- 私信 + 私有频道 -- 线程对话 -- 消息反应 -- 文件上传 -- 用户在线状态指示 -- 快捷键 -- 多工作区切换 -- 自定义主题 ================================ 您的反馈对我以及我的项目来说都非常宝贵。我很乐意听到您对改进这个项目的反馈! 谢谢 HN github 链接:github.com/adhyys07/TermoSlack
查看原文
Hey HN,<p>I built TermoSlack, a fully terminal-based Slack client written in Node.js, with real-time updates using Socket Mode and OAuth user login.<p>Why I built it - good question! ================================ Can be several answers: 1) uses way less ram than original slack client 2) doesn&#x27;t require electron 3) very fast ngl and more more...<p>What features are in there ??? ================================ --Real-time Slack messages via Socket Mode (xapp + xoxb)<p>--User login with OAuth (no shared bot identity)<p>--Multiple workspaces<p>--Channel list, message view, message sending<p>--Terminal UI built with neo-blessed<p>--Works fully offline besides Slack API calls<p>--Packaged as a single Windows&#x2F;Linux executable<p>What I used to build this project ?? ==================================== --Node.js (ESM)<p>--@slack&#x2F;web-api &amp; @slack&#x2F;socket-mode<p>--neo-blessed TUI<p>--express (local OAuth callback server)<p>--pkg (for producing a standalone executable)<p>Earlier I was thinking python to implement this but I switched over to node.js as it would make this project more challenging<p>Work in progress: ================= --DMs + private channels<p>--Threaded conversations<p>--Message reactions<p>--File uploads<p>--User presence indicators<p>--Keybindings<p>--Multi-workspace switching<p>--Custom Themes<p>Your feedback will be precious to me and for my project. I would love to hear your feedback for improving this project more and more !<p>Thanks HN<p>github link : github.com&#x2F;adhyys07&#x2F;TermoSlack