[未リリース]
Added
-
Instance access model for billing. Admins pick one of three postures: no subscriptions (software default, monthly quota
0= unlimited), included + paid, or paid only. The included default plan cannot be deleted; paid templates no longer ship with a FIM Stripe Price ID. -
GPT-5.x agents keep their reasoning across tool calls. FIM One now talks the OpenAI Responses API directly for GPT-5.x models and carries each turn’s encrypted reasoning into the next one, so a multi-step agent builds on what it already worked out instead of re-deriving it at every tool round. Reasoning token counts appear in usage, and the thinking panel shows the model’s own summary. Set
FIM_GPT5_RESPONSES_MODE=bridge(oroff) to return to the previous behavior; endpoints without a/v1/responsesroute still fall back to chat completions on their own. - Pure transformation steps in DAG plans run as a single direct LLM call. The planner tags merge/rewrite/summarise steps that only consume upstream outputs as direct steps, skipping the tool loop they would never use, which lowers cost and latency; every step result now also records how it ran (direct call or agent loop, iterations, tools used).
- Agents can ask clarifying multiple-choice questions mid-run. When a task could go in materially different directions, the agent pauses and presents up to four structured questions in the chat, each with 2-4 options plus a free-text “Other”; answering resumes the run in place, and skipping or a timeout lets it continue on its own judgment.
- Agent steps carry live one-line titles. While an agent works, each iteration gets a short generated label (“Verifying pricing data…”), shown in a single folded header that cycles to the newest step; expanding it reveals the full step timeline, and the labels persist into conversation history.
- A provider’s models can be deleted in bulk. Each model row in Admin → Models carries a checkbox, the header selects the whole list, and holding Shift while clicking extends the selection across a range of rows. Deleting the selection removes every chosen model in one request, after a confirmation naming the count.
- Small comparison tables in chat replies now render as card-style layouts. A 2-3 column table whose first column holds attribute labels shows each attribute inside its value cell (matching the comparison-card style popularized by AI chat UIs); larger tables keep the classic grid.
-
Chat replies now render Mermaid diagrams and SVG figures. A
mermaidcode block becomes a themed diagram and ansvgblock becomes an image with a source toggle and download; both fall back to plain code if the source is incomplete or does not parse, so a half-streamed diagram never flashes an error. - Answers, code blocks, and tables can be copied out. Every reply has a copy-as-Markdown action, code blocks carry a header naming their language, and tables offer copy-as-Markdown plus a CSV download (UTF-8, opens cleanly in Excel).
- Citations show which document they came from. A citation marker now renders as a pill carrying the source’s document name, with adjacent markers collapsed into one pill and a count; the popover lists every source behind it.
-
/clearworks in the chat input. Typing/clearstarts a fresh conversation, identical to clicking New chat; a running turn is stopped first. -
Diagrams and code blocks can be downloaded, not just copied. Mermaid diagrams export the rendered SVG, and every code block downloads with a filename matching its language; a
csvblock downloads as a UTF-8 file that opens cleanly in Excel. - The composer warns before an image goes to a text-only model. Attaching an image while the active model cannot read images shows a note saying the model will only receive the file name, resolved from the model that turn would actually use.
- Unsent input is kept. Text, pasted clips and finished attachments that have not been sent are remembered per conversation, and separately for a new chat, so they survive a refresh, a switch to another conversation, and an expired session. A draft is cleared once the message is sent or its conversation is deleted.
-
Chat replies accept LaTeX math delimiters. Formulas written with
\[...\]or\(...\)render as math, matching the existing dollar-sign syntax; delimiters inside code fences stay as text.
Fixed
- Sending while an attachment is still uploading no longer drops it. The send now waits for the upload to finish and includes the file, with the send button showing a spinner while it waits; previously the message went out without the image or document and without any warning.
- A message that fails to send is put back in the input box. When creating the conversation fails (expired session, network down), the typed text returns to the composer with an error toast instead of disappearing.
- Follow-up suggestion chips stay in the user’s voice. Suggested next questions are framed as something the user would send (requests or questions to the assistant), not reverse preference polls like “which do you prefer…?”.
-
Exa docs no longer call Exa the default search provider. Integration and environment-variable pages now describe Exa as an optional backend you enable with
WEB_SEARCH_PROVIDER=exa; the default search path stays Jina. - Sidebar logo is a real link again. Middle-click and cmd/ctrl-click open the dashboard in a new tab; left-click still navigates and keeps the short bounce animation.
Changed
- サイドバーはナビゲーションを優先します。 モジュールナビゲーションは会話リストの上にコンパクトな連続リストとして配置され(Build / Resources / Operate セクションラベルなし)、ナビゲーション項目、新規チャット / 検索、会話行の間隔が狭くなり、サイドバーの下部のドックに隠れることがなくなりました。
- ストリーミング返信はちらつかずに安定して表示されます。 成長する回答はブロックごとにレンダリングされるようになりました。完成したブロックはフレームごとに再レンダリングされず安定したままで、途中の書式設定(太字、リンク、数式)は完成するまで保留されます。
-
最終回答は書き込まれたままストリーミングされます。 エージェントは情報収集の完了を通知し、ライブストリーミングターンとして回答を書き込むようになったため、長い返信はトークンごとに完全な詳細とともに到着し、待機後の再生はありません。
REACT_FINISH_SIGNAL=falseで以前の動作に戻ります。 - アーキテクチャドキュメントはグラフエンジニアリングを FIM One にマッピングします。 Planning Landscape ではループ対グラフエンジニアリング、従来のビジュアルワークフローとの違い、Workflow / DAG / ReAct へのマッピング、各エンジンで活用する内容について説明しています。また、現在の事実として、すべての DAG ステップが既に完全な ReAct エージェント(ワンショット LLM 呼び出しではない)であることを述べています。ReAct と DAG エンジンページはこれにリンクしています。
- プレーンチャットは常にフォローアップ提案を提供します。 バインドされたエージェントのない会話は各回答後に提案された次の質問を取得します。エージェントにバインドされたチャットは引き続きエージェントごとのフォローアップ提案トグル(デフォルトオフ)が必要です。挨拶やお礼などのクロージャーターンはチップを返さない場合があります。
- 新しく送信されたメッセージは画面の上部から始まります。 トランスクリプトは現在のターンの下に最初の行が画面の上部に到達するだけの十分なスペースを保持するため、質問は表示されたままで、回答は下のスペースに成長します。ターンが 1 画面を超えると、スペースは消えます。
- 推論ブロックはターンの実行中は折りたたまれたままです。 ReAct と DAG 出力の両方の推論は、デフォルトで 1 行のプレビューを表示するようになり、ストリーミング中に展開されず、結果が表示されたままになります。任意のブロックをクリックして完全なトレースを読むことができます。
- エクスポートされた PDF と Word ファイルは中国語に適切に組版されます。 PDF エクスポートは参照ではなく実際の CJK フォントを埋め込むようになり、英語テキストの間隔の崩れと関連のない中国語文字としてレンダリングされた箇条書きが修正され、太字が機能するようになりました。Word エクスポートは東アジアフォントを宣言するため、混合中国語/英語の太字テキストは半分太字で出力されなくなり、両方の形式は見出しをトランスクリプト自体の構造に従属させたままにする 5 段階のサイズスケールを使用します。
- エージェントは長いタスクを通じて計画を維持します。 エージェントは同じツールを無駄に繰り返す場合にアプローチを変更するよう通知され、計画なしで作業する場合は計画を書くよう促され、明示的な検証パスなしに計画項目がまだ開いている間に最終回答を提供することはできなくなりました。
- ストリーミング回答はポップアップの代わりにイーズインします。 新しく到着したブロックはストリーミング中に短くフェードインし、ユーザーの動きを減らす設定を尊重します。長いテーブルはカーソルの下の行をハイライトし、リスト箇条書きはテキストの後ろに配置され、テキストと競合しません。
- ブロックアクションは到達するまで邪魔になりません。 回答、コードブロック、図、テーブルのコピーとダウンロードはアイコンのみでツールチップ付き(ダウンロードは常に右端)で、ホバー時に表示され、キーボードでアクセス可能なままです。
- サイドバーはチャットをまとめたままにします。 会話リストは新規チャットと検索の直下に配置され、モジュールナビゲーションはユーザー領域の上のコンパクトな色付きドックに移動し、リストにより多くのスペースを提供し、サイドバーに明確な上から下への階層を与えます。
- 推論はデフォルトで折りたたまれています。 ライブ実行と過去の会話の両方の思考セクションは 1 行のプレビューに折りたたまれ、クリックで展開されます。推論は生成中はストリーミング中に開いたままで、ステップが完了すると折りたたまれます。
- リストページはカードをスムーズに配置します。 エージェント、コネクタ、ナレッジベース、スキル、ワークフロー、ツール、会話、アーティファクト、マーケットは最初の読み込み時にカードを段階的に表示し、すべて一度に表示されるのではなく、フィルタリングとページング処理は即座に行われるため、検索ボックスへの入力は入場をリプレイしません。
セキュリティ
- レンダリングされたマークダウン内の生のHTMLがサニタイズされるようになりました。 モデル出力とアップロードされたマークダウンファイルは表示前にスクラブされるため、インジェクトされたスクリプト、イベントハンドラー、iframe、フォーム、スタイルオーバーライドはページに到達できなくなります。数式、構文ハイライト、テーブル、タスクリスト、ディスクロージャーブロックは影響を受けません。生のインライン
<svg>はレンダリングされなくなります。代わりにsvgコードブロックを使用してください。
修正
-
GPT-5.x 智能体现在在启用推理的情况下运行工具,而不是报错。 GPT-5.x 模型现在首先通过 Responses API,其中函数工具和推理协同工作;没有
/v1/responses路由的端点会自动回退到聊天完成,其中 GPT-5.x 工具调用明确禁用推理,因为该 API 需要。OpenAI 兼容端点上的其他模型系列保持现有的聊天完成路径。 - 在 Planner 模式下,先问请求在一轮内完成。 明确要求智能体在交付前通过多选问题澄清需求的目标(“问清楚我再出方案”)现在会生成一份清晰的问卷作为该轮的结果,而不是规划步骤等待答案、循环重新规划并以”目标未达成”加重复问题列表结束。Auto 模式将此类请求路由到 Standard 模式。
- 后续芯片不再将记录拉过答案。 在一轮停在结果后,后续布局增长(建议、标题)保持原位,将实时轮折叠到历史记录中会重新停在同一对话的答案头,而不是跳到底部。
- 打开现有对话会进入最新消息。 刷新聊天 URL 现在会像从侧边栏切换一样滚动到底部,而不是从线程顶部开始。
- 快速答案不再看起来卡在”处理中…”。 没有生成步骤标题的完成轮显示思考过程标签,而不是实时处理微光文本。
- 动画现在遵循系统”减少动画”设置。 登录背景的漂移渐变、英雄入场、呼吸注入消息文本和流式光标无论操作系统偏好如何都继续移动。它们现在保持静止,而报告工作进度的指示器保持可见,因此界面永远不会显示停滞。
- 执行模式选择器在轮运行时保持关闭。 该芯片被灰显但仍在点击时打开其菜单,不像旁边的智能体选择器;两者现在在运行完成前都是惯性的。
- 推理在较新的模型上再次实时流式传输。 实时推理是从硬编码的模型名称列表连接的,因此在该列表编写后发布的任何内容都显示微调器,然后一次性转储整个推理块。任何发出推理的模型现在都会流式传输它。
- 聊天视图跟上快速输出并进入答案。 它不再在推理中期停滞并错误地报告下面有新内容,它跟随没有新事件而增长的内容,当轮完成时它在结果顶部而不是底部停止。滚动离开仍会交回控制权,返回底部会恢复跟随。
- 短答案在轮结束后保持在您阅读的位置。 轮完成后,记录向下滑动,使问题及其回复紧贴输入框;回复现在在视图顶部保持其位置,直到发送下一条消息。
- 登录立即应用账户的首选语言。 语言环境 cookie 现在在登录和 OAuth 回调期间同步,当账户的语言与登录页面呈现的语言不同时,登录页面会重新加载,因此目标不再在下次重新加载前以前一种语言出现。
- Cmd+K 即使在侧边栏折叠时也能打开搜索。 快捷键侦听器保持活动状态,但其对话框在折叠状态下从未挂载,因此快捷键无声地什么都不做。
- 引用再次命名它们来自的文档。 在简单检索模式下,每个来源都被标记为”知识库”,因为检索工具丢弃了原始文件名;它现在报告来源,与接地管道已经做的相匹配。
- 长对话不太可能遇到硬上下文溢出错误。 压缩现在以模型输入限制下方的安全边距触发,而不是完全在其上,启动时在快速模型的窗口太小无法容纳通用模型的上下文预算时记录警告。
- SVG 图形在深色模式下保持可读。 模型创作的 SVG 假设浅色画布,因此图形绘制在固定浅色表面上,而不是变成深色对深色。
- 浏览器标签忙指示器不再在轮中期消失。 轮运行时,标签图标保持应用标记并在完整颜色和灰色之间脉冲,保持整个运行并在轮结束时可靠地恢复真实图标,即使在应用内导航后也是如此。启用减少动画时,它保持静态灰色标记而不是动画。
- 智能体不再在截断结果后数十次重新获取端点。 截断通知现在以命令式指针开头指向保存的完整副本,持续用不同参数锤击同一端点的智能体会被警告,然后硬停止。
- 崩溃的运行现在报告错误而不是绿色”完成”。 当智能体因内部故障而停止时,原始异常文本在成功复选标记下作为答案交付;故障现在通过错误通道,显示为错误通知。
- 重新连接到流不再重放您已看到的输出。 实时流现在携带与恢复端点相同的位置光标,因此在连接断开后,只有错过的事件被重放,而不是整个轮。
- 跨网络块分割的流式事件不再丢失。 恢复的流可能会丢弃其帧分两部分到达的事件;两个流路径现在共享一个处理任意块边界的解析器。
- 调用另一个智能体返回其实际答案。 子智能体的回复过去到达时埋在原始执行跟踪内,淹没调用智能体的上下文;它现在只接收答案。
- 挂起的工具不再能无限期地停滞运行。 每个工具调用现在都有墙钟时间限制(默认 180 秒),因此停滞的连接器或无响应的服务器以清晰的消息结束步骤,而不是卡住轮。
- 重复相同工具调用的卡住智能体现在会提前停止。 相同的重复调用在几次尝试后被拒绝,而不是消耗整个迭代预算。
- 长对话压缩后不再丢失其早期上下文。 压缩较早轮的摘要在下一次运行时被无声地丢弃;它现在被携带前进,因此智能体保持之前讨论的内容。
- 大型工具结果保持其结尾以及开头。 当长结果被修剪以适应上下文窗口时,现在保持两端(命令输出的结论通常最重要),修剪正确考虑非拉丁文本,后续结果保证最小窗口而不是完全被清空。
- 相同的生成文件不再显示为两个下载。 保存在真实文件名下的渲染 HTML 输出过去会生成两张具有相同内容的可交付卡;重复项现在按内容检测并折叠到特定命名文件。
- 内部卸载文件不再显示为可下载的可交付物。 工具共享一个文件系统,代码执行运行期间卸载的大型工具输出可能被工件扫描拾取并显示为虚假下载卡。运行时簿记文件现在从工件检测中排除。
-
对话中的每个工具现在都在一个共享文件系统上工作。 卸载的大型输出过去落在只有工作区读取工具可以看到的目录中,而
file_ops、shell_exec和python_exec在其他地方操作——智能体会列出文件,然后被告知它不存在,并消耗其迭代预算寻找它。卸载的文件现在位于每个工具(包括执行容器)挂载的对话沙箱中;来自较早对话的文件保持可读。 - 读取大型卸载文件不再生成无尽的指针文件链。 工作区读取的输出本身可能超过卸载阈值并保存为指向已在磁盘上的内容的新文件,将智能体发送到循环。工作区读取现在用精确恢复行而不是重新卸载进行限制。
-
DeepSeek 的即兴工具调用文本不再泄漏到答案中。 当 DeepSeek 模型将工具调用写成纯
<||DSML||Tool call: ...文本而不是使用函数调用通道时,原始标记到达聊天逐字。它现在被剥离,就像其他工具调用伪协议一样。 - 由模型输出限制截断的工具调用不再作为完成的工作通过。 当长有效负载(例如编写完整 HTML 页面)耗尽输出预算中期调用时,半写的调用被无声地丢弃,智能体的前导文本——“现在我将保存文件”——成为步骤结果,因此产生任何内容的步骤被报告为已完成。截断现在被检测,智能体被告知重试,将工作分成较小的调用。
-
智能体确定其错过的目标现在被重试而不是结束运行。 重新规划在分析器有信心时停止,这将有信心的”可交付物丢失”读作放弃的原因——重新规划存在的确切情况。运行现在仅在目标被判断为真正无法达到时提前停止,
DAG_MAX_REPLAN_ROUNDS限制其余的。 - 智能体的自检不再显示为答案。 使用多个工具后,智能体在回复前运行一次性内部验证;该验证被逐字流式传输给您,因此答案到达为”让我验证:1. 完全解决?✅ …”而不是答案本身。检查现在是内部的,您看到的回复作为其自己的步骤编写。
-
刷新令牌轮换现在实际上使前一个令牌失效。 JWT
exp仅为秒精度,因此为同一用户在同一秒内发出的两个刷新令牌过去编码相同——轮换然后用相同值重写存储的哈希,被盗的刷新令牌可以永远续订。每个刷新令牌现在携带唯一的jti,因此轮换的令牌不同,旧令牌立即停止工作。 -
当通过另一个智能体或工作流到达智能体时,审批闸门现在保持。 在聊天中会要求确认的敏感连接器调用一旦通过
call_agent委派或包装在工作流AGENT节点中,就会无检查地运行——这些路径启动智能体时没有任何钩子。两者现在都运行智能体自己的闸门,使用该智能体的确认设置,如果其钩子无法加载则拒绝运行它。 -
SMTP_SSL中的拼写错误不再无声地以明文发送您的 SMTP 密码。 以前任何值除了ssl或tls(例如SMTP_SSL=true)都会无警告地落入未加密连接,在系统电子邮件和电子邮件通知中都是如此。无法识别的值现在被完全拒绝,未加密交付必须明确请求为SMTP_SSL=none,这在每次发送时记录警告。
削除
-
README Star History チャートとそのリフレッシュワークフロー。 GitHub が stargazers API を制限した後(2026年7月)、自社所有のチャートを維持するには、有効期限が切れて定期ジョブが失敗し続ける長期間有効な管理者 PAT が必要でした。チャート、SVG アセット、ジェネレータスクリプト、および
Star HistoryGitHub Actions ワークフローは削除されました。 - アップグレード時に組織に共有されていた Knowledge bases は取り消されます。 v0.8.9 の例外措置により、すでに公開されている KB がサブスクライバーにアクセス可能に保たれていましたが、これは廃止されました。すべての共有 KB は個人用に戻され、サブスクリプションが削除され、残された非公開化アクションとサブスクライバー向けの KB バッジが消えます。Knowledge base は現在、共有 Agent を通じてのみ他のユーザーに到達でき、実行時に所有者のコンテンツを委譲します。
[v0.8.9] - 2026-07-08
追加
- スキルとワークフローはオプションモジュールになり、デフォルトではオフです。 新規インストールはコア機能(チャット、エージェント、ナレッジベース、コネクタ)のみで起動し、管理者が Admin → Settings → Modules からスキルやワークフローを有効にできます。モジュールがオフの間、ナビゲーションとそのページ、API、マーケットエントリ、トリガーは非表示になります。何も削除されず、オンに戻すとすべてが復元されます。
- DAG の再計画は完了した作業をやり直さず、中断された実行は中断した箇所から再開します。 プランの修正が必要な場合、既に完了したステップはその結果とともに新しいプランに引き継がれ、残りの作業だけが再計画・実行されます。ステップの進捗もリアルタイムでチェックポイントされるため、実行中に中断された場合(クラッシュ、デプロイ、接続切断)、同じリクエストを再試行すると完了したステップから再開され、最初からやり直されません。
-
遅いツールはエージェントをブロックせずにバックグラウンドで実行できるようになりました。 サンドボックス化されたコード実行(Python/Shell/Node)は
run_in_backgroundオプションを提供します。エージェントはタスク ID をすぐに取得し、他のステップで作業を続け、ツールが完了するとその結果を通知として受け取ります。エージェントがタスクがまだ実行中に完了しようとすると、それらを待機(制限付き)して結果を組み込んでから回答します。 - 会話履歴は圧縮前にスナップショットされ、予算によって切り詰められたツール結果はワークスペースに保存されます。 長い会話の圧縮が履歴をサマリーに置き換える前に、完全なトランスクリプトが JSONL ファイルとしてコンバーセーションワークスペースに書き込まれます。同様に、集計トークン予算によって切り詰められたツール結果は完全な形でワークスペースに保存され、ポインタが残されます。どちらの場合もエージェント(およびあなた)は元のデータを読み戻すことができ、失われることはありません。
- モデルが出力制限に達してもアンサーが途中で終わらなくなりました。 プロバイダーの出力トークン上限によって応答が切り詰められた場合、エージェントは自動的にモデルに中断した箇所から再開するよう要求し(最大 3 ラウンド)、セグメントを 1 つのシームレスな回答に結合します。推論ループと流式最終回答の両方で機能します。
-
LLM 呼び出しはプロバイダーの過負荷(HTTP 529)とゲートウェイタイムアウト(504)で再試行され、
Retry-Afterを遵守します。 以前は Anthropic からの 529 はフォールバックモデルが設定されていない限り即座に失敗していましたが、今は 429/5xx のように バックオフして再試行し、Retry-Afterヘッダーが存在する場合はプロバイダーが指定した時間だけ正確に待機します。 -
エージェントは複数ステップのタスク中に表示されるプランを保持するようになりました。 ReAct エージェントは
update_planツールを取得して、プランを TODO チェックリストとして書き込み、進捗に応じて更新できます。プランが複数のツール呼び出しの間に古くなった場合、完全なチェックリストがリマインダーとして再注入されます。長いタスクでもコンテキスト圧縮後に目標を維持できます。デフォルトでオン(REACT_PLAN_TOOL_ENABLED)。DAG サブステップとツールなしエージェントはスキップします。 -
エージェントは会話中にワークフローを実行できるようになりました。 あなたが所有または購読している、アクティブで人間の承認が不要なワークフローは、エージェントに
run_workflowツールとして提供されます。通常のチャットとエージェント選択時の両方で使用でき、タスクは決定論的で反復可能なサブプロセスをワークフローに引き渡し、その出力を取得できます。このような実行はワークフローの実行履歴に記録され、そのトークン使用量はワークフロー所有者のクォータに計上されます(所有者が既にクォータを超えている場合は実行が拒否されます)。Human Intervention ステップを含むワークフローはトリガーのみのままです(ワークフローページまたはその API キーから)。長時間ブロックされる可能性があるためです。 - 2 つの新しいワークフロースターターテンプレート:Connector Action と MCP Tool Call。 「テンプレートから作成」ギャラリーはコネクタと MCP ノードを紹介するようになりました。外部システムまたは MCP ツールを呼び出し、結果を LLM でサマリーします。作成後に特定のコネクタ/サーバーを選択します。
Changed
- ナレッジベースは共有不可になりました。 ナレッジベースを組織またはマーケットプレイスに公開する機能が削除されました。ナレッジベースは共有エージェントにバインドされることでのみ他のユーザーに到達し、実行時に所有者のコンテンツを委譲します。既に公開されているナレッジベースは現在のサブスクライバーにアクセス可能なままで、メニューから個人用に戻すことができます。
- コネクターと MCP サーバーはデフォルトで所有者の認証情報を共有しなくなりました(破壊的変更)。 「所有者の認証情報へのフォールバックを許可」はオプトインになりました。新しいコネクター/MCP サーバーはこの設定がオフで作成され、既存のものもすべてオフに切り替わりました。共有コネクターまたは MCP サーバーの使用に所有者のトークンに依存していたサブスクライバーは、独自の認証情報を追加するか、所有者がそのリソースのフォールバックを再度有効にする必要があります。所有者は設定に関係なく常に独自の認証情報を使用できます。その結果、フォールバックがオフで認証情報がないコネクターは、MCP サーバーと同じように、エージェントのツールセットから非表示になります(呼び出し時に失敗するのではなく)。
- 新しいエージェントはデフォルトで ReAct 実行になります。 Auto モードはリクエストごとに 1 回の追加の高速モデル分類呼び出しを費やして ReAct と DAG を決定していました。新しいエージェント(および組み込み/マーケットプレイステンプレート)は ReAct がデフォルトになり、メッセージごとのレイテンシとコストが削減されます。Auto と DAG はエージェントごとに選択可能なままで、既存のエージェントは現在のモードを保持します。
- AI エージェント作成は弱い高速モデルから復旧します。 自然言語の指示からエージェントを構築または改善する場合、高速モデルで実行されます。有効な設定を生成できない場合、リクエストはエラーになる前に強力な汎用モデルで 1 回再試行されるため、弱すぎる高速モデルはユーザーに失敗として表示されなくなります。
削除
- ビジュアルワークフロービルダーを9つのコアノードタイプに削減しました。 環境変数、HTTPリクエスト、コード実行、イテレータ/ループ、サブワークフロー、テンプレート/リスト/変換ヘルパー、パラメータ/質問抽出器、分類器など、ほとんど使用されない16個のユーティリティおよび制御フローノードを削除しました。これにより、ビルダーは智能体、連接器、MCP サーバー、ナレッジベースのオーケストレーションに集中できるようになります。副作用として、共有ワークフローに埋め込まれたシークレットが不要になりました。現在は参照のグラフのみとなり、参照される各リソースは実行時にユーザーごとのアクセス制御を適用します。削除されたノードで構築された既存のワークフローは、残りのセットで再構築する必要があります。
セキュリティ
- APIキースコープがユーザーオブジェクトに付与されるのではなく、リクエストごとに保持されるようになりました。 これにより、キャッシュされたユーザーまたはアイデンティティマップで共有されたユーザーが別の認証コンテキストのスコープセットを継承する可能性があるという潜在的なスコープ混同パスが解決されます。
- 生成されたJWTシークレットを保持する自動作成の
.envは、所有者のみ(0600)の権限で書き込まれるようになりました。 既存の.envファイルは権限が保持されます。 - パスワードハッシュコストは
FIM_BCRYPT_COSTで調整可能になりました(デフォルト12、bcryptの4~31の範囲に制限)。オペレーターはハードウェアとセキュリティ強化のバランスを取ることができます。 - データベースコネクターは共有できなくなり、その生SQL ツールは所有者のみになりました。 データベースコネクターを組織またはグローバルに公開することは拒否されるようになり、任意SQLデータベースツールは、所有者認証情報フォールバック設定に関わらず、コネクターの所有者にのみ提供され、購読者には提供されません。以前は、共有データベースコネクターは所有者の(通常は高い権限を持つ)データベースアカウント上の制限されていないSQLを購読者に公開していました。ユーザーごとのスコープ付きデータベースアクセスは、将来の宣言的アクションレイヤーを通じて復帰します。
- Webhookおよびcronでトリガーされるワークフローは、所有者のトークンクォータに対してカウントされるようになりました。 公開APIキーまたはスケジュールでトリガーされる無人ワークフロー実行は、以前はトークン使用量をチェックまたは記録せずにLLMおよびエージェントステップを実行していました。これはクォータを完全にバイパスする計測されていない無料LLMパスでした。このような実行は、所有者のクォータに対して事前にゲートされるようになり(公開トリガーは拒否され、スケジュール実行は所有者がすでにクォータを超えている場合はスキップされます)、トークン使用量は実行ごとに記録され、チャットと同じ月間クォータに対してカウントされます。
- Feishu承認カードは誰が承認できるかを強制するようになりました。 カードクリックは、クリッカーのFeishuアカウントがFIM Oneユーザーにリンクされており、そのユーザーがエージェントの承認者スコープ設定(イニシエーター、エージェント所有者、または組織メンバー)の下で実際に承認を許可されている場合にのみ受け入れられます。これはポータル内承認がすでに適用していたのと同じルールです。以前は、Feishuグループ内の誰もが保留中のアクションを承認または拒否でき、決定はアイデンティティなしで記録されていました。
- Feishuチャネルは暗号化キーが必要になり、有効な署名のないコールバックは拒否されます。 暗号化キーが設定されていない場合、コールバック署名検証は失敗に終わります(以前は署名なしのコールバックを受け入れていたため、チャネルのコールバックURLを知っている誰もが承認を偽造できました)。Feishuが暗号化を有効にしたときに送信する暗号化されたイベントエンベロープが復号化されるようになりました。新しいまたは編集されたFeishuチャネルは暗号化キーを提供する必要があります。
- 承認リクエストは意図しないチャネルにルーティングされなくなりました。 エージェントが明示的に設定された承認チャネルを持たない場合、保留中の承認はエージェントの完了通知チャネルに、またはそれが失敗した場合は組織の最初のチャネルにプッシュされる可能性がありました。これは機密アクションカードを承認者として選択されたことのないグループに表示していました。承認は現在、エージェントの明示的に設定された承認チャネルにのみ送信され、そうでない場合はポータル内承認にフォールバックします。
- 共有MCPサーバーとナレッジベースは、バインド時だけでなく、実行時にアクセスが再チェックされます。 ワークフローMCPステップ、エージェントのバインドされたMCPサーバー、またはエージェントのバインドされたナレッジベースは、実行するたびに現在のサブスクリプション状態に対して検証されるようになりました。そのため、組織を離れることによって取り消されたアクセスは、古いバインディングを通じて残るのではなく、すぐに有効になります。
修正
- OAuth ログイン時に GitHub/Google/Discord/Feishu が遅い場合、ライブラリのデフォルトタイムアウトでハングするのではなく、「プロバイダーがタイムアウトしました」という明確なメッセージで素早く失敗するようになりました。 汎用的なエラーメッセージの代わりに、わかりやすいエラーが表示されます。
- HTML 成果物のスタイル変更を求められた場合、エージェントが不要な画像を生成しなくなり、実際にワークスペースに書き込まずにファイルが作成されたと主張することもなくなりました。 画像生成はラスター画像に明確にスコープされ、ファイル成果物はツール呼び出しで書き込む必要があります。チャットにコンテンツを貼り付けるだけでは「ファイルを生成した」とは見なされません。
- 生成された HTML ページは、汎用的な紫グラデーションの外観ではなく、デフォルトで Claude にインスパイアされた温かみのあるパレットを使用するようになりました。 スタイルを指定しない場合、エージェントは温かみのあるミニマルなベースラインを使用します。指定されたスタイルは常に優先されます。
- ツールが多い長い会話は、履歴がコンパクト化されても破損しなくなりました。 コンテキストコンパクト化により、ツール呼び出しとその結果の間の保持ウィンドウが切断される可能性があり、LLM プロバイダーが拒否するメッセージシーケンス(HTTP 400)が生成されていました。これはコンパクト化が最も必要な長い実行で発生していました。コンパクタは、各ツール呼び出しとその結果を保持側で一緒に保つようになりました。
- バックグラウンドツール結果がステップストリームと DAG エビデンスに表示されるようになりました。 バックグラウンドで実行されたツールは、その実際の出力をエージェントの内部通知メッセージ内でのみ配信していました。UI のステップタイムラインと DAG 回答検証エビデンスには、ディスパッチプレースホルダーのみが表示されていました。ドレインされた結果は、実際のツール名の下で通常のツール完了イベントとして発行されるようになりました。
- 重複するステップ ID を持つ稀なプランナー出力が、DAG ターン全体を破損しなくなりました。 重複する ID は以前「循環依存」エラーとして誤診断されていました。現在は決定論的に名前が変更され、計画が進行します。
- 複数の ReAct ループの正確性修正。 空の出力を返すツールは、ワークスペースが有効な場合、「出力なしで完了」という注記を保持していました。DAG ステップが満たせない依存関係によってブロックされた場合、UI がハングするのではなく、適切な終了イベントが発行されるようになりました。ネイティブツール呼び出しがないモデルの場合、フォールバック回答合成はツール呼び出しだけでなくツール結果を確認するようになりました。
- 会話ワークスペースが実際にチャットに接続されるようになりました。 大きなツール結果が回復可能になり、サイレントに失われることがなくなりました。エージェント層のワークスペース復旧パス(
workspace://ポインタを使用した大出力オフロード、予算切り詰めツール結果の完全コピー救済、コンパクト化前のトランスクリプトスナップショット)は存在していましたが、チャットエンドポイントはワークスペースを作成しなかったため、実行されていませんでした。ツール結果予算が枯渇すると、モデルはデータを読み戻す方法がない空の観測を受け取り、推測から回答していました。ReAct と DAG ステップエージェントは、会話ごとのワークスペースを取得するようになりました。会話を削除すると、そのワークスペースファイルと残されたクラッシュ再開チェックポイントがクリーンアップされます。 - 再開された DAG 実行は、長いステップ出力の終わりを失わなくなりました。 クラッシュ再開チェックポイントに保存されたステップエビデンスは、サイズキャップで先頭のみが切断され、出力の終わりに存在するものはサイレントに削除されていました。これは結論、チェックサム、最終行が存在する場所です。キャップされたエビデンスは、先頭と末尾の両方を明示的な省略マーカー付きで保持するようになりました。
- エージェントが Python を通じて独自のメモを出力することで「機能する」ことはなくなりました。 ツール呼び出しごとに 1 つの包括的なスクリプトを作成することを推奨する効率ガイダンスは、実際にコード実行が必要なタスクにスコープされるようになりました。知識の質問、比較、モデルが直接生成できる分析は、無意味なサンドボックススクリプトを通じてルーティングされるのではなく、直接回答されます。
- ワークフロー内のエージェントステップは、プロンプトだけでなく完全なエージェントを実行するようになりました。 ワークフローの Agent ノードは、以前はエージェントの指示のみで汎用モデルとデフォルトツールセットで実行されていました。エージェントのコネクタ、ナレッジベース、MCP サーバー、設定されたモデルはサイレントに削除されていました。チャットで実行されるのと同じように、すべてのバインドされたリソースとモデルを使用してエージェントを実行するようになりました。そのエージェントがワークフロー所有者に表示されている場合のみです。
- 組織を離れる(または削除される)と、その共有アクセスが取り消されるようになりました。 その組織を通じてのみ到達できるリソースは登録解除され、保存した per-user コネクタ/MCP 認証情報は削除されます。そのため、それらのリソースを使用したり、離脱後に所有者の認証情報にフォールバックしたりすることはできなくなります。Market 経由で登録したリソースは影響を受けません。
- アカウントを削除すると、すべてが一貫して削除されるようになりました。 管理者の「ユーザーを削除」と自分で行う「アカウントを削除」パスは以前は異なっていました。各パスは異なるオンディスクファイルセットをクリーンアップしていました(両方ともファイルパスを誤って計算していたため、各パスはいくつかをサイレントに見逃していました)。管理者パスは API キー、ログイン履歴、評価データ、呼び出しログ、登録を残していました。両方は 1 つのルーチンを通じて実行され、すべてのレコードとファイルを削除するようになりました。削除は、外部キーを強制するデータベースで失敗しなくなります。
- 組織をまだ所有しているユーザーは削除できなくなりました。 リクエストは、所有権を譲渡する(または組織を削除する)ことを最初に行うという明確なメッセージで拒否されるようになりました。不明確に失敗したり、組織を孤立させたりすることはなくなります。
- エージェントを削除しても、過去の会話は破損しなくなりました。 エージェントを参照した会話は履歴レコードとして保持され、削除をブロックするのではなく、エージェントリンクがクリアされるだけになります。
- 確認が必要なコネクタアクションは、ワークフロー内で無人で実行できなくなりました。 確認が必要としてフラグが立てられたコネクタアクションは、以前は承認ゲートがサイレントにバイパスされた状態でワークフロー内で実行されていました。ステップは、その前に Human Intervention ノード(ワークフロー固有の承認ゲート)を配置するか、確認が不要なアクションを使用するというメッセージで閉じた状態で失敗するようになりました。
- ワークフローステップは所有者の MCP 認証情報を借用しなくなりました。 ワークフローの MCP サーバーが所有者認証情報フォールバックを無効にしていた場合、所有者以外がそのワークフローを実行すると、停止されるのではなく、所有者のサーバー認証情報にサイレントにフォールバックしていました。ステップは、チャットパスと一致する、独自の認証情報を設定するという明確なメッセージで失敗するようになりました。
- ワークフローから行われたコネクタ呼び出しは、監査ログに記録されるようになりました。 ワークフロー内で実行されたコネクタアクションは、コネクタ呼び出しログにエントリを残していませんでした(チャットで開始された呼び出しのみが記録されていました)。ワークフロー呼び出しは同じ監査証跡を書き込むようになりました。
- 登録されたコネクタ、ナレッジベース、または MCP サーバーをエージェントにアタッチできるようになりました。 バインディングは以前、リソースを所有する必要がありました。そのため、正当に登録したコネクタ(組織共有または Market インストール)は「所有していない」として拒否されていました。バインディングは、アプリの残りの部分が使用するのと同じ可視性ルールに従うようになりました。所有または登録したものはすべてバインド可能です。
- ワークフローステップは、実際にアクセスできるコネクタのみを呼び出すことができるようになりました。 ワークフローのコネクタステップは、そのコネクタが存在する限り、参照する任意のコネクタを実行していました。ランナーの可視性(所有または登録)を強制するようになりました。共有ワークフローは、アクセス権がないコネクタに ID で参照するだけで到達することはできなくなります。
- ナレッジベース検索は、所有しているもののみでなく、登録したナレッジベースに対して機能するようになりました。 KB のデータは所有者のストレージの下に存在しますが、ワークフローナレッジベースステップ(およびエージェントなしのナレッジベースチャット)は以前、呼び出し元自身のストレージの下を検索していました。そのため、共有されている KB を検索すると、サイレントに何も返されていませんでした。所有者は KB 自体から解決され、検索はアクセスチェック(所有者または登録者)されるようになりました。共有 KB は結果を返し、表示できない KB は混乱した空のヒットではなく何も返さなくなります。
- バックグラウンドジョブがランダムに消えなくなりました。 ドキュメント取り込み、Webhook 配信、評価実行、応答後通知は、ランタイムが弱く参照するだけの fire-and-forget タスクとして起動されていたため、負荷がかかると途中でガベージコレクションされ、サイレントに停止する可能性がありました。完了まで保持され、失敗がログに記録されるようになりました。確実に完了します。
- 大きなファイルアップロードは、他のリクエストをスタールさせなくなりました。 アップロードされた PDF/DOCX からのテキスト抽出は、メインイベントループで同期的に実行され、大きなファイルが解析されている間、すべての同時リクエストを一時的にフリーズしていました。抽出はワーカースレッドにオフロードされるようになりました。
- マルチステップ(DAG)回答は、ソースを誤って表現しなくなりました。 計画の研究ステップがページを取得して要約した場合、その要約のみが先に進みました。そのため、11 個の項目をリストするソースが最終回答に 6 個として表示される可能性があり、項目の重大度が誤ってラベル付けされる可能性があり、目標評価ステップは元のソースを見たことがないため、それをキャッチできませんでした。各ステップは、その生のツール出力を信頼できるソースエビデンスとして保持するようになりました。最終合成と評価者がそれに対して回答をチェックするため、合計、列挙、属性はソースが実際に言ったことと一致します(一致しない場合、名前付きの矛盾で信頼度が低下します)。
- ワークフロー LLM ノードは、意味しなかったモデルコントロールを表示しなくなりました。 ハードコードされたモデルドロップダウンがあり、その選択は実
[v0.8.8] - 2026-06-22
変更内容
- エージェントがミスをより明確に認識するようになりました。 ツール結果がエージェントが述べたことと矛盾する場合、過度に謝罪したり、自己批判で返信を埋め尽くしたりすることなく、同じターンで認識して修正します。
セキュリティ
- IPv4マップIPv6アドレスを経由したSSRFバイパスをブロック。 ホストがIPv4マップIPv6リテラル(例:
http://[::ffff:169.254.169.254]/)であるURLがプライベートIP ブロックリストを通過し、デュアルスタックホスト上のクラウドインスタンスメタデータを含む内部サービスにアクセスできていました。これらのアドレスはアンラップされてIPv4ブロックリストに対してチェックされるようになり、すべてのSSRF保護パス(ウェブフェッチ、HTTPツール、コネクタ、RAGインポーター)でギャップが解決されました。 - MCP SSE / Streamable-HTTPサーバーURLがSSRF検証対象に。 認証済みユーザーがMCPサーバーを内部アドレスに指定し、サーバーがテストまたは接続されたときにリクエストをトリガーできていました。サーバーURLは作成/更新時と接続時に検証されるようになりました。
- Docker Compose PostgreSQL認証情報が
POSTGRES_USER/POSTGRES_PASSWORD/POSTGRES_DBでオーバーライド可能に。 以前はハードコードされていたfim:fimデフォルトが単一ソース化され(接続文字列は同じ変数から派生)、データベース公開前に変更するよう警告付きで文書化されたため、オペレーターが誤ってデフォルト管理者認証情報を配布することがなくなりました。
修正
- LLM アクセスが静止期間後に失敗しなくなりました。 共有 HTTP コネクションプールはスタートアップ時に一度インストールされ、すべてのモデル呼び出しで再利用されていました。システムがアイドル状態になると、基盤となるクライアントがアプリの下から閉じられる可能性があり、その後すべての LLM 呼び出しがコネクションエラーで失敗し、サービスが再起動されるまで復旧しませんでした。プールは各呼び出しの前に再検証され、透過的に再作成されるようになったため、サービスは再起動なしで自動的に復旧します。
- チャットでメッセージを送信する際、スタールの代わりに即座にストリーミングされるようになりました。 以前は、送信するたびに回答が開始される前に会話履歴の完全な再読み込みでブロックされていたため、長いチャットは一瞬フリーズしたように感じられ、毎ターン全体のトランスクリプトを再取得していました。完了したターンは背景でhistoryに折り込まれるようになったため、送信は即座にストリーミングされ、冗長な再読み込みをスキップします。
- 拡張思考が新しい Anthropic モデル(Opus 4.6+、Sonnet 4.6、Fable 5)で動作するようになりました。 これらのモデルは古い固定予算の思考パラメータを削除しました——Opus 4.7/4.8 と Fable 5 は 400 で拒否します——そのため、推論努力を設定するとエラーが発生するか、何もしませんでした。これらのモデルに対して適応的思考プロトコルを送信し、受け入れなくなったサンプリングパラメータをドロップするようになったため、推論努力が正しく有効になります。適応的思考を使用しているが、汎用 OpenAI 互換プロキシ経由で接続されているモデル(思考を有効にできない場所)は、静かに失敗する代わりに明確な警告をログに記録するようになりました——Anthropic プロバイダーとして設定して思考を有効にしてください。
- 強制ログアウトが PostgreSQL で正しくタイムスタンプを比較するようになりました。 セッション無効化チェックは、保存された無効化時間が素朴な UTC であると想定し、それを強制していました。これにより、PostgreSQL が返す可能性のあるタイムゾーン対応の非 UTC 値に対する比較が静かに破損していました。タイムスタンプは上書きではなく変換によって UTC に正規化されるようになったため、失効したトークンはすべてのバックエンドで確実に拒否されます。
- 実行フックがクラッシュ時に閉じた状態で失敗するようになりました。 例外を発生させた
PRE_TOOL_USEフック(例:承認ゲート)は以前allow=Trueを返していたため、ブロックされたツール呼び出しは進行していました——クラッシュしたゲートは静かにバイパスになっていました。PRE フックはエラー時にデフォルトで拒否するようになりました。非実行フック(レート制限、ロガー)は新しいfail_openフラグ経由で古い fail-open 動作を保持します。 - エージェント回答が推論の結論をドロップしなくなりました。 推論モデルが既に最終回答を生成していた場合、パイプラインは 2 番目の損失のある合成呼び出しを行い、モデル自身の結論を破棄する可能性がありました——推論の詳細は、会話が圧縮されたり、コンテキスト制限から保護されたり、マルチステップ計画を通じてルーティングされたりするときにさらに失われました。ループは本物の最終回答を逐語的にストリーミングするようになり、推論は圧縮、コンテキスト再構築、サブエージェントステップを通じて実行されるため、表示される回答は、薄められた言い換えではなく、思考の完全なチェーンを反映します。
[v0.8.7] - 2026-06-10
セキュリティ
- 二要素認証のバイパスを修正しました。 API と chat/SSE 認証は、正規のアクセストークン(SSE ストリーミングは短命のチケットも受け入れます)を必須にしました。2FA 一時トークン、リフレッシュトークン、バインド/SSE チケット——すべて同じキーで署名されています——は認証に再利用できなくなったため、盗まれたパスワードだけでは二要素認証をスキップできなくなりました。
- OAuth ログインは、未検証のメールアドレスで既存アカウントに自動リンクされなくなりました。 サードパーティアカウントは、プロバイダーがメールアドレスを検証済みとしてマークした場合にのみ、ローカルアカウントとメールアドレスでマッチングされるため、攻撃者が管理する未検証のアドレスを使用した乗っ取りが防止されます。
追加
file_ops.apply_patch— V4A形式のdiffパッチをファイルに適用。 エージェントが行ベースのハンクとファジーホワイトスペースマッチングを使用した複数行編集を実行できます。既存のfind_replaceを補完し、完全な部分文字列マッチが脆弱な場合に対応します。- 入出力検証のためのコンテンツガードレール。 新しい
core/agent/guardrailレイヤーが既存のツール権限ゲートとセキュリティチェックと並行して(置き換えではなく)実行されます。入力ガードレール(デフォルト:ジェイルブレイクフレーズ検出器)はLLM呼び出しの前に実行され、トリガーされた場合はターンを中止してトークンを節約し、チャットに明確な「ブロック」通知を表示します。出力ガードレールは最終回答の後に実行されます。FIM_GUARDRAILS_INPUT/FIM_GUARDRAILS_OUTPUT環境変数で設定可能です。エージェント単位のUI設定は今後のリリースで提供予定です。
Changed
/settings?tab=billingがフルウィドスで表示され、Settings タブの他の部分と視覚的に一貫性を持つようになりました。max-w-4xlの幅制限と冗長な外側のスクロールコンテナを削除し、ページタイトルアイコンを削除しました。プラン / 使用状況 / サブスクリプション / プラン比較カードを、Usage タブと同じシンプルなボーダー付き div パターン(コンパクトなラベル +tabular-nums数字)を使用するように書き直しました。以前のレイアウトは、Settings フレームに誤って挿入されたスタンドアロンページのように見えていました。
修复
- Token 配额现在在您的账单日期重置,而不是每月 1 日。 使用情况始终按日历月计算,无论您何时订阅,因此付费用户可能在 20 日被收费,却要等到 1 日才能获得新配额——在月底开始的订阅实际上会在几天后获得第二个完整配额。配额现在在每个订阅的月度周年纪念日重置(免费用户仍按日历月重置)。按年计费的计划现在每月正确补充,而不是每年一次。“计划与账单”选项卡、“使用情况”卡片和超配额对话框现在都在同一时间窗口内测量使用情况并显示重置日期,因此显示的”本期使用情况”与聊天实际停止您的时间点相匹配。
- 订阅续期现在推进账单周期。 在自动续期时,显示的周期结束日期在 Stripe 已收费并推进订阅的情况下仍保持冻结在前一个周期——续期处理程序仅从发票负载中读取新周期,其中该信息不可靠。现在它从 Stripe 检索权威的周期边界,因此周期结束日期(和配额重置)在每次续期时向前移动。这也消除了一个潜在风险,即取消此类订阅可能会立即降级账户,而不是在真正的周期结束时。
- 原始工具调用协议不再泄露到智能体答案中。 当模型即兴创作工具调用作为纯文本时(例如发出
<tool_call>/<tool_response>块——当它尝试使用不可用的工具时很常见),该文本——包括其中的任何 base64/文件转储——可能会逐字出现在回复中。所有答案路径现在都会剥离此伪协议,解析器还会将{"name","arguments"}方言识别为真正的工具调用,而不是泄露它。 - 智能体轮次期间间歇性的
APIConnectionError: Connection error突发。 共享 HTTP 连接池为空闲的保活连接保留长达 30 秒;当上游中继或 NAT 无声地回收空闲连接时,下一个请求重用半死的套接字并失败。保活过期现在默认为短 5 秒(轮次内的热连接仍被重用),池可通过LLM_HTTP_MAX_CONNECTIONS/LLM_HTTP_MAX_KEEPALIVE/LLM_HTTP_KEEPALIVE_EXPIRY调整——设置LLM_HTTP_MAX_KEEPALIVE=0以在不可靠的上游后面完全禁用连接重用。 - API 密钥使用统计(
total_requests、last_used_at)现在在每个请求时持久化。 以前增量是在请求的数据库会话中写入的,该会话仅由执行自己写入的端点提交——因此只读 API 密钥调用(仪表板、文件、模型、导出……)无声地回滚计数器。使用情况现在记录在独立的自提交会话上,与请求成功解耦。
[v0.8.6] - 2026-05-08
追加
- Stripe 請求 — Pro プラン サブスクリプション。
/settings?tab=billingの新しいPlan & Billingタブに、現在のプラン、月次トークン使用量、期間リセット、およびUpgrade to Pro(Stripe Checkout)またはManage subscription(Customer Portal)が表示されます。チェックアウト成功時に購入したプランを表示するコンフェッティモーダルが開き、リダイレクトパラメータは却下後にのみ削除されるため、更新時に再トリガーされません。クォータ強制は各ユーザーのプランを尊重します。キャンセルされたサブスクリプションは有料期間が終了するまで Pro に留まります。ストリーム中の 402 クォータダイアログは請求タブに移動します。管理者は Admin Panel → Billing でプランを管理し、サブスクリプションを参照できます。Pro は現在 Stripe テストモード 価格を使用しています。本番環境への切り替えは価格 ID を置き換えます。 - 管理者制御の請求機能フラグ。 Admin → System Settings の
Enable Stripe Billingトグルは、ユーザー向け/api/billing/*、Stripe ウェブフック、管理者プラン/サブスクリプション CRUD、フロントエンド請求タブ + 管理者ナビゲーションを含む Stripe パイプライン全体をゲートします。オフの場合、すべて非表示または 503 になります。最初の有効化は Free + Pro をシードし、default_plan_idポインタを設定し、users.plan_idをバックフィルします。その後のオン/オフは純粋なフラグ切り替えです。Stripe 認証情報のないプライベートデプロイメントはクリーンなままです。請求がオフの場合、クォータチェーンは管理者が設定したDefault Monthly Token Quotaにフォールバックします。 - ユーザーごとの無制限クォータ + Registered 列。 空のクォータフィールドはグローバルリミットを継承します。
0は無制限を付与します。以前は両方が同じ状態に折りたたまれていました。ユーザーテーブルには Registered 列も追加されます。 - 非英語ドキュメント(
zh/ja/ko/de/fr)は完全な API Reference および Channels Configuration セクションを表示するようになりました —EndpointsグループとConfiguration > Channelsサブグループは以前は英語のみでした。
Changed
Plan & Billingは Settings タブであり、スタンドアロンページではありません。/settings/billingを/settings?tab=billingに戻し、ユーザーがプランを切り替える際に左ナビゲーションが表示されたままになるようにしました(GitHub / Linear / Notion と同じ)。スタンドアロンルートはリダイレクトされるため、古いブックマークと以前のデプロイの Stripe Checkout リターン URL は引き続き機能します。SubscriptionsタブはMarketplaceに名前変更され、プランサブスクリプションとの区別が明確になりました。- Free プランのクォータは admin Plans ページで読み取り専用です。 System Settings → Default Monthly Token Quota から取得され、そこでの編集は自動的に反映されます。バックエンドは Free プランの
monthly_token_quotaに対する PATCH を暗黙的に無視します。 - トークンクォータは、課金ページ、プランカード、admin Plans テーブル全体で
5M/100Kとして表示されます(5,000,000の代わりに)。Admin INPUT フィールドは引き続き生の数値を受け入れます。 - 翻訳の権限がロケール別ファイルから単一の用語集にシフトしました。 ルールは
scripts/translation-glossary.mdに存在し、すべての LLM 翻訳呼び出し(JSON、MDX、README)に読み込まれます。pre-commit フックは生成されたロケールファイルへの手動編集を無条件に拒否します。誤訳を修正するには、用語集を編集し、--forceで再生成してください。 - ライセンサーと準拠法。 FIM One Source Available License は現在 FIM Labs Pte. Ltd.(シンガポール)により付与されます。準拠法は中華人民共和国からシンガポールに移行し、紛争は SIAC 仲裁(シンガポール、仲裁人 1 名、英語)に移行します。新しいトップレベルの
NOTICEファイルは、R&D 帰属、商標、およびサードパーティコンポーネントポリシーを記録します。許可された使用または制限条件に変更はありません。
修复
- 管理员对智能体、连接器、知识库和 MCP 服务器的批准/拒绝操作不再在 PostgreSQL 上失败。 发布审核
reviewed_at列现已支持时区,因此批准写入在 PG 上成功(该 bug 在 SQLite 开发数据库上不可见)。 - OAuth 用户可以再次刷新会话。 OAuth 颁发的刷新令牌以刷新端点无法匹配的形式存储,导致访问令牌过期后需要重新登录;现在它以与其他路径相同的摘要形式存储。
- 浏览器标签页标题现在反映
/settings和/admin中的活跃子标签页(例如Settings · Billing — FIM One),因此多个固定标签页可以区分。 - 使用情况页面在管理员设置默认令牌配额时不再报告”无限制” — 它现在通过统一配额链解析(按用户覆盖 → 计划层级 → 系统默认值)。
- 智能体设置:绑定资源在进入时不再闪烁显示”(已删除)”。 孤立徽章在库存获取稳定后才呈现。
- Toast 通知现在遵循浅色/深色主题,而不是硬编码为深色。
- 按智能体的使用情况分解不再为与已删除智能体关联的对话重复”直接聊天”行。
- 自托管
./deploy.sh不再因container name already in use而失败 — 在docker compose up前清理哈希前缀的僵尸容器和 DooD 沙箱子进程。 - 推送后不再出现冗余的
chore(i18n): sync translations提交 — 预提交翻译钩子现在将.translation-cache.json与翻译文件一起暂存。 - 当需要确认的工具在未绑定智能体的会话中运行时,智能体聊天不再崩溃 — 当没有智能体可路由时,闸门优雅地退出。
- 在严格交替提供商(Claude)上重试不再因历史记录中来自已停止轮次的孤立用户消息而失败 — 相同角色的连续消息在分发前折叠为单个轮次。
- 演练场重试在流前窗口期间不再短暂显示两次查询。
- ReAct 智能体现在在操作员拒绝批准请求后确认并停止,而不是重试改写的工具调用。
- 演练场”建议后续问题”返回并现在是按智能体选择加入(默认关闭;智能体设置中新增
Follow-up Suggestions切换)。
[v0.8.5] - 2026-04-23
Added
-
貢献者向けi18n ワークフロー: 貢献者は英語ソースファイルに触れるPRを送信するために
LLM_API_KEYを設定する必要がなくなりました。ローカルのpre-commitの翻訳ステップがスキップされた場合(キーなし)、新しい.github/workflows/i18n-sync.ymlワークフローがPRマージ後にmasterで EN → ZH/JA/KO/DE/FR に翻訳し、自動コミットします。pre-commitフックは生成されたロケールファイルへの手動編集を拒否するようになりました(正当な翻訳修正のためのALLOW_LOCALE_EDIT=1オーバーライド付き)。これにより、英語ソースと翻訳出力の間の暗黙的なドリフトを防ぎます。 -
i18n CI フォールバック エンドツーエンド検証: スモークテストプッシュ(英語のみ、ローカル翻訳フック スキップ)により、GitHub Actionsワークフローが変更されたソースを検出し、5つのロケールすべてに翻訳し、再帰を防ぐために
[skip ci]を付けてmasterに自動コミットすることが確認されました。 - Exa統合ドキュメントページ: サイドバーに専用の統合セクションがあり、最初のクラスのExaページでは、完全なExa検索サーフェス(neural / fast / deep-reasoning / instant)、フィルタリング、コンテンツ取得、およびニュース監視、研究論文取得、深い推論エージェント向けの3つのチューニングされたプリセットをカバーしています。Exa統合ディレクトリのパートナー向けランディングページとして機能します。
-
信創(Xinchuang)データベースサポート: Database Connectorは、PostgreSQL/MySQLと並んでKingbaseES(人大金仓)、HighGo(瀚高)、DM8(达梦)をリストするようになりました。KingbaseESとHighGoはPG互換で、追加の依存関係なしに
asyncpgを再利用します。DM8は公式のdmPythonベンダーホイールを使用します。スタンドアロンのscripts/test_xinchuang_dbs.pyにより、オペレーターはCLIからライブ接続を検証できます。 -
Feishuチャネル + 確認闸門(IM経由): 新しい
Channelリソースタイプ(組織スコープ、認証情報は保存時に暗号化)により、組織はFeishuアプリを接続して送信メッセージングを行うことができます。requires_confirmation=Trueでフラグが立てられたツールは、ポータルの確認ダイアログのみを表示するのではなく、設定されたFeishuグループに承認/却下のインタラクティブカードを送信するようになりました。グループの任意の認可されたメンバーがFeishuから直接承認または却下できます。Settings → Channels管理UI(リスト、ダーティ状態保護付きの作成/編集、コピー可能なコールバックURLを含む詳細、テスト送信)、CRUD API(/api/channels)、署名検証とURLチャレンジサポート付きのFeishuイベントコールバックエンドポイント(/api/channels/{id}/callback)をカバーします。v0.9 IM Channel Integration ロードマップアイテムの最初のステップで、2026-04-24ロードショーより前にリリースされます。 -
Agent Hook System(スケルトン):
src/fim_one/core/hooks/の新しいPreToolUseHook/PostToolUseHook抽象化により、決定論的ロジックがLLMループの外で実行できます。FeishuGateHookが最初の具体的な実装で、確認闸門フローに接続されています。完全なフックライフサイクル + ユーザー定義YAMLフックはv0.9スコープのままです。 -
Hook Systemは現在ReAct およびDAGランタイムで稼働中:
model_config_jsonでhooks.class_hooksを宣言するエージェントは、すべてのチャットセッションでそれらのフックがインスタンス化および登録されます。最初のコンシューマー —FeishuGateHook— は、エージェントがrequires_confirmation=Trueでフラグが立てられたコネクタアクションを持つツールを呼び出すときに自動的に発火し、組織のFeishuグループに承認/却下カードをポストし、ツールをブロックし、判定に基づいて再開または中止します。以前は、フック抽象化が実装されていましたが、Webレイヤーの何もそれをライブチャットに接続していませんでした。 -
Channelsおよび Hook System アーキテクチャドキュメント: 新しい
docs/architecture/hook-system.mdxは3つのフックポイント、フックがLLMループの外で実行される理由、およびFeishuGateHookをエンドツーエンドで説明しています。既存のアーキテクチャページ(system-overview、organization、react-engine、philosophy)はそれにクロスリンクしています。READMEはMessaging Channelsをv0.8の最初のクラスの機能としてリストし、Application Layerダイアグラムには、Portal/API/iframeと並んでIM ターゲットが含まれます。 -
Hook Approval Playground: Channelsの詳細シートに「Test Approval Flow」アクションが追加され、機密ツール呼び出しをシミュレートし、リンクされたFeishuグループに実際の確認カードをプッシュし、レビュアーの決定をライブでポーリングします。既存のプレビューボタンとは異なり、これは完全な本番パスを実行します(本物の
ConfirmationRequest行、実際のFeishuコールバック、ステータス遷移)。デモと本番前のリハーサルは、本番フックが使用するのと同じコードパスを使用します。 - エージェント単位のタスク完了通知: エージェントは、長時間実行されるReActまたはDAGタスクが完了したときに、組織のチャネル(現在Feishu)にサマリーカードをプッシュできるようになりました。Settings → Agent → Notificationsでエージェント単位で設定可能です。汎用送信通知パターンの最初のコンシューマーです。
-
設定可能な確認闸門 — インラインまたはチャネル: すべてのエージェントは、Settings内に「Approval」セクションを持つようになりました。3つのルーティングモード(Auto / Inline only / Channel only)、承認者スコープセレクター(initiator / agent owner / anyone in the org)、「すべてのツール呼び出しに確認を要求」オーバーライド、および明示的な承認チャネルピッカーがあります。Autoモードは、リンクされたチャネルが存在する場合はそれを使用し、チャットストリーム内のインライン承認カードに適切にフォールバックします。したがって、チャネルを持たないエージェントは、サイレント失敗する代わりに実際の承認UXを取得します。新しい
POST /api/confirmations/{id}/respondエンドポイントはFeishuウェブフックと単一の決定記録パスを共有するため、チャットでクリックされたか、Feishuグループでクリックされたかに関わらず、すべての承認は同じapprover_user_idおよびdecided_at監査フィールドをスタンプします。
Changed
- Playground のローディングインジケーターが、8秒後に疑似的な最大幅で固まる見た目の悪いプログレスバーの代わりに、微妙なテキストシマーを使用するようになりました。既存の2つのシマー実装(
.shiny-textと.text-shimmer)を、オプションのウォームプリセット付きの単一のテーマ対応プリミティブに統合しました。 - Connector カードに、connector が
allow_fallbackを無効にしている場合に「Private default」バッジ(ツールチップ付き)が表示されるようになり、所有者は一目で、どのコネクターがすべてのユーザーに独自の認証情報を用意させる必要があるかを判断できるようになりました。connector 設定フォームの Allow-Fallback トグルの下のヘルプテキストも、このフラグが他のユーザーとの共有のみをゲートすることを明確にしており、所有者は常に自分のデフォルト認証情報を使用できます。
修复
- 连接器所有者使用
allow_fallback=false且仅有默认凭证(无按用户凭证)发起的连接器调用不再返回 401”需要身份验证”错误。所有者现已豁免于回退闸门——该标志仅控制其他用户是否可以借用所有者的默认凭证。之前所有者自己的智能体在无声地发送未认证请求,同样的问题也影响了工作流connector_action节点。 - 对话导出现在为自动路由的 DAG 对话显示正确的模式标签(“Planner”/“规划”),而不是始终显示”Standard”。
- 导出时间戳现在遵循用户配置的时区,而不是显示原始 UTC。
- 上传的文件内容不再泄露到导出的对话中;仅包含用户的消息文本。
- 当提供商为每个流式工具调用增量重复使用
index=0时,并行工具调用不再发生碰撞;聚合器现在通过 id 或名称变化检测边界,并将后续增量重新映射到正确的槽位。 - 设置 → 通道现在反映当前用户的组织角色:成员(非管理员/所有者)看到禁用的”新建通道”按钮、隐藏的编辑/启用-禁用/删除操作、只读横幅和权限感知的空状态——而不是提交时失败并显示”需要组织管理员访问权限”的启用 CTA。
- 会话过期重定向现在保留查询字符串,因此用户在重新身份验证后会回到他们正在查看的确切标签/筛选器,而不是裸路径。
- Feishu 通道表单不再在与分层在对话框上方的聊天选择器交互时显示虚假的”放弃未保存的更改”提示。
- Feishu 通道设置提示在 UI 本身已是中文时不再重复中文标签(例如之前渲染为”事件与回调(事件与回调)”)。
- 架构管理器中的”全部标注”不再返回 500 内部服务器错误——完整标注后端路径存在未绑定变量错误,阻止了每次调用。
- 编辑数据库连接器现在在密码字段中显示
********占位符,而不是三个项目符号掩码文本,使得留空字段以保留存储密码的意图显而易见。 - 更新连接器操作不再折叠详情面板——编辑的操作保持选中状态,以便用户可以继续迭代。
- AI 连接器编辑器现在区分成功、部分失败和完全失败,而不是对所有三种情况显示相同的”已完成”消息。失败原因内联显示,以便用户可以看到实际出错的地方。
- AI 连接器编辑器不再能够一次性无声地清除多个操作。批量删除(>2 个操作)现在需要用户指令中的显式破坏性关键字(“rebuild”、“全部重建”、“wipe” 等);否则操作被拒绝并显示清晰的错误,保护
requires_confirmation/ JMESPath 设置免受意外丢失。 - 门户聊天中的确认卡片现在显示请求是否被路由到通道(例如 Feishu)或内联处理,以及关于谁被允许批准的人类可读提示(发起者、智能体所有者或任何组织成员)。通道路由的请求还会生成内联待处理卡片,以便用户不会想知道通知是否真的被发送了。
- Feishu 批准卡片在第一次决定后变为只读:
/callbackwebhook 返回替换卡片,其中批准/拒绝按钮被移除,标题着色为绿色(已批准)或红色(已拒绝),防止重复点击。来自过时 Feishu 客户端的仍然到达的重复点击会收到”此请求已被批准/拒绝。“提示和一份新的已决定卡片副本,以便过时的视图赶上。 - 恢复了通道行和详情表上的纯”发送测试消息”操作。批准演练场执行完整的钩子往返,但仅通知通道(未连接批准钩子)仍需要快速凭证/连接性健全性检查,纯测试发送涵盖了这一点。
- 对同一 Feishu 批准卡片的并发点击不再都能成功。
/callback处理器现在通过条件UPDATE ... WHERE status='pending'翻转ConfirmationRequest状态,并使用受影响的行数来决定哪个调用者”赢”;之前两个并行请求都可能读取pending并竞争写入,可能导致同一行上批准后拒绝。 - 待处理的批准请求现在在
CHANNEL_CONFIRMATION_TTL_MINUTES(默认 24 小时)后通过后台清理器自动过期。防止数天后的过时点击翻转已被拆除的智能体状态;对过期卡片的下一次点击会收到灰色”已过期”已决定卡片和”不再活跃”提示。 - 发送测试消息现在传递纯文本通知(无批准/拒绝按钮)并仅存在于通道详情表中——不在行下拉菜单中。不打算使用批准钩子的用户不会被”测试”消息上的交互按钮混淆。批准往返测试仍可通过批准演练场按钮获得。
- 通道详情表紧凑化:“如何完成设置”现在是默认折叠的可折叠部分(因此对于已配置的通道不会主导表),外部填充减少了,使内容更靠近表边缘。
- Builder AI 不再将掩码(
****)凭证报告为缺失——它现在将其识别为已配置并跳过虚假的”凭证缺失”指导。 - 演练场智能体列表现在显示所有可访问的智能体,而不仅仅是已发布的智能体,因此草稿智能体可以在不发布的情况下进行测试。
- 聊天图像上传不再在格式错误的
data:URL 上崩溃流——MIME 提取器现在安全地回退到application/octet-stream,而不是在生成中途引发 IndexError。 - 演练场图像缩略图现在在卸载时通过
AbortController取消在途获取,避免过时的 blob-URL 分配和快速导航期间浪费的带宽。
[v0.8.4] - 2026-04-17
追加
- 会話の復旧:中断されたターン後、合成された tool_result 行が永続化され、クライアントは
POST /chat/resume経由で最後に確認したカーソルを使用して切断された SSE ストリームを再開できます。 - Playground は
/chat/resumeエンドポイントを使用して切断された SSE ストリームを自動的に再接続し、指数バックオフ(最大 3 回の試行)を適用します。復旧中に「Reconnecting…」インジケーターを表示します。 - プロンプトキャッシュの可観測性:
cache_read_input_tokensとcache_creation_input_tokensが LLM レスポンスからキャプチャされ、TurnProfilerでターンごとに集計され、turn_cacheサマリー行(読み取り/作成トークン + 推定節約量)としてログに記録され、チャットのdone_payloadの新しいcacheフィールドに表示されます。Anthropic プロンプトキャッシュが実際にヒットしていることを検証でき、API リレーステーションがキャッシュ割引を適用しているかどうかの検出器としても機能します。
変更
- システムプロンプトは、Anthropicプロンプトキャッシング機能を備えたメモ化されたセクションレジストリを使用するようになりました。安定したプレフィックスにブレークポイントを設定することで、Claudeモデルのキャッシュされたプレフィックスに対するターンあたりのトークンコストが約60~80%削減されます。ReAct JSONモード、ネイティブ関数呼び出しモード、および合成は、キャッシュ対応プロバイダー(Claude、Bedrock Anthropic、Vertex Claude)に対して2つのシステムメッセージを発行し、その他すべてのプロバイダーに対しては単一の連結メッセージにフォールバックします。
修正
- 思考/推論トークンが複数ターンの会話全体で保持されるようになりました — Anthropic の
signatureフィールドが API 要件に従ってキャプチャおよび再生されます。 - プロバイダー対応の推論再生ポリシー:
reasoning_content(DeepSeek-R1、Qwen QwQ、Gemini thinking、OpenAI o-series から)は、後続のターンで非 Anthropic プロバイダーに再生されなくなりました。以前は、このフィールドがChatMessage.to_openai_dict()で無条件にシリアライズされていたため、プロバイダーのドキュメント(DeepSeek と Qwen は両方とも「メッセージ履歴にreasoning_contentを送り返さないでください」と明示的に記載)に違反し、複数ターンの交換のたびに自動プレフィックス / KV キャッシュを静かに無効化していました。ポリシーはcore/prompt/reasoning.pyに一元化されています — Claude ファミリー(Bedrock および Vertex プロキシを含む)は、必要に応じてシグネチャ付きの思考ブロックを引き続き再生します。
[v0.8.3] - 2026-04-16
追加
-
convert_to_markdown組み込みツール — Microsoft の MarkItDown を使用して、任意のファイル、URL、YouTube リンク、またはデータ URI をクリーンな Markdown に変換する新しい汎用エージェントツール。PDF、Word(.docx)、Excel(.xlsx/.xls)、PowerPoint(.pptx)、HTML、JSON、CSV、XML、ZIP、EPUB、Outlook .msg、画像、音声(音声→テキスト)、YouTube トランスクリプトに対応。すべてのエージェントでデフォルトで利用可能 —web_fetchと同じレベル。ビジョン対応 LLM が設定されている場合、埋め込み画像とスキャン済み PDF ページは公式のmarkitdown-ocrプラグイン経由で自動的に OCR されます。以前はこの機能は背景の RAG 取り込みパイプライン内に隠されていました。エージェントはインタラクティブな会話パス上でこれを利用できるようになりました。 -
markitdown-ocr経由のドキュメント OCR — DOCX / XLSX / PPTX 内の埋め込み画像とスキャン済み PDF ページは、FIM One の残りの部分がルーティングするのと同じビジョン対応 LLM を使用して OCR されるようになりました。組み込みのconvert_to_markdownツールと RAG 取り込みパイプラインの両方に適用されるため、チャット時の変換とナレッジベース取り込みは同じ入力に対してバイト単位で同一の Markdown を生成します。 -
ドキュメント OCR 用のユニバーサルビジョンプロバイダーサポート — 新しい
LiteLLMOpenAIShimダックタイプは、任意の FIM OneOpenAICompatibleLLMを openai SDK の.chat.completions.create(...)API 形状でラップし、litellm.completion()経由でディスパッチします。MarkItDown(openai SDK サーフェスをハードコードしている)は Anthropic Claude、Google Gemini、Azure、Bedrock、および LiteLLM がサポートするその他のプロバイダーを利用できるようになりました — FIM One 内のプロバイダー固有のアダプターコードは不要です。 - ビジョン対応 RAG 取り込み — Office ドキュメントとスキャン済み PDF のナレッジベースアップロードは、ワークスペースのデフォルトビジョン LLM(DB ファースト、ENV フォールバック)を解決し、取り込み中に OCR 用に MarkItDown に渡すようになりました。ゼロリグレッション:ビジョン対応モデルが利用できない場合、取り込みはサイレントにテキストのみモードにフォールバックします — 機能前の動作とまったく同じです。
-
拡張 MarkItDown フォーマットカバレッジ — RAG は MarkItDown の音声トランスクリプションと Outlook エクストラ経由で
.pdf、.msg(Outlook)、.epub、.mp3、.wav、.m4aをネイティブに取り込むようになりました。YouTube URL はmarkitdown[youtube-transcription]経由でconvert_to_markdownを通じてフローします。 -
LLM_SUPPORTS_VISION環境変数 — ENV モードのドキュメント OCR フォールバック用のオプションのオプトアウト(=false)。デフォルト動作は楽観的(true)で、一般的な ENV セットアップ(gpt-4o、claude-3-5-sonnet、gemini-1.5-pro/flash)をカバーします。ENV で設定されたLLM_MODELがビジョンをサポートしない場合(例:deepseek-v3、qwen-chat、llama-3.1、gpt-3.5-turbo、o1-mini)のみfalseに設定して、ドキュメントアップロードのたびに失敗するビジョン呼び出しをスキップします。管理者がキュレーションした ModelGroup がアクティブな場合は完全に無視されます — DB モードが利用可能な場合は常に真実のソースです。 -
ターンレベルプロファイラー — 各 ReAct ターンは、フェーズレベルのタイミング(
memory_load、compact、tool_schema_build、llm_first_token、llm_total、tool_exec)をターンごとに単一の構造化ログ行で記録するようになりました。REACT_TURN_PROFILE_ENABLED経由でトグル可能(デフォルト:オン;ゼロオーバーヘッドのノーオプの場合はfalseに設定)。 -
構造化コンパクトワークカード — 会話圧縮は、独自の 9 セクション Markdown 出力を型付き
WorkCardに解析し、新しいコンパクトを前のものにマージするようになりました。これにより、長いセッション全体でのエラーと保留中のタスクは、複数の圧縮ラウンド全体で生き残り、最初からやり直して再要約されるのではなく保持されます。
変更
- ユーザーごとのレート制限 — LLM層のレート制限機能が、プロセス全体で共有される単一のバケットではなく、ユーザーごとに個別のバケットを保持するようになりました。1人のノイズの多いユーザーが同じワーカー上の他のすべてのユーザーをスロットルするのを防ぎます。
LLM_RATE_LIMIT_PER_USERで切り替え可能です(デフォルト:有効)。
修正
- ダングリングtool_use復旧 — ユーザーStop、SSE切断、クラッシュなどでツール実行中に中断されたConversationは、以前は
tool_useブロックを持つアシスタントメッセージと対応するtool_resultがない状態のままになり、次のターンでLLM APIから不透明なHTTP 400エラーが発生していました。DbMemory.get_messages()は、読み取りパスでこれらのダングリングブロックを検出し、合成された[interrupted]tool_resultで修復するようになりました。生のDBログは変更されません。 - 空のコンテンツを持つアシスタントメッセージとtool_callsが削除されなくなった — DbMemoryの読み込みパスフィルターは、以前は空のテキストコンテンツを持つアシスタント行を暗黙的に破棄していました。ネイティブ関数呼び出し中間体(テキストなしで
tool_callsのみを持つ)が削除されていました。フィルターは、空のコンテンツとtool_callsがないの両方を要求するようになりました。
[v0.8.2] - 2026-04-10
Added
- Intelligent Document Processing (Vision-Aware) — モデル機能に基づいた適応的なドキュメント処理。ターゲットLLMがビジョン機能をサポートしている場合(GPT-4o、Claude 3/4、Gemini)、PDFページは画像としてレンダリングされ、ビジョンコンテンツブロック経由で送信され、完全な視覚的忠実度を実現します。テキストのみのモデルはpdfplumberテキスト抽出にフォールバックします。ビジョンモードとテキストのみモードの2つのモード。
DOCUMENT_PROCESSING_MODE、DOCUMENT_VISION_DPI、DOCUMENT_VISION_MAX_PAGES環境変数で設定可能。管理画面でモデルごとのsupports_visionトグル。 - Document vision pipeline — チャットにアップロードされたDOCX、PPTX、PDFファイルに含まれる画像が抽出され、モデルでビジョンが有効な場合、LLMにビジョンコンテンツとして送信されます。
- Multi-turn vision persistence — アップロードされたドキュメントと画像からのビジョンコンテンツは会話ターン全体で保持され、モデルは会話全体を通じて視覚的コンテキストを保持します。
- Smart PDF processing — テキストが豊富なPDFページはテキストと埋め込み画像を別々に抽出し(トークンを節約)、スキャンまたは画像のみのページはフルページPNGとしてレンダリングされ、最大の忠実度を実現します。
- Pre-built sandbox image —
Dockerfile.sandboxに一般的なデータサイエンスパッケージ(pdfplumber、Pillow、pandas等)が含まれており、--network=noneコンテナでAIコード実行がすぐに機能します。 - Resource Fork completion — 5つのリソースタイプすべてがフォークをサポートするようになりました:Agent、Connector、Workflow、MCP Server、Skill。KB フォークは削除されました(本質的にユーザーローカル)。
Changed
- チャット応答の高速化 — SSE ストリームはエージェント完了直後に閉じられ、タイトル生成とフォローアップ提案は応答をブロックせずにバックグラウンドで実行されます。
- より効率的なコンテキスト圧縮 — 会話圧縮は構造化された9セクション形式を使用し、長いセッション全体で重要な情報(元のリクエスト、エラー、保留中のタスク)をより良く保持します。
- エージェントループの削減 — エージェントプロンプトにアンチループ命令を追加し、サイクル検出閾値を低下させて、重複する同一ツール呼び出しをより早く検出します。
- リクエスト起動の高速化 — LLM設定ルックアップとドメイン分類が並行実行され、リクエストあたりのオーバーヘッドが400~1100ms削減されます。
- 空のツール処理の改善 — 出力を返さないツールは、空の「(no output)」ではなく説明的なメッセージを生成し、無駄な再試行を防ぎます。
- 古いツール結果の自動クリーンアップ — 最新6件より古いツール結果は、コンテキスト圧縮前に自動的にクリアされ、会話を効率的に保ちます。
- ツール結果の集計予算 — ツール結果の総トークン数はセッションあたり40Kに制限され、予算を超えた場合は新しい結果が切り詰められ、大規模なAPI応答によるコンテキスト肥大化を防ぎます。
- コンテキストオーバーフロー自動復旧 — LLMがコンテキスト長オーバーフローのためにリクエストを拒否した場合、エージェントは会話全体をクラッシュさせるのではなく、自動的に50%に圧縮して再試行します。
- キーワードベースのツール選択 — クエリが名前または説明キーワードで特定のツールに明らかにマッチする場合、エージェントはLLMベースのツール選択呼び出しをスキップし、200~500msを節約します。
- LLM接続プーリング — すべてのLLM APIコールは最適化されたキープアライブ設定を備えた単一の接続プールを共有し、セッション全体の接続オーバーヘッドが削減されます。
- より効率的な完了チェック — 長い詳細な応答(200トークン以上)の場合、回答後の検証ステップはスキップされ、不要なLLMラウンドトリップが排除されます。
- プロバイダー障害時のモデルフォールバック — プライマリモデルが利用不可(レート制限、過負荷、またはダウン)の場合、エージェントは失敗するのではなく自動的に高速モデルで再試行します。
修正
- AIスマートボディの読み取り不可ファイルでの幻覚 — AIスマートボディがファイルを読み取れない場合(例:画像ベースのPDF)、以前は他の無関係なファイルを読み取り、そのコンテンツをターゲットファイルのものとして提示していました。システムプロンプトのファイル整合性ガードレールがこれを防ぐようになりました。
- アップロード用ファイルIDインジェクション — アップロードされたファイルにはメッセージコンテキストにUUID
file_idが含まれるようになり、スマートボディは推測することなくread_uploaded_fileで直接アクセスできます。 - 新しいモデル構造からのビジョントグル読み取り — モデル設定の
supports_visionフラグが ModelGroup/ModelProviderModel ORM構造から正しく読み取られていませんでした。修正されました。 - 読み取り不可ファイルの改善されたエラーメッセージ — ファイルが読み取れない場合、ツールは一般的なエラーではなく、特定のガイダンス(ファイルタイプ、ビジョン提案)を返すようになりました。
[v0.8.1] - 2026-03-29
追加
- タイムゾーン対応の管理者通知 — 管理者通知メールは、常にUTCを表示する代わりに、各受信者の設定されたタイムゾーンでイベント時刻を表示するようになりました。
- 段階的なデータベースツール開示 — 個別のテーブルごとのツールを置き換える、
list_tables/discover/queryサブコマンド付きの単一のdatabaseメタツール。DATABASE_TOOL_MODE環境変数で設定可能(デフォルトprogressive、フォールバックlegacy)。 - オンデマンドツール読み込み — 12個以上のツールが利用可能な場合、
request_toolsメタツールにより、エージェントは初期選択に限定されるのではなく、会話中に動的に追加ツールを読み込むことができます。 - 段階的なMCPツール開示 — 個別のサーバーごとのツールを置き換える、
discover/callサブコマンド付きの単一のmcpメタツール。MCP_TOOL_MODE環境変数で設定可能(デフォルトprogressive、フォールバックlegacy)。 - ターンごとのトークン予算サーキットブレーカー —
REACT_MAX_TURN_TOKENS環境変数は、暴走するエージェントループの緊急停止を提供します。デフォルト0(無制限)— 日次コスト管理にはユーザーごとのtoken_quotaを使用してください。 - モデルごとのネイティブ関数呼び出しトグル —
tool_choice_enabled設定(ENV + 管理者によるモデルごと)により、強制ツール選択を拒否するモデルはレベル1をスキップしてJSONモードに直接進むことができます。設定 → モデル → 詳細で設定可能。 - DAG品質の全面改善 — 5つの改善:非高速ステップの汎用モデルへのデフォルトモデルアップグレード、計画時のスキル自動検出、法務/医療/金融ドメイン向けの引用検証者、設定可能な切り詰め乗数を備えた構造化コンテンツコンテキスト保持、ルーターでのドメイン分類とドメイン対応モデル選択。
- ReActでのドメインモデルエスカレーション — 専門ドメイン(法務/医療/金融)は、必須のウェブ検索と引用検証を伴う推論モデルに自動エスカレートします。
- ファイル添付ダウンロード — チャットメッセージ内のファイルカードはクリック可能になり、元のファイルをダウンロードできます。
- 管理者通知マスタースイッチ — 管理者メール通知のグローバルオン/オフトグル(実行時SMTP検出付き)。SMTPが設定されていない場合は警告バナーを表示し、すべての通知コントロールを無効にします。
- SMTP Reply-Toヘッダー — 新しい
SMTP_REPLY_TO環境変数により、返信を送信者とは異なるアドレスに送信できます。 - リソースフォークフェーズ1(MCPサーバー + スキル) —
POST /api/mcp-servers/{id}/forkおよびPOST /api/skills/{id}/forkエンドポイントは、visibility=personalとforked_from系統追跡を備えたユーザー所有のディープコピーを作成します。MCPサーバーフォークでは暗号化されたenv/ヘッダーがスキップされ、スキルフォークでは公開ステータスがスキップされます。Alembicマイグレーションは両方のテーブルにforked_from列を追加します。41個のテスト。 - ワークフロー接続依存関係自動購読 —
DependencyAnalyzer._resolve_workflowは、サイクル検出(訪問済みセット)を伴うサブワークフロー依存関係を再帰的に解決するようになりました。エージェントおよびサブワークフローノードは、依存関係マニフェストのコンテンツ依存関係として正しく追加されます。不足しているリソースは適切に処理されます(ログ警告、失敗なし)。19個のテスト。 - プリビルトソリューションテンプレート(マーケットシードコンテンツ) — 8つの業界別ソリューションテンプレートが初回ユーザー登録時にべき等的にブートストラップされます:財務監査、契約レビュー、データレポート、IT ヘルプデスク、HR オンボーディング、営業アシスタント、コンテンツライター、会議要約。各テンプレートは、中国語のSOP付きのエージェント + スキルをバンドルしています。マーケット組織に公開されます(
visibility=org、publish_status=approved)ので、マーケットプレイスで即座に利用可能です。4個のテスト。 - ReActサイクル検出 — 繰り返される同一のツール呼び出しの決定論的検出。同じ引数での3回連続の呼び出し後に警告を挿入し、エージェントが失敗したツールでループするのを防ぎます。
REACT_CYCLE_DETECTION_THRESHOLDで設定可能。 - ReAct完了チェックリスト — ツールが使用された場合に最終回答を受け入れる前の1回限りの検証プロンプト。時期尚早または不完全な応答を削減します。エージェントインスタンスごとにトグル可能。
Changed
- 完了チェックリスト最小ツール閾値 — チェックリストはエージェントが3回以上のツール呼び出しを行った場合にのみ実行されるようになりました(
REACT_COMPLETION_CHECK_MIN_TOOLSで設定可能)。シンプルな1~2ツールタスクは不要なレイテンシを避けるため検証をスキップします。 - 動的システムプロンプト予算配分 — コンテキスト予算計算から固定の
SYSTEM_PROMPT_RESERVE(4Kトークン)を削除しました。ContextGuardはシステムプロンプトを動的に考慮し、各イテレーションで約4Kの追加利用可能コンテキストを提供します。 - 一元化されたツール切り詰め — すべてのツールタイプが共有モジュールへの切り詰めを委譲するようになりました。デフォルトは
TOOL_OUTPUT_MAX_CHARS、TOOL_OUTPUT_MAX_ITEMS、TOOL_OUTPUT_MAX_BYTES環境変数で設定可能です。 - ドメイン検出の分離 — ドメイン分類は各エンドポイントで独立して実行され、自動ルーティングにバンドルされなくなりました。ドメインSOP指示は、Webサーチを強制するのではなくガイドするようにソフト化されました。
AUTO_ROUTING環境変数を削除 — 自動エンドポイントは常にクエリを分類します。
修正
- 重複メッセージ送信 — チャット入力は同期ガードを使用して、急速なクリックで同じメッセージが複数回送信されるのを防ぐようになりました。
- 構造化出力デグラデーションチェーン — 3レベルのフォールバック(ネイティブ FC → JSON モード → プレーンテキスト)が全レベルを正しく通過するようになりました。
json_mode_enabledDB値が無視される — Admin経由で設定されたモデルは、環境変数に常にフォールバックするのではなく、モデルごとの設定を正しく使用するようになりました。- DAG計画失敗メッセージ — 生のパイプラインエラーの代わりに、ユーザーフレンドリーな二言語メッセージを表示するようになりました。
- MCP サーバーオーナーの allow_fallback バイパス — サーバーオーナーは
allow_fallback=Falseによってブロックされなくなりました。
[v0.8] - 2026-03-20
追加
- Marketplace再設計 Phase 1 — Solutions + Components — 2層Market モデル(Solutions: Agent/Skill/Workflow; Components: Connector/MCP Server)とスコープセレクタ(Global Market / org)。KB は Market スコープから削除。統一されたサブスクリプションモデル。
- Smart file content injection +
read_uploaded_filetool — 小さいアップロード(32K文字未満)は自動的に LLM コンテキストにインライン化;大きいファイルはメタデータ + tool ヒント。ページネーションと正規表現検索を備えたデュアルモード読み取りツール。GET /api/files/{file_id}/contentエンドポイント。 - Workflow Blueprint System — マルチステップ自動化用のビジュアルワークフローエディタ:25ノードタイプ(Start、End、LLM、ConditionBranch、QuestionClassifier、Agent、KnowledgeRetrieval、Connector、HTTPRequest、VariableAssign、TemplateTransform、CodeExecution、Iterator、Loop、VariableAggregator、ParameterExtractor、ListOperation、Transform、DocumentExtractor、QuestionUnderstanding、HumanIntervention、SubWorkflow、ENV など)、React Flow v12 エディタ(ドラッグ&ドロップパレット、自動レイアウト)、SSE リアルタイム実行、変数補間、条件/分類器ブランチング、ノード単位のエラー戦略、ノード単位のタイムアウト、インポート/エクスポート/複製、差分ビューア付きバージョン履歴、14個の組み込みテンプレート、306テスト。
- Workflow Triggers — タイムゾーン対応の Cron スケジューリング;ユーザー認証なしで外部実行用の公開 API キー(
wf_プレフィックス);バッチ実行(最大100入力セット、設定可能な並列処理)。 - Workflow Operations — リアルタイム実行ログビューア、変数スナップショット付きトレースビューア、キャンバス上の実行リプレイオーバーレイ、実行履歴エクスポート、日次トレンドとパーセンタイル付き分析ダッシュボード、ノード単位の統計パネル、お気に入り/ピン留め、インライン検証バッジ、キャンバスノード検索(
Cmd+F)、キーボードショートカット、グリッドスナップ。 - Workflow Admin + Templates — すべてのワークフロー用の管理タブ、管理者 CRUD と5つのシードテンプレート付き
WorkflowTemplateモデル、org レベルのレビューゲーティング付きパブリッシュフロー、外部参照用のインポート競合リゾルバー。 - Agent Skill System — オンデマンドスキル読み込み:CRUD/パブリッシュ/レビュー機能付き
Skillモデル、段階的開示用のread_skill(name)ツール(約80%のトークン削減)、エージェント単位のcompact_instructionsでカスタム ContextGuard 圧縮。フルスキル UI(リストページ、エディタ、エージェントスキルセレクタ)。 - ConnectorMetaTool(段階的開示 Phase 1-2) — 単一のメタツールがアクション単位のツールに置き換わり。システムプロンプトは軽量スタブ(約30トークン/コネクタ)を受け取り;エージェントはオンデマンドで
discover/executeを呼び出し。後方互換性用のCONNECTOR_TOOL_MODEフィーチャーフラグ。 - Connector インポート/エクスポート/フォーク — JSON エクスポート経由でコネクタテンプレートを共有、フォーク経由でクローンとカスタマイズ。バックエンドはエクスポート時に認証情報をサニタイズ。
- Connector 認証情報暗号化 + ユーザー単位のオーバーライド — Fernet 暗号化付き
connector_credentialsテーブル、allow_fallbackフラグ、GET/PUT/DELETE /my-credentialsエンドポイント。 - Publish レビュー UI — 承認/却下ワークフロー付き org レベルのレビューシステム、リソースカード上のステータスバッジ、パブリッシュダイアログ内のレビュー通知、却下されたリソースの再送信。
- Semantic schema annotations —
descriptionとpiiフラグ付き16個の定義済みセマンティックタグ(コネクタフィールド用)、LLM ツール説明に表示。 - Agent mid-loop self-reflection — ReAct で6イテレーション毎に注入されるゴールチェックプロンプト(長いチェーンでのドリフト防止)。
- Shadow Market org + リソースサブスクリプション — プルベースのリソース共有:marketplace 経由で発見されたリソースを明示的にサブスクライブ。参照/サブスクライブ/サブスクライブ解除用の Market API。
- Agent 自動発見 + サブエージェントバインディング —
discoverableフラグ +sub_agent_idsホワイトリスト + 1レベルの委譲用CallAgentTool。 - MCP server 認証情報 + ユーザー単位のオーバーライド — 認証情報フォールバック動作用の
allow_fallbackフラグ付きmcp_server_credentialsテーブル。 - Connector/KB トグル — 両方のリソースタイプ用の一時停止/再開エンドポイント。
- スタンドアロン KB 会話 — エージェントバインディングなしで直接 KB チャット用の会話上の
kb_idsフィールド。 - レビューログ監査タブ — システムログ/レビューログトグルと org/リソース単位でフィルタリング可能なレビュー履歴付き管理者監査ページ。
- Agent directive in synthesis —
agent_directiveパラメータは最終回答がエージェントのコア目的を尊重することを保証。
変更
- サブスクリプションベースの可視性モデル — 3段階から2段階(自分 → 購読済み)に簡略化。自動移行により既存のアクセスが保持されます。
- ツールキャッシュホワイトリスト — ブラックリストを廃止し、ツールの明示的な
cacheableプロパティに置き換え。11個の読み取り専用ツールがキャッシュ可能としてマーク。 - DAG エグゼキューター カスケード失敗 — 失敗したステップが依存関係のある処理をカスケードブロックし、推移的に伝播。
- DAG プランナーの改善 — プランナーのツール説明、全ラウンドにわたる完全な再計画履歴、14個のエンジン定数を環境変数としてパラメータ化。
- stream_answer 観測値の切り詰め — 2000文字から8000文字に増加(
REACT_TOOL_OBS_TRUNCATIONで設定可能)。 - エビデンス信頼度 UI — 琥珀色の警告カード、ホバーポップオーバー付き
[N]引用バッジ、並行比較表示の競合警告バナー。 - ワークフロー バージョン変更サマリー — バージョン保存時にブループリント差分から自動生成される人間が読める形式のサマリー。
- ワークフロー実行保持期間のクリーンアップ — 設定可能な期間/数制限を備えたバックグラウンドクリーンアップタスク。環境変数:
WORKFLOW_RUN_MAX_AGE_DAYS、WORKFLOW_RUN_MAX_PER_WORKFLOW。 - コネクター サーキットブレーカー — 3状態マシン(closed/open/half-open)、コネクターごとの障害追跡、監視エンドポイント。
- elkjs を軽量 BFS 自動レイアウトに置き換え —
/workflows/[id]バンドルが 473 kB から 43 kB に削減。
修正
- ワークフロー評価名前空間のフラット化 — ConditionBranchおよびVariableAssignにおける短い変数名解決を修正しました。
is_activeトグル時の再レビューなし —is_activeをトグルしても、publish_statusがapprovedからpending_reviewに戻らなくなりました。- 条件分岐のカスケードスキップ — スキップされたノードが発信エッジを正しく非アクティブ化するようになりました。
- 依存関係アナライザー —
skill_ids解決とケース非依存ノードタイプマッチングを修正しました。
削除
is_globalフィールドとすべてのグローバル可視性概念を削除——Market org + サブスクリプションに置き換え。- グローバルエージェント/MCPサーバー管理エンドポイントを削除。
[v0.7.5] - 2026-03-12
追加
- フリーモード切り替え — 会話中にAuto/React/DAGモード間を切り替え可能。
metadata.mode経由のターンごとのモード追跡。 - 3つのモデルロール — General、Fast、Reasoningティア向けの独立した環境設定。Fastモデルはメインモデル設定を継承しなくなりました。
- DAGエンジン改善 —
StepOutput構造化データ、非同期ロックスタンピード防止機能付きツールキャッシュ、再試行機能付きステップごとのLLM検証(DAG_STEP_VERIFICATION)、高速LLM分類経由の自動ルーティング(AUTO_ROUTING)。 - コネクタ認証情報暗号化 — 認証トークンを
connector_credentialsテーブルに抽出し、CREDENTIAL_ENCRYPTION_KEY経由のFernet暗号化を実装。ユーザーごとの認証情報オーバーライドエンドポイント。allow_fallbackフラグ。 - ModelConfig APIキー保存時暗号化 — 透過的な書き込み時暗号化/読み込み時復号化と後方互換性のあるプレーンテキスト検出。
Changed
- スケルトンスクリーン — すべてのリスト/グリッドページは、ロード中にスピナーの代わりにレイアウト対応のスケルトンを表示します。
修正
- 高速モデルがメインモデルから設定を継承しなくなりました。
- SSEルーティングイベントフィールド名がバックエンドと一致するようになりました。
[v0.7.4] - 2026-03-12
追加
- Evaluation Center — テストデータセット管理、LLM採点による並列評価実行、ケースごとの合格/不合格/レイテンシ/トークン結果ビューアと自動ポーリング機能。
- Admin: モデルごとの
json_mode_enabledフラグ — AWS Bedrock プリフィル問題を防ぐ明示的なトグル。ENV モデルはLLM_JSON_MODE_ENABLEDで制御。 - SSE Protocol v2 —
delta_reasoning、usageフィールドを備えたリアルタイムストリーミング、done/suggestions/title/endイベントの分割。 - AI Builder 拡張 — 7つの新しいビルダーツール、
is_builderフラグ、ビルダープロンプト自動更新、SSRF ガード。コネクタ管理用の完全な ReAct エージェントダイアログ。 - デュアルデータベース対応 — SQLite(ゼロコンフィグ)+ PostgreSQL(本番環境)。Docker Compose が PG をヘルスチェック付きで自動プロビジョニング。
- 拡張思考/推論 — OpenAI o-series、Gemini 2.5+、Claude 向けの
LLM_REASONING_EFFORTとLLM_REASONING_BUDGET_TOKENS。 - Admin: ツール無効化 — ツールごとの有効/無効トグル。無効なツールは実行時にチャットからフィルタリング。
- 設定: Organizations タブ — 設定から直接、組織の作成、参加、管理とメンバーロール管理が可能。
- Docker Compose デプロイメント — 単一イメージ、名前付きボリューム、スタンドアロン Next.js 出力。
- エクスポート: PDF 形式 — 会話を PDF ドキュメントとしてエクスポート可能。
- マルチワーカー対応 —
WORKERS=N環境変数、ワーカー間リレー用の Redis インタラプトブローカー。
Changed
- LLM layer: LiteLLM — 汎用プロバイダサポートのため、直接的な
AsyncOpenAIクライアントを置き換えました。 - 構造化出力の段階的低下 — 3段階の抽出(Native FC → JSON Mode → プレーンテキスト + regex)で
structured_llm_call()を統一しました。 - スマートリレールーティング — サードパーティリレープラットフォームのURLパターンからAPIプロトコルを自動検出します。
修正
- Docker サンドボックス (DooD) ボリュームマウントパスの翻訳。
- セキュリティ: サンドボックス AST ダンダー検証、MCP stdio デフォルト、SSRF DNS リバインディング、シェルメタ文字回避、コネクタテンプレートインジェクション。
- 管理ダッシュボード統計情報が PostgreSQL でクラッシュする問題。
- Docker: i18n ファイル検出、スタートアップレース条件、カスタムポート用 OAuth 自動検出。
- エクスポート: CJK 用 RFC 5987 ファイル名。
[v0.7.3] - 2026-03-06
追加
- グローバルMCPサーバー — 管理者がプロビジョニングし、すべてのチャットセッションで読み込まれます。
- 構造化監査ログ — 構造化列を備えた
write_audit()ヘルパー。
修正
- 招待コードの
registration_enabledフィールドのレガシー互換性。
[v0.7.2] - 2026-03-06
追加
- 招待制登録 — 3つのモード(オープン/招待/無効)と招待コードのCRUD機能。
- ストレージ管理 — ユーザーごとのディスク使用量、クリア、孤立ファイルのクリーンアップ。
- ユーザーごとの強制ログアウト — 管理者トークンの失効。
- 会話のモデレーション — 管理者による全会話のリスト表示/削除。
[v0.7.1] - 2026-03-06
追加
- API ヘルスダッシュボード — システム統計、コネクタメトリクス、トークン使用量チャート。
- JWT 認証 — トークンベースの SSE 認証、会話所有権。
- Admin API — エージェント管理、ユーザーごとのトークンクォータ(429 エンフォースメント)。
[v0.7] - 2026-03-06
追加
- Admin Platform — ユーザー管理、ロール切り替え、パスワードリセット、アカウント有効化/無効化。
- First-run setup wizard — ガイド付き管理者アカウント作成。
- Personal Center — ユーザーごとのグローバル指示、言語設定。
[v0.6.5] - 2026-03-05
追加
- ユーティリティツール —
email_send、json_transform、template_render、text_utils。 - コネクタレスポンスフィルタリング —
CONNECTOR_RESPONSE_MAX_CHARSとCONNECTOR_RESPONSE_MAX_ITEMS。 - 埋め込みモデルオプション — Jina、OpenAI、およびカスタムプロバイダー。
[v0.6] - 2026-03-01
追加
- Connector Platform — Full CRUD、ConnectorToolAdapter、ユーザーごとの認証情報暗号化、確認ゲート、サーキットブレーカー、監査ログ。
- MCP integration — プロトコル経由のツール自動検出、プロセス分離。
[v0.5] - 2026-02-28
追加
- 完全なRAGパイプライン — Jinaエンベディング + LanceDB + FTS + RRF + リランカー。
- 根拠のある生成 — エビデンスアンカー付き引用、矛盾検出、信頼度スコア。
- KB ドキュメント管理 — チャンクレベルのCRUD、検索、リトライ、スキーママイグレーション。
- ContextGuard + ピン留めメッセージ — トークン予算マネージャー。
- DAG 再計画 — 最大3ラウンド;メモリ用LLM Compact。
[v0.4] - 2026-02-25
追加
- マルチターン会話 — DbMemory永続化、スマートな切り詰め。
- ツールステップ折りたたみUI — ツール呼び出しの折りたたみ/展開。
- HTTPリクエスト + シェル実行ツール。
- エージェント管理 — 作成、設定、バインドされたモデル/ツールで公開。
- JWT認証。
[v0.3] - 2026-02-25
追加
- Web ツール —
web_search(Jina/Tavily/Brave)、web_fetch。 - ファイル操作 + MCP クライアント。
- DAG ビジュアライゼーション — ライブステータス付きのインタラクティブフロー グラフ。
- Docker でのコード実行 —
--network=none、メモリ制限、タイムアウト。
[v0.2] - 2026-02-24
追加機能
- リトライと レート制限 — 指数バックオフ。
- 使用状況追跡 — リクエストごとのトークン/コスト計算。
- ネイティブ関数呼び出し — 直接モデルツール選択。
- マルチモデル対応 — DAG ステップ用の
FAST_LLM_MODEL。 - メモリシステム — ウィンドウ、サマリー、Db メモリ。
- FastAPI バックエンド —
/api/execute、/api/stream(SSE)。
[v0.1] - 2026-02-22
追加
- ReActAgent — Reason → Act → Observe ループ。
- DAGPlanner — LLM生成の依存グラフ、並行実行、結果検証。
- Tools — 計算機、Python実行。
- Portal UI — Next.jsによるストリーミング、ダーク/ライトテーマ、KaTeX。