本文为基于飞书(小程序+机器人+Python服务)实现OKR为核心的团队管理体系中前后端代码的使用说明。
OKR助理是帮助团队管理者落实OKR管理的工具。它自动化使用飞书的云文档、任务、日程、群组、文本消息、卡片消息功能,提供飞阅会方法、销项管理方法、1on1会议方法、团队个人职业发展规划的模板和实践,从而完成OKR制定、周/月/季/半年/年跟踪和评价、个人职业规划制定、核心团队定期1on1沟通、日常工作销项,最终帮助团队负责人赋能团队向着一致的目标高效前进。
它是飞书OKR工具的补充,飞书OKR更着重OKR的制定(公开、对齐),OKR助理更着重OKR作为体系的有效性。
P.S. 飞书汇报工具更偏重传统的团队管理,目前与OKR的结合较少。


mac:~ songxiang$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ea121c4783ac okr_assistant_service:latest "celery -A oas.manag…" 7 days ago Up About a minute python-service-4-okr-assistant_oas_worker_2
710255cfe23a okr_assistant_service:latest "celery -A oas.manag…" 7 days ago Up About a minute python-service-4-okr-assistant_oas_worker_1
b2ff5b0fe0b8 nginx:latest "/docker-entrypoint.…" 7 days ago Up About a minute 0.0.0.0:3001->80/tcp oas_nginx
e4cc03c1f55c okr_assistant_service:latest "python app.py" 7 days ago Up About a minute python-service-4-okr-assistant_oas_server_2
298d1cc7e5e5 okr_assistant_service:latest "python app.py" 7 days ago Up About a minute python-service-4-okr-assistant_oas_server_1
2b102d878e0c okr_assistant_service:latest "celery -A oas.manag…" 7 days ago Up About a minute oas_beat
def071ffe39c redis:latest "docker-entrypoint.s…" 7 days ago Up About a minute 0.0.0.0:6379->6379/tcp oas_redis
93faef05756f rabbitmq:latest "docker-entrypoint.s…" 7 days ago Up About a minute 4369/tcp, 5671/tcp, 15691-15692/tcp, 25672/tcp, 0.0.0.0:5672->5672/tcp oas_rabbitmq
33e7e46f1241 mysql:latest "docker-entrypoint.s…" 7 days ago Up About a minute 0.0.0.0:3306->3306/tcp, 33060/tcp oas_mysql
mac:~ songxiang$ ps 677
PID TT STAT TIME COMMAND
677 s001 S+ 15:14.43 ngrok http 3001
前端发布至飞书小程序运行环境。
企业自建应用事件订阅中,配置Encrypt Key权限管理中,获取如下权限:
PS C:\> git clone git@gitlab.cicconline.com:songxiang/python-service-4-okr-assistant.git
Cloning into 'python-service-4-okr-assistant'...
remote: Enumerating objects: 53, done.
remote: Counting objects: 100% (53/53), done.
remote: Compressing objects: 100% (35/35), done.
remote: Total 77 (delta 21), reused 45 (delta 16), pack-reused 24
Receiving objects: 100% (77/77), 114.29 KiB | 653.00 KiB/s, done.
Resolving deltas: 100% (21/21), done.
PS C:\> cd .\python-service-4-okr-assistant\
编辑.env
App IDApp SecretVerification TokenEncrypt KeyBotIdSecretIdSecretKey数据库密码@mysql:3306/okr_assistantPS C:\python-service-4-okr-assistant> .\exec.ps1
PS C:\python-service-4-okr-assistant> ngrok http 3001
PS C:\> git clone git@gitlab.cicconline.com:songxiang/feishu-microapp-4-okr-assistant.git
Cloning into 'feishu-microapp-4-okr-assistant'...
remote: Enumerating objects: 14, done.
remote: Counting objects: 100% (14/14), done.
remote: Compressing objects: 100% (14/14), done.
Receiving objects: 92% (99/107)sed 0 (delta 0), pack-reused 93Receiving objects: 88% (95/107)
Receiving objects: 100% (107/107), 52.45 KiB | 1.69 MiB/s, done.
Resolving deltas: 100% (32/32), done.
PS C:\> cd .\feishu-microapp-4-okr-assistant\
飞书开放平台->开发者后台,在应用配置页面的事件订阅页面,配置请求网址URL为用ngrok发布的后端服务公网地址,例如https://1cb8-223-72-47-65.ngrok.io应用功能的小程序和机器人页面,打开对应功能飞书开发者工具打开源代码路径project.config.json中,将appid改为在飞书应用配置的凭证与基础信息页面获取的App IDapp.js中,将appId改为在飞书应用配置的凭证与基础信息页面获取的App IDapp.js中,将backendService改为用ngrok发布的后端服务公网地址(保留后面/api/v1),例如https://1cb8-223-72-47-65.ngrok.io上传功能上传小程序包应用发布页面中,创建应用办法并发布,联系飞书管理员审核上线