今天是2020年的第一天,很高兴能够在今天开源一款管理企业微信机器人的小工具,我作为Insight的作者,来为大家介绍一下Insight,以及分享一些创作历程。
GitHub地址:https://github.com/Elliottssu/insight
Demo地址:http://insight.charmculture.com
Insight是一个可以管理企业微信群机器人的小工具,在这里添加一个机器人webhook地址,然后发布即时消息和定时消息,消息就会发送到企业微信中机器人所在的群里。
它具有下面几个特色:
- 一键发布消息,支持@所有人、指定人,方便快捷。
- 强大的定时功能,可以每天执行并且智能跳过节假日,彻底解放双手。
- 简约的排版,科幻的风格,3分钟内轻松上手。
- 贴心的自定义套件,拓展代码实现自定义文本内容。
- 完备的权限控制,保证机器人运行安全无忧。
- 支持移动端布局,支持集成到企业微信控制台。
为什么要做Insight?
Insight是我个人利用业余时间,大概花了四个周末完成。已经在公司内部正常运行4个月了,直到了解到很多周围其他公司也在用企业微信,同时也有用到企业微信群机器人通知消息。所以决定将insight免费开源,给更多公司使用,帮助使用企业微信群机器人,但有没有开发相应工具的人使用。
19年12月24日,企业微信3.0发布会中说现在已经接入250万家企业,6千万活跃用户,立下了一个3-5年内,99%的企业都会使用企业微信的大目标。这个成绩确实很棒,也看到企业微信生态越到越大。这也坚定了将此工具开源出去的信念,它虽然是一个其中很小的一个工具,但可以缩短消息传递的成本,提升沟通和工作效率,那么多企业一定有和我们有一样的需求,是的,你值得拥有。
看似很简单的工具,确往往是提升生产效率的关键!
背景
企业SaaS软件中,IM聊天沟通软件是最高频使用的,我们每天处理很多个群里的消息,有时候会忘记一些重要的事情,或者每天想固定的时间了解一些信息,所以需要手动去记忆和通知。使用企业微信的人应该知道,之前可以调用复杂的SDK,来完成自动的消息推送。但对于非开发者,操作不是很友好。
在企业微信没有更新机器人之前,我们团队在群里会经常忘记某些,比如每个周五提醒写周报,每周提醒值日、技术分享、监控日志、发布计划等等,这种操作非常频繁,又容易忘记,经常会分散一些精力。
2019年7月,企业微信更新了机器人,这个正是我想要的,只需要创建一个机器人,然后对着机器人地址,发送一个请求,然后消息就通过机器人发到群里了。然后我就立刻用代码写了几个小的定时任务,来代替手动的、固定的消息推送。立马省心多了
2019年8月,在机器人慢慢被周围同事接触后,发现对于非开发人员,想要用机器人比较困难,因为要用机器人完成发布消息,发布定时任务,@人需要代码实现。所以我就开始打算在业余时间做一个小工具供内部使用。
2019年9月,工具开发完成,公司内部开始使用这个小工具,来发布消息和定时消息,将规范化、统一化的消息内容,都通过这个工具来完成,极大的解放生产力,从而更好的将注意力集中在更关键的消息上。
目标
在完成这个工具过程中,虽然是业余时间想的一个工具,但还是在思考如何把它做的好看又中用。最终目标是解放记忆繁琐重复的消息,提升生产力和效率,让人专注更重要事情上。这就需要在功能实际上尽量考虑充分,同时在设计风格上尽量保持简约,容易上手。
设计
现在就来聊一聊设计灵感把。
先说说名字“insight”,这个灵感洞察号,18年底发射火星探测机器人,负责探测火星内部结构探索46亿年前行星形成的原因。好吧说了么多有啥关系?其实没啥关系,就是都是机器人哈哈。所以就在登录页面,做了一个会旋转的火星。
然后说说“科幻”,有人会说,你这页面和科幻没啥关系呀,除了会转的火星和暗黑主题稍微有点神秘感...
其实最开始的设计风格很“赛博朋克”,当时赛博朋克2077游戏很火,我用了一个UI库来让整个页面充满那种后现代风格(会颤抖的图片、炫酷的按钮、奇怪的表单),但是后来别人看了说不合适太前卫,就全部删了,替换成暗黑风格,然后页面加了很多宇航员、星星点缀,感觉很科幻。后来别人又说搞这么花哨,我觉得也是。最后就把页面无关元素全部删除了,只保留登录页面的火星了。其实这样也挺好,简单点,看着舒服。
不过我还是觉得它很科幻,工具嘛不一定要不管好看,也不用好看过度,最重要的是表达了某种思想,对吧,看,机器人,会自己动,很科幻(强烈说服我自己)。
技术
我工作是一名前端开发工程师,所以技术也是普遍通用的React+Nodejs,上手也方便。如果你之前对此框架不熟悉,打算在此基础上开发,可以查看github地址,找到“技术栈”查看学习路线,这里就不打算详细介绍了。
当然程序也有可能会有BUG,在项目首页能看到社区和交流群,我会在那里面,有任何问题随时沟通。
功能
在你在企业微信中创建一个机器人后,会有一个文档群机器人配置说明。你可以发现可以利用这个机器人发送四种类型的消息:文本、markdown、图片、图文。
Insight的核心功能就是发送这四种类型的消息,然后加上@提醒相关人。
同时为了可以让消息定时执行,可以通过定时器选择要重复发送的周期,这个是官方文档没有的功能,做这个功能也是很有必要的,这样就可以满足一些需要定时执行的需求了。
其他的就是对权限、任务、日志还有机器人的管理了,更详细的操作方法可以阅读《产品使用文档》。
常见问题
下面列举了几个常见而又非常重要的问题,在使用这个产品过程中,务必先了解一下,问题的答案请点击常见问题。
- 如何找到我要添加的机器人?
- 怎样将此工具添加到企业微信控制台?
- 智能跳过节假日功能,每年假期不一样,该如何更新?
- 怎样才能成为超级管理员,权限分配是怎样的?
- 自定义套件是什么?如何开启?
- 如何部署?
...
反馈
我们希望能够和大家一起讨论,改进产品、修复问题以及探讨技术,工具中一定会有些不足指出,很欢迎大家能够提出想法。
您可以访问我们的官方社区,或者在GitHub Issuse中提出问题。
结束
我的故事分享完了,感谢您的阅读,如果您也在使用企业微信,并且想在群里通过机器人发送一些消息,又不想写代码,那就试一试Insight的吧。
访问GitHub,将代码克隆到本地,或者部署到内网(非技术同学可以让公司开发同事帮忙部署,也可以找我帮忙操作),即可开启“科幻之旅”。
有问题可以随时联系我。