钉钉换帅:92年极客接棒,技术基因能否重塑协作平台

2026-06-11 14 预计阅读时间: 1 分钟
来源: oschina.net AI 摘要 Original link

Disclaimer: This article is an AI-assisted summary. Read it together with the original source when precision matters. The summary may omit context, version differences, or edge cases and is not official documentation.

预计阅读时间:9 分钟

阿里巴巴合伙人委员会在内网发了一篇措辞严厉的帖子——《有情有义有成长,才是阿里文化》,起因是一名离职员工写了长文《置身钉内》,暴露了钉钉团队管理中的层层问题。紧接着,陈航(无招)卸任钉钉CEO,92年出生的技术极客陈宇森接棒。两件事几乎同时发生,信号很明确:钉钉不仅要换人,还要换路。

从"无招"到陈宇森:风格切换意味着什么

陈航是钉钉的缔造者,产品导向、强执行、狼性文化——这些标签跟了他多年。钉钉从0做到数亿用户,靠的是地推铁军和功能堆叠。但速度压倒了体验,管理压倒了人文,《置身钉内》里描述的"内卷、甩锅、高压"并非偶然,而是这种风格的自然产物。

陈宇森的履历截然不同。92年出生,技术背景深厚,属于那种写代码、做架构、啃底层的人。他的接任,意味着钉钉的顶层决策逻辑可能从"产品经理拍脑袋"转向"技术可行性先行"。对开发者生态和开放平台的态度,大概率会更友好——毕竟自己写过代码的人,更懂API文档写得多烂有多痛苦。

合伙人委员会的表态:不只是安抚

那篇内网帖不是常规的"PR式关怀"。几个关键措辞值得注意:

  • "不是阿里文化该有的样子"——直接定性,不留余地;
  • "有情有义有成长"——把"成长"和"情义"并列,暗示此前只看增长不看人;
  • 帖子发布主体是合伙人委员会,不是HR,不是业务线负责人——这是最高层级的表态。

对钉钉团队来说,这不是一次"内部整顿后继续干"的常规操作。CEO换人+最高层公开批评,组合拳打的是同一个靶子:过去那套跑法,到此为止。

开放平台的机会:技术CEO上任后的第一张牌

钉钉有开放平台,但开发者体验一直被吐槽——文档不全、接口不稳定、审批流程冗长。一个技术出身的CEO,最可能优先动的就是这块。原因很简单:开放平台是钉钉从"工具"变成"生态"的关键跳板,而生态才是对抗飞书、企业微信的长期壁垒。

下面是一个实际可用的钉钉开放平台机器人消息推送示例——如果你是钉钉的企业开发者,现在就可以跑起来:

"""
钉钉自定义机器人消息推送示例
前提:在钉钉群设置中添加自定义机器人,获取 webhook URL 和(可选)签名密钥
依赖:pip install requests
"""

import time
import hmac
import hashlib
import base64
import urllib.parse
import requests
import json

WEBHOOK = "https://oapi.dingtalk.com/robot/send?access_token=YOUR_ACCESS_TOKEN"
SECRET = "YOUR_SECRET"  # 如果机器人开启了加签安全设置,填入密钥;否则设为 None


def sign_url(webhook: str, secret: str) -> str:
    """对 webhook URL 添加加签参数(DingTalk 安全模式 2)"""
    timestamp = str(round(time.time() * 1000))
    string_to_sign = f"{timestamp}\n{secret}"
    hmac_code = hmac.new(
        secret.encode("utf-8"),
        string_to_sign.encode("utf-8"),
        digestmod=hashlib.sha256,
    ).digest()
    sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))
    return f"{webhook}&timestamp={timestamp}&sign={sign}"


def send_markdown(title: str, text: str) -> dict:
    """发送 Markdown 格式消息到钉钉群"""
    url = sign_url(WEBHOOK, SECRET) if SECRET else WEBHOOK
    payload = {
        "msgtype": "markdown",
        "markdown": {"title": title, "text": text},
    }
    resp = requests.post(
        url,
        headers={"Content-Type": "application/json"},
        data=json.dumps(payload),
    )
    return resp.json()


# ---- 运行示例 ----
if __name__ == "__main__":
    result = send_markdown(
        title="部署通知",
        text=(
            "### 🚀 生产环境部署完成\n"
            "> **服务**: order-api\n"
            "> **版本**: v2.3.1\n"
            "> **耗时**: 47s\n\n"
            "![监控面板](https://example.com/dashboard.png)\n"
        ),
    )
    print(result)
    # 成功返回: {"errcode":0,"errmsg":"ok"}

运行前需要改动的地方:

  1. YOUR_ACCESS_TOKEN 替换成你群机器人的真实 token;
  2. 如果启用了加签模式,填入 YOUR_SECRET;如果用的是 IP 白名单或关键词模式,把 SECRET 设为 None
  3. pip install requests 确保依赖存在。

这个示例虽然简单,但暴露了钉钉开放平台的现状:加签逻辑需要开发者自己拼URL,没有官方SDK统一封装,文档散落在多个页面。对比飞书的开放平台(有完整 Python SDK lark-oapi),差距明显。陈宇森如果真要打"技术牌",开放平台的开发者体验是最容易出成绩、也最容易被忽视的切入点。

接棒者的现实考题

换CEO不等于换命运。陈宇森面对的不是一道选择题,而是几道必须同时解的方程:

考题 难度 说明
修复团队文化 🔴 高 《置身钉内》的创伤不会因为一篇帖子就愈合,需要制度性改变
开放平台升级 🟡 中 技术可行性强,但需要产品侧配合,优先级容易被业务指标挤掉
对抗飞书和企业微信 🔴 高 飞书在体验上持续领先,企业微信有微信生态加持,钉钉的护城河在变浅
大客户与中小企业的平衡 🟡 中 钉钉靠中小企业起家,但收入靠大客户,两头不能丢

技术出身的管理者最容易犯的错误是"用技术思维解人的问题"。钉钉当下的核心矛盾不是技术短板,而是组织信任崩塌。陈宇森如果只盯着API和架构,而忽略了团队心理重建,换帅就只是一次人事变动,不是一次转折。

给钉钉生态开发者的实用建议

不管CEO是谁,钉钉的开放平台现在就能用。如果你正在或即将基于钉钉做开发,几条实操建议:

  1. 机器人消息优先用加签模式——比IP白名单更灵活,比关键词模式更安全,上面的代码已经封装了签名逻辑;
  2. 审批流接口用新版(v2)——旧版审批接口字段混乱、文档缺失严重,v2 虽然也不完美,但至少结构清晰;
  3. 关注钉钉开发者社区的更新节奏——如果接下来几个月文档和SDK的更新频率明显加快,说明新CEO确实在推开放平台;如果还是老节奏,那"技术极客接棒"就只是叙事,不是实质;
  4. 多端适配别只靠钉钉——企业微信和飞书的API也在快速迭代,做跨平台适配比押注单一生态更安全。

钉钉换帅是一个事件,但它是否成为一个转折,取决于陈宇森能不能在"技术驱动"和"人文修复"之间找到同时推进的节奏——而不是先修代码、再修人心,因为人心等不了那么久。


相关推荐