a2aproject / a2aproject/a2a-samples

Python `helloworld` sample README expected output does not match `test_client.py`

未关闭 适合新手
#686 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Jupyter Notebook
星标
1.8k
派生
751
PR 合并指标
30 天内没有已合并 PR

描述

The expected output documented in `samples/python/agents/helloworld/README.md` does not match the behavior of the current Python `helloworld` sample.

The README's Expected Output Snippet shows output for:

- displaying the public AgentCard
- a non-streaming call
- a streaming call
- an extended AgentCard
- task history and artifacts

However, running the documented command:

`python test_client.py
`

currently starts an interactive session and only performs the non-streaming send_message() flow for each user input.

```
Starting an interactive session with A2A Server [http://127.0.0.1:9999]
Use `exit` to quit.
user > hi
Initializes the A2ACardResolver instance with an HTTP client

Successfully fetched the public agent card:

--- Public Agent Card - Non-Streaming Call ---

Initializing a non-streaming client.
Response:
task {
id: "..."
...
artifacts {
parts {
text: "Hello, World! I have received your request (hi)"
media_type: "text/plain"
}
}
...
}

--
user >
```

In particular, the public AgentCard details are not displayed

### Relevant Code

Also, in `test_client.py` already contains functions for the broader workflow:
```python
async def show_agent_card():
...

async def send_message(...):
...

async def send_steaming_message(...):
...

async def show_extended_card():
...

def test_client_workflow(...):
asyncio.run(show_agent_card())
asyncio.run(send_message(text_query))
asyncio.run(send_steaming_message(text_query))
asyncio.run(show_extended_card())

However, the executable entry point currently calls main(), whose interactive loop only invokes send_message():

def main():
...
while prompt and prompt != 'exit':
asyncio.run(send_message(prompt))
prompt = input('--\nuser > ')
```

The Expected snippet output appears to correspond more closely to `samples/go/agents/helloworld/test_client.go` demonstration

## Expected Behaviour

Could we clarify which behavior is intended for `python test_client.py`?

1. update the README to document the current interactive send_message() behavior, or
2. update test_client.py so that the public AgentCard, streaming call, and extended AgentCard workflow described in the README is executed?

I'd be happy to contribute a fix in either direction once the intended behavior is clarified.

贡献指南

打开贡献指南

调研方向

Examine the files `samples/python/agents/helloworld/README.md` and `samples/python/agents/helloworld/test_client.py`. Compare the documented expected output with the actual interactive loop in `main()`. Determine whether to update the README to match the current code or modify `test_client.py` to run the full workflow (show_agent_card, send_message, send_streaming_message, show_extended_card) as shown in the `test_client_workflow` function. Run the script to verify the behavior.

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
documentation
Issue 类型
缺陷
难度
2/5
预计耗时
1-3 小时
活跃度
冷清
描述清晰度
描述清楚
新手友好度
75/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。