返回 CodeWhale
docs-computers.ts
根目录 / web / lib / i18n / dictionaries / en / docs-computers.ts
1 import type { DocsComputersDict } from "../types";
2
3 /**
4 * English reference dictionary for `app/[locale]/docs/computers/page.tsx`.
5 * Every statement is taken from docs/DAYTONA_CLOUD_DISPATCH.md and
6 * docs/CODEWHALE_AGENT.md; the commands, env names, and job states are
7 * code-owned literals typeset by the page.
8 */
9 export const docsComputers: DocsComputersDict = {
10 metaTitle: "Cloud computers · Codewhale Docs",
11 metaDescription:
12 "How a local Codewhale session proposes, confirms, and tracks a cloud agent on a Daytona computer — explicit forges, fail-closed credentials, and what is not built yet.",
13 bodyClassName: "text-ink-soft leading-relaxed",
14 overviewTitle: "Cloud computers",
15 overviewLead:
16 "A local session can offload a coding task to a cloud computer the way an editor sends a cloud agent: the remote job raises a branch and is meant to open a pull request against an explicit forge. Local stays responsive. Spend and push never happen silently — a proposal is written first, and nothing creates a sandbox or pushes a branch until you confirm it.",
17 proposeTitle: "Propose, then confirm",
18 proposeLead:
19 "The first command writes a proposal and exits. The second confirms it by id. The TUI has the same two steps as slash commands, and the {cloudAgent} spelling is an alias of {dispatch}.",
20 jobsLead:
21 "Cloud jobs are first-class on the existing jobs surface as {kind}. List, show, and cancel them from the TUI or the CLI:",
22 remotesTitle: "Explicit forges",
23 remotesLead:
24 "A remote is never assumed to be GitHub. A remote named after a forge is that forge; any other remote is classified by its URL host. If more than one forge is present, pass {remoteFlag}.",
25 remotes: [
26 ["github · cnb · gitee (by remote name)", "that forge, whatever the URL"],
27 ["origin or other → github.com", "github"],
28 ["origin or other → cnb.cool", "cnb"],
29 ["origin or other → gitee.com", "gitee"],
30 ],
31 enableTitle: "Enable a Daytona computer",
32 enableLead:
33 "Credentials live in the process environment or in the Codewhale secret store — never in config.toml or models.toml, and never committed.",
34 enableSteps: [
35 ["Create an API key", "In the Daytona dashboard under API keys."],
36 [
37 "Export it for the session",
38 "{apiKey}, optionally {apiUrl} for a non-default endpoint.",
39 ],
40 [
41 "Or store it once",
42 "In the Codewhale secret slot {slot} (OS keyring or the $CODEWHALE_HOME secrets file). The {alias} alias is also accepted.",
43 ],
44 ],
45 cliNote:
46 "An installed daytona CLI is not a credential. {status} and a bare {bare} report CLI presence separately from credential presence.",
47 rulesTitle: "Fail-closed rules",
48 rules: [
49 ["No confirm", "A {proposed} job is written; the command exits success; Daytona is not called; nothing is pushed."],
50 ["Confirm, no credentials", "A {refused} job is written; the command exits failure; no sandbox exists."],
51 [
52 "Confirm with credentials",
53 "A Daytona sandbox is created, labelled with the job id and forge. This slice does not claim a GitHub, CNB, or Gitee PR URL, and a missing forge token fails closed the same way.",
54 ],
55 ],
56 membershipTitle: "Who can dispatch",
57 membershipLead:
58 "Managed Agent surfaces authenticate to the same Codewhale membership — the {login} account session. Membership gates cloud agents, not local dispatch: `codewhale dispatch` with Daytona and forge credentials needs no account. Provider brands stay internal, and installing or running the local runtime needs no account at all.",
59 leftoverTitle: "Not built yet",
60 leftover: [
61 ["Live watch", "A log tail of a running sandbox."],
62 ["Cancel that tears down", "Cancelling a paid Daytona sandbox from the job surface."],
63 ["Auto-decide", "Codewhale may propose a dispatch; it must not confirm its own proposal."],
64 ["The remote runner", "The agent that actually raises the branch and opens the pull request."],
65 ],
66 sourceNote:
67 "Source documents: docs/DAYTONA_CLOUD_DISPATCH.md, docs/CODEWHALE_AGENT.md · Update docs-map.ts when changing.",
68 };
69
69 lines TYPESCRIPT