CTONEW(cto) — マルチアカウント対応の会話玩具
概要
CTONEW(リポジトリ名: cto)は、TypeScriptで書かれた軽量なチャット実験プラットフォームです。特徴は多輪対話を前提とした「コンテキスト記憶」と「思考のチェーン(Chain-of-Thought)」の出力が可能な点、会話(セッション)IDを管理して自動削除する仕組み、複数アカウントをポーリングして利用する運用ができる点です。Deno Deploy向けのデプロイ手順や最小限の管理画面(ADMIN_KEY認証)も用意されており、プロトタイプや研究実験、WebUIを介した操作を素早く立ち上げたい開発者向けの「玩具」実装になっています。
リポジトリの統計情報
- スター数: 16
- フォーク数: 21
- ウォッチャー数: 16
- コミット数: 30
- ファイル数: 8
- メインの言語: TypeScript
主な特徴
- 多輪対話(マルチターン)とコンテキスト記憶のサポート
- 思考のチェーン(Chain-of-Thought)を出力できる会話設計
- セッションID 管理と自動削除機能、会話ライフサイクル制御
- Deno Deploy対応・管理画面(ADMIN_KEY)・web UIを使った運用
技術的なポイント
CTONEWはDenoランタイムとTypeScriptを基盤にしており、軽量でタイムリーなデプロイ(Deno Deploy)を意識した設計です。main.ts をエントリポイントに指定してデプロイするフローがREADMEに示されており、Denoの環境変数機能を使ってADMIN_KEYやPORTを設定する想定です。管理画面は /admin/login に用意され、ブラウザに管理キーを保存して自動ログインする簡易なUIが用意されています(デフォルトキーは README に示されたプレースホルダ)。この構成はプロトタイプ用途に適しており、本番運用する際はキー管理や認証の強化が必要です。
会話管理の観点では、各会話にユニークなセッションIDを付与して履歴やコンテキストを保持/参照し、一定期間で自動削除する仕組みを持つことでメモリ消費とプライバシーをある程度制御しています。複数アカウントのポーリング機能がある点は、複数のAPIキーや背後のモデルインスタンスを順次利用して負荷分散や冗長化を図るユースケースに合います。出力面では「思考のチェーン(Chain-of-Thought)」形式でのレスポンスをサポートしているため、モデルの中間推論や説明を可視化する用途に使えます。これによりデバッグやモデル挙動の解釈がしやすくなりますが、Chain-of-Thoughtの取り扱いは情報漏洩や生成内容の安全性にも注意が必要です。
実装上の注意点としては、Denoの非同期I/OとTypeScript型システムを活用したコードが予想され、外部APIやCookie取得の取り扱いがREADMEに記載されています(Cookieの取得方法はREADME内のリンクを参照)。また、web UI/API経由での会話管理はセッションの永続化方法(メモリ・ファイル・外部DB)の選択で実運用性が大きく変わるため、リポジトリの現状実装をレビューして永続層やロギング、レート制御、認証の強化を行うと良いでしょう。最後に、Oai ChatCompetitionフォーマットへの対応は評価実験や競技形式の対話評価を行う際に便利で、フォーマット準拠の入出力を作ることで既存ツールとの連携が容易になります。
プロジェクトの構成
主要なファイルとディレクトリ:
- .env.example: file(環境変数例)
- .gitignore: file
- 20251018180109.jpg: file(スクリーンショットや画像)
- LICENSE: file
- README.md: file(導入・デプロイ手順・環境変数説明含む)
- main.ts: file(エントリーポイント想定、Deno向け)
- その他設定ファイルやソースファイルが計8ファイル構成
…他 3 ファイル
まとめ
プロトタイプや実験向けに素早く動かせるDeno/TypeScript製の会話プラットフォーム。拡張や運用強化余地あり。
リポジトリ情報:
- 名前: cto
- 説明: 玩具
- スター数: 16
- 言語: TypeScript
- URL: https://github.com/Luotianyi-0712/cto
- オーナー: Luotianyi-0712
- アバター: https://avatars.githubusercontent.com/u/111134328?v=4
READMEの抜粋:
CTONEW
玩具,支持多轮对话、上下文记忆、输出思维链, 支持会话ID管理,自动删除对话。 多账号轮询,使用webui 使用Oai ChatCompetition 格式
Deno Deploy部署
Fork本仓库,点个star
点击depley
选择你的GitHub仓库
设置入口文件为 main.ts
环境变量
在 Deno Deploy 项目设置中添加环境变量:
-
ADMIN_KEY: 管理后台密钥(必填,请使用强密码) -
PORT: 服务端口(默认 8000)
管理后台
- 访问
http://localhost:8000/admin/login登录 - 输入管理密钥(默认:
your-secret-key-change-me) - 密钥会保存在浏览器,下次自动登录
获取 Cookie
- 访问 https://ct…