Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 0 additions & 18 deletions apps/web/src/i18n/locales/en/agents.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,24 +57,6 @@ export const agents = {
noMatch: "No matching Agents", noSaved: "No saved Agents", trySearch: "Try another name, model, or ID.", emptyHelp: "Create an Agent to see it here.", clearSearch: "Clear search",
columns: { agent: "Agent", model: "Model", harness: "Harness", tools: "Tools", updated: "Updated", actions: "Actions" }, coreDefaultHarness: "Core default", copyId: "Copy Agent ID {{id}}", copied: "Copied", unavailableHelp: "Why a Session cannot start",
},
form: {
name: "Name", namePlaceholder: "Repository builder", nameHelp: "Optional. Agent Core accepts at most 128 Unicode characters.", instructions: "Instructions", instructionsPlaceholder: "Describe how this Agent should work…",
harness: "Harness", coreStartup: "Core startup", coreDefault: "{{name}} · Core default", notEnabled: "{{name}} · Not enabled", noHarness: "No harness enabled", harnessHelp: "Only harnesses enabled when this Core process started are selectable. Selection does not prove Runtime, provider, or model readiness.",
model: "Model", webSuggestions: "Web suggestions", configured: "Configured suggestions", default: "Default", previouslyUsed: "Previously used by saved Agents", customModel: "Custom model ID…", modelHelp: "Choose a Web suggestion or enter an ID configured for your runtime.", customModelLabel: "Custom model ID", modelFallback: "a model ID", modelNote: "Model choices are editable Web-side suggestions, not a discovered Core catalog. Saving {{model}} does not prove the current executor can run it.",
generation: "Generation", advancedSettings: "Advanced saved settings", compatibleDefaults: "Session-compatible defaults", textFormat: "Text format", text: "Text", jsonPreserved: "JSON schema · preserved", textFormatHelp: "Current Web-created Sessions use text. Existing JSON schemas are preserved read-only and block Session start.", reasoningEffort: "Reasoning effort", coreDefaultValue: "Core default", textVerbosity: "Text verbosity", reasoningSummary: "Reasoning summary", serviceTier: "Service tier",
existingProfileHelp: "Agent Core can save these settings, but the current Session contract rejects explicit reasoning, non-auto service tiers, and non-text formats. Low or high verbosity also needs a compatible Codex model. Saving an incompatible value disables Start Session in this Web.", createProfileHelp: "Creation is locked to the current Session-compatible profile: text format, Core-default reasoning, medium verbosity, and service tier auto. Agent Core can store other values, but this Web cannot start a Session with most of them yet.",
tools: "Tools", coreExecution: "Core-owned execution only", functionBoundary: "Functions cause Core to emit a function_call. An external application, or the existing Function result form, must perform the business action and submit agent.session.input.tool_result with the exact Turn and call identity. This Web does not execute Functions.", mcpBoundary: "HTTP MCP discovery and calls run on trusted Core service compute. A self_hosted Workspace can run executor commands, but MCP never runs in this browser or that executor. Anonymous and Vault-backed static bearer service-origin HTTP MCP are configurable when the complete Core catalog is loaded.",
readOnlyToolLabel: "Read-only saved tool", readOnlyTool: "Read-only saved tool", readOnlyHelp: "It is preserved unchanged. Web Search, Code Mode commands/files, credentials, OAuth, stdio, headers, and unknown tool variants cannot be enabled or edited here.",
function: "Function", remove: "Remove", description: "Description", descriptionPlaceholder: "Look up a customer record", parameters: "Parameters JSON Schema", parametersHelp: "Must be a JSON object. Functions are always non-deferred; at most 64 unique Function names are allowed, with each name limited to 512 UTF-8 bytes.",
vaultMcp: "Vault bearer HTTP MCP", anonymousMcp: "Anonymous HTTP MCP", serverLabel: "Server label", authentication: "Authentication", anonymous: "Anonymous", selectedCredentialHelp: "A selected Credential determines and locks the exact MCP destination.", catalogUnavailable: "Credential catalog unavailable. Only anonymous MCP can be configured.", serverUrl: "Server URL", allowedTools: "Allowed tools", allTools: "All advertised tools", listedTools: "Only the listed tools", allowedToolsLabel: "Allowed tools for {{name}}", mcpServer: "MCP server", allowedToolsHelp: "Omitted or null permits all advertised tools. An empty listed value serializes as an empty list and permits none.", required: "Require this server for Core execution", mcpWriteHelp: "Writes always use transport.type=http and connection_origin=service. Tokens are managed write-only in Vaults and never enter this form. Headers, request metadata, OAuth, stdio, and client-origin connections remain unsupported.", addFunction: "Add Function", addMcp: "Add HTTP MCP",
metadata: "Metadata", metadataHelp: "JSON object with at most 16 string pairs; keys are limited to 64 characters and values to 512. Never store secrets in Agent metadata.",
},
setup: {
requestPreview: "Request preview", previewHelp: "Uses placeholders only. The connected Core credential is never read into this preview.", savedDefinition: "Saved definition", agentId: "Agent ID", updated: "Updated", multiAgent: "Multi-agent", enabledSaved: "Enabled · saved configuration", disabled: "Disabled",
guideTitle: "Get started creating an Agent", steps: { define: "Define an Agent", defineHelp: "Choose a startup-enabled harness, model, and instructions; the Web keeps generation settings on the current Session-safe profile.", save: "Save the definition", saveHelp: "Core becomes the durable source of truth for the saved Agent.", start: "Start a Session", startHelp: "Choose a supported Environment profile, create an idle Session, and subscribe before sending input.", exchange: "Exchange events", exchangeHelp: "A real Turn still requires a compatible worker, executor, model, and provider." },
breadcrumb: "Breadcrumb", newAgent: "New Agent", sections: "Agent setup sections", setup: "Setup", sessions: "Sessions", sessionsTitle: "Session history is available from the Sessions product view", definition: "Agent definition",
updatedNotice: "Agent definition updated.", savedNotice: "Agent definition saved as {{id}}.", readinessBoundary: "This does not prove execution readiness.", startUnavailable: "Start Session is unavailable. {{reason}}", back: "Back to Agents", delete: "Delete Agent", saving: "Saving…", saveChanges: "Save changes", saved: "Agent saved", saveDefinition: "Save Agent definition", startSession: "Start Session",
},
details: {
id: "ID", created: "Created", updated: "Updated", model: "Model", name: "Name", instructions: "Instructions", metadata: "Metadata", notSet: "Not set", none: "None",
blocked: "This Agent can be saved, but the known Core Session profile cannot start it: {{reason}}", runtimeBoundary: "Saved advanced configuration is not runtime proof. Model, provider, host, tools, and conditional verbosity still require executor validation.", advanced: "Advanced configuration · read only", tools: "Tools", reasoning: "Reasoning", text: "Text", serviceTier: "Service tier", multiAgent: "Multi-agent", functionTool: "Function {{name}}", mcpTool: "{{auth}} service-origin HTTP MCP {{name}}", serviceOriginMcp: "service-origin HTTP MCP", vaultBearer: "Vault bearer", anonymous: "Anonymous", readOnly: "{{label}} · read only",
Expand Down
2 changes: 1 addition & 1 deletion apps/web/src/i18n/locales/en/onboarding.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ export const onboarding = {
points: [
"Projects and keys: create projects, issue project API keys shown once, revoke or archive.",
"Nodes: add your machines with one command and watch their capacity.",
"System: the Core build and how it was started.",
"System: the sandbox configuration every project shares.",
],
},
},
Expand Down
3 changes: 1 addition & 2 deletions apps/web/src/i18n/locales/en/pages.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,8 @@ export const pages = {
agents: "Agents", sessions: "Sessions", runtime: "Runtime", connectionSettings: "Connection settings",
backend: { label: "Agent Core backend is not ready. Open Docker startup guide", title: "Agent Core backend is not ready", detail: "Web is running, but its local `/v1` proxy cannot reach a ready Core{{failure}}. Start the Docker backend, then test the connection.", openGuide: "Open startup guide", networkFailure: "network failure", collectionFailed: "Collection request failed." },
},
agents: { title: "Agents", subtitle: "Saved Agents in this project. Callers create Sessions with an Agent ID; here you can create, edit and try them." },
agents: { title: "Agents", subtitle: "Saved Agents in each project, with their model, harness, tools and usage." },
sessions: { title: "Sessions", subtitle: "Conversations", recover: "Recover durable state" },
templates: { title: "Environment Templates", subtitle: "Reusable configuration for managed Sessions.", newTemplate: "New Template" },
vaults: { title: "Vaults", subtitle: "Core-owned static bearer credentials for exact HTTPS MCP destinations.", refresh: "Refresh Vaults", create: "New Vault" },
sandbox: { title: "Hosted Sandbox Manager", subtitle: "Deployment provider, runtime nodes and Session allocations.", disconnect: "Disconnect admin" },
} as const;
6 changes: 0 additions & 6 deletions apps/web/src/i18n/locales/zh-CN/agents.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,6 @@ export const agents: TranslationShape<typeof english> = {
listLabel: "Agent", create: "创建 Agent", untitled: "未命名 Agent", editLabel: "编辑 {{name}}({{id}})", opening: "正在打开最新定义…", startLabel: "使用 {{name}}({{id}})启动 Session", unavailable: "不可用", startSession: "启动 Session", sessionUnavailable: "Session 不可用:{{reason}}", noMatch: "没有匹配的 Agent", noSaved: "没有已保存的 Agent", trySearch: "请尝试其他名称、模型或 ID。", emptyHelp: "创建 Agent 后会显示在这里。", clearSearch: "清除搜索",
columns: { agent: "Agent", model: "模型", harness: "执行框架", tools: "工具", updated: "更新时间", actions: "操作" }, coreDefaultHarness: "Core 默认", copyId: "复制 Agent ID {{id}}", copied: "已复制", unavailableHelp: "无法启动 Session 的原因",
},
form: {
name: "名称", namePlaceholder: "仓库构建助手", nameHelp: "可选。Agent Core 最多接受 128 个 Unicode 字符。", instructions: "指令", instructionsPlaceholder: "描述此 Agent 应如何工作…", harness: "执行框架", coreStartup: "Core 启动配置", coreDefault: "{{name}} · Core 默认", notEnabled: "{{name}} · 未启用", noHarness: "未启用执行框架", harnessHelp: "只能选择此 Core 进程启动时启用的执行框架。选择结果不能证明运行时、provider 或模型已就绪。", model: "模型", webSuggestions: "Web 建议", configured: "已配置建议", default: "默认", previouslyUsed: "已保存 Agent 使用过", customModel: "自定义模型 ID…", modelHelp: "选择 Web 建议,或输入为你的运行时配置的 ID。", customModelLabel: "自定义模型 ID", modelFallback: "模型 ID", modelNote: "模型选项是可编辑的 Web 侧建议,不是从 Core 发现的目录。保存 {{model}} 不能证明当前 executor 可以运行它。", generation: "生成配置", advancedSettings: "高级已保存设置", compatibleDefaults: "兼容 Session 的默认值", textFormat: "文本格式", text: "文本", jsonPreserved: "JSON schema · 已保留", textFormatHelp: "当前由 Web 创建的 Session 使用文本。现有 JSON schema 会以只读方式保留,并阻止启动 Session。", reasoningEffort: "推理强度", coreDefaultValue: "Core 默认", textVerbosity: "文本详细程度", reasoningSummary: "推理摘要", serviceTier: "服务层级", existingProfileHelp: "Agent Core 可以保存这些设置,但当前 Session 合约会拒绝显式推理、非 auto 服务层级和非文本格式。低或高详细程度还需要兼容的 Codex 模型。保存不兼容值会在此 Web 中禁用“启动 Session”。", createProfileHelp: "创建时锁定为当前兼容 Session 的配置:文本格式、Core 默认推理、medium 详细程度和 auto 服务层级。Agent Core 可以存储其他值,但此 Web 目前无法用其中大多数配置启动 Session。", tools: "工具", coreExecution: "仅由 Core 执行", functionBoundary: "Function 会让 Core 发出 function_call。外部应用或现有 Function 结果表单必须执行具体业务操作,并使用精确的 Turn 和调用标识提交 agent.session.input.tool_result。此 Web 不执行 Function。", mcpBoundary: "HTTP MCP 发现和调用在受信任的 Core 服务计算环境中运行。self_hosted 工作区可以运行 executor 命令,但 MCP 绝不会在此浏览器或该 executor 中运行。完整 Core 目录加载后,可以配置匿名及由 Vault 静态 bearer 支持的 service-origin HTTP MCP。", readOnlyToolLabel: "只读的已保存工具", readOnlyTool: "只读的已保存工具", readOnlyHelp: "它会保持原样。此处不能启用或编辑 Web Search、Code Mode 命令/文件、Credential、OAuth、stdio、请求头及未知工具类型。", function: "Function", remove: "移除", description: "描述", descriptionPlaceholder: "查询客户记录", parameters: "参数 JSON Schema", parametersHelp: "必须是 JSON 对象。Function 始终为非延迟加载;最多允许 64 个名称唯一的 Function,每个名称最多 512 个 UTF-8 字节。", vaultMcp: "Vault bearer HTTP MCP", anonymousMcp: "匿名 HTTP MCP", serverLabel: "服务标签", authentication: "认证", anonymous: "匿名", selectedCredentialHelp: "所选 Credential 会确定并锁定精确的 MCP 目标。", catalogUnavailable: "Credential 目录不可用,只能配置匿名 MCP。", serverUrl: "服务 URL", allowedTools: "允许的工具", allTools: "所有已公布工具", listedTools: "仅列出的工具", allowedToolsLabel: "{{name}} 允许的工具", mcpServer: "MCP 服务", allowedToolsHelp: "省略或 null 会允许所有已公布工具。空的列表值会序列化为空列表,即不允许任何工具。", required: "Core 执行必须使用此服务", mcpWriteHelp: "写入始终使用 transport.type=http 和 connection_origin=service。令牌由 Vault 以只写方式管理,绝不会进入此表单。请求头、请求元数据、OAuth、stdio 和 client-origin 连接仍不受支持。", addFunction: "添加 Function", addMcp: "添加 HTTP MCP", metadata: "元数据", metadataHelp: "最多 16 组字符串键值的 JSON 对象;键最多 64 个字符,值最多 512 个字符。切勿在 Agent 元数据中保存密钥。",
},
setup: {
requestPreview: "请求预览", previewHelp: "仅使用占位符。已连接 Core 的凭据绝不会读入此预览。", savedDefinition: "已保存定义", agentId: "Agent ID", updated: "更新时间", multiAgent: "多 Agent", enabledSaved: "已启用 · 已保存配置", disabled: "已禁用", guideTitle: "开始创建 Agent", steps: { define: "定义 Agent", defineHelp: "选择启动时启用的执行框架、模型和指令;Web 会将生成设置保持在当前 Session 安全配置。", save: "保存定义", saveHelp: "Core 将成为已保存 Agent 的持久事实来源。", start: "启动 Session", startHelp: "选择支持的环境配置,创建空闲 Session,并在发送输入前完成订阅。", exchange: "交换事件", exchangeHelp: "真实 Turn 仍需要兼容的 worker、executor、模型和 provider。" }, breadcrumb: "面包屑", newAgent: "新建 Agent", sections: "Agent 设置分区", setup: "设置", sessions: "Session", sessionsTitle: "Session 历史可在“Session”产品视图中查看", definition: "Agent 定义", updatedNotice: "Agent 定义已更新。", savedNotice: "Agent 定义已保存为 {{id}}。", readinessBoundary: "这不能证明执行已就绪。", startUnavailable: "无法启动 Session。{{reason}}", back: "返回 Agent", delete: "删除 Agent", saving: "保存中…", saveChanges: "保存更改", saved: "Agent 已保存", saveDefinition: "保存 Agent 定义", startSession: "启动 Session",
},
details: {
id: "ID", created: "创建时间", updated: "更新时间", model: "模型", name: "名称", instructions: "指令", metadata: "元数据", notSet: "未设置", none: "无", blocked: "此 Agent 可以保存,但已知的 Core Session 配置无法启动它:{{reason}}", runtimeBoundary: "已保存的高级配置不能证明运行时可用。模型、provider、主机、工具和条件性详细程度仍需 executor 验证。", advanced: "高级配置 · 只读", tools: "工具", reasoning: "推理", text: "文本", serviceTier: "服务层级", multiAgent: "多 Agent", functionTool: "Function {{name}}", mcpTool: "{{auth}} 服务来源 HTTP MCP {{name}}", serviceOriginMcp: "服务来源 HTTP MCP", vaultBearer: "Vault bearer", anonymous: "匿名", readOnly: "{{label}} · 只读", deletePrompt: "从 Agent Core 删除 {{name}}?", deleteBefore: "从 Agent Core 删除", deleteAfter: "?", exactId: "精确 Agent ID:{{id}}", exactIdLabel: "精确 Agent ID:", deleteWarning: "只有在 Core 确认成功后才会移除已保存的 Agent。现有 Session 会保留持久化的 Agent 快照。", deleteTitle: "删除 Agent?", cancel: "取消", deleting: "删除中…",
},
Expand Down
2 changes: 1 addition & 1 deletion apps/web/src/i18n/locales/zh-CN/onboarding.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ export const onboarding = {
points: [
"项目与 key:创建项目,签发只显示一次的项目 API Key,撤销或归档。",
"节点:一条命令接入你的机器,随时看容量。",
"系统:Core 的构建版本和启动配置。",
"系统:所有项目共用的沙箱配置。",
],
},
},
Expand Down
3 changes: 1 addition & 2 deletions apps/web/src/i18n/locales/zh-CN/pages.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,8 @@ export const pages = {
agents: "Agent", sessions: "Session", runtime: "运行时", connectionSettings: "连接设置",
backend: { label: "Agent Core 后端未就绪。打开 Docker 启动指南", title: "Agent Core 后端未就绪", detail: "Web 正在运行,但本地 /v1 代理无法连接已就绪的 Core{{failure}}。请启动 Docker 后端,然后测试连接。", openGuide: "打开启动指南", networkFailure: "网络故障", collectionFailed: "数据收集请求失败。" },
},
agents: { title: "Agent", subtitle: "这个项目里保存的 Agent。调用方可以用 Agent ID 创建 Session;在这里可以新建、编辑和试运行。" },
agents: { title: "Agent", subtitle: "各项目保存的 Agent,及其模型、执行框架、工具和用量。" },
sessions: { title: "Session", subtitle: "对话", recover: "恢复持久状态" },
templates: { title: "环境模板", subtitle: "用于托管 Session 的可复用配置。", newTemplate: "新建模板" },
vaults: { title: "Vault", subtitle: "由 Core 管理、仅用于精确 HTTPS MCP 目标的静态 bearer Credential。", refresh: "刷新 Vault", create: "新建 Vault" },
sandbox: { title: "托管沙箱管理", subtitle: "管理部署 provider、运行时节点和 Session 分配。", disconnect: "断开管理员连接" },
} as const;
2 changes: 1 addition & 1 deletion docs/web/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ management client, and it sends nothing to `/v1`.
| Monitor | Sandbox metrics | Node capacity and hosted Runtime CPU and memory across Projects |
| Monitor | Session log | Every Session, opening one Session's read-only conversation, trace and Turns; a self-hosted Session's page also manages its executor credentials |
| Resources | Agents, Environment templates, Skills, Files, Vaults | Inspection and permitted deletion |
| Platform | Projects and keys, Nodes, System | Project and key lifecycle, sandbox deployment and nodes, Core startup configuration |
| Platform | Projects and keys, Nodes, System | Project and key lifecycle; sandbox deployment and nodes; the sandbox configuration every Project shares: provider, sandbox size, Runtime or E2B template build, idle suspension, Core address and maintenance |

Missing data is shown as missing (—), never as zero. How each figure is read and
bounded is recorded in [management interface coverage](protocol-coverage.md).
Expand Down
Loading