TermoSlack – 一款基于终端的 Slack 客户端
嘿,HN,
我开发了TermoSlack,这是一个完全基于终端的Slack客户端,使用Node.js编写,支持实时更新,采用Socket模式和OAuth用户登录。
为什么我会开发它 - 这是个好问题!
================================
可以有几个答案:
1) 使用的内存远低于原版Slack客户端
2) 不需要Electron
3) 非常快速
还有更多...
有哪些功能呢???
================================
-- 通过Socket模式实现实时Slack消息(xapp + xoxb)
-- 使用OAuth进行用户登录(没有共享的机器人身份)
-- 支持多个工作区
-- 渠道列表、消息查看、消息发送
-- 使用neo-blessed构建的终端用户界面
-- 除了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'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/Linux executable<p>What I used to build this project ??
====================================
--Node.js (ESM)<p>--@slack/web-api & @slack/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/adhyys07/TermoSlack