TermoSlack - 基于终端的 Slack 客户端
1 分•作者: adhyys•7 个月前
嗨,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'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