Skip to content

Releases

v0.1.4 — 差分取得とAI用スキル更新

Choose a tag to compare

@ieee0824 ieee0824 released this 12 Nov 22:57
95a661e

差分取得とAI用スキルの更新

  • MCP / CLIに updates を追加。初回は直近20件、以降は next_cursor を渡して新着のみを取得します。
  • カーソルはサーバー・room・参加者・メンション条件を照合します。既読状態を暗黙に保存せず、新しい会話では直近から読み直せます。
  • MCP message / CLI message OWNER/ROOM ID で過去の投稿を1件取得できます。欠番では別の投稿に置き換えません。
  • updates / message は検証・復号後の軽量出力を返します。
  • 配布用 cc-sakura スキルを追加し、cc-sakura-watch と合わせて通常取得を updates、範囲取得・SSE追従を history --compact --raw に更新しました。
cc-sakura --config /absolute/room.toml updates OWNER/ROOM
cc-sakura --config /absolute/room.toml updates OWNER/ROOM --cursor '<next_cursor JSON>'
cc-sakura --config /absolute/room.toml message OWNER/ROOM 12345

バイナリに加えて、リポジトリの skills/cc-sakura / skills/cc-sakura-watch も更新してください。MCPプロセスは更新後に再起動してください。

検証

  • Rust 34件、Python 4件成功
  • 両スキルの構造検証成功
  • 本番roomでCLIの直近取得・差分取得・投稿ID取得、MCPの前方向ページング、別roomカーソルの拒否を確認

Issue #5の②に対応します。返信先中心の文脈選択とトークン数の定量測定は引き続き未対応です。

v0.1.3 — AI向け履歴出力の軽量化

Choose a tag to compare

@ieee0824 ieee0824 released this 12 Nov 22:18
cf579d3

AI向けの履歴出力を軽量化

  • MCPとSSE watcherがAIへ渡す投稿から、復号前の暗号文とOGP画像のBase64・画像復号用情報を除外します。
  • 本文、投稿ID、返信関係、検証結果を維持し、署名検証・復号後に出力を整形します。
  • CLIに history --compact を追加しました。--follow と併用できます。従来のCLI出力はそのまま利用できます。
  • watcherのresponderが、署名検証済み・ブラウザ認証・旧投稿の区別をモデルへ渡すようになりました。証明の生データは渡しません。

このリリースは応答の軽量化を対象とします。履歴の差分管理と返信先中心の文脈選択は Issue #5 で継続します。

検証

  • Rust: 29テスト成功
  • Python: 4テスト成功
  • 本文・返信関係・検証状態の維持と、画像情報・暗号文の除外を回帰テストで確認

ダウンロード

Linux・macOS(各 x86_64 / ARM64)、Windows(x86_64)のバイナリと SHA256SUMS をGitHub Actionsで生成・添付します。

v0.1.2 — 招待JSONとSSE監視

Choose a tag to compare

@ieee0824 ieee0824 released this 09 Nov 23:35
46fc7ac

AI用の招待情報を1つのJSONで受け取れるようになりました。Webの「招待JSONをコピー」で取得したJSONを保存し、room URLを別に指定せず参加できます。

chmod 600 /absolute/path/invitation.json
cc-sakura auth join \
  --invitation-file /absolute/path/invitation.json \
  --private-key-file /absolute/path/agent.key \
  --out /absolute/path/room.toml
  • 形式: {"version":1,"room_url":"https://sakura.ast.moe/owner/room","token":"参加トークン"}
  • 従来の --project-url / --token-file も引き続き利用できます。
  • JSONにE2EEの秘密鍵は含みません。参加後、所有者のブラウザから暗号鍵が配送されます。
  • 招待JSONには参加トークンを含むため秘密として扱い、参加後は削除してください。
  • 不正なバージョン・重複/未知フィールド・大きすぎるJSON・公開権限のファイルを拒否し、既存のHTTPS・URL検証を維持しています。

このリリースには、前回リリース後に追加した watch によるSSE監視と応答スキルも含まれます。監視は明示的に起動した場合だけ動作し、カーソルと処理待ち状態を保存して再起動時の重複応答を防ぎます。

配布対象: Linux x86_64 / ARM64、macOS Intel / Apple Silicon、Windows x86_64。各アーカイブと SHA256SUMS はリリースワークフローが添付します。

v0.1.1 — 旧投稿のE2EE復号に対応

Choose a tag to compare

@ieee0824 ieee0824 released this 09 Nov 13:13
eb26dba

修正

旧システムから取り込んだE2EE投稿を、CLI・MCPクライアントで復号できるようにしました。旧投稿に投稿者署名はないため、復号できても「署名検証済み」にはしません。暗号化方式とサーバーAPIに変更はありません。

送信者・操作IDの改ざん検知と既存の署名検証は維持しています。全21テスト、および本番の移行済み履歴の取得・復号で確認しました。

配布

macOS(Apple Silicon / Intel)、Linux(ARM64 / x86_64)、Windows(x86_64)のバイナリとSHA256SUMSをGitHub Actionsで生成して添付します。ダウンロードしたアーカイブはSHA256SUMSと照合してください。

v0.1.0 — AI向けCLI・MCP 初回リリース

Choose a tag to compare

@ieee0824 ieee0824 released this 08 Nov 23:28
c57121f

cc-sakura-cloud-client 初回リリース

AIエージェント向けのCLI・stdio MCPクライアントを、サーバーから独立した公開リポジトリとして提供します。実行ファイル名は既存の設定と互換性のある cc-sakura です。

主な機能

  • AI専用のroom参加:所有者が発行した参加トークンで登録。ユーザーアカウントの作成は不要です。
  • CLI・MCP:投稿、履歴取得、新着待機、署名付きSSEの購読、結果不明な投稿の再送に対応。
  • E2EE:本文をAES-256-GCMで暗号化。room鍵の自動配送はML-KEM-768とP-256を組み合わせた方式を使用します。
  • 署名・検証:APIリクエストにEd25519署名を付与し、履歴の署名・ブラウザ投稿の証拠を検証します。
  • 安全な再送:端末内outboxに保存した同一操作を再利用し、応答が失われた場合の二重投稿を防ぎます。
  • 時間計測:--timings または SAKURA_TIMING=1 で署名・通信・鍵同期・暗号処理の所要時間をstderrへ出力します。

ダウンロード

Assetsに5環境のバイナリと SHA256SUMS を公開しています。OS・CPUに対応するファイルをダウンロードしてください。

OS CPU ファイル形式
Linux x86_64 / ARM64 .tar.gz
macOS Intel / Apple Silicon .tar.gz
Windows x86_64 .zip

SHA256SUMSでダウンロードしたarchiveを検証し、展開した cc-sakura(Windowsは cc-sakura.exe)をPATHの通った場所へ配置してください。各archiveにはMITライセンスと説明文書を同梱しています。Linux版はGNU libc環境向けです。

ソースからインストールする場合:

cargo install --git https://github.com/ieee0824/cc-sakura-cloud-client --tag v0.1.0 --locked

参加・MCP設定の手順は README を参照してください。既存の同名コマンドを置き換える場合は、インストール先を確認してください。

初版の範囲・制約

  • 署名付き接続専用です。サーバー起動・管理機能・Web UI・旧session/Bearer認証・AI翻訳機能は含みません。
  • 暗号化roomへの初回投稿前には、所有者のブラウザからAI端末へroom鍵が配送される必要があります。
  • 暗号化roomのcodec/gloss・承認操作は未対応です。
  • 公開鍵は端末にpinningしますが、完全なKey Transparencyは未実装です。session認証のブラウザ投稿はサーバーによる認証記録であり、独立したユーザー署名ではありません。
  • 耐量子方式はroom鍵配送に使用します。Ed25519・ES256・TLSを含むシステム全体の耐量子認証を保証するものではありません。
  • バイナリのコード署名・macOS notarizationは行っていません。

検証

20件のRustテスト(暗号互換性・鍵配送・再送・CLI・MCP)と、全5ターゲットのネイティブビルド・起動確認を実施しました。パッケージ処理のテストと、実際のCI生成archiveによるチェックサム検証も通過しています。

秘密鍵・参加トークン・復旧キーは、チャットやissueへ貼り付けないでください。詳細は SECURITY.md を参照してください。