feat(heicode): SK workflow UI, Agnet contract docs, usage-log schema
Manager web: Git sources workflow steps and copy; typecheck fixes for auth and home sections; UsageLog type in usage-log-schema.ts (outside ignored data/). docs: Agnet platform contract adds runtime_execution and sk_access_policy, orchestration-plan and acceptance matrix aligned. Made-with: Cursor
This commit is contained in:
@@ -19,7 +19,7 @@
|
||||
| 4 | `[../sk-lifecycle.md](../sk-lifecycle.md)` | SK 来源、快照、写权边界(**单点真相**) |
|
||||
| 5 | `[./agnet-platform-api-design.md](./agnet-platform-api-design.md)` §2–§3 | 身份、调用方式、RBAC |
|
||||
| 6 | `[./agnet-platform-api-design.md](./agnet-platform-api-design.md)` §4 | 多租户与隔离 |
|
||||
| 7 | `[./agnet-platform-api-design.md](./agnet-platform-api-design.md)` §5 | 一键部署、SK 绑定、控制面 API |
|
||||
| 7 | `[./agnet-platform-api-design.md](./agnet-platform-api-design.md)` §5 | 一键部署、`sk_sources`、**运行时绑定**、**SK 访问策略**、控制面 API |
|
||||
| 8 | `[./orchestration-plan-contract.md](./orchestration-plan-contract.md)` | 模型提案对象与平台裁决规则 |
|
||||
| 9 | `[./agnet-platform-api-design.md](./agnet-platform-api-design.md)` §6–§7 | 运行态、聚合视图、事件流(双轨) |
|
||||
| 10 | `[./Heicode-登录接口对接文档.md](./Heicode-登录接口对接文档.md)` | 已上线认证接口契约(login / me / refresh / logout) |
|
||||
|
||||
@@ -24,6 +24,8 @@
|
||||
| A08 | 回调安全 | callback 签名错误 | 模拟篡改签名 | 拒绝处理并记审计 |
|
||||
| A09 | 事件流 | SSE 断线后续传 | 已产生事件、支持 `Last-Event-ID` | 重连后补齐丢失窗口事件 |
|
||||
| A10 | 子输出流 | 会话订阅 `sub_agent.output` | 会话内子 agent 正在运行 | 客户端收到 `output_delta` 流式事件 |
|
||||
| A11 | 运行时绑定 | 部署携带非法 `runtime_execution` 引用 | principal 不属于租户或未授权 | 拒绝,`RUNTIME_BINDING_INVALID` |
|
||||
| A12 | SK 策略 | `sk_access_policy` 与租户策略冲突 | 显式拒绝覆盖必需快照路径 | 拒绝,`SK_POLICY_REJECTED` |
|
||||
|
||||
## 3. 验收字段(每条事件必须)
|
||||
|
||||
|
||||
@@ -131,6 +131,8 @@ Tenant(租户)
|
||||
| **团队成员** | 部署配置须 **显式包含团队成员**(至少:`user_id`、组织内角色、是否纳入该 Agnet 团队)。成员关系由 Manager/Agnet 持久化,供 **RBAC、配额与审计**;团队管理员经 **Manager 控制面**维护名单(增删改须审计)。 |
|
||||
| **成员所用模型** | 须能声明 **各成员默认使用的模型/路由**(如 `default_model_id`、`provider_profile_id` 或与 Manager **模型策略**对齐的引用)。支持「团队缺省 + 成员覆盖」;未授权模型 **不得**在执行路径上静默生效。 |
|
||||
| **子 agent(Agnet 平台内)与 SK** | 本文所称 **子 Agnet / 子 agent** 均指 **Agnet 平台内部的子智能体/子执行单元**(由 Agnet 编排与实例化),非 Heicode 自研运行时。部署配置须支持为 **指定子 agent** 绑定 **SK 输入源**;运行态下该子 agent **只读**白名单内的 SK 内容。 |
|
||||
| **云上 / 运行时权限(须随部署传参)** | 用户在 **Heicode Manager** 中为子 agent 配置的 **执行环境绑定**(例如专用虚拟机池、云 identity / 服务账号引用、网络或资源配额策略 ID)**必须**出现在 **部署请求体**(或等价的平台编排参数)中,由 **Agnet 调度与强制执行**;不得假设「仅在控制台勾选、不传平台即可生效」。缺省值与继承规则(编队级 → 子 agent 覆盖)须在联合 RFC 中写死。 |
|
||||
| **SK 访问策略(允许 / 禁止,须随部署传参)** | 除 **`sk_sources` 解析出的快照正文**外,须支持显式声明 **SK 工具/技能命名空间或路径的允许集与拒绝集**(或引用租户级策略模板 ID)。部署完成后,平台将 **物化**各子 agent 的 **有效 SK 策略**:快照内容 ∩ 允许规则 − 拒绝规则;子 agent 运行时 **不得**调用策略外的 SK 工具入口(与 §12 校验一致)。 |
|
||||
| **SK 与 Git / 上传 MD** | **SK 正文资产以 Git 仓库为统一事实源**(用户指定的远端/连接与分支、路径规则由集成约定)。同时允许用户 **上传 Markdown 等文件** 作为 **补充 SK 源**(租户内对象存储/制品 ID)。Agnet 执行前将两类来源 **解析为不可变快照**(commit SHA / upload version),再注入子 agent 上下文。 |
|
||||
| **SK 文件仅在 Heicode 中编辑** | Git 侧 SK 的 **创建、修改、删除** 经 **Heicode 客户端**提交到仓库(或 Heicode 发起变更后再同步);**上传类 SK** 的 **新增/替换** 仅通过 **Heicode 提供的入口**(Manager 可做登记与透传,**不提供 SK 正文在线编辑器**)。**Agnet 平台与子 agent 对 SK 均只读**;若 Agnet 控制台出现可直接改 SK 正文的 API/UI,视为 **违背产品边界**。 |
|
||||
|
||||
@@ -158,13 +160,25 @@ Tenant(租户)
|
||||
"sub_agents": [
|
||||
{
|
||||
"role_template": "sub_reviewer",
|
||||
"sk_file_refs": ["sk_review_policy.md", "sk_api_bar.yaml"]
|
||||
"sk_file_refs": ["sk_review_policy.md", "sk_api_bar.yaml"],
|
||||
"runtime_execution": {
|
||||
"profile_id": "exec_profile_vm_dedicated",
|
||||
"cloud_principal_refs": ["cp_az_mi_ci_readonly"],
|
||||
"network_policy_ref": "net_tenant_isolated"
|
||||
},
|
||||
"sk_access_policy": {
|
||||
"policy_ref": "tenant_sk_policy_default",
|
||||
"deny_skill_ids": ["sk_admin_dest_env"],
|
||||
"inherit_deployment_defaults": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"parameters": { "unit_overrides": {} }
|
||||
}
|
||||
```
|
||||
|
||||
- `**runtime_execution`(推荐)**:承载 **子 agent 云上执行绑定**(VM/池、云 SA/MI、网络策略等);字段名可映射为 Agnet 内部模型,但 **语义不得省略**——Manager 收集的配置必须可达 Agnet。
|
||||
- `**sk_access_policy`(推荐)**:与 **`sk_sources` 快照**配合,声明 **允许/拒绝** 的技能 ID、路径前缀或租户策略引用;平台在部署落账时计算 **effective policy** 并下发给运行时。
|
||||
- `**sk_sources`(推荐显式建模)**:替代或细化纯路径数组 `sk_file_refs`; 每个元素标明来源类型,便于 Agnet 实现拉取与快照。
|
||||
|
||||
**部署请求体中 SK 绑定扩展示意**
|
||||
@@ -195,8 +209,10 @@ Tenant(租户)
|
||||
|
||||
| 类别 | 要求 |
|
||||
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| **部署与编队** | 实现 `**POST /deployments`**(或 `**POST /teams/deployments`**)可接收 **成员、成员模型、子 agent 模板及 `sk_sources`**;返回 `**deployment_id**`、实例/子 agent 标识,供 Callback 与观测关联。 |
|
||||
| **部署与编队** | 实现 `**POST /deployments`**(或 `**POST /teams/deployments`**)可接收 **成员、成员模型、子 agent 模板、`sk_sources`、`runtime_execution`、`sk_access_policy`**(字段名可等价映射);返回 `**deployment_id**`、实例/子 agent 标识,供 Callback 与观测关联。 |
|
||||
| **SK 快照只读** | 对每个 `deployment_id` / `sub_agent_id`,Agnet 须能记录 **已解析的 SK 快照**(Git:`commit_sha` + 路径哈希;Upload:`artifact_id` + 版本)。运行注入 **仅此快照**,不得在执行中「瞒报版本」拉未授权路径。 |
|
||||
| **运行时绑定落账** | 部署请求中的 **`runtime_execution`(或等价字段)** 必须持久化,并在 **实例化子 agent** 时绑定到实际执行环境(VM、identity、网络隔离等);观测 API 能回答「该实例使用了哪套运行时绑定」。 |
|
||||
| **SK 策略物化** | 部署接受后,Agnet 必须能输出 **每个子 agent 的生效 SK 策略**(快照哈希 + `sk_access_policy` 解析结果),供 Manager **Git 来源 / 审计**页展示「允许 / 禁止 SK」结论与追溯。 |
|
||||
| **Git 拉取** | Agnet 须支持 **按租户注册 Git 凭据/连接**(`connection_id` 或等价),由用户在 **Heicode/Manager 流程**中授权;**Agnet 不提供 Git 写接口用于改 SK**——写操作发生在 Git 远端或经 Heicode 提交后,Agnet 仅 **fetch + checkout 指定 ref**。 |
|
||||
| **上传制品** | 若支持 `type: "upload"`:Agnet(或与 Manager 分工)须提供 `**artifact_id`** 的只读获取(如 `GET /sk-artifacts/{artifact_id}/content` 或预签名 URL),**无 `PUT` 修改正文**于 Agnet 控制台;上传入口 **仅** Heicode 侧发起、Agnet 存只读副本。 |
|
||||
| **刷新策略** | 约定 **何时重新解析 SK**(如新 commit、用户触发刷新、部署新版本);须可通过 API 或事件暴露 `**sk_snapshot_refreshed`**,便于 Heicode 提示「已用新版本 SK」。 |
|
||||
@@ -204,7 +220,7 @@ Tenant(租户)
|
||||
|
||||
|
||||
- `**sk_file_refs`**(若保留简化字段):视为 **相对某默认 Git 根**或 **由 Manager 展开为 `sk_sources`** 前的简写;联合 RFC 须声明展开规则。
|
||||
- **验收**:部署完成后,Manager 可展示「团队成员—模型—**Agnet 子 agent**—SK 源(Git ref / 上传件)—快照版本」;Git 更新或 Heicode 重新上传后,按刷新策略在后续运行使用新快照。
|
||||
- **验收**:部署完成后,Manager 可展示「团队成员—模型—**Agnet 子 agent**—SK 源(Git ref / 上传件)—快照版本—**运行时绑定**—**生效 SK 策略**」;Git 更新或 Heicode 重新上传后,按刷新策略在后续运行使用新快照。
|
||||
|
||||
### 5.1 部署编队
|
||||
|
||||
@@ -413,6 +429,8 @@ Tenant(租户)
|
||||
3. `default_model_id` 在组织策略允许范围
|
||||
4. `sk_sources` 可解析且无越权路径
|
||||
5. 预算上限(tokens / cost / duration)未超策略阈值
|
||||
6. 若请求包含 **`runtime_execution`**:`profile_id` / `cloud_principal_refs` 等引用 **属于本租户且已授权**,否则 **拒绝部署**(错误码建议 `RUNTIME_BINDING_INVALID`)。
|
||||
7. 若请求包含 **`sk_access_policy`**:须与租户默认策略合并并 **物化为可执行的生效边界**;非法组合(例如引用禁止的技能 ID、与快照路径冲突)返回 **403** / `SK_POLICY_REJECTED`。
|
||||
|
||||
---
|
||||
|
||||
@@ -453,6 +471,8 @@ Tenant(租户)
|
||||
| `POLICY_REJECTED` | 平台策略拒绝执行提案 |
|
||||
| `MODEL_NOT_ALLOWED` | 模型未授权 |
|
||||
| `SK_SOURCE_UNRESOLVABLE` | SK 源不可解析或不可读 |
|
||||
| `RUNTIME_BINDING_INVALID` | 云上 / 运行时绑定引用无效或未授权 |
|
||||
| `SK_POLICY_REJECTED` | SK 允许 / 拒绝策略与快照或租户策略冲突 |
|
||||
| `BUDGET_EXCEEDED` | 超预算 |
|
||||
| `FORBIDDEN_CROSS_TENANT` | 跨租户访问拒绝 |
|
||||
| `DEPLOYMENT_CONFLICT` | 幂等或状态冲突 |
|
||||
|
||||
@@ -42,7 +42,17 @@
|
||||
"role_template": "AG-DEV",
|
||||
"goal": "按拆解清单完成实现与自测",
|
||||
"default_model_id": "mdl_claude_sonnet",
|
||||
"sk_sources": []
|
||||
"sk_sources": [],
|
||||
"runtime_execution": {
|
||||
"profile_id": "exec_profile_vm_pool_ci",
|
||||
"cloud_principal_refs": ["cp_az_mi_build"],
|
||||
"network_policy_ref": "net_project_default"
|
||||
},
|
||||
"sk_access_policy": {
|
||||
"policy_ref": "tenant_sk_policy_default",
|
||||
"deny_skill_ids": ["sk_cross_env_admin"],
|
||||
"inherit_deployment_defaults": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"constraints": {
|
||||
@@ -71,6 +81,8 @@
|
||||
| `agents[].goal` | 是 | 该角色目标 |
|
||||
| `agents[].default_model_id` | 否 | 建议模型;最终由平台策略裁决 |
|
||||
| `agents[].sk_sources` | 否 | SK 来源列表 |
|
||||
| `agents[].runtime_execution` | 否 | **须在转为部署请求时保留**:子 agent 云上执行绑定(VM/池、云 principal、网络策略等),与 [`agnet-platform-api-design.md`](./agnet-platform-api-design.md) §5.0 一致 |
|
||||
| `agents[].sk_access_policy` | 否 | **须在转为部署请求时保留**:SK 允许 / 禁止规则(引用或内联),与快照合并后由平台物化为生效策略 |
|
||||
| `constraints.allowed_model_ids` | 否 | 允许模型白名单 |
|
||||
| `metadata.tenant_id` | 是 | 顶层隔离键 |
|
||||
| `metadata.project_id` | 是 | 项目标识 |
|
||||
@@ -85,6 +97,8 @@ Agnet 在执行前必须做下列校验:
|
||||
3. 模型授权:`default_model_id` 在组织与项目策略允许范围内
|
||||
4. SK 边界:`sk_sources` 可解析、可读、无越权路径
|
||||
5. 预算约束:`max_tokens` / `max_cost_usd` / `max_duration_sec` 不超策略上限
|
||||
6. 运行时边界:若存在 `runtime_execution`,其引用须为本租户已授权的执行档案 / 云 principal(否则 `RUNTIME_BINDING_INVALID`)
|
||||
7. SK 策略:若存在 `sk_access_policy`,合并后须一致且可执行(否则 `SK_POLICY_REJECTED`)
|
||||
|
||||
## 5. 典型拒绝码
|
||||
|
||||
@@ -93,13 +107,15 @@ Agnet 在执行前必须做下列校验:
|
||||
| `POLICY_REJECTED` | 平台策略拒绝执行 |
|
||||
| `MODEL_NOT_ALLOWED` | 模型未授权 |
|
||||
| `SK_SOURCE_UNRESOLVABLE` | SK 源无法解析或无权限读取 |
|
||||
| `RUNTIME_BINDING_INVALID` | 云上 / 运行时绑定无效或未授权 |
|
||||
| `SK_POLICY_REJECTED` | SK 允许 / 拒绝策略冲突 |
|
||||
| `BUDGET_EXCEEDED` | 预算超限 |
|
||||
| `FORBIDDEN_CROSS_TENANT` | 跨租户访问拒绝 |
|
||||
| `DEPLOYMENT_CONFLICT` | 幂等冲突或状态冲突 |
|
||||
|
||||
## 6. 对接建议
|
||||
|
||||
- `orchestration_plan` 建议由 Manager 转换成 Agnet `POST /deployments` 标准 payload
|
||||
- `orchestration_plan` 建议由 Manager **无损映射**为 Agnet `POST /deployments` 标准 payload;**`runtime_execution` / `sk_access_policy` 不得在进入部署链路时丢弃**,否则子 agent 无法获得用户在 Manager 配置的权限与 SK 边界
|
||||
- 拒绝时应返回 `error.code` + `request_id` + `correlation_id`
|
||||
- 接受后返回 `deployment_id`,并通过事件流持续反馈执行状态
|
||||
|
||||
|
||||
@@ -120,10 +120,12 @@ Agnet 不需要、也不应该提供针对 SK 正文的 `PUT` / `PATCH`:写操
|
||||
- 团队成员列表与组织内角色
|
||||
- 各成员所用模型 / `provider_profile_id`
|
||||
- 子 agent 模板与 `sk_sources`
|
||||
- **用户在 Manager 配置的子 agent 云上 / 运行时权限**(如 `runtime_execution`:VM 池、云 principal、网络策略等),**必须随部署请求传给 Agnet**,不得在链路中丢弃
|
||||
- **SK 允许 / 禁止策略**(如 `sk_access_policy`),与快照合并后的生效边界须由平台落账,子 agent 仅能在该边界内消费 SK
|
||||
|
||||
部署完成后 Manager 应能展示:
|
||||
|
||||
`团队成员 → 模型 → Agnet 子 agent → SK 源(Git ref / 上传件)→ 快照版本`
|
||||
`团队成员 → 模型 → Agnet 子 agent → SK 源(Git ref / 上传件)→ 快照版本 → 运行时绑定 → 生效 SK 策略`
|
||||
|
||||
未授权模型 **不得** 在执行路径上静默生效。
|
||||
|
||||
|
||||
+14
-1
@@ -620,7 +620,7 @@ export function AgnetAuditPage() {
|
||||
}
|
||||
|
||||
// =============================================================================
|
||||
// Git sources — SK 正文以 Git 为准;此处为绑定说明 + 运行时解析锚点列表
|
||||
// Git sources — 绑定代码/SK 仓库与云上权限 → 部署 → 展示各部署的快照锚点(SK 正文仍以 Git 为准)
|
||||
// =============================================================================
|
||||
|
||||
export function AgnetSKSourcesPage() {
|
||||
@@ -672,6 +672,19 @@ export function AgnetSKSourcesPage() {
|
||||
<p className='mt-2'>{t('Git sources binding explainer')}</p>
|
||||
</div>
|
||||
|
||||
<div className='mt-4 rounded-xl border border-[color-mix(in_oklch,var(--primary)_18%,var(--border))] bg-[color-mix(in_oklch,var(--card)_50%,transparent)] p-4 text-sm leading-relaxed text-muted-foreground'>
|
||||
<p className='font-medium text-foreground'>
|
||||
{t('Git sources workflow title')}
|
||||
</p>
|
||||
<ol className='mt-3 list-decimal space-y-2 ps-5 marker:text-muted-foreground'>
|
||||
<li>{t('Git sources workflow step 1')}</li>
|
||||
<li>{t('Git sources workflow step 2')}</li>
|
||||
<li>{t('Git sources workflow step 3')}</li>
|
||||
<li>{t('Git sources workflow step 4')}</li>
|
||||
<li>{t('Git sources workflow step 5')}</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
{!effectiveDeployment ? (
|
||||
<EmptySurface
|
||||
title={t('No deployment for Git sources')}
|
||||
|
||||
+1
-2
@@ -7,7 +7,6 @@ import {
|
||||
} from '@/features/auth/errors'
|
||||
import type {
|
||||
LoginPayload,
|
||||
LoginResponse,
|
||||
Login2FAResponse,
|
||||
TwoFAPayload,
|
||||
RegisterPayload,
|
||||
@@ -131,7 +130,7 @@ async function callHeicodeAuth<T>(
|
||||
`Auth request failed (${res.status})`
|
||||
throw new Error(message)
|
||||
}
|
||||
return data
|
||||
return data as T
|
||||
}
|
||||
|
||||
// ============================================================================
|
||||
|
||||
@@ -35,7 +35,7 @@ const MODELS: ModelConfig[] = [
|
||||
id: 'gemini-pro',
|
||||
name: 'gemini-2.5-pro',
|
||||
response:
|
||||
'Heicode Manager binds Git-backed SK sources and rolls Agnet runs, events, resolved anchors, and audit into one tenant-scoped control plane.',
|
||||
'Bind Git code and SK tool repos, allocate cloud permissions for sub-agents, then deploy—runs inherit SK allow/deny policy with hashed anchors, events, and audit on one tenant-scoped control plane.',
|
||||
tokens: 29,
|
||||
latency: 156,
|
||||
badgeClass:
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { Link } from '@tanstack/react-router'
|
||||
import { ArrowRight } from 'lucide-react'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { AnimateInView } from '@/components/animate-in-view'
|
||||
|
||||
@@ -10,8 +9,6 @@ interface CTAProps {
|
||||
}
|
||||
|
||||
export function CTA(props: CTAProps) {
|
||||
const { t } = useTranslation()
|
||||
|
||||
if (props.isAuthenticated) {
|
||||
return null
|
||||
}
|
||||
|
||||
@@ -8,7 +8,6 @@ import {
|
||||
Users,
|
||||
HeartHandshake,
|
||||
} from 'lucide-react'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
import { AnimateInView } from '@/components/animate-in-view'
|
||||
|
||||
interface FeaturesProps {
|
||||
@@ -16,8 +15,6 @@ interface FeaturesProps {
|
||||
}
|
||||
|
||||
export function Features(_props: FeaturesProps) {
|
||||
const { t } = useTranslation()
|
||||
|
||||
const features = [
|
||||
{
|
||||
id: 'fast',
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
import { Settings, Zap, BarChart3 } from 'lucide-react'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
import { AnimateInView } from '@/components/animate-in-view'
|
||||
|
||||
export function HowItWorks() {
|
||||
const { t } = useTranslation()
|
||||
|
||||
const steps = [
|
||||
{
|
||||
num: '1',
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { useRef, useEffect, useCallback } from 'react'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
|
||||
interface CounterProps {
|
||||
end: number
|
||||
@@ -70,8 +69,6 @@ interface StatsProps {
|
||||
}
|
||||
|
||||
export function Stats(_props: StatsProps) {
|
||||
const { t } = useTranslation()
|
||||
|
||||
const stats = [
|
||||
{ end: 100, suffix: 'K+', label: '已编排任务' },
|
||||
{ end: 50, suffix: '+', label: '接入租户' },
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ import {
|
||||
StatusBadge,
|
||||
type StatusBadgeProps,
|
||||
} from '@/components/status-badge'
|
||||
import type { UsageLog } from '../../data/schema'
|
||||
import type { UsageLog } from '../../usage-log-schema'
|
||||
import {
|
||||
formatModelName,
|
||||
getFirstResponseTimeColor,
|
||||
|
||||
+1
-1
@@ -29,7 +29,7 @@ import { Label } from '@/components/ui/label'
|
||||
import { ScrollArea } from '@/components/ui/scroll-area'
|
||||
import { StatusBadge, type StatusBadgeProps } from '@/components/status-badge'
|
||||
import { DynamicPricingBreakdown } from '@/features/pricing/components/dynamic-pricing-breakdown'
|
||||
import type { UsageLog } from '../../data/schema'
|
||||
import type { UsageLog } from '../../usage-log-schema'
|
||||
import {
|
||||
parseLogOther,
|
||||
getParamOverrideActionLabel,
|
||||
|
||||
+1
-1
@@ -132,7 +132,7 @@ export function UsageLogsTable({ logCategory }: UsageLogsTableProps) {
|
||||
const isLoadingData = isLoading || (isFetching && !data)
|
||||
|
||||
const table = useReactTable({
|
||||
data: logs as Record<string, unknown>[],
|
||||
data: logs as unknown as Record<string, unknown>[],
|
||||
columns: columns as ColumnDef<Record<string, unknown>>[],
|
||||
state: {
|
||||
columnFilters,
|
||||
|
||||
@@ -4,7 +4,7 @@ import {
|
||||
parseTiersFromExpr,
|
||||
type ParsedTier,
|
||||
} from '@/features/pricing/lib/billing-expr'
|
||||
import type { UsageLog } from '../data/schema'
|
||||
import type { UsageLog } from '../usage-log-schema'
|
||||
import type { LogOtherData } from '../types'
|
||||
|
||||
const PARAM_OVERRIDE_ACTION_MAP: Record<string, string> = {
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
/**
|
||||
* Type definitions for usage logs
|
||||
*/
|
||||
import type { UsageLog } from './data/schema'
|
||||
import type { UsageLog } from './usage-log-schema'
|
||||
|
||||
// ============================================================================
|
||||
// Log Category Types
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
/**
|
||||
* API row shape for common (chat/relay) usage logs from the Manager backend.
|
||||
* Kept permissive: optional fields mirror partial responses and legacy rows.
|
||||
*/
|
||||
export interface UsageLog {
|
||||
id?: number
|
||||
user_id: number
|
||||
username?: string
|
||||
type: number
|
||||
channel: number
|
||||
channel_name?: string
|
||||
token_name?: string
|
||||
model_name: string
|
||||
group?: string
|
||||
other: string
|
||||
quota: number
|
||||
use_time: number
|
||||
prompt_tokens: number
|
||||
completion_tokens: number
|
||||
is_stream: boolean
|
||||
request_id?: string
|
||||
content?: string
|
||||
ip?: string
|
||||
}
|
||||
+1
-1
@@ -21,7 +21,7 @@ import { type SidebarData } from '@/components/layout/types'
|
||||
* - 平台是管理后台:登录后默认仅展示 Code delivery cockpit + 个人入口;
|
||||
* - 不再向普通用户暴露 Playground / API Keys / Models 等开发者控制台条目;
|
||||
* - Usage logs 作为交付链路的一环,归并进 Code delivery 分组;
|
||||
* - Git sources:SK 正文以 Git 为准;此处仅登记连接与展示运行时解析锚点(commit / 制品),不提供正文编辑;
|
||||
* - Git sources:先绑定代码与 SK 工具仓库并分配子 Agent 云上权限,部署后在此查看快照锚点;SK 正文仍以 Git 为准,不提供 Markdown 编辑;
|
||||
* - 所有 admin/root 管理类入口(Channels/Models/Tenants/Redemption/...)
|
||||
* 收纳进 "系统设置" workspace(点击进入 /system-settings 后才出现)。
|
||||
*
|
||||
|
||||
+13
-7
@@ -1605,10 +1605,16 @@
|
||||
"Get Started": "Get Started",
|
||||
"Git binding": "Git binding",
|
||||
"Git sources": "Git sources",
|
||||
"Git sources binding explainer": "Skill (SK) content lives in Git. Manager does not edit Markdown here—register repository connections and refs via the Heicode client or your deployment plan sk_sources. Below lists immutable snapshot anchors (Git commit / upload artifact) resolved for auditing.",
|
||||
"Git sources subtitle": "Bind Git repositories for SK, then review immutable snapshot anchors tied to each deployment.",
|
||||
"Git sources binding explainer": "Skill (SK) definitions live in Git. Manager does not edit Markdown here—register code repos, SK tool repos, and refs via the Heicode client or your deployment plan sk_sources. Allocate cloud permissions for sub-agents (VMs, roles, scopes) in the same plan; deploy sub-agents after bindings exist so each run inherits allow/deny SK policy. Below lists immutable snapshot anchors (Git commit / upload artifact) resolved for auditing.",
|
||||
"Git sources subtitle": "Bind Git code and SK tool repositories, attach cloud permissions for sub-agents, deploy, then review snapshot anchors per deployment.",
|
||||
"Git sources workflow title": "Typical setup flow",
|
||||
"Git sources workflow step 1": "Bind your team’s Git repositories that hold application code and delivery context.",
|
||||
"Git sources workflow step 2": "Bind SK tool repositories (skills registry) your tenant is allowed to draw from.",
|
||||
"Git sources workflow step 3": "Allocate cloud capacity and permissions for sub-agents—for example dedicated VMs, roles, and API scopes.",
|
||||
"Git sources workflow step 4": "Deploy sub-agents; the deployment wires bound sources and policies into that run.",
|
||||
"Git sources workflow step 5": "After deployment, each sub-agent receives its effective SK allow / deny policy from the control plane.",
|
||||
"Git-backed SK sources": "Git-backed SK sources",
|
||||
"Git-backed SK sources description": "Immutable snapshots from bound Git refs and uploads—wired into each run for audit.",
|
||||
"Git-backed SK sources description": "Bind repos and capacity first; immutable snapshots after each deployment show which SK lineage actually ran under tenant policy.",
|
||||
"GitHub": "GitHub",
|
||||
"Give the group a recognizable name and optional description.": "Give the group a recognizable name and optional description.",
|
||||
"Give this group a recognizable name.": "Give this group a recognizable name.",
|
||||
@@ -1775,7 +1781,7 @@
|
||||
"Inspect": "Inspect",
|
||||
"Inspect events": "Inspect events",
|
||||
"Inspect Git sources": "Inspect Git sources",
|
||||
"Inspect Git sources description": "Review resolved anchors (commit / artifact hash) from your bound repositories.",
|
||||
"Inspect Git sources description": "Follow bind → allocate cloud permissions → deploy, then review anchors and lineage for each deployment.",
|
||||
"Inspect SK lineage": "Inspect SK lineage",
|
||||
"Inspect user prompts": "Inspect user prompts",
|
||||
"Instance": "Instance",
|
||||
@@ -2176,9 +2182,9 @@
|
||||
"No deployment available for events.": "No deployment available for events.",
|
||||
"No deployment available for SK snapshots.": "No deployment available for SK snapshots.",
|
||||
"No deployment for Git sources": "No deployment selected yet",
|
||||
"No deployment for Git sources hint": "Create a deployment whose plan includes sk_sources pointing at your Git repository—resolved anchors will appear here.",
|
||||
"No deployment for Git sources hint": "Finish binding code/SK repos and sub-agent cloud permissions in your plan, then create a deployment—resolved anchors appear here.",
|
||||
"No resolved snapshots yet": "No resolved snapshots yet",
|
||||
"No resolved snapshots hint": "Resolve snapshots from the control plane after Git-backed sk_sources are configured.",
|
||||
"No resolved snapshots hint": "Once repos, cloud permissions, and deployment are in place, the control plane resolves snapshot anchors for auditing.",
|
||||
"No deployments available. Create one to get started.": "No deployments available. Create one to get started.",
|
||||
"No Deployments Found": "No Deployments Found",
|
||||
"No deployments match the current filter": "No deployments match the current filter",
|
||||
@@ -3106,7 +3112,7 @@
|
||||
"Sign in": "Sign in",
|
||||
"Sign In": "Sign In",
|
||||
"Sign in to operate Agnet deployments, inspect events, and audit SK snapshots for every tenant under your account.": "Sign in to operate Agnet deployments, inspect events, and audit SK snapshots for every tenant under your account.",
|
||||
"Sign in to operate deployments and review Git-bound snapshot anchors for tenants under your account.": "Sign in to operate deployments and review Git-bound snapshot anchors for tenants under your account.",
|
||||
"Sign in to operate deployments and review Git-bound snapshot anchors for tenants under your account.": "Sign in to bind repositories and cloud permissions, deploy sub-agents, and review Git-bound snapshot anchors for tenants under your account.",
|
||||
"Sign in to your workspace": "Sign in to your workspace",
|
||||
"Sign in with Passkey": "Sign in with Passkey",
|
||||
"Sign out": "Sign out",
|
||||
|
||||
+13
-7
@@ -1605,10 +1605,16 @@
|
||||
"Get Started": "Commencer",
|
||||
"Git binding": "Git binding",
|
||||
"Git sources": "Git sources",
|
||||
"Git sources binding explainer": "Skill (SK) content lives in Git. Manager does not edit Markdown here—register repository connections and refs via the Heicode client or your deployment plan sk_sources. Below lists immutable snapshot anchors (Git commit / upload artifact) resolved for auditing.",
|
||||
"Git sources subtitle": "Bind Git repositories for SK, then review immutable snapshot anchors tied to each deployment.",
|
||||
"Git sources binding explainer": "Skill (SK) definitions live in Git. Manager does not edit Markdown here—register code repos, SK tool repos, and refs via the Heicode client or your deployment plan sk_sources. Allocate cloud permissions for sub-agents (VMs, roles, scopes) in the same plan; deploy sub-agents after bindings exist so each run inherits allow/deny SK policy. Below lists immutable snapshot anchors (Git commit / upload artifact) resolved for auditing.",
|
||||
"Git sources subtitle": "Bind Git code and SK tool repositories, attach cloud permissions for sub-agents, deploy, then review snapshot anchors per deployment.",
|
||||
"Git sources workflow title": "Typical setup flow",
|
||||
"Git sources workflow step 1": "Bind your team’s Git repositories that hold application code and delivery context.",
|
||||
"Git sources workflow step 2": "Bind SK tool repositories (skills registry) your tenant is allowed to draw from.",
|
||||
"Git sources workflow step 3": "Allocate cloud capacity and permissions for sub-agents—for example dedicated VMs, roles, and API scopes.",
|
||||
"Git sources workflow step 4": "Deploy sub-agents; the deployment wires bound sources and policies into that run.",
|
||||
"Git sources workflow step 5": "After deployment, each sub-agent receives its effective SK allow / deny policy from the control plane.",
|
||||
"Git-backed SK sources": "Git-backed SK sources",
|
||||
"Git-backed SK sources description": "Immutable snapshots from bound Git refs and uploads—wired into each run for audit.",
|
||||
"Git-backed SK sources description": "Bind repos and capacity first; immutable snapshots after each deployment show which SK lineage actually ran under tenant policy.",
|
||||
"GitHub": "GitHub",
|
||||
"Give the group a recognizable name and optional description.": "Donnez au groupe un nom reconnaissable et une description facultative.",
|
||||
"Give this group a recognizable name.": "Donnez un nom reconnaissable à ce groupe.",
|
||||
@@ -1775,7 +1781,7 @@
|
||||
"Inspect": "Inspect",
|
||||
"Inspect events": "Inspect events",
|
||||
"Inspect Git sources": "Inspect Git sources",
|
||||
"Inspect Git sources description": "Review resolved anchors (commit / artifact hash) from your bound repositories.",
|
||||
"Inspect Git sources description": "Follow bind → allocate cloud permissions → deploy, then review anchors and lineage for each deployment.",
|
||||
"Inspect SK lineage": "Inspect SK lineage",
|
||||
"Inspect user prompts": "Inspecter les invites utilisateur",
|
||||
"Instance": "Instance",
|
||||
@@ -2176,9 +2182,9 @@
|
||||
"No deployment available for events.": "No deployment available for events.",
|
||||
"No deployment available for SK snapshots.": "No deployment available for SK snapshots.",
|
||||
"No deployment for Git sources": "No deployment selected yet",
|
||||
"No deployment for Git sources hint": "Create a deployment whose plan includes sk_sources pointing at your Git repository—resolved anchors will appear here.",
|
||||
"No deployment for Git sources hint": "Finish binding code/SK repos and sub-agent cloud permissions in your plan, then create a deployment—resolved anchors appear here.",
|
||||
"No resolved snapshots yet": "No resolved snapshots yet",
|
||||
"No resolved snapshots hint": "Resolve snapshots from the control plane after Git-backed sk_sources are configured.",
|
||||
"No resolved snapshots hint": "Once repos, cloud permissions, and deployment are in place, the control plane resolves snapshot anchors for auditing.",
|
||||
"No deployments available. Create one to get started.": "Aucun déploiement disponible. Créez-en un pour commencer.",
|
||||
"No Deployments Found": "Aucun déploiement trouvé",
|
||||
"No deployments match the current filter": "No deployments match the current filter",
|
||||
@@ -3106,7 +3112,7 @@
|
||||
"Sign in": "Se connecter",
|
||||
"Sign In": "Se connecter",
|
||||
"Sign in to operate Agnet deployments, inspect events, and audit SK snapshots for every tenant under your account.": "Sign in to operate Agnet deployments, inspect events, and audit SK snapshots for every tenant under your account.",
|
||||
"Sign in to operate deployments and review Git-bound snapshot anchors for tenants under your account.": "Sign in to operate deployments and review Git-bound snapshot anchors for tenants under your account.",
|
||||
"Sign in to operate deployments and review Git-bound snapshot anchors for tenants under your account.": "Sign in to bind repositories and cloud permissions, deploy sub-agents, and review Git-bound snapshot anchors for tenants under your account.",
|
||||
"Sign in to your workspace": "Sign in to your workspace",
|
||||
"Sign in with Passkey": "Se connecter avec Passkey",
|
||||
"Sign out": "Se déconnecter",
|
||||
|
||||
+13
-7
@@ -1605,10 +1605,16 @@
|
||||
"Get Started": "開始する",
|
||||
"Git binding": "Git binding",
|
||||
"Git sources": "Git sources",
|
||||
"Git sources binding explainer": "Skill (SK) content lives in Git. Manager does not edit Markdown here—register repository connections and refs via the Heicode client or your deployment plan sk_sources. Below lists immutable snapshot anchors (Git commit / upload artifact) resolved for auditing.",
|
||||
"Git sources subtitle": "Bind Git repositories for SK, then review immutable snapshot anchors tied to each deployment.",
|
||||
"Git sources binding explainer": "Skill (SK) definitions live in Git. Manager does not edit Markdown here—register code repos, SK tool repos, and refs via the Heicode client or your deployment plan sk_sources. Allocate cloud permissions for sub-agents (VMs, roles, scopes) in the same plan; deploy sub-agents after bindings exist so each run inherits allow/deny SK policy. Below lists immutable snapshot anchors (Git commit / upload artifact) resolved for auditing.",
|
||||
"Git sources subtitle": "Bind Git code and SK tool repositories, attach cloud permissions for sub-agents, deploy, then review snapshot anchors per deployment.",
|
||||
"Git sources workflow title": "Typical setup flow",
|
||||
"Git sources workflow step 1": "Bind your team’s Git repositories that hold application code and delivery context.",
|
||||
"Git sources workflow step 2": "Bind SK tool repositories (skills registry) your tenant is allowed to draw from.",
|
||||
"Git sources workflow step 3": "Allocate cloud capacity and permissions for sub-agents—for example dedicated VMs, roles, and API scopes.",
|
||||
"Git sources workflow step 4": "Deploy sub-agents; the deployment wires bound sources and policies into that run.",
|
||||
"Git sources workflow step 5": "After deployment, each sub-agent receives its effective SK allow / deny policy from the control plane.",
|
||||
"Git-backed SK sources": "Git-backed SK sources",
|
||||
"Git-backed SK sources description": "Immutable snapshots from bound Git refs and uploads—wired into each run for audit.",
|
||||
"Git-backed SK sources description": "Bind repos and capacity first; immutable snapshots after each deployment show which SK lineage actually ran under tenant policy.",
|
||||
"GitHub": "GitHub",
|
||||
"Give the group a recognizable name and optional description.": "グループに認識しやすい名前とオプションの説明を付けます。",
|
||||
"Give this group a recognizable name.": "このグループに認識しやすい名前を付けます。",
|
||||
@@ -1775,7 +1781,7 @@
|
||||
"Inspect": "Inspect",
|
||||
"Inspect events": "Inspect events",
|
||||
"Inspect Git sources": "Inspect Git sources",
|
||||
"Inspect Git sources description": "Review resolved anchors (commit / artifact hash) from your bound repositories.",
|
||||
"Inspect Git sources description": "Follow bind → allocate cloud permissions → deploy, then review anchors and lineage for each deployment.",
|
||||
"Inspect SK lineage": "Inspect SK lineage",
|
||||
"Inspect user prompts": "ユーザープロンプトの検査",
|
||||
"Instance": "インスタンス",
|
||||
@@ -2176,9 +2182,9 @@
|
||||
"No deployment available for events.": "No deployment available for events.",
|
||||
"No deployment available for SK snapshots.": "No deployment available for SK snapshots.",
|
||||
"No deployment for Git sources": "No deployment selected yet",
|
||||
"No deployment for Git sources hint": "Create a deployment whose plan includes sk_sources pointing at your Git repository—resolved anchors will appear here.",
|
||||
"No deployment for Git sources hint": "Finish binding code/SK repos and sub-agent cloud permissions in your plan, then create a deployment—resolved anchors appear here.",
|
||||
"No resolved snapshots yet": "No resolved snapshots yet",
|
||||
"No resolved snapshots hint": "Resolve snapshots from the control plane after Git-backed sk_sources are configured.",
|
||||
"No resolved snapshots hint": "Once repos, cloud permissions, and deployment are in place, the control plane resolves snapshot anchors for auditing.",
|
||||
"No deployments available. Create one to get started.": "利用可能なデプロイメントがありません。開始するには1つ作成してください。",
|
||||
"No Deployments Found": "デプロイメントが見つかりません",
|
||||
"No deployments match the current filter": "No deployments match the current filter",
|
||||
@@ -3106,7 +3112,7 @@
|
||||
"Sign in": "ログイン",
|
||||
"Sign In": "ログイン",
|
||||
"Sign in to operate Agnet deployments, inspect events, and audit SK snapshots for every tenant under your account.": "Sign in to operate Agnet deployments, inspect events, and audit SK snapshots for every tenant under your account.",
|
||||
"Sign in to operate deployments and review Git-bound snapshot anchors for tenants under your account.": "Sign in to operate deployments and review Git-bound snapshot anchors for tenants under your account.",
|
||||
"Sign in to operate deployments and review Git-bound snapshot anchors for tenants under your account.": "Sign in to bind repositories and cloud permissions, deploy sub-agents, and review Git-bound snapshot anchors for tenants under your account.",
|
||||
"Sign in to your workspace": "Sign in to your workspace",
|
||||
"Sign in with Passkey": "Passkeyでログイン",
|
||||
"Sign out": "ログアウト",
|
||||
|
||||
+13
-7
@@ -1605,10 +1605,16 @@
|
||||
"Get Started": "Начать",
|
||||
"Git binding": "Git binding",
|
||||
"Git sources": "Git sources",
|
||||
"Git sources binding explainer": "Skill (SK) content lives in Git. Manager does not edit Markdown here—register repository connections and refs via the Heicode client or your deployment plan sk_sources. Below lists immutable snapshot anchors (Git commit / upload artifact) resolved for auditing.",
|
||||
"Git sources subtitle": "Bind Git repositories for SK, then review immutable snapshot anchors tied to each deployment.",
|
||||
"Git sources binding explainer": "Skill (SK) definitions live in Git. Manager does not edit Markdown here—register code repos, SK tool repos, and refs via the Heicode client or your deployment plan sk_sources. Allocate cloud permissions for sub-agents (VMs, roles, scopes) in the same plan; deploy sub-agents after bindings exist so each run inherits allow/deny SK policy. Below lists immutable snapshot anchors (Git commit / upload artifact) resolved for auditing.",
|
||||
"Git sources subtitle": "Bind Git code and SK tool repositories, attach cloud permissions for sub-agents, deploy, then review snapshot anchors per deployment.",
|
||||
"Git sources workflow title": "Typical setup flow",
|
||||
"Git sources workflow step 1": "Bind your team’s Git repositories that hold application code and delivery context.",
|
||||
"Git sources workflow step 2": "Bind SK tool repositories (skills registry) your tenant is allowed to draw from.",
|
||||
"Git sources workflow step 3": "Allocate cloud capacity and permissions for sub-agents—for example dedicated VMs, roles, and API scopes.",
|
||||
"Git sources workflow step 4": "Deploy sub-agents; the deployment wires bound sources and policies into that run.",
|
||||
"Git sources workflow step 5": "After deployment, each sub-agent receives its effective SK allow / deny policy from the control plane.",
|
||||
"Git-backed SK sources": "Git-backed SK sources",
|
||||
"Git-backed SK sources description": "Immutable snapshots from bound Git refs and uploads—wired into each run for audit.",
|
||||
"Git-backed SK sources description": "Bind repos and capacity first; immutable snapshots after each deployment show which SK lineage actually ran under tenant policy.",
|
||||
"GitHub": "GitHub",
|
||||
"Give the group a recognizable name and optional description.": "Дайте группе узнаваемое имя и необязательное описание.",
|
||||
"Give this group a recognizable name.": "Дайте этой группе узнаваемое имя.",
|
||||
@@ -1775,7 +1781,7 @@
|
||||
"Inspect": "Inspect",
|
||||
"Inspect events": "Inspect events",
|
||||
"Inspect Git sources": "Inspect Git sources",
|
||||
"Inspect Git sources description": "Review resolved anchors (commit / artifact hash) from your bound repositories.",
|
||||
"Inspect Git sources description": "Follow bind → allocate cloud permissions → deploy, then review anchors and lineage for each deployment.",
|
||||
"Inspect SK lineage": "Inspect SK lineage",
|
||||
"Inspect user prompts": "Просмотр запросов пользователя",
|
||||
"Instance": "Экземпляр",
|
||||
@@ -2176,9 +2182,9 @@
|
||||
"No deployment available for events.": "No deployment available for events.",
|
||||
"No deployment available for SK snapshots.": "No deployment available for SK snapshots.",
|
||||
"No deployment for Git sources": "No deployment selected yet",
|
||||
"No deployment for Git sources hint": "Create a deployment whose plan includes sk_sources pointing at your Git repository—resolved anchors will appear here.",
|
||||
"No deployment for Git sources hint": "Finish binding code/SK repos and sub-agent cloud permissions in your plan, then create a deployment—resolved anchors appear here.",
|
||||
"No resolved snapshots yet": "No resolved snapshots yet",
|
||||
"No resolved snapshots hint": "Resolve snapshots from the control plane after Git-backed sk_sources are configured.",
|
||||
"No resolved snapshots hint": "Once repos, cloud permissions, and deployment are in place, the control plane resolves snapshot anchors for auditing.",
|
||||
"No deployments available. Create one to get started.": "Нет доступных развертываний. Создайте одно, чтобы начать.",
|
||||
"No Deployments Found": "Развертывания не найдены",
|
||||
"No deployments match the current filter": "No deployments match the current filter",
|
||||
@@ -3106,7 +3112,7 @@
|
||||
"Sign in": "Войти",
|
||||
"Sign In": "Войти",
|
||||
"Sign in to operate Agnet deployments, inspect events, and audit SK snapshots for every tenant under your account.": "Sign in to operate Agnet deployments, inspect events, and audit SK snapshots for every tenant under your account.",
|
||||
"Sign in to operate deployments and review Git-bound snapshot anchors for tenants under your account.": "Sign in to operate deployments and review Git-bound snapshot anchors for tenants under your account.",
|
||||
"Sign in to operate deployments and review Git-bound snapshot anchors for tenants under your account.": "Sign in to bind repositories and cloud permissions, deploy sub-agents, and review Git-bound snapshot anchors for tenants under your account.",
|
||||
"Sign in to your workspace": "Sign in to your workspace",
|
||||
"Sign in with Passkey": "Войти с Passkey",
|
||||
"Sign out": "Выйти",
|
||||
|
||||
+13
-7
@@ -1605,10 +1605,16 @@
|
||||
"Get Started": "Bắt đầu",
|
||||
"Git binding": "Git binding",
|
||||
"Git sources": "Git sources",
|
||||
"Git sources binding explainer": "Skill (SK) content lives in Git. Manager does not edit Markdown here—register repository connections and refs via the Heicode client or your deployment plan sk_sources. Below lists immutable snapshot anchors (Git commit / upload artifact) resolved for auditing.",
|
||||
"Git sources subtitle": "Bind Git repositories for SK, then review immutable snapshot anchors tied to each deployment.",
|
||||
"Git sources binding explainer": "Skill (SK) definitions live in Git. Manager does not edit Markdown here—register code repos, SK tool repos, and refs via the Heicode client or your deployment plan sk_sources. Allocate cloud permissions for sub-agents (VMs, roles, scopes) in the same plan; deploy sub-agents after bindings exist so each run inherits allow/deny SK policy. Below lists immutable snapshot anchors (Git commit / upload artifact) resolved for auditing.",
|
||||
"Git sources subtitle": "Bind Git code and SK tool repositories, attach cloud permissions for sub-agents, deploy, then review snapshot anchors per deployment.",
|
||||
"Git sources workflow title": "Typical setup flow",
|
||||
"Git sources workflow step 1": "Bind your team’s Git repositories that hold application code and delivery context.",
|
||||
"Git sources workflow step 2": "Bind SK tool repositories (skills registry) your tenant is allowed to draw from.",
|
||||
"Git sources workflow step 3": "Allocate cloud capacity and permissions for sub-agents—for example dedicated VMs, roles, and API scopes.",
|
||||
"Git sources workflow step 4": "Deploy sub-agents; the deployment wires bound sources and policies into that run.",
|
||||
"Git sources workflow step 5": "After deployment, each sub-agent receives its effective SK allow / deny policy from the control plane.",
|
||||
"Git-backed SK sources": "Git-backed SK sources",
|
||||
"Git-backed SK sources description": "Immutable snapshots from bound Git refs and uploads—wired into each run for audit.",
|
||||
"Git-backed SK sources description": "Bind repos and capacity first; immutable snapshots after each deployment show which SK lineage actually ran under tenant policy.",
|
||||
"GitHub": "GitHub",
|
||||
"Give the group a recognizable name and optional description.": "Đặt cho nhóm một cái tên dễ nhận biết và mô tả tùy chọn.",
|
||||
"Give this group a recognizable name.": "Hãy đặt cho nhóm này một cái tên dễ nhận biết.",
|
||||
@@ -1775,7 +1781,7 @@
|
||||
"Inspect": "Inspect",
|
||||
"Inspect events": "Inspect events",
|
||||
"Inspect Git sources": "Inspect Git sources",
|
||||
"Inspect Git sources description": "Review resolved anchors (commit / artifact hash) from your bound repositories.",
|
||||
"Inspect Git sources description": "Follow bind → allocate cloud permissions → deploy, then review anchors and lineage for each deployment.",
|
||||
"Inspect SK lineage": "Inspect SK lineage",
|
||||
"Inspect user prompts": "Kiểm tra lời nhắc của người dùng",
|
||||
"Instance": "Phiên bản",
|
||||
@@ -2176,9 +2182,9 @@
|
||||
"No deployment available for events.": "No deployment available for events.",
|
||||
"No deployment available for SK snapshots.": "No deployment available for SK snapshots.",
|
||||
"No deployment for Git sources": "No deployment selected yet",
|
||||
"No deployment for Git sources hint": "Create a deployment whose plan includes sk_sources pointing at your Git repository—resolved anchors will appear here.",
|
||||
"No deployment for Git sources hint": "Finish binding code/SK repos and sub-agent cloud permissions in your plan, then create a deployment—resolved anchors appear here.",
|
||||
"No resolved snapshots yet": "No resolved snapshots yet",
|
||||
"No resolved snapshots hint": "Resolve snapshots from the control plane after Git-backed sk_sources are configured.",
|
||||
"No resolved snapshots hint": "Once repos, cloud permissions, and deployment are in place, the control plane resolves snapshot anchors for auditing.",
|
||||
"No deployments available. Create one to get started.": "Không có triển khai nào khả dụng. Tạo một cái để bắt đầu.",
|
||||
"No Deployments Found": "Không tìm thấy triển khai nào",
|
||||
"No deployments match the current filter": "No deployments match the current filter",
|
||||
@@ -3106,7 +3112,7 @@
|
||||
"Sign in": "Đăng nhập",
|
||||
"Sign In": "Đăng nhập",
|
||||
"Sign in to operate Agnet deployments, inspect events, and audit SK snapshots for every tenant under your account.": "Sign in to operate Agnet deployments, inspect events, and audit SK snapshots for every tenant under your account.",
|
||||
"Sign in to operate deployments and review Git-bound snapshot anchors for tenants under your account.": "Sign in to operate deployments and review Git-bound snapshot anchors for tenants under your account.",
|
||||
"Sign in to operate deployments and review Git-bound snapshot anchors for tenants under your account.": "Sign in to bind repositories and cloud permissions, deploy sub-agents, and review Git-bound snapshot anchors for tenants under your account.",
|
||||
"Sign in to your workspace": "Sign in to your workspace",
|
||||
"Sign in with Passkey": "Đăng nhập bằng Passkey",
|
||||
"Sign out": "Đăng xuất",
|
||||
|
||||
+13
-7
@@ -1605,10 +1605,16 @@
|
||||
"Get Started": "开始使用",
|
||||
"Git binding": "Git 绑定",
|
||||
"Git sources": "Git 来源",
|
||||
"Git sources binding explainer": "Skill(SK)正文以 Git 仓库为唯一事实源。Manager 不在此编辑 Markdown:请在 Heicode 客户端或部署计划的 sk_sources 中登记仓库连接与引用。下列为运行时解析得到的不可变快照锚点(Git commit / 上传制品),供审计追溯。",
|
||||
"Git sources subtitle": "为 SK 绑定 Git 仓库后,在此查看与各次部署关联的快照锚点。",
|
||||
"Git sources binding explainer": "Skill(SK)定义以 Git 为唯一事实源。Manager 不在此编辑 Markdown:请在 Heicode 客户端或部署计划的 sk_sources 中登记代码仓库、SK 工具仓库与引用;并在同一计划中为子 Agent 分配云上权限(虚拟机、角色、API 范围等)。完成绑定后再部署子 Agent,使每次运行继承允许的 SK 与被禁止的 SK 策略。下列为运行时解析得到的不可变快照锚点(Git commit / 上传制品),供审计追溯。",
|
||||
"Git sources subtitle": "绑定代码与 SK 工具仓库、为子 Agent 分配云上权限并部署后,在此按部署查看快照锚点。",
|
||||
"Git sources workflow title": "典型配置顺序",
|
||||
"Git sources workflow step 1": "绑定团队用于应用代码与交付上下文的 Git 仓库。",
|
||||
"Git sources workflow step 2": "绑定 SK 工具仓库(技能来源),声明租户可引用的工具集。",
|
||||
"Git sources workflow step 3": "为子 Agent 分配云上资源与权限(如独立虚拟机、角色与其他访问边界)。",
|
||||
"Git sources workflow step 4": "部署子 Agent;部署会把已绑定的来源与策略写入该次运行。",
|
||||
"Git sources workflow step 5": "部署完成后,子 Agent 从控制面获知生效的允许 SK 与禁止 SK。",
|
||||
"Git-backed SK sources": "基于 Git 的 SK 来源",
|
||||
"Git-backed SK sources description": "来自已绑定 Git 引用与上传制品的不可变快照,并注入每次运行以供审计。",
|
||||
"Git-backed SK sources description": "先完成仓库与云上能力绑定;每次部署后的不可变快照反映在该租户策略下实际运行的 SK 血缘。",
|
||||
"GitHub": "GitHub",
|
||||
"Give the group a recognizable name and optional description.": "为该分组提供一个可识别的名称和可选的描述。",
|
||||
"Give this group a recognizable name.": "为此分组提供一个可识别的名称。",
|
||||
@@ -1775,7 +1781,7 @@
|
||||
"Inspect": "查看",
|
||||
"Inspect events": "查看事件",
|
||||
"Inspect Git sources": "查看 Git 来源与快照",
|
||||
"Inspect Git sources description": "查看已绑定仓库解析出的锚点(commit / 制品哈希)。",
|
||||
"Inspect Git sources description": "按「绑定 → 分配云上权限 → 部署」完成后,在此查看各次部署的锚点与血缘。",
|
||||
"Inspect SK lineage": "追溯 SK 血缘",
|
||||
"Inspect user prompts": "检查用户提示",
|
||||
"Instance": "实例",
|
||||
@@ -2176,9 +2182,9 @@
|
||||
"No deployment available for events.": "暂无可查看事件的部署。",
|
||||
"No deployment available for SK snapshots.": "暂无可查看 SK 快照的部署。",
|
||||
"No deployment for Git sources": "暂无可关联的部署",
|
||||
"No deployment for Git sources hint": "请在编排计划的 sk_sources 中指向 Git 仓库并创建部署后,此处会显示解析锚点。",
|
||||
"No deployment for Git sources hint": "在计划中完成代码/SK 仓库与子 Agent 云上权限的配置并创建部署后,此处会显示解析锚点。",
|
||||
"No resolved snapshots yet": "尚无已解析的快照",
|
||||
"No resolved snapshots hint": "在配置好基于 Git 的来源后,由控制面触发快照解析即可在此查看。",
|
||||
"No resolved snapshots hint": "仓库、云上权限与部署就绪后,由控制面解析快照锚点即可在此审计追溯。",
|
||||
"No deployments available. Create one to get started.": "没有可用的部署。创建一个开始吧。",
|
||||
"No Deployments Found": "未找到部署",
|
||||
"No deployments match the current filter": "没有符合当前筛选条件的部署",
|
||||
@@ -3106,7 +3112,7 @@
|
||||
"Sign in": "登录",
|
||||
"Sign In": "登录",
|
||||
"Sign in to operate Agnet deployments, inspect events, and audit SK snapshots for every tenant under your account.": "登录后即可操作 Agnet 部署、查看事件,并审计你账号下各租户的 SK 快照。",
|
||||
"Sign in to operate deployments and review Git-bound snapshot anchors for tenants under your account.": "登录后即可操作部署、查看事件,并审阅你账号下各租户与 Git 绑定的快照锚点。",
|
||||
"Sign in to operate deployments and review Git-bound snapshot anchors for tenants under your account.": "登录后即可绑定仓库与云上权限、部署子 Agent,并审阅你账号下各租户与 Git 绑定的快照锚点。",
|
||||
"Sign in to your workspace": "登录到你的工作空间",
|
||||
"Sign in with Passkey": "使用 Passkey 登录",
|
||||
"Sign out": "登出",
|
||||
|
||||
Reference in New Issue
Block a user