Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Streamed Anthropic thinking content_block_start has no signature field

オープン 初心者向け
#645 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
88/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
python
領域
api

調査の方向性

server/anthropic_api.pyから始め、_open_thinking()と_event()を読みます。issueの再現手順では、ストリームで送信されるcontent_block_startの確認方法が示されています。thinkingブロックに期待される空の署名を設定し、対象を絞ったストリームチェックを実行します。開始イベントに期待されるpayloadと一致する"signature":""が含まれていれば完了です。

索引モデルが issue の本文から書いたものです。

説明

A streamed thinking block's content_block_start on /v1/messages is {"type":"thinking","thinking":""}, with no signature. _open_thinking() (server/anthropic_api.py) never sets it, and _event() serializes with exclude_none=True. The Anthropic SDK types ThinkingBlock.signature as a required str. The non-streaming response and the closing signature_delta already send "".

import asyncio
from freetoken.server import anthropic_api as A
from freetoken.server.generation import ReasoningDelta, ContentDelta, GenDone
async def ev():
    for e in (ReasoningDelta("x"), ContentDelta("hi"), GenDone("stop", 1, 1)):
        yield e
async def main():
    async for f in A.anthropic_event_stream(ev(), "m", 1):
        if "content_block_start" in f:
            print(f.splitlines()[1])   # ..."content_block":{"type":"thinking","thinking":""}...
asyncio.run(main())

Expected: {"type":"thinking","thinking":"","signature":""}.

Environment: main 07813248 (CPU-only check), Python 3.14.

Implementation (on my fork, with a test): e106a9e

主要言語
Python
スター
14.2k
フォーク
1.4k
平均マージ
21時間 39分
マージ済み PR(30日)
100

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

FlashML-org/FreeToken のほかの issue

FlashML-org/FreeToken の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。