【帖子标题】:attune-forms is now on PyPI — and as of this week, it’s a Claude Code plugin.
【帖子标题】:attune-forms 现已上线 PyPI —— 而且从本周开始,它还是一个 Claude Code 插件。
【帖子正文】: Last week I wrote about the idea: an agent’s question should be a typed, validated artifact, not a sentence. This week the machinery shipped as a standalone open-source library.
【帖子正文】: 上周我写了这样一个想法:智能体(agent)提出的问题应该是一个类型化、经过验证的工件(artifact),而不是一句话。本周,这套机制已作为独立的开源库正式发布。
attune-forms gives AI coding agents a second channel beside free-form chat: declarative, validated forms. Independent decisions batch into one round-trip instead of twenty questions. Malformed questions are refused at build time; malformed answers are refused at collection time. Nothing is silently accepted in either direction.
attune-forms 为 AI 编程智能体提供了自由聊天之外的第二个通道:声明式、经过验证的表单。独立的决策可以批量打包为一次往返,而不是二十个问题。格式错误的提问在构建阶段即被拒绝;格式错误的回答在收集阶段即被拒绝。任何方向都不会有静默接受的情况。
Beyond plain fields, three constructs carry conversational meaning:
除了普通字段之外,三种结构承载着对话性含义:
• Decision — the agent proposes: recommended option first, a “why” rationale, a one-line tradeoff under every alternative.
• Decision(决策)—— 智能体提出方案:推荐选项在前,附带”为什么”的理由说明,每个备选方案下方都有一行利弊权衡。
• Pushback — structured disagreement: your approach and the agent’s alternative side by side, and overruling the agent is a first-class outcome, not a failure.
• Pushback(反驳)—— 结构化的异议:你的方案与智能体的替代方案并排展示,而否决智能体是一等公民的结果,而非失败。
• Progress — a status report whose blocked items become a picker: reading the status and unblocking the work are the same gesture.
• Progress(进度)—— 一种状态报告,其中被阻塞的项目会变成选择器:阅读状态与解除阻塞是同一个操作。
One schema, three surfaces: an interactive HTML widget where the host renders rich content, batched plain questions in the terminal, native MCP elicitation where the host supports it. The form degrades — it never breaks.
一套模式(schema),三种呈现界面:交互式 HTML 组件,由宿主渲染丰富内容;终端中的批量纯文本提问;以及宿主支持时的原生 MCP 引导(elicitation)。表单可以降级 —— 但永远不会崩溃。
Two ways in.
两种接入方式。
As a Claude Code plugin (skill + MCP server, no Python setup):
作为 Claude Code 插件(skill + MCP 服务器,无需 Python 环境配置):
claude plugin marketplace add Smart-AI-Memory/attune-forms
claude plugin marketplace add Smart-AI-Memory/attune-forms
claude plugin install attune-forms@attune-forms
claude plugin install attune-forms@attune-forms
As a Python library:
作为 Python 库:
pip install attune-forms
pip install attune-forms
Python 3.10+, one runtime dependency, 380+ tests, CI on Linux/macOS/Windows, Apache 2.0.
Python 3.10+,一个运行时依赖,380+ 项测试,CI 覆盖 Linux/macOS/Windows,Apache 2.0 许可证。
The part I keep coming back to: every scoping and design decision in building this library ran through the grammar itself — v0.1.0 to v0.4.0 in three days, dogfooded end to end.
我反复回味的一点是:构建这个库时的每一个范围界定和设计决策,都经过了这个语法本身 —— 三天内从 v0.1.0 迭代到 v0.4.0,全流程自产自用(dogfooded)。
The full argument:
完整论述:
https://www.linkedin.com/pulse/communication-grammar-ai-agents-patrick-roebuck-sutse
https://www.linkedin.com/pulse/communication-grammar-ai-agents-patrick-roebuck-sutse
Code:
代码:
https://github.com/Smart-AI-Memory/attune-forms
https://github.com/Smart-AI-Memory/attune-forms
submitted by
由以下用户提交
/u/Business-Appeal-2748
/u/Business-Appeal-2748
[link]
[链接]
[comments]
[评论]