<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Open-Platform on All about Raspberry Pi</title><link>https://hugozhu.site/tags/open-platform/</link><description>Recent content in Open-Platform on All about Raspberry Pi</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 05 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://hugozhu.site/tags/open-platform/index.xml" rel="self" type="application/rss+xml"/><item><title>钉钉开放平台的第一用户不再是开发者，而是开发者的 Agent</title><link>https://hugozhu.site/post/2026/283-agent-experience-as-developer-experience/</link><pubDate>Sun, 05 Jul 2026 00:00:00 +0000</pubDate><guid>https://hugozhu.site/post/2026/283-agent-experience-as-developer-experience/</guid><description>&lt;p&gt;昨晚我用 OpenCode 在钉钉上写一个会议通知 Agent。需求很简单：查日历找到明天的会议，给参会人发一条钉钉消息。&lt;/p&gt;
&lt;p&gt;OpenCode 读完了 DWS CLI 的 help 文档，开始生成调用代码。它要发消息，看到了三个命令：&lt;code&gt;dws chat message send&lt;/code&gt;、&lt;code&gt;dws chat message send-by-bot&lt;/code&gt;、&lt;code&gt;dws chat message send-by-webhook&lt;/code&gt;。它选了 &lt;code&gt;send&lt;/code&gt;，传了 &lt;code&gt;--group&lt;/code&gt; 和 &lt;code&gt;--text&lt;/code&gt;，没传 &lt;code&gt;--title&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;返回了一个错误：&lt;strong&gt;「发群服务窗会话消息失败」。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;OpenCode 懵了。我也懵了。什么「服务窗」？我在发群消息，跟服务窗有什么关系？&lt;/p&gt;
&lt;p&gt;后来我翻了 &lt;code&gt;dws chat message send --help&lt;/code&gt;，在最底下发现了一行小字：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;--title&lt;/code&gt; 是消息标题，群聊与单聊都必填（API 强制要求；缺失时返回误导性的「发群服务窗会话消息失败」）。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;平台团队知道这个错误信息是误导性的，他们选择在 help 文档里标注「误导性」，而不是修复 API 的返回。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;但这还没完。OpenCode 继续工作，又遇到了第二个问题：&lt;code&gt;send&lt;/code&gt; 命令有三个互斥的目标参数——&lt;code&gt;--group&lt;/code&gt;（群聊）、&lt;code&gt;--user&lt;/code&gt;（userId）、&lt;code&gt;--open-dingtalk-id&lt;/code&gt;（openDingTalkId）。help 文档说「三者只能选其一」，但没有解释什么时候该用哪个。&lt;code&gt;userId&lt;/code&gt; 和 &lt;code&gt;openDingTalkId&lt;/code&gt; 的区别是什么？Agent 无从推理——它只能猜，猜错了再换。&lt;/p&gt;
&lt;p&gt;这整个过程花了十几分钟。但这十几分钟本来不应该存在。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;这不是假设场景，这是 DWS 今天的真实状态。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://hugozhu.site/img/2026/agent-experience-as-developer-experience.png"&gt;&lt;img src="https://hugozhu.site/img/2026/agent-experience-as-developer-experience-thumb.jpg" alt="DX → AX：开放平台用户变迁——从人类开发者到 Coding Agent"&gt;&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>