2025年12月31日水曜日

wavetermでメモリ枯渇

https://www.waveterm.dev/

管理画面(ブラウザベース)やターミナルを並べて表示してた。

2日ほどでメモリの確保領域が1.5Tまで膨らんでた。

コアダンプした結果、どうやらElectromが悪さしてるらしい。


開発元報告し、wavetermを使用しないことにする。


2025年12月27日土曜日

cloudflare durable objectを使う

アトミックな処理をする。
例えばルーム内のゲーム情報の管理など。
ただしworkerは長時間稼働ができないので、ユーザーがDOにalermを送る形式となる。





📌 Durable Objects の料金概要

🚀 プラン

  • Free(無料)プラン

    • SQLite ストレージバックエンドのみ利用可能

    • 制限を超えると該当リソースの処理が失敗する(課金なし)Cloudflare Docs

  • Paid(有料)プラン

    • SQLite または Key-Value(KV)ストレージバックエンド を選択可能

    • Workers Paid プラン(月額 $5 のベース費用)が前提になる場合が多い(※参考実装例)Cloudflare Docs


🧮 課金対象と料金

1) Compute(実行時間・リクエスト)

項目無料枠有料料金
リクエスト数100,000 / 日1,000,000 / 月 included
追加リクエスト$0.15 / 1M リクエスト
Duration(Durable Object 活動時間)13,000 GB-s / 日400,000 GB-s / 月 included
追加 Duration$12.50 / 1M GB-s

(GB-s = 持続時間 × メモリ量 / 1GB)Cloudflare Docs


2) Storage(永続ストレージ)

📌 SQLite バックエンド(推奨)

項目無料枠有料料金
読み込み5M / 日25B/月 included
書き込み100k / 日50M/月 included
ストレージ容量5 GB total5 GB-month included
追加$0.001 / 1M rows read
$1.00 / 1M rows write
$0.20 / GB-month

※SQLite Storage の課金は 2026 年 1 月以降適用予定と公式にアナウンスあり。Cloudflare Docs

📌 Key-Value バックエンド(Paid プランのみ)

項目無料枠有料料金
Read 単位1Mincluded
Write 単位1Mincluded
Delete 単位1Mincluded
Stored Data1 GBincluded
追加$0.20 / 1M read units
$1.00 / 1M write units
$0.20 / GB-month

(Key-Value は読み書きサイズ単位で課金)Cloudflare Docs


📊 例:ざっくり月額コスト

  • 低トラフィック用途

    • リクエスト 1.2M、Duration 50,000GB-s 程度 → おそらく 数ドル〜$10 程度 / 月
      (無料枠内でほぼ収まる場合)TheServerless.Dev

  • WebSocket / リアルタイム用途

    • 多数接続 & 長時間活動 → Duration 増 → 数十〜数百ドルに到達可能
      (例: 100 DO × 50WS × 活動 → $130 程度)Cloudflare Docs



2025年12月25日木曜日

svelte5のa11yの警告をSWE-1で消せるか試す。

現在windsurfにて、
SWE-1.5だとコスト0.5だが、SWE-1はfree。


早くて定評のあるSWEならaccessibility警告を消せるのではないか?

対象Svelte5のソース。





SWE-1のみ:できるんだけど、漏れが発生して何度か指示しないといけない(a11y修正依頼)

SWE-1.5 + Opush4.5 thinking  (Cost 0.5):一発で行けたけどプロンプトが違う(bun run check後の修正)



念のため、SWE-1で同じプロンプトで同じものができるのかチェックする。

同じプロンプトだとSWE-1は全く使い物にならなかった・・・
なんども途中で止まってしまった・・・



wranglerの更新で不思議現象。






2025年12月19日金曜日

画像からOCRの精度

2025年年末時点でのLLMのAPI料金比較

https://www.genspark.ai/agents?id=a340f7f7-ba72-4204-9875-5c7ef4bf3783


Groqにて、

meta-llama/llama-4-maverick-17b-128e-instruct - on_demand

画像からシリアルをOCRしたが、どうやってもFをEと認識してしまう。

どうにもならない。プロンプトで調整もできなかった。


仕方がないのでKIMI latestを使う。

KIMIのAPI発行わかりにくいので張っておく。

https://platform.moonshot.ai/console/api-keys


ちなみにdeepseek公式のUIでdeepseek V3.2 chatからdeepseek-ocrを読み出せるのに、APIだとできないくさい。

どうしてもやるなら、サードパーティーでやるしか。

https://replicate.com/deepseek-ai/deepseek-vl2



あとMINIMAX-M2.1だとKIMIの価格の70%オフぐらいに激安になるのだが、プロンプトによっては問題が発生する。

「シリアルと部品番号をJSONで出力」 → センシティブな情報が含まれるので中断

「画像からOCRしなくてはいけない。」 → 読み込める。

https://platform.minimax.io/user-center/basic-information/interface-key

https://platform.minimax.io/docs/api-reference/text-anthropic-api





deepseek-OCR単体の動作



DeepSeek-OCR 価格表(プロバイダー別比較)

以下、DeepSeek-OCRの各プロバイダー別の詳細価格表です。

📊 主要プロバイダー価格比較表

プロバイダー入力価格(100万トークンあたり)出力価格(100万トークンあたり)コンテキスト長特徴
DeepInfra$0.03$0.108K最安値、高速推論
Novita AI$0.024~$0.03$0.024~$0.038K柔軟な価格設定
Clarifai$0.20$0.708Kエンタープライズ向け
Google Cloud Vertex AI$0.30(または$0.0003/ページ)$1.208KGoogle統合、ページ課金可能






2025年12月12日金曜日

Ark UI 5.12.1にてネストされたモーダルを閉じると親の影響を受ける

<症状1>

Ark UI 5.12.1にてネストされたモーダルを閉じると親の影響を受ける。

最新版: 5.15.0でも未修正。


<症状2>

取引先ピッカー自体は表示されていますが、親のArk UIダイアログのフォーカストラップが効いていて、ダイアログ外(今のPartnerPicker配置場所)へフォーカスが移動できないため、入力が一切できません。なので PartnerPickerを親ダイアログの中(DialogContentの内側)に戻して、フォーカストラップの範囲内に入れます。これで入力できるようになります。



<原因>

ArkUIでネストモーダルの処理が正常に組まれていない。


<対応>

GitHubのissueで見つけた回避策を試します。

setTimeoutを使ってダイアログを閉じる方法です。


問題の原因: Ark UIの既知のバグ

GitHubのissue(#2557)で報告されている問題と同じ。

症状

  • ネストされたダイアログ親Dialog → 子Dialog)で、子Dialogを閉じると親Dialogの動作に影響する
  • Ark UI v2以降から存在するバグ
  • trapFocus(フォーカストラップ)の処理に問題がある

今回のケース

ProcurementDialog(親)→ PartnerPicker(子)
子を閉じると、親のボタンが効かなくなる

結論

原因判定
こっちのソース記述の問題❌ No
Ark UIの構造上の問題✅ Yes
こっちのUI構造の問題❌ No(ネストは一般的なパターン)

対応策

  1. 現状維持 - PartnerPickerだけdivベースにして、他Ark UIを維持(今の状態)
  2. 全削除 - すべてのダイアログをdivベースに書き換え




<まとめ>
結構複雑なUIを作る時、ArkUI(ヘッドレスUI)使わない方がいい。
ぶっちゃけ現代のLLMだとArkUIを使うメリットが薄い気がする。
無駄にバグが増えるだけ。

ウィンドウにSVG装飾をしているからよかれと思ってArkUIにしたが、問題が続発しまくる。
簡単な事しかしないならArkUIでいいけど、reactとかvueとかsvelteとか頻繁に変えたりするにはメリットだが、時間がかかって無駄なバグを生むことが多い。
シンプルな構成の方がLLMにはいいんじゃないか?
ステート管理だって各フレームワーク側に乗せた方が、管理しやすいと思うのだが・・・

もう作ってしまったが、ArkUIに依存しないものを作ってコードを比較してみよう。

2025年12月10日水曜日

telegramアプリの全画面表示

やったこと忘れそうなのでメモ


https://telegram-miniapp-red.vercel.app/



github.com/junichitanaka7777/telegram-miniapp


iPhoneのホーム画面のバグ?仕様?

iPhoneですべてのホーム画面が完全に埋まっている状態だとする。
この状態でPWA(プログレッシブウェブアプリ)でホーム画面に追加をする。

追加したものは検索すると一覧には出る。
この検索一覧のモードは、長押しでアイコンの配置を変える機能だが、埋まっているので配置は変えられない。
このモードは削除は存在しない。
削除はホーム画面から長押しのみ。

ホーム画面をすべて見渡しても、追加したアイコンは存在しない。
ので削除不可。


あいうえお