+ {tone === 'risk' + ? t('High-risk action') + : tone === 'change' + ? t('Scope / credential change') + : t('Audit event')} +
++ {label} +
+-
+
diff --git a/cc-haha/desktop/src/components/login/HeicodeLoginPage.tsx b/cc-haha/desktop/src/components/login/HeicodeLoginPage.tsx index 5f5c22a..ac2c2b7 100644 --- a/cc-haha/desktop/src/components/login/HeicodeLoginPage.tsx +++ b/cc-haha/desktop/src/components/login/HeicodeLoginPage.tsx @@ -133,17 +133,24 @@ export function HeicodeLoginPage() { ) : null} - {hasFetched && providers.length === 0 ? ( + {/* docs/product-package/08 §"登录" + §"客户端不应该出现的内容": + Login screen only shows the Heicode provider. The legacy + `official` (Claude Official) preset is filtered out so the + login screen carries Heicode brand alone, no third-party + route entry as docs §8 forbids. */} + {hasFetched && providers.filter((p) => p.id !== 'official').length === 0 ? (
+ {tone === 'risk' + ? t('High-risk action') + : tone === 'change' + ? t('Scope / credential change') + : t('Audit event')} +
++ {label} +
++ {t( + 'Per docs §6: plaintext credentials never appear here. Long-lived secrets live in the secret vault; only secret_ref and redacted previews are shown.' + )} +
{isLoading ? ( -|
- |
-
- |
-
- |
-
- |
-
|---|---|---|---|
| - {String(e.action || e.event || '—')} - | -- {String(e.actor || e.user || '—')} - | -- {String( - e.binding_scope || e.tenant || e.tenant_id || '—' - )} - | -- {formatRelativeTime( - String(e.occurred_at || e.timestamp || '') - )} - | -
+ {t('Recommendation summary')} +
++ {t( + 'Parameters are generated by Heicode. You only confirm the boundaries.' + )} +
++ {t('Estimated consumption')} +
++ {t( + 'Model budget will be capped to your default. Detailed usage shows up in Models & balance after the run.' + )} +
+{title}
++ {t( + 'Describe the product, feature, or fix. Heicode will draft the task, recommend resources, and dispatch the Agnet team.' + )} +
++ {t('Continue working')} +
++ {t( + 'No tasks yet. Capture an idea above, then confirm the recommendation in the desktop client to launch Agnet.' + )} +
+ ) : ( ++ {dep.orchestration_plan?.objective || + dep.orchestration_plan?.template_hint || + t('No objective')} +
++ {t('Updated')} {formatRelativeTime(dep.updated_at || dep.created_at)} {t('ago')} +
++ {t("Today's focus")} +
++ {it.title} +
+{it.count}
++ {it.hint} +
++ {t('Helpers')} +
+
+ {e.title}
+
{e.desc}
++ {t('Task not found. It may have been removed or was never created.')} +
++ {t('Task card')} +
+
+
+
+ {autoGenerated.join(' / ')} +
++ {t( + 'These artifacts appear inside the desktop client as the task progresses.' + )} +
++ {t('Needs Manager assistance')} +
++ {t('Pending context')} +
++ {t( + 'Code, docs, cloud resources and high-risk approval rules. Connect them in the preparation checklist; Heicode will auto-discover what it can and only ask for the rest.' + )} +
+