From a31926526da923576dff59ddf56e1f4a2b6959d4 Mon Sep 17 00:00:00 2001 From: vimtor Date: Wed, 14 Oct 2026 13:09:05 +0200 Subject: [PATCH 1/5] fix(opencode): discontinue session sharing --- github/action.yml | 3 +- .../session/timeline/message-timeline.tsx | 3 +- .../pages/session/use-session-commands.tsx | 80 +------------------ .../opencode/src/cli/cmd/github.handler.ts | 51 +++--------- packages/opencode/src/cli/cmd/run.ts | 17 +--- packages/opencode/src/share/session.ts | 27 ++----- .../test/server/httpapi-exercise/index.ts | 9 +-- .../src/feature-plugins/home/tips-view.tsx | 4 - packages/tui/src/routes/session/index.tsx | 41 ---------- 9 files changed, 27 insertions(+), 208 deletions(-) diff --git a/github/action.yml b/github/action.yml index 3d983a160995..2ed8fd6f976e 100644 --- a/github/action.yml +++ b/github/action.yml @@ -14,7 +14,7 @@ inputs: required: false share: - description: "Share the opencode session (defaults to true for public repos)" + description: "Deprecated and ignored: session sharing was discontinued" required: false prompt: @@ -71,7 +71,6 @@ runs: env: MODEL: ${{ inputs.model }} AGENT: ${{ inputs.agent }} - SHARE: ${{ inputs.share }} PROMPT: ${{ inputs.prompt }} USE_GITHUB_TOKEN: ${{ inputs.use_github_token }} MENTIONS: ${{ inputs.mentions }} diff --git a/packages/app/src/pages/session/timeline/message-timeline.tsx b/packages/app/src/pages/session/timeline/message-timeline.tsx index e0838825570e..0e17545cb4ec 100644 --- a/packages/app/src/pages/session/timeline/message-timeline.tsx +++ b/packages/app/src/pages/session/timeline/message-timeline.tsx @@ -299,7 +299,8 @@ export function MessageTimeline(props: { const titleValue = createMemo(() => info()?.title) const titleLabel = createMemo(() => sessionTitle(titleValue())) const shareUrl = createMemo(() => info()?.share?.url) - const shareEnabled = createMemo(() => sync().data.config.share !== "disabled") + // Session sharing was discontinued; existing links can still be cleared with the unshare command. + const shareEnabled = () => false const parentID = createMemo(() => info()?.parentID) const parent = createMemo(() => { const id = parentID() diff --git a/packages/app/src/pages/session/use-session-commands.tsx b/packages/app/src/pages/session/use-session-commands.tsx index 18d5b172ff17..30c12fb5f109 100644 --- a/packages/app/src/pages/session/use-session-commands.tsx +++ b/packages/app/src/pages/session/use-session-commands.tsx @@ -147,71 +147,6 @@ export const useSessionCommands = (actions: SessionCommandContext) => { if (sessionID) return permission.isAutoAccepting(sessionID, sdk().directory) return permission.isAutoAcceptingDirectory(sdk().directory) } - const write = async (value: string) => { - const body = typeof document === "undefined" ? undefined : document.body - if (body) { - const textarea = document.createElement("textarea") - textarea.value = value - textarea.setAttribute("readonly", "") - textarea.style.position = "fixed" - textarea.style.opacity = "0" - textarea.style.pointerEvents = "none" - body.appendChild(textarea) - textarea.select() - const copied = document.execCommand("copy") - body.removeChild(textarea) - if (copied) return true - } - - const clipboard = typeof navigator === "undefined" ? undefined : navigator.clipboard - if (!clipboard?.writeText) return false - return clipboard.writeText(value).then( - () => true, - () => false, - ) - } - - const copyShare = async (url: string, existing: boolean) => { - if (!(await write(url))) { - showToast({ - title: language.t("toast.session.share.copyFailed.title"), - variant: "error", - }) - return - } - - showToast({ - title: existing ? language.t("session.share.copy.copied") : language.t("toast.session.share.success.title"), - description: language.t("toast.session.share.success.description"), - variant: "success", - }) - } - - const share = async () => { - const sessionID = params.id - if (!sessionID) return - - const existing = info()?.share?.url - if (existing) { - await copyShare(existing, true) - return - } - - const url = await sdk() - .client.session.share({ sessionID }) - .then((res) => res.data?.share?.url) - .catch(() => undefined) - if (!url) { - showToast({ - title: language.t("toast.session.share.failed.title"), - description: language.t("toast.session.share.failed.description"), - variant: "error", - }) - return - } - - await copyShare(url, false) - } const unshare = async () => { const sessionID = params.id @@ -421,25 +356,16 @@ export const useSessionCommands = (actions: SessionCommandContext) => { ) } + // Session sharing was discontinued; keep unshare so existing share links can be cleared. const shareCmds = () => { - if (sync().data.config.share === "disabled") return [] + if (!info()?.share?.url) return [] return [ - sessionCommand({ - id: "session.share", - title: info()?.share?.url ? language.t("session.share.copy.copyLink") : language.t("command.session.share"), - description: info()?.share?.url - ? language.t("toast.session.share.success.description") - : language.t("command.session.share.description"), - slash: "share", - disabled: !params.id, - onSelect: share, - }), sessionCommand({ id: "session.unshare", title: language.t("command.session.unshare"), description: language.t("command.session.unshare.description"), slash: "unshare", - disabled: !params.id || !info()?.share?.url, + disabled: !params.id, onSelect: unshare, }), ] diff --git a/packages/opencode/src/cli/cmd/github.handler.ts b/packages/opencode/src/cli/cmd/github.handler.ts index fcf44279ce7f..e990a3c1fe33 100644 --- a/packages/opencode/src/cli/cmd/github.handler.ts +++ b/packages/opencode/src/cli/cmd/github.handler.ts @@ -19,7 +19,6 @@ import type { import { UI } from "../ui" import { ModelsDev } from "@opencode-ai/core/models-dev" import { InstanceRef } from "@/effect/instance-ref" -import { SessionShare } from "@/share/session" import { Session } from "@/session/session" import type { SessionID } from "../../session/schema" import { MessageID, PartID } from "../../session/schema" @@ -380,7 +379,6 @@ export const githubRun = Effect.fn("Cli.github.run")(function* (args: { event?: if (!ctx) return yield* Effect.die("InstanceRef not provided") const gitSvc = yield* Git.Service const sessionSvc = yield* Session.Service - const sessionShare = yield* SessionShare.Service const sessionPrompt = yield* SessionPrompt.Service const events = yield* EventV2Bridge.Service const runLocalEffect = (effect: Effect.Effect) => @@ -407,7 +405,6 @@ export const githubRun = Effect.fn("Cli.github.run")(function* (args: { event?: const { providerID, modelID } = normalizeModel() const variant = process.env["VARIANT"] || undefined const runId = normalizeRunId() - const share = normalizeShare() const oidcBaseUrl = normalizeOidcBaseUrl() const { owner, repo } = context.repo // For repo events (schedule, workflow_dispatch), payload has no issue/comment data @@ -428,14 +425,12 @@ export const githubRun = Effect.fn("Cli.github.run")(function* (args: { event?: ? (payload as IssueCommentEvent | IssuesEvent).issue.number : (payload as PullRequestEvent | PullRequestReviewCommentEvent).pull_request.number const runUrl = `/${owner}/${repo}/actions/runs/${runId}` - const shareBaseUrl = isMock ? "https://dev.opencode.ai" : "https://opencode.ai" let appToken: string let octoRest: Octokit let octoGraph: typeof graphql let gitConfig: string let session: { id: SessionID; title: string; version: string } - let shareId: string | undefined let exitCode = 0 let githubClientReady = false type PromptFiles = Awaited>["promptFiles"] @@ -512,12 +507,6 @@ export const githubRun = Effect.fn("Cli.github.run")(function* (args: { event?: }), ) await subscribeSessionEvents() - shareId = await (async () => { - if (share === false) return - if (!share && repoData.data.private) return - await runLocalEffect(sessionShare.share(session.id)) - return session.id.slice(-8) - })() console.log("opencode session", session.id) // Handle event types: @@ -547,7 +536,7 @@ export const githubRun = Effect.fn("Cli.github.run")(function* (args: { event?: repoData.data.default_branch, branch, summary, - `${response}\n\nTriggered by ${triggerType}${footer({ image: true })}`, + `${response}\n\nTriggered by ${triggerType}${footer()}`, ) if (pr) { console.log(`Created PR #${pr}`) @@ -576,8 +565,7 @@ export const githubRun = Effect.fn("Cli.github.run")(function* (args: { event?: const summary = await summarize(response) await pushToLocalBranch(summary, uncommittedChanges) } - const hasShared = prData.comments.nodes.some((c) => c.body.includes(`${shareBaseUrl}/s/${shareId}`)) - await createComment(`${response}${footer({ image: !hasShared })}`) + await createComment(`${response}${footer()}`) await removeReaction(commentType) } // Fork PR @@ -594,8 +582,7 @@ export const githubRun = Effect.fn("Cli.github.run")(function* (args: { event?: const summary = await summarize(response) await pushToForkBranch(summary, prData, uncommittedChanges) } - const hasShared = prData.comments.nodes.some((c) => c.body.includes(`${shareBaseUrl}/s/${shareId}`)) - await createComment(`${response}${footer({ image: !hasShared })}`) + await createComment(`${response}${footer()}`) await removeReaction(commentType) } } @@ -610,7 +597,7 @@ export const githubRun = Effect.fn("Cli.github.run")(function* (args: { event?: if (switched) { // Agent switched branches (likely created its own branch/PR). // Don't push the stale infrastructure branch — just comment. - await createComment(`${response}${footer({ image: true })}`) + await createComment(`${response}${footer()}`) await removeReaction(commentType) } else if (dirty) { const summary = await summarize(response) @@ -619,16 +606,16 @@ export const githubRun = Effect.fn("Cli.github.run")(function* (args: { event?: repoData.data.default_branch, branch, summary, - `${response}\n\nCloses #${issueId}${footer({ image: true })}`, + `${response}\n\nCloses #${issueId}${footer()}`, ) if (pr) { - await createComment(`Created PR #${pr}${footer({ image: true })}`) + await createComment(`Created PR #${pr}${footer()}`) } else { - await createComment(`${response}${footer({ image: true })}`) + await createComment(`${response}${footer()}`) } await removeReaction(commentType) } else { - await createComment(`${response}${footer({ image: true })}`) + await createComment(`${response}${footer()}`) await removeReaction(commentType) } } @@ -677,14 +664,6 @@ export const githubRun = Effect.fn("Cli.github.run")(function* (args: { event?: return value } - function normalizeShare() { - const value = process.env["SHARE"] - if (!value) return undefined - if (value === "true") return true - if (value === "false") return false - throw new Error(`Invalid share value: ${value}. Share must be a boolean.`) - } - function normalizeUseGithubToken() { const value = process.env["USE_GITHUB_TOKEN"] if (!value) return false @@ -1351,18 +1330,8 @@ export const githubRun = Effect.fn("Cli.github.run")(function* (args: { event?: } } - function footer(opts?: { image?: boolean }) { - const image = (() => { - if (!shareId) return "" - if (!opts?.image) return "" - - const titleAlt = encodeURIComponent(session.title.substring(0, 50)) - const title64 = Buffer.from(session.title.substring(0, 700), "utf8").toString("base64") - - return `${titleAlt}\n` - })() - const shareUrl = shareId ? `[opencode session](${shareBaseUrl}/s/${shareId})  |  ` : "" - return `\n\n${image}${shareUrl}[github run](${runUrl})` + function footer() { + return `\n\n[github run](${runUrl})` } async function fetchRepo() { diff --git a/packages/opencode/src/cli/cmd/run.ts b/packages/opencode/src/cli/cmd/run.ts index cccc2550179f..d33d9359597e 100644 --- a/packages/opencode/src/cli/cmd/run.ts +++ b/packages/opencode/src/cli/cmd/run.ts @@ -160,7 +160,7 @@ export const RunCommand = effectCmd({ }) .option("share", { type: "boolean", - describe: "share the session", + describe: "deprecated: session sharing was discontinued", }) .option("model", { type: "string", @@ -532,19 +532,8 @@ export const RunCommand = effectCmd({ } } - async function share(sdk: OpencodeClient, sessionID: string) { - const cfg = await sdk.config.get() - if (!cfg.data) return - if (cfg.data.share !== "auto" && !flags.autoShare && !args.share) return - const res = await sdk.session.share({ sessionID }).catch((error) => { - if (error instanceof Error && error.message.includes("disabled")) { - UI.println(UI.Style.TEXT_DANGER_BOLD + "! " + error.message) - } - return { error } - }) - if (!res.error && "data" in res && res.data?.share?.url) { - UI.println(UI.Style.TEXT_INFO_BOLD + "~ " + res.data.share.url) - } + async function share(_sdk: OpencodeClient, _sessionID: string) { + if (args.share) UI.println(UI.Style.TEXT_DANGER_BOLD + "! Session sharing has been discontinued") } async function createFreshSession( diff --git a/packages/opencode/src/share/session.ts b/packages/opencode/src/share/session.ts index a4ef77fbfd2f..3cd03c0071e7 100644 --- a/packages/opencode/src/share/session.ts +++ b/packages/opencode/src/share/session.ts @@ -1,9 +1,7 @@ import { LayerNode } from "@opencode-ai/core/effect/layer-node" import { Session } from "@/session/session" import { SessionID } from "@/session/schema" -import { Effect, Layer, Scope, Context } from "effect" -import { Config } from "@/config/config" -import { RuntimeFlags } from "@/effect/runtime-flags" +import { Effect, Layer, Context } from "effect" import { ShareNext } from "./share-next" export interface Interface { @@ -17,18 +15,12 @@ export class Service extends Context.Service()("@opencode/Se const layer = Layer.effect( Service, Effect.gen(function* () { - const cfg = yield* Config.Service const session = yield* Session.Service const shareNext = yield* ShareNext.Service - const scope = yield* Scope.Scope - const flags = yield* RuntimeFlags.Service - - const share = Effect.fn("SessionShare.share")(function* (sessionID: SessionID) { - const conf = yield* cfg.get() - if (conf.share === "disabled") throw new Error("Sharing is disabled in configuration") - const result = yield* shareNext.create(sessionID) - yield* session.setShare({ sessionID, share: { url: result.url } }) - return result + + // Session sharing was discontinued. Unshare still clears links created before then. + const share = Effect.fn("SessionShare.share")(function* (_sessionID: SessionID) { + return yield* Effect.fail(new Error("Session sharing has been discontinued")) }) const unshare = Effect.fn("SessionShare.unshare")(function* (sessionID: SessionID) { @@ -37,12 +29,7 @@ const layer = Layer.effect( }) const create = Effect.fn("SessionShare.create")(function* (input?: Session.CreateInput) { - const result = yield* session.create(input) - if (result.parentID) return result - const conf = yield* cfg.get() - if (!(flags.autoShare || conf.share === "auto")) return result - yield* share(result.id).pipe(Effect.ignore, Effect.forkIn(scope)) - return result + return yield* session.create(input) }) return Service.of({ create, share, unshare }) @@ -52,7 +39,7 @@ const layer = Layer.effect( export const node = LayerNode.make({ service: Service, layer: layer, - deps: [Config.node, Session.node, ShareNext.node, RuntimeFlags.node], + deps: [Session.node, ShareNext.node], }) export * as SessionShare from "./session" diff --git a/packages/opencode/test/server/httpapi-exercise/index.ts b/packages/opencode/test/server/httpapi-exercise/index.ts index c8e11ea8451b..77641cec3290 100644 --- a/packages/opencode/test/server/httpapi-exercise/index.ts +++ b/packages/opencode/test/server/httpapi-exercise/index.ts @@ -1656,14 +1656,7 @@ const scenarios: Scenario[] = [ .mutating() .seeded((ctx) => ctx.session({ title: "Share session" })) .at((ctx) => ({ path: route("/session/{sessionID}/share", { sessionID: ctx.state.id }), headers: ctx.headers() })) - .json( - 200, - (body, ctx) => { - object(body) - check(body.id === ctx.state.id, "share should return the session") - }, - "status", - ), + .json(500, object, "status"), http.protected .delete("/session/{sessionID}/share", "session.unshare") .mutating() diff --git a/packages/tui/src/feature-plugins/home/tips-view.tsx b/packages/tui/src/feature-plugins/home/tips-view.tsx index d9ef81e40cca..c7ef5c8865f8 100644 --- a/packages/tui/src/feature-plugins/home/tips-view.tsx +++ b/packages/tui/src/feature-plugins/home/tips-view.tsx @@ -167,7 +167,6 @@ const TIPS: Tip[] = [ (shortcuts) => press(shortcuts.agentCycle(), "to cycle between Build and Plan agents"), "Use {highlight}/undo{/highlight} to revert the last message and file changes", "Use {highlight}/redo{/highlight} to restore previously undone messages and file changes", - "Run {highlight}/share{/highlight} to create a public opencode.ai link", "Drag and drop images or PDFs into the terminal as context", (shortcuts) => press(shortcuts.inputPaste(), "to paste images from your clipboard into the prompt"), (shortcuts) => `Use ${commandText("/editor", shortcuts.editorOpen())} to compose messages in your external editor`, @@ -259,9 +258,6 @@ const TIPS: Tip[] = [ 'Set {highlight}"tools": {"bash": false}{/highlight} to disable specific tools', 'Set {highlight}"mcp_*": false{/highlight} to disable all tools from an MCP server', "Override global tool settings per agent configuration", - 'Set {highlight}"share": "auto"{/highlight} to automatically share all sessions', - 'Set {highlight}"share": "disabled"{/highlight} to prevent any session sharing', - "Run {highlight}/unshare{/highlight} to remove a session from public access", "Permission {highlight}doom_loop{/highlight} prevents infinite tool call loops", "Permission {highlight}external_directory{/highlight} protects files outside project", "Run {highlight}opencode debug config{/highlight} to troubleshoot configuration", diff --git a/packages/tui/src/routes/session/index.tsx b/packages/tui/src/routes/session/index.tsx index 2b54f21671b3..7f5a1d08cba3 100644 --- a/packages/tui/src/routes/session/index.tsx +++ b/packages/tui/src/routes/session/index.tsx @@ -113,7 +113,6 @@ function goUpsellKeys(action: RetryAction) { } const sessionBindingCommands = [ - "session.share", "session.rename", "session.timeline", "session.fork", @@ -463,46 +462,6 @@ export function Session() { } const sessionCommandList = createMemo(() => [ - { - title: session()?.share?.url ? "Copy share link" : "Share session", - value: "session.share", - suggested: route.type === "session", - category: "Session", - enabled: sync.data.config.share !== "disabled", - slash: { - name: "share", - }, - run: async () => { - const copy = (url: string) => - clipboard - .write?.(url) - .then(() => toast.show({ message: "Share URL copied to clipboard!", variant: "success" })) - .catch(() => toast.show({ message: "Failed to copy URL to clipboard", variant: "error" })) - const url = session()?.share?.url - if (url) { - await copy(url) - dialog.clear() - return - } - if (!kv.get("share_consent", false)) { - const ok = await DialogConfirm.show(dialog, "Share Session", "Are you sure you want to share it?") - if (ok !== true) return - kv.set("share_consent", true) - } - await sdk.client.session - .share({ - sessionID: route.sessionID, - }) - .then((res) => copy(res.data!.share!.url)) - .catch((error) => { - toast.show({ - message: error instanceof Error ? error.message : "Failed to share session", - variant: "error", - }) - }) - dialog.clear() - }, - }, { title: "Rename session", value: "session.rename", From b4b33cf891684323374a5531ba1dc916f4abba19 Mon Sep 17 00:00:00 2001 From: vimtor Date: Thu, 15 Oct 2026 12:28:25 +0200 Subject: [PATCH 2/5] fix(opencode): remove remaining share surfaces --- .../session/timeline/message-timeline.tsx | 2 +- .../pages/session/use-session-commands.tsx | 38 -- packages/opencode/src/cli/cmd/import.ts | 131 +------ packages/opencode/src/cli/cmd/pr.ts | 27 +- packages/opencode/src/effect/app-runtime.ts | 2 - .../opencode/src/effect/bootstrap-runtime.ts | 3 +- packages/opencode/src/project/bootstrap.ts | 6 +- .../server/routes/instance/httpapi/server.ts | 2 - packages/opencode/src/share/session.ts | 8 +- packages/opencode/src/share/share-next.ts | 371 ------------------ packages/opencode/test/cli/import.test.ts | 55 +-- .../opencode/test/share/share-next.test.ts | 324 --------------- packages/tui/src/routes/session/index.tsx | 24 -- packages/tui/src/routes/session/sidebar.tsx | 3 - packages/web/astro.config.mjs | 2 +- packages/web/src/content/docs/cli.mdx | 7 +- packages/web/src/content/docs/commands.mdx | 4 +- packages/web/src/content/docs/config.mdx | 23 -- packages/web/src/content/docs/enterprise.mdx | 21 - packages/web/src/content/docs/github.mdx | 2 - packages/web/src/content/docs/index.mdx | 19 - packages/web/src/content/docs/keybinds.mdx | 2 - packages/web/src/content/docs/share.mdx | 128 ------ packages/web/src/content/docs/tui.mdx | 20 - 24 files changed, 22 insertions(+), 1202 deletions(-) delete mode 100644 packages/opencode/src/share/share-next.ts delete mode 100644 packages/opencode/test/share/share-next.test.ts delete mode 100644 packages/web/src/content/docs/share.mdx diff --git a/packages/app/src/pages/session/timeline/message-timeline.tsx b/packages/app/src/pages/session/timeline/message-timeline.tsx index 0e17545cb4ec..e68e9a369e10 100644 --- a/packages/app/src/pages/session/timeline/message-timeline.tsx +++ b/packages/app/src/pages/session/timeline/message-timeline.tsx @@ -299,7 +299,7 @@ export function MessageTimeline(props: { const titleValue = createMemo(() => info()?.title) const titleLabel = createMemo(() => sessionTitle(titleValue())) const shareUrl = createMemo(() => info()?.share?.url) - // Session sharing was discontinued; existing links can still be cleared with the unshare command. + // Session sharing was discontinued; keep the share menu and popover hidden. const shareEnabled = () => false const parentID = createMemo(() => info()?.parentID) const parent = createMemo(() => { diff --git a/packages/app/src/pages/session/use-session-commands.tsx b/packages/app/src/pages/session/use-session-commands.tsx index 30c12fb5f109..81868961fbba 100644 --- a/packages/app/src/pages/session/use-session-commands.tsx +++ b/packages/app/src/pages/session/use-session-commands.tsx @@ -148,28 +148,6 @@ export const useSessionCommands = (actions: SessionCommandContext) => { return permission.isAutoAcceptingDirectory(sdk().directory) } - const unshare = async () => { - const sessionID = params.id - if (!sessionID) return - - await sdk() - .client.session.unshare({ sessionID }) - .then(() => - showToast({ - title: language.t("toast.session.unshare.success.title"), - description: language.t("toast.session.unshare.success.description"), - variant: "success", - }), - ) - .catch(() => - showToast({ - title: language.t("toast.session.unshare.failed.title"), - description: language.t("toast.session.unshare.failed.description"), - variant: "error", - }), - ) - } - const exportSession = async () => { const sessionID = params.id if (!sessionID) return @@ -356,21 +334,6 @@ export const useSessionCommands = (actions: SessionCommandContext) => { ) } - // Session sharing was discontinued; keep unshare so existing share links can be cleared. - const shareCmds = () => { - if (!info()?.share?.url) return [] - return [ - sessionCommand({ - id: "session.unshare", - title: language.t("command.session.unshare"), - description: language.t("command.session.unshare.description"), - slash: "unshare", - disabled: !params.id, - onSelect: unshare, - }), - ] - } - const sessionCmds = () => [ sessionCommand({ id: "session.new", @@ -571,7 +534,6 @@ export const useSessionCommands = (actions: SessionCommandContext) => { command.register("session", () => [ ...sessionCmds(), - ...shareCmds(), ...fileCmds(), ...contextCmds(), ...viewCmds(), diff --git a/packages/opencode/src/cli/cmd/import.ts b/packages/opencode/src/cli/cmd/import.ts index 1b7350f74478..ace560368dd1 100644 --- a/packages/opencode/src/cli/cmd/import.ts +++ b/packages/opencode/src/cli/cmd/import.ts @@ -2,11 +2,10 @@ import type { Session as SDKSession, Message, Part } from "@opencode-ai/sdk/v2" import { SessionV1 } from "@opencode-ai/core/v1/session" import { Session } from "@/session/session" import { MessageV2 } from "../../session/message-v2" -import { CliError, effectCmd } from "../effect-cmd" +import { CliError, effectCmd, fail } from "../effect-cmd" import { Database } from "@opencode-ai/core/database/database" import { SessionTable, MessageTable, PartTable } from "@opencode-ai/core/session/sql" import { InstanceRef } from "@/effect/instance-ref" -import { ShareNext } from "@/share/share-next" import { EOL } from "os" import path from "path" import { FSUtil } from "@opencode-ai/core/fs-util" @@ -16,28 +15,6 @@ import type { InstanceContext } from "@/project/instance-context" const decodeMessageInfo = Schema.decodeUnknownSync(SessionV1.Info) const decodePart = Schema.decodeUnknownSync(SessionV1.Part) -/** Discriminated union returned by the ShareNext API (GET /api/shares/:id/data) */ -export type ShareData = - | { type: "session"; data: SDKSession } - | { type: "message"; data: Message } - | { type: "part"; data: Part } - | { type: "session_diff"; data: unknown } - | { type: "model"; data: unknown } - -/** Extract share ID from a share URL like https://opncd.ai/share/abc123 */ -export function parseShareUrl(url: string): string | null { - const match = url.match(/^https?:\/\/[^/]+\/share\/([a-zA-Z0-9_-]+)$/) - return match ? match[1] : null -} - -export function shouldAttachShareAuthHeaders(shareUrl: string, accountBaseUrl: string): boolean { - try { - return new URL(shareUrl).origin === new URL(accountBaseUrl).origin - } catch { - return false - } -} - export function formatImportFileError(file: string, error: FSUtil.Error) { if (error._tag === "PlatformError") { if (error.reason._tag === "NotFound") return `File not found: ${file}` @@ -49,54 +26,14 @@ export function formatImportFileError(file: string, error: FSUtil.Error) { return `Invalid JSON in ${file}: ${detail}` } -/** - * Transform ShareNext API response (flat array) into the nested structure for local file storage. - * - * The API returns a flat array: [session, message, message, part, part, ...] - * Local storage expects: { info: session, messages: [{ info: message, parts: [part, ...] }, ...] } - * - * This groups parts by their messageID to reconstruct the hierarchy before writing to disk. - */ -export function transformShareData(shareData: ShareData[]): { - info: SDKSession - messages: Array<{ info: Message; parts: Part[] }> -} | null { - const sessionItem = shareData.find((d) => d.type === "session") - if (!sessionItem) return null - - const messageMap = new Map() - const partMap = new Map() - - for (const item of shareData) { - if (item.type === "message") { - messageMap.set(item.data.id, item.data) - } else if (item.type === "part") { - if (!partMap.has(item.data.messageID)) { - partMap.set(item.data.messageID, []) - } - partMap.get(item.data.messageID)!.push(item.data) - } - } - - if (messageMap.size === 0) return null - - return { - info: sessionItem.data, - messages: Array.from(messageMap.values()).map((msg) => ({ - info: msg, - parts: partMap.get(msg.id) ?? [], - })), - } -} - type ExportData = { info: SDKSession; messages: Array<{ info: Message; parts: Part[] }> } export const ImportCommand = effectCmd({ command: "import ", - describe: "import session data from JSON file or URL", + describe: "import session data from JSON file", builder: (yargs) => yargs.positional("file", { - describe: "path to JSON file or share URL", + describe: "path to JSON file", type: "string", demandOption: true, }), @@ -108,67 +45,15 @@ export const ImportCommand = effectCmd({ }) const runImport = Effect.fn("Cli.import.body")(function* (file: string, ctx: InstanceContext) { - const share = yield* ShareNext.Service const fs = yield* FSUtil.Service const { db } = yield* Database.Service - let exportData: ExportData | undefined - - const isUrl = file.startsWith("http://") || file.startsWith("https://") + if (file.startsWith("http://") || file.startsWith("https://")) + return yield* fail("Importing from share URLs is no longer supported: session sharing has been discontinued") - if (isUrl) { - const slug = parseShareUrl(file) - if (!slug) { - const baseUrl = yield* Effect.orDie(share.url()) - process.stdout.write(`Invalid URL format. Expected: ${baseUrl}/share/`) - process.stdout.write(EOL) - return - } - - const baseUrl = new URL(file).origin - const req = yield* Effect.orDie(share.request()) - const headers = shouldAttachShareAuthHeaders(file, req.baseUrl) ? req.headers : {} - - const tryFetch = (url: string) => - Effect.tryPromise({ - try: () => fetch(url, { headers }), - catch: (e) => - new CliError({ - message: `Failed to fetch share data: ${e instanceof Error ? e.message : String(e)}`, - }), - }) - - const dataPath = req.api.data(slug) - let response = yield* tryFetch(`${baseUrl}${dataPath}`) - - if (!response.ok && dataPath !== `/api/share/${slug}/data`) { - response = yield* tryFetch(`${baseUrl}/api/share/${slug}/data`) - } - - if (!response.ok) { - process.stdout.write(`Failed to fetch share data: ${response.statusText}`) - process.stdout.write(EOL) - return - } - - const shareData = yield* Effect.tryPromise({ - try: () => response.json() as Promise, - catch: () => new CliError({ message: "Share data was not valid JSON" }), - }) - const transformed = transformShareData(shareData) - - if (!transformed) { - process.stdout.write(`Share not found or empty: ${slug}`) - process.stdout.write(EOL) - return - } - - exportData = transformed - } else { - exportData = (yield* fs - .readJson(file) - .pipe(Effect.mapError((error) => new CliError({ message: formatImportFileError(file, error) })))) as ExportData - } + const exportData = (yield* fs + .readJson(file) + .pipe(Effect.mapError((error) => new CliError({ message: formatImportFileError(file, error) })))) as ExportData if (!exportData) { process.stdout.write(`Failed to read session data`) diff --git a/packages/opencode/src/cli/cmd/pr.ts b/packages/opencode/src/cli/cmd/pr.ts index 420972235746..6bab3286c5b9 100644 --- a/packages/opencode/src/cli/cmd/pr.ts +++ b/packages/opencode/src/cli/cmd/pr.ts @@ -43,14 +43,12 @@ export const PrCommand = effectCmd({ "view", `${prNumber}`, "--json", - "headRepository,headRepositoryOwner,isCrossRepository,headRefName,body", + "headRepository,headRepositoryOwner,isCrossRepository,headRefName", ], { nothrow: true }, ), ) - let sessionId: string | undefined - if (prInfoResult.code === 0 && prInfoResult.text.trim()) { const prInfo = JSON.parse(prInfoResult.text) @@ -71,26 +69,6 @@ export const PrCommand = effectCmd({ cwd: worktree, }) } - - if (prInfo?.body) { - const sessionMatch = prInfo.body.match(/https:\/\/opncd\.ai\/s\/([a-zA-Z0-9_-]+)/) - if (sessionMatch) { - const sessionUrl = sessionMatch[0] - UI.println(`Found opencode session: ${sessionUrl}`) - UI.println(`Importing session...`) - - const importResult = yield* Effect.promise(() => - Process.text(["opencode", "import", sessionUrl], { nothrow: true }), - ) - if (importResult.code === 0) { - const sessionIdMatch = importResult.text.trim().match(/Imported session: ([a-zA-Z0-9_-]+)/) - if (sessionIdMatch) { - sessionId = sessionIdMatch[1] - UI.println(`Session imported: ${sessionId}`) - } - } - } - } } UI.println(`Successfully checked out PR #${prNumber} as branch '${localBranchName}'`) @@ -98,10 +76,9 @@ export const PrCommand = effectCmd({ UI.println("Starting opencode...") UI.println() - const opencodeArgs = sessionId ? ["-s", sessionId] : [] const code = yield* Effect.promise( () => - Process.spawn(["opencode", ...opencodeArgs], { + Process.spawn(["opencode"], { stdin: "inherit", stdout: "inherit", stderr: "inherit", diff --git a/packages/opencode/src/effect/app-runtime.ts b/packages/opencode/src/effect/app-runtime.ts index d17326966f92..d010eb8039ca 100644 --- a/packages/opencode/src/effect/app-runtime.ts +++ b/packages/opencode/src/effect/app-runtime.ts @@ -44,7 +44,6 @@ import { Vcs } from "@/project/vcs" import { Workspace } from "@/control-plane/workspace" import { Worktree } from "@/worktree" import { Installation } from "@/installation" -import { ShareNext } from "@/share/share-next" import { SessionShare } from "@/share/session" import { Npm } from "@opencode-ai/core/npm" import { memoMap } from "@opencode-ai/core/effect/memo-map" @@ -103,7 +102,6 @@ export const AppLayer = AppNodeBuilderV1.build( Workspace.node, Worktree.node, Installation.node, - ShareNext.node, SessionShare.node, ]), ).pipe(Layer.provideMerge(AppNodeBuilderV1.build(Ripgrep.node)), Layer.provideMerge(Observability.layer)) diff --git a/packages/opencode/src/effect/bootstrap-runtime.ts b/packages/opencode/src/effect/bootstrap-runtime.ts index 57fe43b46ee3..f9902bc025e4 100644 --- a/packages/opencode/src/effect/bootstrap-runtime.ts +++ b/packages/opencode/src/effect/bootstrap-runtime.ts @@ -5,7 +5,6 @@ import { LayerNode } from "@opencode-ai/core/effect/layer-node" import { Plugin } from "@/plugin" import { LSP } from "@/lsp/lsp" import { Format } from "@/format" -import { ShareNext } from "@/share/share-next" import { Vcs } from "@/project/vcs" import { Snapshot } from "@/snapshot" import { Config } from "@/config/config" @@ -13,7 +12,7 @@ import * as Observability from "@opencode-ai/core/observability" import { memoMap } from "@opencode-ai/core/effect/memo-map" export const BootstrapLayer = AppNodeBuilder.build( - LayerNode.group([Config.node, Plugin.node, ShareNext.node, Format.node, LSP.node, Vcs.node, Snapshot.node]), + LayerNode.group([Config.node, Plugin.node, Format.node, LSP.node, Vcs.node, Snapshot.node]), ).pipe(Layer.provide(Observability.layer)) export const BootstrapRuntime = ManagedRuntime.make(BootstrapLayer, { memoMap }) diff --git a/packages/opencode/src/project/bootstrap.ts b/packages/opencode/src/project/bootstrap.ts index acf0caed3cdf..d11e4e8e6204 100644 --- a/packages/opencode/src/project/bootstrap.ts +++ b/packages/opencode/src/project/bootstrap.ts @@ -6,7 +6,6 @@ import { Snapshot } from "../snapshot" import * as Project from "./project" import * as Vcs from "./vcs" import { InstanceState } from "@/effect/instance-state" -import { ShareNext } from "@/share/share-next" import { Effect, Layer } from "effect" import { Config } from "@/config/config" import { Service } from "./bootstrap-service" @@ -25,7 +24,6 @@ const layer = Layer.effect( const lsp = yield* LSP.Service const plugin = yield* Plugin.Service const project = yield* Project.Service - const shareNext = yield* ShareNext.Service const snapshot = yield* Snapshot.Service const vcs = yield* Vcs.Service @@ -39,7 +37,7 @@ const layer = Layer.effect( // Each service self-manages its own slow work via Effect.forkScoped against // its per-instance state scope. We just await materialization here. yield* Effect.forEach( - [lsp, shareNext, format, vcs, snapshot, project], + [lsp, format, vcs, snapshot, project], (s) => s.init().pipe(Effect.catchCause((cause) => Effect.logWarning("init failed", { cause }))), { concurrency: "unbounded", discard: true }, ).pipe(Effect.withSpan("InstanceBootstrap.init")) @@ -52,7 +50,7 @@ const layer = Layer.effect( export const node = makeGlobalNode({ service: Service, layer: layer, - deps: [Config.node, Format.node, LSP.node, Plugin.node, Project.node, ShareNext.node, Snapshot.node, Vcs.node], + deps: [Config.node, Format.node, LSP.node, Plugin.node, Project.node, Snapshot.node, Vcs.node], }) export * as InstanceBootstrap from "./bootstrap" diff --git a/packages/opencode/src/server/routes/instance/httpapi/server.ts b/packages/opencode/src/server/routes/instance/httpapi/server.ts index fb9d2db65621..94555ca27806 100644 --- a/packages/opencode/src/server/routes/instance/httpapi/server.ts +++ b/packages/opencode/src/server/routes/instance/httpapi/server.ts @@ -40,7 +40,6 @@ import { SessionStatus } from "@/session/status" import { SessionSummary } from "@/session/summary" import { Todo } from "@/session/todo" import { SessionShare } from "@/share/session" -import { ShareNext } from "@/share/share-next" import { Skill } from "@/skill" import { Discovery } from "@/skill/discovery" import { Snapshot } from "@/snapshot" @@ -258,7 +257,6 @@ const app = LayerNode.group([ Workspace.node, Worktree.node, Installation.node, - ShareNext.node, SessionShare.node, InstanceStore.node, httpClient, diff --git a/packages/opencode/src/share/session.ts b/packages/opencode/src/share/session.ts index 3cd03c0071e7..7634aea18e43 100644 --- a/packages/opencode/src/share/session.ts +++ b/packages/opencode/src/share/session.ts @@ -2,7 +2,6 @@ import { LayerNode } from "@opencode-ai/core/effect/layer-node" import { Session } from "@/session/session" import { SessionID } from "@/session/schema" import { Effect, Layer, Context } from "effect" -import { ShareNext } from "./share-next" export interface Interface { readonly create: (input?: Session.CreateInput) => Effect.Effect @@ -16,15 +15,14 @@ const layer = Layer.effect( Service, Effect.gen(function* () { const session = yield* Session.Service - const shareNext = yield* ShareNext.Service - // Session sharing was discontinued. Unshare still clears links created before then. + // Session sharing was discontinued. The share endpoints stay for API compatibility: share fails and unshare only + // clears the local link. const share = Effect.fn("SessionShare.share")(function* (_sessionID: SessionID) { return yield* Effect.fail(new Error("Session sharing has been discontinued")) }) const unshare = Effect.fn("SessionShare.unshare")(function* (sessionID: SessionID) { - yield* shareNext.remove(sessionID) yield* session.setShare({ sessionID, share: undefined }) }) @@ -39,7 +37,7 @@ const layer = Layer.effect( export const node = LayerNode.make({ service: Service, layer: layer, - deps: [Session.node, ShareNext.node], + deps: [Session.node], }) export * as SessionShare from "./session" diff --git a/packages/opencode/src/share/share-next.ts b/packages/opencode/src/share/share-next.ts deleted file mode 100644 index 60112e10d964..000000000000 --- a/packages/opencode/src/share/share-next.ts +++ /dev/null @@ -1,371 +0,0 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { httpClient } from "@opencode-ai/core/effect/app-node-platform" -import type * as SDK from "@opencode-ai/sdk/v2" -import { serviceUse } from "@opencode-ai/core/effect/service-use" -import { Effect, Exit, Layer, Option, Schema, Scope, Context, Stream } from "effect" -import { FetchHttpClient, HttpClient, HttpClientRequest, HttpClientResponse } from "effect/unstable/http" -import { Account } from "@/account/account" -import { EventV2Bridge } from "@/event-v2-bridge" -import { InstanceState } from "@/effect/instance-state" -import { Provider } from "@/provider/provider" - -import { Session } from "@/session/session" -import { MessageV2 } from "@/session/message-v2" -import type { SessionID } from "@/session/schema" -import { Database } from "@opencode-ai/core/database/database" -import { eq } from "drizzle-orm" -import { Config } from "@/config/config" -import { SessionShareTable } from "@opencode-ai/core/share/sql" -import { ProviderV2 } from "@opencode-ai/core/provider" -import { ModelV2 } from "@opencode-ai/core/model" -import { EventV2 } from "@opencode-ai/core/event" - -const disabled = process.env["OPENCODE_DISABLE_SHARE"] === "true" || process.env["OPENCODE_DISABLE_SHARE"] === "1" - -export type Api = { - create: string - sync: (shareID: string) => string - remove: (shareID: string) => string - data: (shareID: string) => string -} - -export type Req = { - headers: Record - api: Api - baseUrl: string -} - -const ShareSchema = Schema.Struct({ - id: Schema.String, - url: Schema.String, - secret: Schema.String, -}) -export type Share = typeof ShareSchema.Type - -type State = { - queue: Map> - scope: Scope.Closeable - shared: Map -} - -type Data = - | { - type: "session" - data: SDK.Session - } - | { - type: "message" - data: SDK.Message - } - | { - type: "part" - data: SDK.Part - } - | { - type: "session_diff" - data: SDK.SnapshotFileDiff[] - } - | { - type: "model" - data: SDK.Model[] - } - -export interface Interface { - readonly init: () => Effect.Effect - readonly url: () => Effect.Effect - readonly request: () => Effect.Effect - readonly create: (sessionID: SessionID) => Effect.Effect - readonly remove: (sessionID: SessionID) => Effect.Effect -} - -export class Service extends Context.Service()("@opencode/ShareNext") {} - -export const use = serviceUse(Service) - -function api(resource: string): Api { - return { - create: `/api/${resource}`, - sync: (shareID) => `/api/${resource}/${shareID}/sync`, - remove: (shareID) => `/api/${resource}/${shareID}`, - data: (shareID) => `/api/${resource}/${shareID}/data`, - } -} - -const legacyApi = api("share") -const consoleApi = api("shares") - -function key(item: Data) { - switch (item.type) { - case "session": - return "session" - case "message": - return `message/${item.data.id}` - case "part": - return `part/${item.data.messageID}/${item.data.id}` - case "session_diff": - return "session_diff" - case "model": - return "model" - } -} - -const layer = Layer.effect( - Service, - Effect.gen(function* () { - const account = yield* Account.Service - const events = yield* EventV2Bridge.Service - const cfg = yield* Config.Service - const { db } = yield* Database.Service - const http = yield* HttpClient.HttpClient - const httpOk = HttpClient.filterStatusOk(http) - const provider = yield* Provider.Service - const session = yield* Session.Service - - function sync(sessionID: SessionID, data: Data[]) { - return Effect.gen(function* () { - if (disabled) return - const share = yield* getCached(sessionID) - if (!share) return - - const s = yield* InstanceState.get(state) - const existing = s.queue.get(sessionID) - if (existing) { - for (const item of data) { - existing.set(key(item), item) - } - return - } - - const next = new Map(data.map((item) => [key(item), item])) - s.queue.set(sessionID, next) - yield* flush(sessionID).pipe( - Effect.delay(1000), - Effect.catchCause((cause) => Effect.logError("share flush failed", { sessionID: sessionID, cause: cause })), - Effect.forkIn(s.scope), - ) - }) - } - - const state: InstanceState.InstanceState = yield* InstanceState.make( - Effect.fn("ShareNext.state")(function* (_ctx) { - const cache: State = { queue: new Map(), scope: yield* Scope.make(), shared: new Map() } - - yield* Effect.addFinalizer(() => - Scope.close(cache.scope, Exit.void).pipe( - Effect.andThen( - Effect.sync(() => { - cache.queue.clear() - cache.shared.clear() - }), - ), - ), - ) - - if (disabled) return cache - - const watch = ( - def: D, - fn: (data: EventV2.Data) => Effect.Effect, - ) => - events.listen((event) => { - if (event.type !== def.type || event.location?.directory !== _ctx.directory) return Effect.void - return fn(event.data as EventV2.Data).pipe( - Effect.catchCause((cause) => - Effect.logError("share subscriber failed", { type: def.type, cause: cause }), - ), - ) - }) - - yield* watch(Session.Event.Updated, (data) => - Effect.gen(function* () { - const info = data.info - yield* sync(info.id, [{ type: "session", data: structuredClone(info) as SDK.Session }]) - }), - ) - yield* watch(MessageV2.Event.Updated, (data) => - Effect.gen(function* () { - const info = data.info - yield* sync(info.sessionID, [{ type: "message", data: structuredClone(info) as SDK.Message }]) - if (info.role !== "user") return - const model = yield* provider.getModel(info.model.providerID, info.model.modelID) - yield* sync(info.sessionID, [{ type: "model", data: [model] }]) - }), - ) - yield* watch(MessageV2.Event.PartUpdated, (data) => - sync(data.part.sessionID, [{ type: "part", data: structuredClone(data.part) as SDK.Part }]), - ) - yield* watch(Session.Event.Diff, (data) => - sync(data.sessionID, [{ type: "session_diff", data: structuredClone(data.diff) as SDK.SnapshotFileDiff[] }]), - ) - yield* watch(Session.Event.Deleted, (data) => remove(data.sessionID)) - - return cache - }), - ) - - const request = Effect.fn("ShareNext.request")(function* () { - const headers: Record = {} - const active = yield* account.active() - if (Option.isNone(active) || !active.value.active_org_id) { - const baseUrl = (yield* cfg.get()).enterprise?.url ?? "https://opncd.ai" - return { headers, api: legacyApi, baseUrl } satisfies Req - } - - const token = yield* account.token(active.value.id) - if (Option.isNone(token)) { - throw new Error("No active account token available for sharing") - } - - headers.authorization = `Bearer ${token.value}` - headers["x-org-id"] = active.value.active_org_id - return { headers, api: consoleApi, baseUrl: active.value.url } satisfies Req - }) - - const get = Effect.fnUntraced(function* (sessionID: SessionID) { - const row = yield* db - .select() - .from(SessionShareTable) - .where(eq(SessionShareTable.session_id, sessionID)) - .get() - .pipe(Effect.orDie) - if (!row) return - return { id: row.id, secret: row.secret, url: row.url } satisfies Share - }) - - const getCached = Effect.fnUntraced(function* (sessionID: SessionID) { - const s = yield* InstanceState.get(state) - if (s.shared.has(sessionID)) { - const cached = s.shared.get(sessionID) - return cached === null ? undefined : cached - } - - const share = yield* get(sessionID) - s.shared.set(sessionID, share ?? null) - return share - }) - - const flush = Effect.fn("ShareNext.flush")(function* (sessionID: SessionID) { - if (disabled) return - const s = yield* InstanceState.get(state) - const queued = s.queue.get(sessionID) - if (!queued) return - - s.queue.delete(sessionID) - - const share = yield* getCached(sessionID) - if (!share) return - - const req = yield* request() - const res = yield* HttpClientRequest.post(`${req.baseUrl}${req.api.sync(share.id)}`).pipe( - HttpClientRequest.setHeaders(req.headers), - HttpClientRequest.bodyJson({ secret: share.secret, data: Array.from(queued.values()) }), - Effect.flatMap((r) => http.execute(r)), - ) - - if (res.status >= 400) { - yield* Effect.logWarning("failed to sync share", { - sessionID: sessionID, - shareID: share.id, - status: res.status, - }) - } - }) - - const full = Effect.fn("ShareNext.full")(function* (sessionID: SessionID) { - yield* Effect.logInfo("full sync", { sessionID: sessionID }) - const info = yield* session.get(sessionID) - const diffs = yield* session.diff(sessionID) - const messages = yield* session.messages({ sessionID }) - const models = yield* Effect.forEach( - Array.from( - new Map( - messages - .filter((msg) => msg.info.role === "user") - .map((msg) => (msg.info as SDK.UserMessage).model) - .map((item) => [`${item.providerID}/${item.modelID}`, item] as const), - ).values(), - ), - (item) => provider.getModel(ProviderV2.ID.make(item.providerID), ModelV2.ID.make(item.modelID)), - { concurrency: 8 }, - ) - - yield* sync(sessionID, [ - { type: "session", data: info }, - ...messages.map((item) => ({ type: "message" as const, data: item.info })), - ...messages.flatMap((item) => item.parts.map((part) => ({ type: "part" as const, data: part }))), - { type: "session_diff", data: diffs }, - { type: "model", data: models }, - ]) - }) - - const init = Effect.fn("ShareNext.init")(function* () { - if (disabled) return - yield* InstanceState.get(state) - }) - - const url = Effect.fn("ShareNext.url")(function* () { - return (yield* request()).baseUrl - }) - - const create = Effect.fn("ShareNext.create")(function* (sessionID: SessionID) { - if (disabled) return { id: "", url: "", secret: "" } - yield* Effect.logInfo("creating share", { sessionID: sessionID }) - const req = yield* request() - const result = yield* HttpClientRequest.post(`${req.baseUrl}${req.api.create}`).pipe( - HttpClientRequest.setHeaders(req.headers), - HttpClientRequest.bodyJson({ sessionID }), - Effect.flatMap((r) => httpOk.execute(r)), - Effect.flatMap(HttpClientResponse.schemaBodyJson(ShareSchema)), - ) - yield* db - .insert(SessionShareTable) - .values({ session_id: sessionID, id: result.id, secret: result.secret, url: result.url }) - .onConflictDoUpdate({ - target: SessionShareTable.session_id, - set: { id: result.id, secret: result.secret, url: result.url }, - }) - .run() - .pipe(Effect.orDie) - const s = yield* InstanceState.get(state) - s.shared.set(sessionID, result) - yield* full(sessionID).pipe( - Effect.catchCause((cause) => Effect.logError("share full sync failed", { sessionID: sessionID, cause: cause })), - Effect.forkIn(s.scope), - ) - return result - }) - - const remove = Effect.fn("ShareNext.remove")(function* (sessionID: SessionID) { - if (disabled) return - yield* Effect.logInfo("removing share", { sessionID: sessionID }) - const s = yield* InstanceState.get(state) - const share = yield* getCached(sessionID) - if (!share) { - s.shared.delete(sessionID) - s.queue.delete(sessionID) - return - } - - const req = yield* request() - yield* HttpClientRequest.delete(`${req.baseUrl}${req.api.remove(share.id)}`).pipe( - HttpClientRequest.setHeaders(req.headers), - HttpClientRequest.bodyJson({ secret: share.secret }), - Effect.flatMap((r) => httpOk.execute(r)), - ) - - yield* db.delete(SessionShareTable).where(eq(SessionShareTable.session_id, sessionID)).run().pipe(Effect.orDie) - s.shared.delete(sessionID) - s.queue.delete(sessionID) - }) - - return Service.of({ init, url, request, create, remove }) - }), -) - -export const node = LayerNode.make({ - service: Service, - layer: layer, - deps: [Account.node, EventV2Bridge.node, Config.node, Database.node, httpClient, Provider.node, Session.node], -}) - -export * as ShareNext from "./share-next" diff --git a/packages/opencode/test/cli/import.test.ts b/packages/opencode/test/cli/import.test.ts index 59824c3efcb9..f3abdd5618a9 100644 --- a/packages/opencode/test/cli/import.test.ts +++ b/packages/opencode/test/cli/import.test.ts @@ -1,11 +1,5 @@ import { test, expect } from "bun:test" -import { - formatImportFileError, - parseShareUrl, - shouldAttachShareAuthHeaders, - transformShareData, - type ShareData, -} from "../../src/cli/cmd/import" +import { formatImportFileError } from "../../src/cli/cmd/import" import { FSUtil } from "@opencode-ai/core/fs-util" import { PlatformError } from "effect" @@ -41,50 +35,3 @@ test("formats import file errors", () => { ), ).toBe("Invalid JSON in test.json: Unexpected token") }) - -// parseShareUrl tests -test("parses valid share URLs", () => { - expect(parseShareUrl("https://opncd.ai/share/Jsj3hNIW")).toBe("Jsj3hNIW") - expect(parseShareUrl("https://custom.example.com/share/abc123")).toBe("abc123") - expect(parseShareUrl("http://localhost:3000/share/test_id-123")).toBe("test_id-123") -}) - -test("rejects invalid URLs", () => { - expect(parseShareUrl("https://opncd.ai/s/Jsj3hNIW")).toBeNull() // legacy format - expect(parseShareUrl("https://opncd.ai/share/")).toBeNull() - expect(parseShareUrl("https://opncd.ai/share/id/extra")).toBeNull() - expect(parseShareUrl("not-a-url")).toBeNull() -}) - -test("only attaches share auth headers for same-origin URLs", () => { - expect(shouldAttachShareAuthHeaders("https://control.example.com/share/abc", "https://control.example.com")).toBe( - true, - ) - expect(shouldAttachShareAuthHeaders("https://other.example.com/share/abc", "https://control.example.com")).toBe(false) - expect(shouldAttachShareAuthHeaders("https://control.example.com:443/share/abc", "https://control.example.com")).toBe( - true, - ) - expect(shouldAttachShareAuthHeaders("not-a-url", "https://control.example.com")).toBe(false) -}) - -// transformShareData tests -test("transforms share data to storage format", () => { - const data: ShareData[] = [ - { type: "session", data: { id: "sess-1", title: "Test" } as any }, - { type: "message", data: { id: "msg-1", sessionID: "sess-1" } as any }, - { type: "part", data: { id: "part-1", messageID: "msg-1" } as any }, - { type: "part", data: { id: "part-2", messageID: "msg-1" } as any }, - ] - - const result = transformShareData(data)! - - expect(result.info.id).toBe("sess-1") - expect(result.messages).toHaveLength(1) - expect(result.messages[0].parts).toHaveLength(2) -}) - -test("returns null for invalid share data", () => { - expect(transformShareData([])).toBeNull() - expect(transformShareData([{ type: "message", data: {} as any }])).toBeNull() - expect(transformShareData([{ type: "session", data: { id: "s" } as any }])).toBeNull() // no messages -}) diff --git a/packages/opencode/test/share/share-next.test.ts b/packages/opencode/test/share/share-next.test.ts deleted file mode 100644 index fe036be8c959..000000000000 --- a/packages/opencode/test/share/share-next.test.ts +++ /dev/null @@ -1,324 +0,0 @@ -import { beforeEach, describe, expect } from "bun:test" -import { Effect, Exit, Layer, Option } from "effect" -import { HttpClient, HttpClientRequest, HttpClientResponse } from "effect/unstable/http" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { httpClient } from "@opencode-ai/core/effect/app-node-platform" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" -import { SessionProjector } from "@opencode-ai/core/session/projector" - -import { AccessToken, AccountID, OrgID, RefreshToken } from "../../src/account/schema" -import { AccountRepo } from "../../src/account/repo" -import { EventV2Bridge } from "../../src/event-v2-bridge" -import { Session } from "@/session/session" -import type { SessionID } from "../../src/session/schema" -import { ShareNext } from "@/share/share-next" -import { SessionShareTable } from "@opencode-ai/core/share/sql" -import { Database } from "@opencode-ai/core/database/database" -import { eq } from "drizzle-orm" -import { provideTmpdirInstance } from "../fixture/fixture" -import { resetDatabase } from "../fixture/db" -import { pollWithTimeout, testEffect } from "../lib/effect" - -const env = LayerNode.compile(LayerNode.group([CrossSpawnSpawner.node])) -const it = testEffect(env) - -const json = (req: Parameters[0], body: unknown, status = 200) => - HttpClientResponse.fromWeb( - req, - new Response(JSON.stringify(body), { - status, - headers: { "content-type": "application/json" }, - }), - ) - -const none = HttpClient.make(() => Effect.die("unexpected http call")) - -function requestLayer(client: HttpClient.HttpClient) { - const replacement = [httpClient, Layer.succeed(HttpClient.HttpClient, client)] as const - return LayerNode.compile(LayerNode.group([ShareNext.node, AccountRepo.node]), [replacement]) -} - -function integrationLayer(client: HttpClient.HttpClient) { - const replacement = [httpClient, Layer.succeed(HttpClient.HttpClient, client)] as const - return LayerNode.compile( - LayerNode.group([ - ShareNext.node, - EventV2Bridge.node, - Session.node, - SessionProjector.node, - AccountRepo.node, - Database.node, - ]), - [replacement], - ) -} - -const share = (id: SessionID) => - Effect.gen(function* () { - const { db } = yield* Database.Service - return yield* db - .select() - .from(SessionShareTable) - .where(eq(SessionShareTable.session_id, id)) - .get() - .pipe(Effect.orDie) - }) - -const seed = (url: string, org?: string) => - AccountRepo.Service.use((repo) => - repo.persistAccount({ - id: AccountID.make("account-1"), - email: "user@example.com", - url, - accessToken: AccessToken.make("st_test_token"), - refreshToken: RefreshToken.make("rt_test_token"), - expiry: Date.now() + 10 * 60_000, - orgID: org ? Option.some(OrgID.make(org)) : Option.none(), - }), - ) - -beforeEach(async () => { - await resetDatabase() -}) - -describe("ShareNext", () => { - it.live("request uses legacy share API without active org account", () => - provideTmpdirInstance( - () => - ShareNext.Service.use((svc) => - Effect.gen(function* () { - const req = yield* svc.request() - - expect(req.api.create).toBe("/api/share") - expect(req.api.sync("shr_123")).toBe("/api/share/shr_123/sync") - expect(req.api.remove("shr_123")).toBe("/api/share/shr_123") - expect(req.api.data("shr_123")).toBe("/api/share/shr_123/data") - expect(req.baseUrl).toBe("https://legacy-share.example.com") - expect(req.headers).toEqual({}) - }), - ).pipe(Effect.provide(requestLayer(none))), - { config: { enterprise: { url: "https://legacy-share.example.com" } } }, - ), - ) - - it.live("request uses default URL when no enterprise config", () => - provideTmpdirInstance(() => - ShareNext.Service.use((svc) => - Effect.gen(function* () { - const req = yield* svc.request() - - expect(req.baseUrl).toBe("https://opncd.ai") - expect(req.api.create).toBe("/api/share") - expect(req.headers).toEqual({}) - }), - ).pipe(Effect.provide(requestLayer(none))), - ), - ) - - it.live("request uses org share API with auth headers when account is active", () => - provideTmpdirInstance(() => - Effect.gen(function* () { - yield* seed("https://control.example.com", "org-1") - - const req = yield* ShareNext.use.request() - - expect(req.api.create).toBe("/api/shares") - expect(req.api.sync("shr_123")).toBe("/api/shares/shr_123/sync") - expect(req.api.remove("shr_123")).toBe("/api/shares/shr_123") - expect(req.api.data("shr_123")).toBe("/api/shares/shr_123/data") - expect(req.baseUrl).toBe("https://control.example.com") - expect(req.headers).toEqual({ - authorization: "Bearer st_test_token", - "x-org-id": "org-1", - }) - }).pipe(Effect.provide(requestLayer(none))), - ), - ) - - it.live("create posts share, persists it, and returns the result", () => - provideTmpdirInstance( - () => { - const createRequests: HttpClientRequest.HttpClientRequest[] = [] - const client = HttpClient.make((req) => { - if (req.url.endsWith("/api/share")) { - createRequests.push(req) - return Effect.succeed( - json(req, { - id: "shr_abc", - url: "https://legacy-share.example.com/share/abc", - secret: "sec_123", - }), - ) - } - return Effect.succeed(json(req, { ok: true })) - }) - return Effect.gen(function* () { - const session = yield* (yield* Session.Service).create({ title: "test" }) - - const result = yield* (yield* ShareNext.Service).create(session.id) - - expect(result.id).toBe("shr_abc") - expect(result.url).toBe("https://legacy-share.example.com/share/abc") - expect(result.secret).toBe("sec_123") - - const row = yield* share(session.id) - expect(row?.id).toBe("shr_abc") - expect(row?.url).toBe("https://legacy-share.example.com/share/abc") - expect(row?.secret).toBe("sec_123") - - expect(createRequests).toHaveLength(1) - expect(createRequests[0].method).toBe("POST") - expect(createRequests[0].url).toBe("https://legacy-share.example.com/api/share") - }).pipe(Effect.provide(integrationLayer(client))) - }, - { config: { enterprise: { url: "https://legacy-share.example.com" } } }, - ), - ) - - it.live("remove deletes the persisted share and calls the delete endpoint", () => - provideTmpdirInstance( - () => { - const seen: HttpClientRequest.HttpClientRequest[] = [] - const client = HttpClient.make((req) => { - seen.push(req) - if (req.method === "POST") { - return Effect.succeed( - json(req, { - id: "shr_abc", - url: "https://legacy-share.example.com/share/abc", - secret: "sec_123", - }), - ) - } - return Effect.succeed(HttpClientResponse.fromWeb(req, new Response(null, { status: 200 }))) - }) - return Effect.gen(function* () { - const session = yield* (yield* Session.Service).create({ title: "test" }) - const service = yield* ShareNext.Service - - yield* service.create(session.id) - yield* service.remove(session.id) - - expect(yield* share(session.id)).toBeUndefined() - expect(seen.map((req) => [req.method, req.url])).toEqual([ - ["POST", "https://legacy-share.example.com/api/share"], - ["DELETE", "https://legacy-share.example.com/api/share/shr_abc"], - ]) - }).pipe(Effect.provide(integrationLayer(client))) - }, - { config: { enterprise: { url: "https://legacy-share.example.com" } } }, - ), - ) - - it.live("create fails on a non-ok response and does not persist a share", () => - provideTmpdirInstance(() => { - const client = HttpClient.make((req) => Effect.succeed(json(req, { error: "bad" }, 500))) - return Effect.gen(function* () { - const session = yield* (yield* Session.Service).create({ title: "test" }) - - const exit = yield* ShareNext.Service.use((svc) => Effect.exit(svc.create(session.id))) - - expect(Exit.isFailure(exit)).toBe(true) - expect(yield* share(session.id)).toBeUndefined() - }).pipe(Effect.provide(integrationLayer(client))) - }), - ) - - it.live("ShareNext coalesces rapid diff events into one delayed sync with latest data", () => - provideTmpdirInstance( - () => { - const seen: Array<{ url: string; body: string }> = [] - const client = HttpClient.make((req) => { - if (req.url.endsWith("/sync") && req.body._tag === "Uint8Array") { - seen.push({ url: req.url, body: new TextDecoder().decode(req.body.body) }) - } - return Effect.succeed(json(req, { ok: true })) - }) - - return Effect.gen(function* () { - const events = yield* EventV2Bridge.Service - const share = yield* ShareNext.Service - const session = yield* Session.Service - - const info = yield* session.create({ title: "first" }) - yield* share.init() - yield* Effect.sleep(50) - const { db } = yield* Database.Service - yield* db - .insert(SessionShareTable) - .values({ - session_id: info.id, - id: "shr_abc", - url: "https://legacy-share.example.com/share/abc", - secret: "sec_123", - }) - .run() - .pipe(Effect.orDie) - - yield* events.publish(Session.Event.Diff, { - sessionID: info.id, - diff: [ - { - file: "a.ts", - patch: - "Index: a.ts\n===================================================================\n--- a.ts\t\n+++ a.ts\t\n@@ -1,1 +1,1 @@\n-one\n\\ No newline at end of file\n+two\n\\ No newline at end of file\n", - additions: 1, - deletions: 1, - status: "modified", - }, - ], - }) - yield* events.publish(Session.Event.Diff, { - sessionID: info.id, - diff: [ - { - file: "b.ts", - patch: - "Index: b.ts\n===================================================================\n--- b.ts\t\n+++ b.ts\t\n@@ -1,1 +1,1 @@\n-old\n\\ No newline at end of file\n+new\n\\ No newline at end of file\n", - additions: 2, - deletions: 0, - status: "modified", - }, - ], - }) - yield* pollWithTimeout( - Effect.sync(() => (seen.length === 1 ? true : undefined)), - "timed out waiting for share sync", - "5 seconds", - ) - - expect(seen).toHaveLength(1) - expect(seen[0].url).toBe("https://legacy-share.example.com/api/share/shr_abc/sync") - - const body = JSON.parse(seen[0].body) as { - secret: string - data: Array<{ - type: string - data: Array<{ - file: string - patch: string - additions: number - deletions: number - status?: string - }> - }> - } - expect(body.secret).toBe("sec_123") - expect(body.data).toHaveLength(1) - expect(body.data[0].type).toBe("session_diff") - expect(body.data[0].data).toEqual([ - { - file: "b.ts", - patch: - "Index: b.ts\n===================================================================\n--- b.ts\t\n+++ b.ts\t\n@@ -1,1 +1,1 @@\n-old\n\\ No newline at end of file\n+new\n\\ No newline at end of file\n", - additions: 2, - deletions: 0, - status: "modified", - }, - ]) - }).pipe(Effect.provide(integrationLayer(client))) - }, - { config: { enterprise: { url: "https://legacy-share.example.com" } } }, - ), - ) -}) diff --git a/packages/tui/src/routes/session/index.tsx b/packages/tui/src/routes/session/index.tsx index 7f5a1d08cba3..e1f554f483a0 100644 --- a/packages/tui/src/routes/session/index.tsx +++ b/packages/tui/src/routes/session/index.tsx @@ -117,7 +117,6 @@ const sessionBindingCommands = [ "session.timeline", "session.fork", "session.compact", - "session.unshare", "session.undo", "session.redo", "session.sidebar.toggle", @@ -543,29 +542,6 @@ export function Session() { dialog.clear() }, }, - { - title: "Unshare session", - value: "session.unshare", - category: "Session", - enabled: !!session()?.share?.url, - slash: { - name: "unshare", - }, - run: async () => { - await sdk.client.session - .unshare({ - sessionID: route.sessionID, - }) - .then(() => toast.show({ message: "Session unshared successfully", variant: "success" })) - .catch((error) => { - toast.show({ - message: error instanceof Error ? error.message : "Failed to unshare session", - variant: "error", - }) - }) - dialog.clear() - }, - }, { title: "Undo previous message", value: "session.undo", diff --git a/packages/tui/src/routes/session/sidebar.tsx b/packages/tui/src/routes/session/sidebar.tsx index 0c5d2b313967..6103e2253200 100644 --- a/packages/tui/src/routes/session/sidebar.tsx +++ b/packages/tui/src/routes/session/sidebar.tsx @@ -77,9 +77,6 @@ export function Sidebar(props: { sessionID: string; overlay?: boolean }) { - - {session()!.share!.url} - diff --git a/packages/web/astro.config.mjs b/packages/web/astro.config.mjs index 21eaa6e65116..05e1482c80d1 100644 --- a/packages/web/astro.config.mjs +++ b/packages/web/astro.config.mjs @@ -224,7 +224,7 @@ export default defineConfig({ "zh-CN": "使用", "zh-TW": "使用", }, - items: ["go", "tui", "cli", "web", "ide", "zen", "share", "github", "gitlab"], + items: ["go", "tui", "cli", "web", "ide", "zen", "github", "gitlab"], }, { diff --git a/packages/web/src/content/docs/cli.mdx b/packages/web/src/content/docs/cli.mdx index 2b88b586c8b1..89784d3f61a0 100644 --- a/packages/web/src/content/docs/cli.mdx +++ b/packages/web/src/content/docs/cli.mdx @@ -368,7 +368,6 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | Continue the last session | | {"--session"} | `-s` | Session ID to continue | | {"--fork"} | | Fork the session when continuing (use with `--continue` or `--session`) | -| {"--share"} | | Share the session | | {"--model"} | `-m` | Model to use in the form of provider/model | | {"--agent"} | | Agent to use | | {"--file"} | `-f` | File(s) to attach to message | @@ -483,17 +482,14 @@ If you don't provide a session ID, you'll be prompted to select from available s ### import -Import session data from a JSON file or OpenCode share URL. +Import session data from a JSON file. ```bash opencode import ``` -You can import from a local file or an OpenCode share URL. - ```bash opencode import session.json -opencode import https://opncd.ai/s/abc123 ``` --- @@ -686,7 +682,6 @@ OpenCode can be configured using environment variables. | Variable | Type | Description | | ------------------------------------- | ------- | ------------------------------------------------- | -| `OPENCODE_AUTO_SHARE` | boolean | Automatically share sessions | | `OPENCODE_GIT_BASH_PATH` | string | Path to Git Bash executable on Windows | | `OPENCODE_CONFIG` | string | Path to config file | | `OPENCODE_TUI_CONFIG` | string | Path to TUI config file | diff --git a/packages/web/src/content/docs/commands.mdx b/packages/web/src/content/docs/commands.mdx index 1d7e4f1c21a2..a82cef1f752f 100644 --- a/packages/web/src/content/docs/commands.mdx +++ b/packages/web/src/content/docs/commands.mdx @@ -9,7 +9,7 @@ Custom commands let you specify a prompt you want to run when that command is ex /my-command ``` -Custom commands are in addition to the built-in commands like `/init`, `/undo`, `/redo`, `/share`, `/help`. [Learn more](/docs/tui#commands). +Custom commands are in addition to the built-in commands like `/init`, `/undo`, `/redo`, `/help`. [Learn more](/docs/tui#commands). --- @@ -314,7 +314,7 @@ This is an **optional** config option. ## Built-in -opencode includes several built-in commands like `/init`, `/undo`, `/redo`, `/share`, `/help`; [learn more](/docs/tui#commands). +opencode includes several built-in commands like `/init`, `/undo`, `/redo`, `/help`; [learn more](/docs/tui#commands). :::note Custom commands can override built-in commands. diff --git a/packages/web/src/content/docs/config.mdx b/packages/web/src/content/docs/config.mdx index c7263dabbc99..8e0e11d2a1b3 100644 --- a/packages/web/src/content/docs/config.mdx +++ b/packages/web/src/content/docs/config.mdx @@ -199,8 +199,6 @@ Use the `ai.opencode.managed` PayloadType. The OpenCode config keys go directly GENERATE-YOUR-OWN-UUID PayloadVersion 1 - share - disabled server hostname @@ -560,27 +558,6 @@ The default is `1`, which allows primary agents to launch subagents but prevents --- -### Sharing - -You can configure the [share](/docs/share) feature through the `share` option. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - -This takes: - -- `"manual"` - Allow manual sharing via commands (default) -- `"auto"` - Automatically share new conversations -- `"disabled"` - Disable sharing entirely - -By default, sharing is set to manual mode where you need to explicitly share conversations using the `/share` command. - ---- - ### Commands You can configure custom commands for repetitive tasks through the `command` option. diff --git a/packages/web/src/content/docs/enterprise.mdx b/packages/web/src/content/docs/enterprise.mdx index a93134de6200..8ff348a7c7ac 100644 --- a/packages/web/src/content/docs/enterprise.mdx +++ b/packages/web/src/content/docs/enterprise.mdx @@ -31,27 +31,6 @@ OpenCode is open source and does not store any of your code or context data, so This means that as long as you are using a provider you trust, or an internal AI gateway, you can use OpenCode securely. -The only caveat here is the optional `/share` feature. - ---- - -#### Sharing conversations - -If a user enables the `/share` feature, the conversation and the data associated with it are sent to the service we use to host these share pages at opencode.ai. - -The data is currently served through our CDN's edge network, and is cached on the edge near your users. - -We recommend you disable this for your trial. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -[Learn more about sharing](/docs/share). - --- ### Code ownership diff --git a/packages/web/src/content/docs/github.mdx b/packages/web/src/content/docs/github.mdx index 08cb27fff019..20258e0b0e86 100644 --- a/packages/web/src/content/docs/github.mdx +++ b/packages/web/src/content/docs/github.mdx @@ -69,7 +69,6 @@ Or you can set it up manually. ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 - # share: true ``` 3. **Store the API keys in secrets** @@ -82,7 +81,6 @@ Or you can set it up manually. - `model`: The model to use with OpenCode. Takes the format of `provider/model`. This is **required**. - `agent`: The agent to use. Must be a primary agent. Falls back to `default_agent` from config or `"build"` if not found. -- `share`: Whether to share the OpenCode session. Defaults to **true** for public repositories. - `prompt`: Optional custom prompt to override the default behavior. Use this to customize how OpenCode processes requests. - `mentions`: Comma-separated list of trigger phrases, case-insensitive. Defaults to `/opencode,/oc`. - `variant`: Model variant for provider-specific reasoning effort, for example `high`, `max`, or `minimal`. diff --git a/packages/web/src/content/docs/index.mdx b/packages/web/src/content/docs/index.mdx index 90e7eafb2f31..5b5a45faec0d 100644 --- a/packages/web/src/content/docs/index.mdx +++ b/packages/web/src/content/docs/index.mdx @@ -334,25 +334,6 @@ Or you **can redo** the changes using the `/redo` command. --- -## Share - -The conversations that you have with OpenCode can be [shared with your -team](/docs/share). - -```bash frame="none" -/share -``` - -This will create a link to the current conversation and copy it to your clipboard. - -:::note -Conversations are not shared by default. -::: - -Here's an [example conversation](https://opencode.ai/s/4XP1fce5) with OpenCode. - ---- - ## Customize And that's it! You are now a pro at using OpenCode. diff --git a/packages/web/src/content/docs/keybinds.mdx b/packages/web/src/content/docs/keybinds.mdx index 86f67dfd73ca..eee42b8d315e 100644 --- a/packages/web/src/content/docs/keybinds.mdx +++ b/packages/web/src/content/docs/keybinds.mdx @@ -41,8 +41,6 @@ OpenCode has a list of keybinds that you can customize through `tui.json`. "session_fork": "none", "session_rename": "ctrl+r", "session_delete": "ctrl+d", - "session_share": "none", - "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_toggle_timestamps": "none", diff --git a/packages/web/src/content/docs/share.mdx b/packages/web/src/content/docs/share.mdx deleted file mode 100644 index b2c79334097d..000000000000 --- a/packages/web/src/content/docs/share.mdx +++ /dev/null @@ -1,128 +0,0 @@ ---- -title: Share -description: Share your OpenCode conversations. ---- - -OpenCode's share feature allows you to create public links to your OpenCode conversations, so you can collaborate with teammates or get help from others. - -:::note -Shared conversations are publicly accessible to anyone with the link. -::: - ---- - -## How it works - -When you share a conversation, OpenCode: - -1. Creates a unique public URL for your session -2. Syncs your conversation history to our servers -3. Makes the conversation accessible via the shareable link — `opncd.ai/s/` - ---- - -## Sharing - -OpenCode supports three sharing modes that control how conversations are shared: - ---- - -### Manual (default) - -By default, OpenCode uses manual sharing mode. Sessions are not shared automatically, but you can manually share them using the `/share` command: - -``` -/share -``` - -This will generate a unique URL that'll be copied to your clipboard. - -To explicitly set manual mode in your [config file](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - ---- - -### Auto-share - -You can enable automatic sharing for all new conversations by setting the `share` option to `"auto"` in your [config file](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "auto" -} -``` - -With auto-share enabled, every new conversation will automatically be shared and a link will be generated. - ---- - -### Disabled - -You can disable sharing entirely by setting the `share` option to `"disabled"` in your [config file](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -To enforce this across your team for a given project, add it to the `opencode.json` in your project and check into Git. - ---- - -## Un-sharing - -To stop sharing a conversation and remove it from public access: - -``` -/unshare -``` - -This will remove the share link and delete the data related to the conversation. - ---- - -## Privacy - -There are a few things to keep in mind when sharing a conversation. - ---- - -### Data retention - -Shared conversations remain accessible until you explicitly unshare them. This -includes: - -- Full conversation history -- All messages and responses -- Session metadata - ---- - -### Recommendations - -- Only share conversations that don't contain sensitive information. -- Review conversation content before sharing. -- Unshare conversations when collaboration is complete. -- Avoid sharing conversations with proprietary code or confidential data. -- For sensitive projects, disable sharing entirely. - ---- - -## For enterprises - -For enterprise deployments, the share feature can be: - -- **Disabled** entirely for security compliance -- **Restricted** to users authenticated through SSO only -- **Self-hosted** on your own infrastructure - -[Learn more](/docs/enterprise) about using opencode in your organization. diff --git a/packages/web/src/content/docs/tui.mdx b/packages/web/src/content/docs/tui.mdx index 0351c46cde10..3b04bfcbc807 100644 --- a/packages/web/src/content/docs/tui.mdx +++ b/packages/web/src/content/docs/tui.mdx @@ -218,16 +218,6 @@ List and switch between sessions. _Aliases_: `/resume`, `/continue` --- -### share - -Share current session. [Learn more](/docs/share). - -```bash frame="none" -/share -``` - ---- - ### themes List available themes. @@ -273,16 +263,6 @@ be a Git repository**. --- -### unshare - -Unshare current session. [Learn more](/docs/share#un-sharing). - -```bash frame="none" -/unshare -``` - ---- - ### update Check for a new version of OpenCode and install it. If a newer OpenCode 1 release is available, the dialog installs it. If OpenCode 1 is up to date, it offers to upgrade you to OpenCode 2.0 instead. OpenCode never installs updates on its own, so a notice on the home screen tells you when one is available. Choosing **Skip** on an OpenCode 1 update hides the notice until a newer version is released, and choosing **Dismiss** on the OpenCode 2.0 offer hides it for a week. From 3d23a9336bcfe1669cd1904f810155ec718e7197 Mon Sep 17 00:00:00 2001 From: vimtor Date: Thu, 15 Oct 2026 16:54:44 +0200 Subject: [PATCH 3/5] fix(opencode): hide deprecated share flag, update help snapshots --- packages/opencode/src/cli/cmd/run.ts | 1 + .../test/cli/help/__snapshots__/help-snapshots.test.ts.snap | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/opencode/src/cli/cmd/run.ts b/packages/opencode/src/cli/cmd/run.ts index d33d9359597e..944aec17abd7 100644 --- a/packages/opencode/src/cli/cmd/run.ts +++ b/packages/opencode/src/cli/cmd/run.ts @@ -161,6 +161,7 @@ export const RunCommand = effectCmd({ .option("share", { type: "boolean", describe: "deprecated: session sharing was discontinued", + hidden: true, }) .option("model", { type: "string", diff --git a/packages/opencode/test/cli/help/__snapshots__/help-snapshots.test.ts.snap b/packages/opencode/test/cli/help/__snapshots__/help-snapshots.test.ts.snap index d22ded5af10f..f9d9ea70ba68 100644 --- a/packages/opencode/test/cli/help/__snapshots__/help-snapshots.test.ts.snap +++ b/packages/opencode/test/cli/help/__snapshots__/help-snapshots.test.ts.snap @@ -85,7 +85,6 @@ Options: -c, --continue continue the last session [boolean] -s, --session session id to continue [string] --fork fork the session before continuing (requires --continue or --session) [boolean] - --share share the session [boolean] -m, --model model to use in the format of provider/model [string] --agent agent to use [string] --format format: default (formatted) or json (raw JSON events) @@ -302,10 +301,10 @@ Options: exports[`opencode CLI help-text snapshots every documented command emits stable help text: opencode import --help 1`] = ` "opencode import -import session data from JSON file or URL +import session data from JSON file Positionals: - file path to JSON file or share URL [string] [required] + file path to JSON file [string] [required] Options: -h, --help show help [boolean] From 0cb460be975402e13f8e472235bb6879c130538b Mon Sep 17 00:00:00 2001 From: vimtor Date: Thu, 15 Oct 2026 18:21:48 +0200 Subject: [PATCH 4/5] docs(web): remove translated share docs --- packages/web/src/content/docs/ar/cli.mdx | 7 +- packages/web/src/content/docs/ar/commands.mdx | 4 +- packages/web/src/content/docs/ar/config.mdx | 21 --- .../web/src/content/docs/ar/enterprise.mdx | 21 --- packages/web/src/content/docs/ar/github.mdx | 2 - packages/web/src/content/docs/ar/index.mdx | 18 --- packages/web/src/content/docs/ar/keybinds.mdx | 2 - .../web/src/content/docs/ar/providers.mdx | 5 +- packages/web/src/content/docs/ar/server.mdx | 2 - packages/web/src/content/docs/ar/share.mdx | 127 ----------------- packages/web/src/content/docs/ar/tui.mdx | 22 --- packages/web/src/content/docs/bs/cli.mdx | 7 +- packages/web/src/content/docs/bs/commands.mdx | 4 +- packages/web/src/content/docs/bs/config.mdx | 21 --- .../web/src/content/docs/bs/enterprise.mdx | 21 --- packages/web/src/content/docs/bs/github.mdx | 2 - packages/web/src/content/docs/bs/index.mdx | 16 --- packages/web/src/content/docs/bs/keybinds.mdx | 2 - .../web/src/content/docs/bs/providers.mdx | 5 +- packages/web/src/content/docs/bs/server.mdx | 2 - packages/web/src/content/docs/bs/share.mdx | 127 ----------------- packages/web/src/content/docs/bs/tui.mdx | 22 --- packages/web/src/content/docs/da/cli.mdx | 7 +- packages/web/src/content/docs/da/commands.mdx | 4 +- packages/web/src/content/docs/da/config.mdx | 21 --- .../web/src/content/docs/da/enterprise.mdx | 21 --- packages/web/src/content/docs/da/github.mdx | 2 - packages/web/src/content/docs/da/index.mdx | 19 --- packages/web/src/content/docs/da/keybinds.mdx | 2 - .../web/src/content/docs/da/providers.mdx | 5 +- packages/web/src/content/docs/da/server.mdx | 2 - packages/web/src/content/docs/da/share.mdx | 128 ----------------- packages/web/src/content/docs/da/tui.mdx | 22 --- packages/web/src/content/docs/de/cli.mdx | 7 +- packages/web/src/content/docs/de/commands.mdx | 4 +- packages/web/src/content/docs/de/config.mdx | 21 --- .../web/src/content/docs/de/enterprise.mdx | 21 --- packages/web/src/content/docs/de/github.mdx | 2 - packages/web/src/content/docs/de/index.mdx | 18 --- packages/web/src/content/docs/de/keybinds.mdx | 2 - .../web/src/content/docs/de/providers.mdx | 5 +- packages/web/src/content/docs/de/server.mdx | 2 - packages/web/src/content/docs/de/share.mdx | 130 ------------------ packages/web/src/content/docs/de/tui.mdx | 22 --- packages/web/src/content/docs/es/cli.mdx | 7 +- packages/web/src/content/docs/es/commands.mdx | 4 +- packages/web/src/content/docs/es/config.mdx | 21 --- .../web/src/content/docs/es/enterprise.mdx | 21 --- packages/web/src/content/docs/es/github.mdx | 2 - packages/web/src/content/docs/es/index.mdx | 19 --- packages/web/src/content/docs/es/keybinds.mdx | 2 - .../web/src/content/docs/es/providers.mdx | 5 +- packages/web/src/content/docs/es/server.mdx | 2 - packages/web/src/content/docs/es/share.mdx | 128 ----------------- packages/web/src/content/docs/es/tui.mdx | 22 --- packages/web/src/content/docs/fr/cli.mdx | 7 +- packages/web/src/content/docs/fr/commands.mdx | 4 +- packages/web/src/content/docs/fr/config.mdx | 21 --- .../web/src/content/docs/fr/enterprise.mdx | 21 --- packages/web/src/content/docs/fr/github.mdx | 2 - packages/web/src/content/docs/fr/index.mdx | 18 --- packages/web/src/content/docs/fr/keybinds.mdx | 2 - .../web/src/content/docs/fr/providers.mdx | 5 +- packages/web/src/content/docs/fr/server.mdx | 2 - packages/web/src/content/docs/fr/share.mdx | 128 ----------------- packages/web/src/content/docs/fr/tui.mdx | 22 --- packages/web/src/content/docs/it/cli.mdx | 7 +- packages/web/src/content/docs/it/commands.mdx | 4 +- packages/web/src/content/docs/it/config.mdx | 21 --- .../web/src/content/docs/it/enterprise.mdx | 21 --- packages/web/src/content/docs/it/github.mdx | 2 - packages/web/src/content/docs/it/index.mdx | 18 --- packages/web/src/content/docs/it/keybinds.mdx | 2 - .../web/src/content/docs/it/providers.mdx | 5 +- packages/web/src/content/docs/it/server.mdx | 2 - packages/web/src/content/docs/it/share.mdx | 127 ----------------- packages/web/src/content/docs/it/tui.mdx | 22 --- packages/web/src/content/docs/ja/cli.mdx | 7 +- packages/web/src/content/docs/ja/commands.mdx | 4 +- packages/web/src/content/docs/ja/config.mdx | 21 --- .../web/src/content/docs/ja/enterprise.mdx | 21 --- packages/web/src/content/docs/ja/github.mdx | 2 - packages/web/src/content/docs/ja/index.mdx | 18 --- packages/web/src/content/docs/ja/keybinds.mdx | 2 - .../web/src/content/docs/ja/providers.mdx | 5 +- packages/web/src/content/docs/ja/server.mdx | 2 - packages/web/src/content/docs/ja/share.mdx | 128 ----------------- packages/web/src/content/docs/ja/tui.mdx | 22 --- packages/web/src/content/docs/ko/cli.mdx | 7 +- packages/web/src/content/docs/ko/commands.mdx | 4 +- packages/web/src/content/docs/ko/config.mdx | 21 --- .../web/src/content/docs/ko/enterprise.mdx | 21 --- packages/web/src/content/docs/ko/github.mdx | 2 - packages/web/src/content/docs/ko/index.mdx | 18 --- packages/web/src/content/docs/ko/keybinds.mdx | 2 - .../web/src/content/docs/ko/providers.mdx | 4 +- packages/web/src/content/docs/ko/server.mdx | 2 - packages/web/src/content/docs/ko/share.mdx | 128 ----------------- packages/web/src/content/docs/ko/tui.mdx | 22 --- packages/web/src/content/docs/nb/cli.mdx | 7 +- packages/web/src/content/docs/nb/commands.mdx | 4 +- packages/web/src/content/docs/nb/config.mdx | 21 --- .../web/src/content/docs/nb/enterprise.mdx | 21 --- packages/web/src/content/docs/nb/github.mdx | 2 - packages/web/src/content/docs/nb/index.mdx | 19 --- packages/web/src/content/docs/nb/keybinds.mdx | 2 - .../web/src/content/docs/nb/providers.mdx | 5 +- packages/web/src/content/docs/nb/server.mdx | 2 - packages/web/src/content/docs/nb/share.mdx | 128 ----------------- packages/web/src/content/docs/nb/tui.mdx | 22 --- packages/web/src/content/docs/pl/cli.mdx | 7 +- packages/web/src/content/docs/pl/commands.mdx | 4 +- packages/web/src/content/docs/pl/config.mdx | 21 --- .../web/src/content/docs/pl/enterprise.mdx | 21 --- packages/web/src/content/docs/pl/github.mdx | 2 - packages/web/src/content/docs/pl/index.mdx | 18 --- packages/web/src/content/docs/pl/keybinds.mdx | 2 - .../web/src/content/docs/pl/providers.mdx | 5 +- packages/web/src/content/docs/pl/server.mdx | 2 - packages/web/src/content/docs/pl/share.mdx | 128 ----------------- packages/web/src/content/docs/pl/tui.mdx | 22 --- packages/web/src/content/docs/providers.mdx | 5 +- packages/web/src/content/docs/pt-br/cli.mdx | 7 +- .../web/src/content/docs/pt-br/commands.mdx | 4 +- .../web/src/content/docs/pt-br/config.mdx | 21 --- .../web/src/content/docs/pt-br/enterprise.mdx | 21 --- .../web/src/content/docs/pt-br/github.mdx | 2 - packages/web/src/content/docs/pt-br/index.mdx | 18 --- .../web/src/content/docs/pt-br/keybinds.mdx | 2 - .../web/src/content/docs/pt-br/providers.mdx | 5 +- .../web/src/content/docs/pt-br/server.mdx | 2 - packages/web/src/content/docs/pt-br/share.mdx | 127 ----------------- packages/web/src/content/docs/pt-br/tui.mdx | 22 --- packages/web/src/content/docs/ru/cli.mdx | 7 +- packages/web/src/content/docs/ru/commands.mdx | 4 +- packages/web/src/content/docs/ru/config.mdx | 21 --- .../web/src/content/docs/ru/enterprise.mdx | 21 --- packages/web/src/content/docs/ru/github.mdx | 2 - packages/web/src/content/docs/ru/index.mdx | 19 --- packages/web/src/content/docs/ru/keybinds.mdx | 2 - .../web/src/content/docs/ru/providers.mdx | 5 +- packages/web/src/content/docs/ru/server.mdx | 2 - packages/web/src/content/docs/ru/share.mdx | 128 ----------------- packages/web/src/content/docs/ru/tui.mdx | 22 --- packages/web/src/content/docs/server.mdx | 2 - packages/web/src/content/docs/th/cli.mdx | 7 +- packages/web/src/content/docs/th/commands.mdx | 4 +- packages/web/src/content/docs/th/config.mdx | 21 --- .../web/src/content/docs/th/enterprise.mdx | 21 --- packages/web/src/content/docs/th/github.mdx | 2 - packages/web/src/content/docs/th/index.mdx | 19 --- packages/web/src/content/docs/th/keybinds.mdx | 2 - .../web/src/content/docs/th/providers.mdx | 5 +- packages/web/src/content/docs/th/server.mdx | 2 - packages/web/src/content/docs/th/share.mdx | 128 ----------------- packages/web/src/content/docs/th/tui.mdx | 22 --- packages/web/src/content/docs/tr/cli.mdx | 7 +- packages/web/src/content/docs/tr/commands.mdx | 4 +- packages/web/src/content/docs/tr/config.mdx | 21 --- .../web/src/content/docs/tr/enterprise.mdx | 21 --- packages/web/src/content/docs/tr/github.mdx | 2 - packages/web/src/content/docs/tr/index.mdx | 18 --- packages/web/src/content/docs/tr/keybinds.mdx | 2 - .../web/src/content/docs/tr/providers.mdx | 5 +- packages/web/src/content/docs/tr/server.mdx | 2 - packages/web/src/content/docs/tr/share.mdx | 127 ----------------- packages/web/src/content/docs/tr/tui.mdx | 22 --- packages/web/src/content/docs/zh-cn/cli.mdx | 7 +- .../web/src/content/docs/zh-cn/commands.mdx | 4 +- .../web/src/content/docs/zh-cn/config.mdx | 21 --- .../web/src/content/docs/zh-cn/enterprise.mdx | 21 --- .../web/src/content/docs/zh-cn/github.mdx | 2 - packages/web/src/content/docs/zh-cn/index.mdx | 18 --- .../web/src/content/docs/zh-cn/keybinds.mdx | 2 - .../web/src/content/docs/zh-cn/providers.mdx | 5 +- .../web/src/content/docs/zh-cn/server.mdx | 2 - packages/web/src/content/docs/zh-cn/share.mdx | 127 ----------------- packages/web/src/content/docs/zh-cn/tui.mdx | 22 --- packages/web/src/content/docs/zh-tw/cli.mdx | 7 +- .../web/src/content/docs/zh-tw/commands.mdx | 4 +- .../web/src/content/docs/zh-tw/config.mdx | 21 --- .../web/src/content/docs/zh-tw/enterprise.mdx | 21 --- .../web/src/content/docs/zh-tw/github.mdx | 2 - packages/web/src/content/docs/zh-tw/index.mdx | 18 --- .../web/src/content/docs/zh-tw/keybinds.mdx | 2 - .../web/src/content/docs/zh-tw/providers.mdx | 5 +- .../web/src/content/docs/zh-tw/server.mdx | 2 - packages/web/src/content/docs/zh-tw/share.mdx | 127 ----------------- packages/web/src/content/docs/zh-tw/tui.mdx | 22 --- 189 files changed, 86 insertions(+), 3862 deletions(-) delete mode 100644 packages/web/src/content/docs/ar/share.mdx delete mode 100644 packages/web/src/content/docs/bs/share.mdx delete mode 100644 packages/web/src/content/docs/da/share.mdx delete mode 100644 packages/web/src/content/docs/de/share.mdx delete mode 100644 packages/web/src/content/docs/es/share.mdx delete mode 100644 packages/web/src/content/docs/fr/share.mdx delete mode 100644 packages/web/src/content/docs/it/share.mdx delete mode 100644 packages/web/src/content/docs/ja/share.mdx delete mode 100644 packages/web/src/content/docs/ko/share.mdx delete mode 100644 packages/web/src/content/docs/nb/share.mdx delete mode 100644 packages/web/src/content/docs/pl/share.mdx delete mode 100644 packages/web/src/content/docs/pt-br/share.mdx delete mode 100644 packages/web/src/content/docs/ru/share.mdx delete mode 100644 packages/web/src/content/docs/th/share.mdx delete mode 100644 packages/web/src/content/docs/tr/share.mdx delete mode 100644 packages/web/src/content/docs/zh-cn/share.mdx delete mode 100644 packages/web/src/content/docs/zh-tw/share.mdx diff --git a/packages/web/src/content/docs/ar/cli.mdx b/packages/web/src/content/docs/ar/cli.mdx index 5aa9b781f917..594677c10540 100644 --- a/packages/web/src/content/docs/ar/cli.mdx +++ b/packages/web/src/content/docs/ar/cli.mdx @@ -345,7 +345,6 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | متابعة الجلسة الأخيرة | | {"--session"} | `-s` | معرّف الجلسة للمتابعة | | {"--fork"} | | تفريع الجلسة عند المتابعة (يستخدم مع `--continue` أو `--session`) | -| {"--share"} | | مشاركة الجلسة | | {"--model"} | `-m` | النموذج المراد استخدامه بصيغة provider/model | | {"--agent"} | | الوكيل المراد استخدامه | | {"--file"} | `-f` | ملف/ملفات لإرفاقها بالرسالة | @@ -442,17 +441,14 @@ opencode export [sessionID] ### import -استيراد بيانات الجلسة من ملف JSON أو رابط مشاركة OpenCode. +استيراد بيانات الجلسة من ملف JSON. ```bash opencode import ``` -يمكنك الاستيراد من ملف محلي أو من رابط مشاركة OpenCode. - ```bash opencode import session.json -opencode import https://opncd.ai/s/abc123 ``` --- @@ -564,7 +560,6 @@ opencode upgrade v0.1.48 | المتغير | النوع | الوصف | | ------------------------------------- | ------- | --------------------------------------------------------- | -| `OPENCODE_AUTO_SHARE` | boolean | مشاركة الجلسات تلقائيا | | `OPENCODE_GIT_BASH_PATH` | string | مسار ملف Git Bash التنفيذي على Windows | | `OPENCODE_CONFIG` | string | مسار ملف التهيئة | | `OPENCODE_CONFIG_DIR` | string | مسار دليل التهيئة | diff --git a/packages/web/src/content/docs/ar/commands.mdx b/packages/web/src/content/docs/ar/commands.mdx index da14065212dd..9ca3ab600835 100644 --- a/packages/web/src/content/docs/ar/commands.mdx +++ b/packages/web/src/content/docs/ar/commands.mdx @@ -9,7 +9,7 @@ description: أنشئ أوامر مخصصة للمهام المتكررة. /my-command ``` -تُعدّ الأوامر المخصصة إضافةً إلى الأوامر المضمنة مثل `/init` و`/undo` و`/redo` و`/share` و`/help`. [اعرف المزيد](/docs/tui#commands). +تُعدّ الأوامر المخصصة إضافةً إلى الأوامر المضمنة مثل `/init` و`/undo` و`/redo` و`/help`. [اعرف المزيد](/docs/tui#commands). --- @@ -313,7 +313,7 @@ Check for performance issues and suggest improvements. ## الأوامر المضمنة -يتضمن opencode عدة أوامر مضمنة مثل `/init` و`/undo` و`/redo` و`/share` و`/help`؛ [اعرف المزيد](/docs/tui#commands). +يتضمن opencode عدة أوامر مضمنة مثل `/init` و`/undo` و`/redo` و`/help`؛ [اعرف المزيد](/docs/tui#commands). :::note يمكن للأوامر المخصصة تجاوز الأوامر المضمنة. diff --git a/packages/web/src/content/docs/ar/config.mdx b/packages/web/src/content/docs/ar/config.mdx index 8f5b275e5ce4..c490fe3c9c0f 100644 --- a/packages/web/src/content/docs/ar/config.mdx +++ b/packages/web/src/content/docs/ar/config.mdx @@ -356,27 +356,6 @@ opencode run "Hello world" --- -### المشاركة - -يمكنك ضبط ميزة [share](/docs/share) عبر الخيار `share`. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - -يقبل هذا الإعداد القيم التالية: - -- `"manual"` - السماح بالمشاركة اليدوية عبر الأوامر (الافتراضي) -- `"auto"` - مشاركة المحادثات الجديدة تلقائيًا -- `"disabled"` - تعطيل المشاركة بالكامل - -افتراضيًا تكون المشاركة في الوضع اليدوي، حيث تحتاج إلى مشاركة المحادثات صراحةً باستخدام الأمر `/share`. - ---- - ### الأوامر يمكنك ضبط أوامر مخصصة للمهام المتكررة عبر الخيار `command`. diff --git a/packages/web/src/content/docs/ar/enterprise.mdx b/packages/web/src/content/docs/ar/enterprise.mdx index b7b188edeb3f..214a41188688 100644 --- a/packages/web/src/content/docs/ar/enterprise.mdx +++ b/packages/web/src/content/docs/ar/enterprise.mdx @@ -31,27 +31,6 @@ OpenCode مفتوح المصدر ولا يخزن أي من شيفرتك أو ب وهذا يعني أنه طالما أنك تستخدم مزودا تثق به، أو بوابة AI داخلية، يمكنك استخدام OpenCode بأمان. -الاستثناء الوحيد هنا هو ميزة `/share` الاختيارية. - ---- - -#### مشاركة المحادثات - -إذا فعّل المستخدم ميزة `/share`، فسيتم إرسال المحادثة والبيانات المرتبطة بها إلى الخدمة التي نستخدمها لاستضافة صفحات المشاركة هذه على opencode.ai. - -يتم تقديم البيانات حاليا عبر شبكة الحافة الخاصة بـ CDN لدينا، وتُخزّن مؤقتا على الحافة بالقرب من مستخدميك. - -نوصي بتعطيل ذلك أثناء التجربة. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -[تعرّف على المزيد حول المشاركة](/docs/share). - --- ### ملكية الشيفرة diff --git a/packages/web/src/content/docs/ar/github.mdx b/packages/web/src/content/docs/ar/github.mdx index 1365b74e537c..4dbcddc107b7 100644 --- a/packages/web/src/content/docs/ar/github.mdx +++ b/packages/web/src/content/docs/ar/github.mdx @@ -69,7 +69,6 @@ opencode github install ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 - # share: true # github_token: xxxx ``` @@ -83,7 +82,6 @@ opencode github install - `model`: النموذج الذي سيستخدمه OpenCode. يأخذ الصيغة `provider/model`. هذا **مطلوب**. - `agent`: الـagent الذي سيتم استخدامه. يجب أن يكون agent أساسيًا. يعود افتراضيًا إلى `default_agent` من الإعدادات أو `"build"` إذا لم يُعثر عليه. -- `share`: هل تتم مشاركة جلسة OpenCode. القيمة الافتراضية **true** للمستودعات العامة. - `prompt`: موجه مخصص اختياري لتجاوز السلوك الافتراضي. استخدمه لتخصيص كيفية معالجة OpenCode للطلبات. - `token`: GitHub access token اختياري لتنفيذ عمليات مثل إنشاء التعليقات، وcommit للتغييرات، وفتح Pull Requests. افتراضيًا يستخدم OpenCode installation access token الخاص بـOpenCode GitHub App، لذا تظهر commits والتعليقات وPull Requests وكأنها صادرة من التطبيق. diff --git a/packages/web/src/content/docs/ar/index.mdx b/packages/web/src/content/docs/ar/index.mdx index ff2de9c512d8..9f7aa7a34333 100644 --- a/packages/web/src/content/docs/ar/index.mdx +++ b/packages/web/src/content/docs/ar/index.mdx @@ -319,24 +319,6 @@ Can you refactor the function in @packages/functions/src/api/index.ts? --- -## المشاركة - -يمكن [مشاركة المحادثات](/docs/share) التي تجريها مع OpenCode مع فريقك. - -```bash frame="none" -/share -``` - -سيقوم هذا بإنشاء رابط للمحادثة الحالية ونسخه إلى الحافظة. - -:::note -لا تتم مشاركة المحادثات افتراضيا. -::: - -إليك [مثالا لمحادثة](https://opencode.ai/s/4XP1fce5) مع OpenCode. - ---- - ## التخصيص وهذا كل شيء! أصبحت الآن محترفا في استخدام OpenCode. diff --git a/packages/web/src/content/docs/ar/keybinds.mdx b/packages/web/src/content/docs/ar/keybinds.mdx index d40d49729e97..251d35c5fd4b 100644 --- a/packages/web/src/content/docs/ar/keybinds.mdx +++ b/packages/web/src/content/docs/ar/keybinds.mdx @@ -24,8 +24,6 @@ description: خصّص اختصارات لوحة المفاتيح. "session_timeline": "g", "session_fork": "none", "session_rename": "none", - "session_share": "none", - "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/ar/providers.mdx b/packages/web/src/content/docs/ar/providers.mdx index c4812fe5d5ee..dc2fe62b4a97 100644 --- a/packages/web/src/content/docs/ar/providers.mdx +++ b/packages/web/src/content/docs/ar/providers.mdx @@ -754,13 +754,12 @@ OpenCode Go هي خطة اشتراك منخفضة التكلفة توفّر وص يستخدم OpenCode نموذجا صغيرا لبعض مهام الذكاء الاصطناعي مثل إنشاء عنوان الجلسة. تم ضبطه لاستخدام gpt-5-nano افتراضيا، مستضافا عبر Zen. لحصر OpenCode على استخدام مثيل GitLab المستضاف لديك فقط، أضف ما يلي إلى ملف -`opencode.json` لديك. يوصى أيضا بتعطيل مشاركة الجلسات. +`opencode.json` لديك. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5", - "share": "disabled" + "small_model": "gitlab/duo-chat-haiku-4-5" } ``` diff --git a/packages/web/src/content/docs/ar/server.mdx b/packages/web/src/content/docs/ar/server.mdx index 017a81eafa0c..bfba77bf529f 100644 --- a/packages/web/src/content/docs/ar/server.mdx +++ b/packages/web/src/content/docs/ar/server.mdx @@ -158,8 +158,6 @@ http://:/doc | `POST` | `/session/:id/init` | تحليل التطبيق وإنشاء `AGENTS.md` | المتن: `{ messageID, providerID, modelID }`، يعيد `boolean` | | `POST` | `/session/:id/fork` | تفريع جلسة موجودة عند رسالة | المتن: `{ messageID? }`، يعيد Session | | `POST` | `/session/:id/abort` | إلغاء جلسة قيد التشغيل | يعيد `boolean` | -| `POST` | `/session/:id/share` | مشاركة جلسة | يعيد Session | -| `DELETE` | `/session/:id/share` | إلغاء مشاركة جلسة | يعيد Session | | `GET` | `/session/:id/diff` | الحصول على diff لهذه الجلسة | الاستعلام: `messageID?`، يعيد FileDiff[] | | `POST` | `/session/:id/summarize` | تلخيص الجلسة | المتن: `{ providerID, modelID }`، يعيد `boolean` | | `POST` | `/session/:id/revert` | التراجع عن رسالة | المتن: `{ messageID, partID? }`، يعيد `boolean` | diff --git a/packages/web/src/content/docs/ar/share.mdx b/packages/web/src/content/docs/ar/share.mdx deleted file mode 100644 index 6d13410458cd..000000000000 --- a/packages/web/src/content/docs/ar/share.mdx +++ /dev/null @@ -1,127 +0,0 @@ ---- -title: المشاركة -description: شارك محادثات OpenCode الخاصة بك. ---- - -تتيح لك ميزة المشاركة في OpenCode إنشاء روابط عامة لمحادثات OpenCode الخاصة بك، بحيث يمكنك التعاون مع زملائك أو الحصول على المساعدة من الآخرين. - -:::note -المحادثات المشتركة متاحة للعامة لأي شخص لديه الرابط. -::: - ---- - -## كيف تعمل - -عند مشاركة محادثة، يقوم OpenCode بما يلي: - -1. ينشئ عنوان URL عاما فريدا لجلستك -2. يزامن سجل محادثتك مع خوادمنا -3. يجعل المحادثة متاحة عبر رابط قابل للمشاركة — `opncd.ai/s/` - ---- - -## المشاركة - -يدعم OpenCode ثلاثة أوضاع للمشاركة تتحكم في كيفية مشاركة المحادثات: - ---- - -### يدوي (افتراضي) - -افتراضيا، يستخدم OpenCode وضع المشاركة اليدوي. لا تتم مشاركة الجلسات تلقائيا، لكن يمكنك مشاركتها يدويا باستخدام الأمر `/share`: - -``` -/share -``` - -سيُنشئ هذا عنوان URL فريدا وسيُنسخ إلى الحافظة. - -لضبط الوضع اليدوي صراحة في [ملف الإعدادات](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - ---- - -### المشاركة التلقائية - -يمكنك تفعيل المشاركة التلقائية لجميع المحادثات الجديدة عبر ضبط خيار `share` إلى `"auto"` في [ملف الإعدادات](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "auto" -} -``` - -عند تفعيل المشاركة التلقائية، ستتم مشاركة كل محادثة جديدة تلقائيا وسيتم إنشاء رابط لها. - ---- - -### معطلة - -يمكنك تعطيل المشاركة بالكامل عبر ضبط خيار `share` إلى `"disabled"` في [ملف الإعدادات](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -لفرض ذلك على مستوى فريقك لمشروع معين، أضفه إلى ملف `opencode.json` في مشروعك ثم قم بإدراجه في Git. - ---- - -## إلغاء المشاركة - -لإيقاف مشاركة محادثة وإزالتها من الوصول العام: - -``` -/unshare -``` - -سيؤدي ذلك إلى إزالة رابط المشاركة وحذف البيانات المتعلقة بالمحادثة. - ---- - -## الخصوصية - -هناك بعض الأمور التي ينبغي وضعها في الاعتبار عند مشاركة محادثة. - ---- - -### الاحتفاظ بالبيانات - -تظل المحادثات المشتركة متاحة حتى تقوم بإلغاء مشاركتها صراحة. يشمل ذلك: - -- سجل المحادثة كاملا -- جميع الرسائل والردود -- بيانات تعريف الجلسة - ---- - -### توصيات - -- شارك فقط المحادثات التي لا تتضمن معلومات حساسة. -- راجع محتوى المحادثة قبل مشاركتها. -- ألغِ مشاركة المحادثات عند اكتمال التعاون. -- تجنب مشاركة المحادثات التي تتضمن شيفرة مملوكة أو بيانات سرية. -- للمشاريع الحساسة، عطّل المشاركة بالكامل. - ---- - -## للمؤسسات - -في عمليات النشر الخاصة بالمؤسسات، يمكن أن تكون ميزة المشاركة: - -- **معطلة** بالكامل للامتثال الأمني -- **مقيدة** على المستخدمين الموثقين عبر SSO فقط -- **مستضافة ذاتيا** على بنيتك التحتية الخاصة - -[تعرّف على المزيد](/docs/enterprise) حول استخدام OpenCode في مؤسستك. diff --git a/packages/web/src/content/docs/ar/tui.mdx b/packages/web/src/content/docs/ar/tui.mdx index 2a437d48410c..f6dc5f212167 100644 --- a/packages/web/src/content/docs/ar/tui.mdx +++ b/packages/web/src/content/docs/ar/tui.mdx @@ -217,18 +217,6 @@ How is auth handled in @packages/functions/src/api/index.ts? --- -### share - -شارك الجلسة الحالية. [اعرف المزيد](/docs/share). - -```bash frame="none" -/share -``` - -**اختصار لوحة المفاتيح:** `ctrl+x s` - ---- - ### themes اعرض السمات المتاحة. @@ -273,16 +261,6 @@ How is auth handled in @packages/functions/src/api/index.ts? --- -### unshare - -ألغِ مشاركة الجلسة الحالية. [اعرف المزيد](/docs/share#un-sharing). - -```bash frame="none" -/unshare -``` - ---- - ## إعداد المحرر يستخدم الأمران `/editor` و`/export` المحرر المحدد في متغير البيئة `EDITOR`. diff --git a/packages/web/src/content/docs/bs/cli.mdx b/packages/web/src/content/docs/bs/cli.mdx index 8883e6889a42..b3eb41bec004 100644 --- a/packages/web/src/content/docs/bs/cli.mdx +++ b/packages/web/src/content/docs/bs/cli.mdx @@ -342,7 +342,6 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | Nastavite posljednju sesiju | | {"--session"} | `-s` | ID sesije za nastavak | | {"--fork"} | | Forkujte sesiju pri nastavku (koristiti sa `--continue` ili `--session`) | -| {"--share"} | | Podijelite sesiju | | {"--model"} | `-m` | Model za korištenje u obliku provider/model | | {"--agent"} | | Agent za korištenje | | {"--file"} | `-f` | Fajlovi koje treba priložiti poruci | @@ -439,17 +438,14 @@ Ako ne unesete ID sesije, od vas će biti zatraženo da odaberete neku od dostup ### import -Uvezite podatke sesije iz JSON datoteke ili OpenCode dijeljenog URL-a. +Uvezite podatke sesije iz JSON datoteke. ```bash opencode import ``` -Možete uvesti iz lokalne datoteke ili OpenCode dijeljenog URL-a. - ```bash opencode import session.json -opencode import https://opncd.ai/s/abc123 ``` --- @@ -561,7 +557,6 @@ OpenCode se može konfigurirati pomoću varijabli okruženja. | Varijabla | Tip | Opis | | ------------------------------------- | ------- | ------------------------------------------------------------------ | -| `OPENCODE_AUTO_SHARE` | boolean | Automatski dijeli sesije | | `OPENCODE_GIT_BASH_PATH` | string | Putanja do Git Bash izvršne datoteke na Windows-u | | `OPENCODE_CONFIG` | string | Putanja do konfiguracijskog fajla | | `OPENCODE_TUI_CONFIG` | string | Putanja do TUI konfiguracijskog fajla | diff --git a/packages/web/src/content/docs/bs/commands.mdx b/packages/web/src/content/docs/bs/commands.mdx index 388a4504bdef..90761269eaab 100644 --- a/packages/web/src/content/docs/bs/commands.mdx +++ b/packages/web/src/content/docs/bs/commands.mdx @@ -9,7 +9,7 @@ Prilagođene komande vam omogućavaju da odredite prompt koji želite da pokrene /my-command ``` -Prilagođene komande su dodatak ugrađenim komandama kao što su `/init`, `/undo`, `/redo`, `/share`, `/help`. [Saznajte više](/docs/tui#commands). +Prilagođene komande su dodatak ugrađenim komandama kao što su `/init`, `/undo`, `/redo`, `/help`. [Saznajte više](/docs/tui#commands). --- @@ -309,7 +309,7 @@ Ovo je **opciona** opcija konfiguracije. ## Ugrađene naredbe -OpenCode uključuje nekoliko ugrađenih naredbi kao što su `/init`, `/undo`, `/redo`, `/share`, `/help`; [saznaj više](/docs/tui#commands). +OpenCode uključuje nekoliko ugrađenih naredbi kao što su `/init`, `/undo`, `/redo`, `/help`; [saznaj više](/docs/tui#commands). :::note Prilagođene komande mogu nadjačati ugrađene komande. ::: diff --git a/packages/web/src/content/docs/bs/config.mdx b/packages/web/src/content/docs/bs/config.mdx index b37683f0201c..91a1430cda9b 100644 --- a/packages/web/src/content/docs/bs/config.mdx +++ b/packages/web/src/content/docs/bs/config.mdx @@ -356,27 +356,6 @@ Ova postavka se primjenjuje na sva sučelja: TUI, CLI (`opencode run`), desktop --- -### Dijeljenje - -Možete konfigurirati funkciju [share](/docs/share) putem opcije `share`. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - -Ovo prihvata: - -- `"manual"` - Dozvoli ručno dijeljenje putem naredbi (podrazumevano) -- `"auto"` - Automatski dijelite nove razgovore -- `"disabled"` - Onemogući dijeljenje u potpunosti - -Podrazumevano, dijeljenje je postavljeno na ručni način rada gdje trebate eksplicitno dijeliti razgovore pomoću naredbe `/share`. - ---- - ### Naredbe Možete konfigurirati prilagođene naredbe za ponavljanje zadataka putem opcije `command`. diff --git a/packages/web/src/content/docs/bs/enterprise.mdx b/packages/web/src/content/docs/bs/enterprise.mdx index 5851498aeb50..365a7d14b98d 100644 --- a/packages/web/src/content/docs/bs/enterprise.mdx +++ b/packages/web/src/content/docs/bs/enterprise.mdx @@ -31,27 +31,6 @@ OpenCode je otvorenog koda i ne pohranjuje vaš kod niti kontekstualne podatke, To znači da, sve dok koristite provajdera kojem vjerujete ili interni AI gateway, OpenCode možete koristiti sigurno. -Jedina iznimka je opcionalna funkcija `/share`. - ---- - -#### Dijeljenje razgovora - -Ako korisnik uključi funkciju `/share`, razgovor i povezani podaci šalju se servisu koji koristimo za hosting ovih share stranica na opencode.ai. - -Podaci se trenutno serviraju kroz edge mrežu našeg CDN-a i keširaju se blizu korisnika. - -Preporučujemo da ovo onemogućite tokom probe. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -[Saznajte više o dijeljenju](/docs/share). - --- ### Vlasništvo koda diff --git a/packages/web/src/content/docs/bs/github.mdx b/packages/web/src/content/docs/bs/github.mdx index 5946b3442907..225ff4c77e8f 100644 --- a/packages/web/src/content/docs/bs/github.mdx +++ b/packages/web/src/content/docs/bs/github.mdx @@ -66,7 +66,6 @@ Ili ga možete postaviti ručno. ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 - # share: true # github_token: xxxx ``` @@ -79,7 +78,6 @@ Ili ga možete postaviti ručno. - `model`: Model za korištenje s OpenCode. Uzima format `provider/model`. Ovo je **obavezno**. - `agent`: Agent za korištenje. Mora biti primarni agent. Vraća se na `default_agent` iz konfiguracije ili `"build"` ako nije pronađen. -- `share`: Da li dijeliti OpenCode sesiju. Podrazumevano je **true** za javna spremišta. - `prompt`: Opcioni prilagođeni upit za nadjačavanje zadanog ponašanja. Koristite ovo da prilagodite kako OpenCode obrađuje zahtjeve. - `token`: Opcionalni GitHub pristupni token za izvođenje operacija kao što su kreiranje komentara, upisivanje promjena i otvaranje zahtjeva za povlačenjem. OpenCode prema zadanim postavkama koristi token za pristup instalaciji iz aplikacije OpenCode GitHub, tako da se urezivanje, komentari i zahtjevi za povlačenjem pojavljuju kao da dolaze iz aplikacije. Alternativno, možete koristiti GitHub Action runner [ugrađeni `GITHUB_TOKEN`](https://docs.github.com/en/actions/tutorials/authenticate-with-github_token) bez instaliranja OpenCode GitHub aplikacije. Samo se pobrinite da date potrebna odobrenja u svom toku rada: diff --git a/packages/web/src/content/docs/bs/index.mdx b/packages/web/src/content/docs/bs/index.mdx index 4af699485aa0..9a48b66575de 100644 --- a/packages/web/src/content/docs/bs/index.mdx +++ b/packages/web/src/content/docs/bs/index.mdx @@ -301,22 +301,6 @@ Ili **možete ponoviti** promjene koristeći naredbu `/redo`. --- -## Dijeljenje - -Razgovore koje imate sa OpenCode možete [dijeliti sa vašim timom](/docs/share). - -```bash frame="none" -/share -``` - -Ovo će kreirati vezu do trenutnog razgovora i kopirati je u međuspremnik. -:::note -Razgovori se ne dijele prema zadanim postavkama. -::: -Evo [primjer razgovora](https://opencode.ai/s/4XP1fce5) sa OpenCode. - ---- - ## Prilagođavanje I to je to! Sada ste profesionalac u korištenju OpenCode. diff --git a/packages/web/src/content/docs/bs/keybinds.mdx b/packages/web/src/content/docs/bs/keybinds.mdx index 31fed590058f..39e00af06b72 100644 --- a/packages/web/src/content/docs/bs/keybinds.mdx +++ b/packages/web/src/content/docs/bs/keybinds.mdx @@ -24,8 +24,6 @@ OpenCode ima listu veza tipki koje možete prilagoditi putem `tui.json`. "session_timeline": "g", "session_fork": "none", "session_rename": "none", - "session_share": "none", - "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/bs/providers.mdx b/packages/web/src/content/docs/bs/providers.mdx index f6e54fc6ad15..d5ee0b07ea00 100644 --- a/packages/web/src/content/docs/bs/providers.mdx +++ b/packages/web/src/content/docs/bs/providers.mdx @@ -762,13 +762,12 @@ da pohrani token u opencode auth memoriju. OpenCode koristi mali model za neke AI zadatke kao što je generiranje naslova sesije. Podrazumevano je konfigurisan da koristi gpt-5-nano, a hostuje ga Zen. Da zaključate OpenCode da biste koristili samo svoju vlastitu instancu koju hostuje GitLab, dodajte sljedeće u svoju -`opencode.json` fajl. Također se preporučuje da onemogućite dijeljenje sesije. +`opencode.json` fajl. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5", - "share": "disabled" + "small_model": "gitlab/duo-chat-haiku-4-5" } ``` diff --git a/packages/web/src/content/docs/bs/server.mdx b/packages/web/src/content/docs/bs/server.mdx index 5237873d5f77..c5fad5e160ec 100644 --- a/packages/web/src/content/docs/bs/server.mdx +++ b/packages/web/src/content/docs/bs/server.mdx @@ -155,8 +155,6 @@ opencode server izlaže sljedece API-je. | `POST` | `/session/:id/init` | Analiziraj aplikaciju i kreiraj `AGENTS.md` | body: `{ messageID, providerID, modelID }`, returns `boolean` | | `POST` | `/session/:id/fork` | Granaj postojeću sesiju na poruci | body: `{ messageID? }`, returns Session | | `POST` | `/session/:id/abort` | Prekini sesiju u toku | Returns `boolean` | -| `POST` | `/session/:id/share` | Podijeli sesiju | Returns Session | -| `DELETE` | `/session/:id/share` | Prestani dijeliti sesiju | Returns Session | | `GET` | `/session/:id/diff` | Dohvati razlike za ovu sesiju | query: `messageID?`, returns FileDiff[] | | `POST` | `/session/:id/summarize` | Rezimiraj sesiju | body: `{ providerID, modelID }`, returns `boolean` | | `POST` | `/session/:id/revert` | Vrati poruku | body: `{ messageID, partID? }`, returns `boolean` | diff --git a/packages/web/src/content/docs/bs/share.mdx b/packages/web/src/content/docs/bs/share.mdx deleted file mode 100644 index b0760ee0c138..000000000000 --- a/packages/web/src/content/docs/bs/share.mdx +++ /dev/null @@ -1,127 +0,0 @@ ---- -title: Dijeljenje -description: Dijelite OpenCode razgovore javnim linkovima. ---- - -OpenCode opcija dijeljenja vam omogucava da kreirate javne linkove za razgovore. Tako lakse saradujete s timom ili trazite pomoc od drugih. - -:::note -Dijeljeni razgovori su javno dostupni svakome ko ima link. -::: - ---- - -## Kako radi - -Kada podijelite razgovor, OpenCode: - -1. Kreira jedinstveni javni URL za vasu sesiju -2. Sinhronizuje historiju razgovora na nase servere -3. Cini razgovor dostupnim preko linka za dijeljenje — `opncd.ai/s/` - ---- - -## Dijeljenje - -OpenCode podrzava tri nacina dijeljenja koji odreduju kako se razgovori dijele: - ---- - -### Ručno (zadano) - -Po defaultu, OpenCode koristi rucni nacin dijeljenja. Sesije se ne dijele automatski, ali ih mozete rucno podijeliti komandom `/share`: - -``` -/share -``` - -Ovo ce generisati jedinstveni URL i kopirati ga u clipboard. - -Da eksplicitno postavite rucni nacin u [config datoteci](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - ---- - -### Automatsko dijeljenje - -Mozete ukljuciti automatsko dijeljenje za sve nove razgovore tako sto `share` postavite na `"auto"` u [config datoteci](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "auto" -} -``` - -Kada je auto-share ukljucen, svaki novi razgovor se automatski dijeli i kreira se link. - ---- - -### Onemogućeno - -Dijeljenje mozete potpuno iskljuciti tako sto `share` postavite na `"disabled"` u [config datoteci](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -Da ovo vazi za cijeli tim u odredenom projektu, dodajte postavku u projektni `opencode.json` i commitujte u Git. - ---- - -## Uklanjanje dijeljenja - -Da prestanete dijeliti razgovor i uklonite javni pristup: - -``` -/unshare -``` - -Ovo uklanja link za dijeljenje i brise podatke povezane s razgovorom. - ---- - -## Privatnost - -Imajte na umu nekoliko stvari prije dijeljenja razgovora. - ---- - -### Čuvanje podataka - -Dijeljeni razgovori ostaju dostupni dok ih eksplicitno ne uklonite iz dijeljenja. Ovo ukljucuje: - -- Kompletnu historiju razgovora -- Sve poruke i odgovore -- Metapodatke sesije - ---- - -### Preporuke - -- Dijelite samo razgovore koji ne sadrze osjetljive informacije. -- Pregledajte sadrzaj razgovora prije dijeljenja. -- Uklonite dijeljenje kad saradnja zavrsi. -- Izbjegavajte dijeljenje razgovora s vlasnickim kodom ili povjerljivim podacima. -- Za osjetljive projekte potpuno iskljucite dijeljenje. - ---- - -## Za enterprise - -Za enterprise okruzenja, opcija dijeljenja moze biti: - -- **Iskljucena** u potpunosti radi sigurnosne uskladenosti -- **Ogranicena** samo na korisnike autentifikovane kroz SSO -- **Self-hosted** na vasoj infrastrukturi - -[Saznajte vise](/docs/enterprise) o koristenju opencode u organizaciji. diff --git a/packages/web/src/content/docs/bs/tui.mdx b/packages/web/src/content/docs/bs/tui.mdx index 98c7c4d72826..ae24140fb976 100644 --- a/packages/web/src/content/docs/bs/tui.mdx +++ b/packages/web/src/content/docs/bs/tui.mdx @@ -218,18 +218,6 @@ Listanje i prebacivanje između sesija. _Aliases_: `/resume`, `/continue` --- -### share - -Podijelite trenutnu sesiju. [Saznajte više](/docs/share). - -```bash frame="none" -/share -``` - -**Tastatura:** `ctrl+x s` - ---- - ### themes Navedite dostupne teme. @@ -275,16 +263,6 @@ biti Git spremište**. --- -### unshare - -Poništi dijeljenje trenutne sesije. [Saznajte više](/docs/share#un-sharing). - -```bash frame="none" -/unshare -``` - ---- - ## Podešavanje uređivača Obje naredbe `/editor` i `/export` koriste editor specificiran u vašoj varijabli okruženja `EDITOR`. diff --git a/packages/web/src/content/docs/da/cli.mdx b/packages/web/src/content/docs/da/cli.mdx index 814d2b819edc..f2b9f83b00db 100644 --- a/packages/web/src/content/docs/da/cli.mdx +++ b/packages/web/src/content/docs/da/cli.mdx @@ -345,7 +345,6 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | Fortsæt sidste session | | {"--session"} | `-s` | Sessions-id for at fortsætte | | {"--fork"} | | Forgren sessionen ved fortsættelse (brug med `--continue` eller `--session`) | -| {"--share"} | | Del sessionen | | {"--model"} | `-m` | Model til brug i form af provider/model | | {"--agent"} | | Agent til brug | | {"--file"} | `-f` | Fil(er), der skal vedhæftes til meddelelsen | @@ -442,17 +441,14 @@ Hvis du ikke angiver et sessions-id, bliver du bedt om at vælge mellem tilgæng ### import -Importer sessionsdata fra en JSON fil eller OpenCode del URL. +Importer sessionsdata fra en JSON fil. ```bash opencode import ``` -Du kan importere fra en lokal fil eller en OpenCode share URL. - ```bash opencode import session.json -opencode import https://opncd.ai/s/abc123 ``` --- @@ -564,7 +560,6 @@ OpenCode kan konfigureres ved hjælp af miljøvariabler. | Variabel | Skriv | Beskrivelse | | ------------------------------------- | ------- | --------------------------------------------------------------------- | -| `OPENCODE_AUTO_SHARE` | boolean | Del automatisk session | | `OPENCODE_GIT_BASH_PATH` | string | Sti til Git Bash eksekverbar på Windows | | `OPENCODE_CONFIG` | string | Sti til konfigurationsfil | | `OPENCODE_TUI_CONFIG` | string | Sti til TUI-konfigurationsfil | diff --git a/packages/web/src/content/docs/da/commands.mdx b/packages/web/src/content/docs/da/commands.mdx index 1b624b57a39f..c3d21d9a8840 100644 --- a/packages/web/src/content/docs/da/commands.mdx +++ b/packages/web/src/content/docs/da/commands.mdx @@ -9,7 +9,7 @@ Brugerdefinerede kommandoer giver mulighed for at angive en prompt, du vil køre /my-command ``` -Brugerdefinerede kommandoer er ud over de indbyggede kommandoer som `/init`, `/undo`, `/redo`, `/share`, `/help`. [Learn more](/docs/tui#commands). +Brugerdefinerede kommandoer er ud over de indbyggede kommandoer som `/init`, `/undo`, `/redo`, `/help`. [Learn more](/docs/tui#commands). --- @@ -314,7 +314,7 @@ Dette er en **valgfri** konfigurationsindstilling. ## Indbyggede kommandoer -opencode indeholder flere indbyggede kommandoer som `/init`, `/undo`, `/redo`, `/share`, `/help`; [learn more](/docs/tui#commands). +opencode indeholder flere indbyggede kommandoer som `/init`, `/undo`, `/redo`, `/help`; [learn more](/docs/tui#commands). :::note Brugerdefinerede kommandoer kan tilsidesætte indbyggede kommandoer. diff --git a/packages/web/src/content/docs/da/config.mdx b/packages/web/src/content/docs/da/config.mdx index 189c7e5d0862..c64ff3f6c463 100644 --- a/packages/web/src/content/docs/da/config.mdx +++ b/packages/web/src/content/docs/da/config.mdx @@ -358,27 +358,6 @@ Denne indstilling gælder på tværs af alle grænseflader: TUI, CLI (`opencode --- -### Deling (`share`) - -Du kan konfigurere funktionen [share](/docs/share) gennem indstillingen `share`. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - -Dette kræver: - -- `"manual"` - Tillad manuel deling via kommandoer (standard) -- `"auto"` - Del automatisk nye samtaler -- `"disabled"` - Deaktiver deling helt - -Som standard er deling indstillet til manuel tilstand, hvor du eksplicit skal dele samtaler ved hjælp af kommandoen `/share`. - ---- - ### Kommandoer (`command`) Du kan konfigurere brugerdefinerede kommandoer til gentagne opgaver gennem indstillingen `command`. diff --git a/packages/web/src/content/docs/da/enterprise.mdx b/packages/web/src/content/docs/da/enterprise.mdx index 6228c5c91077..32dfae670805 100644 --- a/packages/web/src/content/docs/da/enterprise.mdx +++ b/packages/web/src/content/docs/da/enterprise.mdx @@ -32,27 +32,6 @@ OpenCode er open source og gemmer ingen af ​​din kode eller kontekstdata, s Det betyder, at så længe du bruger en udbyder, du stoler på, eller en intern AI-gateway, du kan bruge OpenCode sikkert. -Den eneste advarsel her er den valgfrie `/share`-funktion. - ---- - -#### Deling af samtaler - -Hvis en bruger aktiverer funktionen `/share`, sender samtalen og de data, der er knyttet til den, til den tjeneste, vi bruger til at hoste disse delesider på opencode.ai. - -Dataene serveres i øjeblikket gennem vores CDN's edge-netværk og cachelagres på kanten nær dine brugere. - -Vi anbefaler, at du deaktiverer dette for din prøveperiode. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -[Learn more about sharing](/docs/share). - --- ### Kodeejerskab diff --git a/packages/web/src/content/docs/da/github.mdx b/packages/web/src/content/docs/da/github.mdx index cffe85f13fce..44db02f0922a 100644 --- a/packages/web/src/content/docs/da/github.mdx +++ b/packages/web/src/content/docs/da/github.mdx @@ -69,7 +69,6 @@ Eller du kan indstille det manuelt. ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 - # share: true # github_token: xxxx ``` @@ -83,7 +82,6 @@ Eller du kan indstille det manuelt. - `model`: Den model, der skal bruges med OpenCode. Antager formatet `provider/model`. Dette er **påkrævet**. - `agent`: Agenten, der skal bruges. Skal være en primær agent. Falder tilbage til `default_agent` fra config eller `"build"`, hvis den ikke findes. -- `share`: Om OpenCode-sessionen skal dele. Standard er **true** for offentlige arkiver. - `prompt`: Valgfri brugerdefineret prompt for at tilsidesætte standardadfærden. Brug dette til at tilpasse, hvordan OpenCode behandler anmodninger. - `token`: Valgfrit GitHub adgangstoken til at udføre operationer såsom oprettelse af kommentarer, begå ændringer og åbning af Pull Requests. Som standard bruger OpenCode installationsadgangstokenet fra OpenCode GitHub-appen, så commits, kommentarer og Pull Requests ser ud til at komme fra appen. diff --git a/packages/web/src/content/docs/da/index.mdx b/packages/web/src/content/docs/da/index.mdx index 65cf34f9a951..0356f5efa52b 100644 --- a/packages/web/src/content/docs/da/index.mdx +++ b/packages/web/src/content/docs/da/index.mdx @@ -334,25 +334,6 @@ Eller du **kan gentage** ændringerne ved hjælp af kommandoen `/redo`. --- -## Deling - -De samtaler, du har med OpenCode, kan [deles med din -team](/docs/share). - -```bash frame="none" -/share -``` - -Dette vil oprette et link til den aktuelle samtale og kopiere det til denne udklipsholder. - -:::note -Samtaler dele ikke som standard. -::: - -Her er en [eksempelsamtale](https://opencode.ai/s/4XP1fce5) med OpenCode. - ---- - ## Tilpasning Og det er det! Du er nu en professionel i at bruge OpenCode. diff --git a/packages/web/src/content/docs/da/keybinds.mdx b/packages/web/src/content/docs/da/keybinds.mdx index 7b2f2a7f3162..755cb9b4ba74 100644 --- a/packages/web/src/content/docs/da/keybinds.mdx +++ b/packages/web/src/content/docs/da/keybinds.mdx @@ -24,8 +24,6 @@ OpenCode har en liste over nøglebindinger, som du kan tilpasse gennem `tui.json "session_timeline": "g", "session_fork": "none", "session_rename": "none", - "session_share": "none", - "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/da/providers.mdx b/packages/web/src/content/docs/da/providers.mdx index 9b04d6be82f9..7ccc2f640917 100644 --- a/packages/web/src/content/docs/da/providers.mdx +++ b/packages/web/src/content/docs/da/providers.mdx @@ -751,13 +751,12 @@ gemme tokenet i opencode auth-lagring. OpenCode bruger en lille model til nogle AI-opgaver som at generere sessionstitlen. Den er konfigureret til at bruge gpt-5-nano som standard, hostet af Zen. For at låse OpenCode til kun at bruge din egen GitLab-hostede instans, tilføj følgende i din -`opencode.json` fil. Det anbefales også at deaktivere sessionsdeling. +`opencode.json` fil. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5", - "share": "disabled" + "small_model": "gitlab/duo-chat-haiku-4-5" } ``` diff --git a/packages/web/src/content/docs/da/server.mdx b/packages/web/src/content/docs/da/server.mdx index 6eb74d946d8e..1d4371aec1ea 100644 --- a/packages/web/src/content/docs/da/server.mdx +++ b/packages/web/src/content/docs/da/server.mdx @@ -158,8 +158,6 @@ OpenCode-serveren viser følgende API'er. | `POST` | `/session/:id/init` | Analyser appen og lav `AGENTS.md` | body: `{ messageID, providerID, modelID }`, returnerer `boolean` | | `POST` | `/session/:id/fork` | Fork en eksisterende session ved en besked | body: `{ messageID? }`, returnerer Session | | `POST` | `/session/:id/abort` | Afbryd en kørende session | Returnerer `boolean` | -| `POST` | `/session/:id/share` | Del en session | Returnerer Session | -| `DELETE` | `/session/:id/share` | Stop med at dele en session | Returnerer Session | | `GET` | `/session/:id/diff` | Få diff for denne session | query: `messageID?`, returnerer FileDiff[] | | `POST` | `/session/:id/summarize` | Opsummér sessionen | body: `{ providerID, modelID }`, returnerer `boolean` | | `POST` | `/session/:id/revert` | Tilbagestil en besked | body: `{ messageID, partID? }`, returnerer `boolean` | diff --git a/packages/web/src/content/docs/da/share.mdx b/packages/web/src/content/docs/da/share.mdx deleted file mode 100644 index 80b9f0959e2c..000000000000 --- a/packages/web/src/content/docs/da/share.mdx +++ /dev/null @@ -1,128 +0,0 @@ ---- -title: Deling -description: Del dine OpenCode-samtaler. ---- - -OpenCodes delingsfunksjon lar deg lage offentlige lenker til dine OpenCode-samtaler, slik at du kan samarbeide med lagkamerater eller få hjelp fra andre. - -:::note -Delte samtaler er offentlig tilgængelige for alle med linken. -::: - ---- - -## Sådan fungerer det - -Når du deler en samtale, OpenCode: - -1. Opreter en unik offentlig URL for sessionen din -2. Synkroniserer samtaleloggen din til serverne våre -3. Gør samtalen tilgængelig via den delbare lenken — `opncd.ai/s/` - ---- - -## Tilstande - -OpenCode støtter tre delingsmoduser som kontrollerer hvordan samtaler deles: - ---- - -### Manuel (standard) - -Som standard bruger OpenCode manuell delingsmodus. Sessioner deles ikke automatisk, men du kan dele dem manuelt ved at bruge kommandoen `/share`: - -``` -/share -``` - -Dette vil generere en unik URL som vil bli kopiert til utklippstavlen din. - -For at eksplisitt angi manuell modus i [konfigurasjonsfilen](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - ---- - -### Automatisk deling - -Du kan aktivere automatisk deling for alle nye samtaler ved at sette alternativet `share` til `"auto"` i [konfigurasjonsfilen](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "auto" -} -``` - -Med automatisk deling aktivert, vil hver nye samtale automatisk bli delt og en kobling vil bli generert. - ---- - -### Deaktiveret - -Du kan deaktivere deling helt ved at sette alternativet `share` til `"disabled"` i [konfigurasjonsfilen](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -For at håndheve dette på tvers av teamet ditt for et gitt prosjekt, tilføj det til `opencode.json` i prosjektet ditt og tjek inn i Git. - ---- - -## Ophæv deling - -Slik slutter du at dele en samtale og fjerner den fra offentlig tilgang: - -``` -/unshare -``` - -Dette vil fjerne delelinken og slette dataene knyttet til samtalen. - ---- - -## Privatliv - -Det er et par ting du må huske på når du deler en samtale. - ---- - -### Datalagring - -Delte samtaler forblir tilgængelige til du eksplisitt opphever deling av dem. Dette -inkluderer: - -- Full samtalehistorikk -- Alle meldinger og svar -- Metadata for sessioner - ---- - -### Anbefalinger - -- Del kun samtaler som ikke inneholder sensitiv informasjon. -- Se gjennom samtaleinnholdet før du deler. -- Opphev deling av samtaler når samarbeidet er fullført. -- Unngå at dele samtaler med proprietær kode eller konfidensielle data. -- For sensitive prosjekter, deaktiver deling helt. - ---- - -## For virksomheder - -For bedriftsimplementeringer kan delingsfunksjonen være: - -- **Deaktivert** helt for overholdelse av sikkerhet -- **Begrenset** til brugere som kun er autentisert gjennom SSO -- **Selvvert** på din egen infrastruktur - -[Finn ut mer](/docs/enterprise) om brug av opencode i organisasjonen din. diff --git a/packages/web/src/content/docs/da/tui.mdx b/packages/web/src/content/docs/da/tui.mdx index e7481f7257b6..d488f30a053b 100644 --- a/packages/web/src/content/docs/da/tui.mdx +++ b/packages/web/src/content/docs/da/tui.mdx @@ -217,18 +217,6 @@ List og skift mellem sessioner. _Aliaser_: `/resume`, `/continue` --- -### share - -Del nuværende session. [Læs mere](/docs/share). - -```bash frame="none" -/share -``` - -**Genvejstast:** `ctrl+x s` - ---- - ### themes Liste over tilgængelige temaer. @@ -273,16 +261,6 @@ Internt bruger dette Git til at administrere filændringerne. Så dit projekt ** --- -### unshare - -Ophæv deling af nuværende session. [Læs mere](/docs/share#un-sharing). - -```bash frame="none" -/unshare -``` - ---- - ## Opsætning af editor Både kommandoerne `/editor` og `/export` bruger editoren som er specificeret i miljøvariablen `EDITOR`. diff --git a/packages/web/src/content/docs/de/cli.mdx b/packages/web/src/content/docs/de/cli.mdx index 2c100e7c7973..3a6b06d8fdaa 100644 --- a/packages/web/src/content/docs/de/cli.mdx +++ b/packages/web/src/content/docs/de/cli.mdx @@ -345,7 +345,6 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | Setzen Sie die letzte Sitzung fort | | {"--session"} | `-s` | Session-ID zum Fortfahren | | {"--fork"} | | Sitzung beim Fortsetzen verzweigen (mit `--continue` oder `--session` verwenden) | -| {"--share"} | | Teilen Sie die Sitzung | | {"--model"} | `-m` | Zu verwendendes Modell in der Form provider/model | | {"--agent"} | | Zu verwendender Agent | | {"--file"} | `-f` | Datei(en) zum Anhängen an die Nachricht | @@ -442,17 +441,14 @@ Wenn Sie keine Sitzungs-ID angeben, werden Sie aufgefordert, eine der verfügbar ### import -Importieren Sie Sitzungsdaten aus einer JSON-Datei oder einer OpenCode-Freigabe-URL. +Importieren Sie Sitzungsdaten aus einer JSON-Datei. ```bash opencode import ``` -Sie können aus einer lokalen Datei oder einer OpenCode-Freigabe-URL importieren. - ```bash opencode import session.json -opencode import https://opncd.ai/s/abc123 ``` --- @@ -564,7 +560,6 @@ OpenCode kann mithilfe von Umgebungsvariablen konfiguriert werden. | Variable | Typ | Beschreibung | | ------------------------------------- | --------------- | -------------------------------------------------------------------------------- | -| `OPENCODE_AUTO_SHARE` | boolescher Wert | Sitzungen automatisch teilen | | `OPENCODE_GIT_BASH_PATH` | Zeichenfolge | Pfad zur ausführbaren Git Bash-Datei unter Windows | | `OPENCODE_CONFIG` | Zeichenfolge | Pfad zur Konfigurationsdatei | | `OPENCODE_CONFIG_DIR` | Zeichenfolge | Pfad zum Konfigurationsverzeichnis | diff --git a/packages/web/src/content/docs/de/commands.mdx b/packages/web/src/content/docs/de/commands.mdx index 5c795fba0c55..c5e8e681fd84 100644 --- a/packages/web/src/content/docs/de/commands.mdx +++ b/packages/web/src/content/docs/de/commands.mdx @@ -9,7 +9,7 @@ Mit benutzerdefinierten Befehlen können Sie eine Eingabeaufforderung angeben, d /my-command ``` -Benutzerdefinierte Befehle gibt es zusätzlich zu den integrierten Befehlen wie `/init`, `/undo`, `/redo`, `/share`, `/help`. [Mehr erfahren](/docs/tui#commands). +Benutzerdefinierte Befehle gibt es zusätzlich zu den integrierten Befehlen wie `/init`, `/undo`, `/redo`, `/help`. [Mehr erfahren](/docs/tui#commands). --- @@ -314,7 +314,7 @@ Dies ist eine **optionale** Konfigurationsoption. ## Integriert -OpenCode enthält mehrere integrierte Befehle wie `/init`, `/undo`, `/redo`, `/share`, `/help`; [mehr erfahren](/docs/tui#commands). +OpenCode enthält mehrere integrierte Befehle wie `/init`, `/undo`, `/redo`, `/help`; [mehr erfahren](/docs/tui#commands). :::note Benutzerdefinierte Befehle können integrierte Befehle überschreiben. diff --git a/packages/web/src/content/docs/de/config.mdx b/packages/web/src/content/docs/de/config.mdx index 15f1d6c6c0b2..c7e56b971c6a 100644 --- a/packages/web/src/content/docs/de/config.mdx +++ b/packages/web/src/content/docs/de/config.mdx @@ -357,27 +357,6 @@ Diese Einstellung gilt für alle Schnittstellen: TUI, CLI (`opencode run`), Desk --- -### Teilen - -Sie können die Funktion [share](/docs/share) über die Option `share` konfigurieren. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - -Dazu braucht es: - -- `"manual"` – Manuelles Teilen über Befehle zulassen (Standard) -- `"auto"` – Neue Konversationen automatisch teilen -- `"disabled"` – Teile vollständig deaktivieren - -Standardmäßig ist die Freigabe auf den manuellen Modus eingestellt, in dem Sie Konversationen explizit mit dem Befehl `/share` teilen müssen. - ---- - ### Befehle Sie können benutzerdefinierte Befehle für sich wiederholende Aufgaben über die Option `command` konfigurieren. diff --git a/packages/web/src/content/docs/de/enterprise.mdx b/packages/web/src/content/docs/de/enterprise.mdx index a01c71ae60cc..3baa59a480da 100644 --- a/packages/web/src/content/docs/de/enterprise.mdx +++ b/packages/web/src/content/docs/de/enterprise.mdx @@ -32,27 +32,6 @@ OpenCode ist Open Source und speichert keine Ihrer Code- oder Kontextdaten, soda Das heißt, solange Sie einen Anbieter Ihres Vertrauens oder einen internen nutzen AI-Gateway können Sie OpenCode sicher verwenden. -Die einzige Einschränkung hier ist die optionale Funktion `/share`. - ---- - -#### Gespräche teilen - -Wenn ein Benutzer die Funktion `/share` aktiviert, werden die Konversation und die damit verbundenen Daten an den Dienst gesendet, den wir zum Hosten dieser Freigabeseiten unter opencode.ai verwenden. - -Die Daten werden derzeit über das Edge-Netzwerk unseres CDN bereitgestellt und am Edge in der Nähe Ihres Benutzers zwischengespeichert. - -Wir empfehlen Ihnen, dies für Ihre Testversion zu deaktivieren. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -[Learn more about sharing](/docs/share). - --- ### Code-Besitz diff --git a/packages/web/src/content/docs/de/github.mdx b/packages/web/src/content/docs/de/github.mdx index 71881c333f58..d878a339c3fa 100644 --- a/packages/web/src/content/docs/de/github.mdx +++ b/packages/web/src/content/docs/de/github.mdx @@ -69,7 +69,6 @@ Oder Sie können es manuell einrichten. ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 - # share: true # github_token: xxxx ``` @@ -83,7 +82,6 @@ Oder Sie können es manuell einrichten. - `model`: Das mit OpenCode zu verwendende Modell. Nimmt das Format `provider/model` an. Dies ist **erforderlich**. - `agent`: Der zu verwendende Agent. Muss ein Hauptagent sein. Fällt aus der Konfiguration auf `default_agent` oder `"build"` zurück, wenn es nicht gefunden wird. -- `share`: Ob die OpenCode-Sitzung geteilt werden soll. Der Standardwert ist **true** für öffentliche Repositorys. - `prompt`: Optionale benutzerdefinierte Eingabeaufforderung zum Überschreiben des Standardverhaltens. Verwenden Sie dies, um anzupassen, wie OpenCode Anfragen verarbeitet. - `token`: Optionales GitHub-Zugriffstoken zum Ausführen von Vorgängen wie dem Erstellen von Kommentaren, dem Festschreiben von Änderungen und dem Öffnen von Pull Requests. Standardmäßig verwendet OpenCode das Installation Access Token der OpenCode GitHub-App, sodass Commits, Kommentare und Pull Requests so aussehen, als würden sie von der App kommen. diff --git a/packages/web/src/content/docs/de/index.mdx b/packages/web/src/content/docs/de/index.mdx index 1d7e1f4f96cb..52fbc9e59a4f 100644 --- a/packages/web/src/content/docs/de/index.mdx +++ b/packages/web/src/content/docs/de/index.mdx @@ -331,24 +331,6 @@ Oder Sie **können** die Änderungen mit dem Befehl `/redo` wiederholen. --- -## Teilen - -Die Gespräche, die Sie mit OpenCode führen, können [mit Ihrem Team](/docs/share) geteilt werden. - -```bash frame="none" -/share -``` - -Dadurch wird ein Link zur aktuellen Konversation erstellt und in Ihre Zwischenablage kopiert. - -:::note -Gespräche werden standardmäßig nicht geteilt. -::: - -Hier ist ein [Beispielgespräch](https://opencode.ai/s/4XP1fce5) mit OpenCode. - ---- - ## Anpassung Und das ist es! Sie sind jetzt ein Profi im Umgang mit OpenCode. diff --git a/packages/web/src/content/docs/de/keybinds.mdx b/packages/web/src/content/docs/de/keybinds.mdx index 26edf9bdbb28..53af9d733512 100644 --- a/packages/web/src/content/docs/de/keybinds.mdx +++ b/packages/web/src/content/docs/de/keybinds.mdx @@ -24,8 +24,6 @@ OpenCode verfügt über eine Liste von Tastenkombinationen, die Sie über `tui.j "session_timeline": "g", "session_fork": "none", "session_rename": "none", - "session_share": "none", - "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/de/providers.mdx b/packages/web/src/content/docs/de/providers.mdx index 92981469309c..fe367e3bbc65 100644 --- a/packages/web/src/content/docs/de/providers.mdx +++ b/packages/web/src/content/docs/de/providers.mdx @@ -757,13 +757,12 @@ um das Token im OpenCode-Authentifizierungsspeicher zu speichern. OpenCode verwendet ein kleines Modell für einige AI-Aufgaben wie das Generieren des Sitzungstitels. Es ist standardmäßig für die Verwendung von gpt-5-nano konfiguriert und wird von Zen gehostet. Zum Sperren von OpenCode Um nur Ihre eigene von GitLab gehostete Instanz zu verwenden, fügen Sie Folgendes zu Ihrer hinzu -`opencode.json`-Datei. Es wird außerdem empfohlen, die Sitzungsfreigabe zu deaktivieren. +`opencode.json`-Datei. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5", - "share": "disabled" + "small_model": "gitlab/duo-chat-haiku-4-5" } ``` diff --git a/packages/web/src/content/docs/de/server.mdx b/packages/web/src/content/docs/de/server.mdx index 64322bda856b..4528e1120b9d 100644 --- a/packages/web/src/content/docs/de/server.mdx +++ b/packages/web/src/content/docs/de/server.mdx @@ -162,8 +162,6 @@ Der opencode-Server stellt folgende APIs bereit. | `POST` | `/session/:id/init` | Analysiert App und erstellt `AGENTS.md` | body: `{ messageID, providerID, modelID }`, returns `boolean` | | `POST` | `/session/:id/fork` | Forkt eine bestehende Sitzung an einer Nachricht | body: `{ messageID? }`, returns Session | | `POST` | `/session/:id/abort` | Bricht eine laufende Sitzung ab | Gibt `boolean` zurueck | -| `POST` | `/session/:id/share` | Teilt eine Sitzung | Gibt Session zurueck | -| `DELETE` | `/session/:id/share` | Hebt Teilen einer Sitzung auf | Gibt Session zurueck | | `GET` | `/session/:id/diff` | Ruft den Diff fuer diese Sitzung ab | query: `messageID?`, returns FileDiff[] | | `POST` | `/session/:id/summarize` | Fasst die Sitzung zusammen | body: `{ providerID, modelID }`, returns `boolean` | | `POST` | `/session/:id/revert` | Setzt eine Nachricht zurueck | body: `{ messageID, partID? }`, returns `boolean` | diff --git a/packages/web/src/content/docs/de/share.mdx b/packages/web/src/content/docs/de/share.mdx deleted file mode 100644 index 9b7e9284c7ac..000000000000 --- a/packages/web/src/content/docs/de/share.mdx +++ /dev/null @@ -1,130 +0,0 @@ ---- -title: Teilen -description: Teile OpenCode-Unterhaltungen per oeffentlichem Link. ---- - -Mit der Share-Funktion erstellst du oeffentliche Links zu OpenCode-Unterhaltungen. -So kannst du einfacher mit dem Team zusammenarbeiten oder Hilfe einholen. - -:::note -Geteilte Unterhaltungen sind fuer alle mit dem Link oeffentlich zugaenglich. -::: - ---- - -## Funktionsweise - -Wenn du eine Unterhaltung teilst, macht OpenCode Folgendes: - -1. Erstellt eine eindeutige oeffentliche URL fuer deine Sitzung -2. Synchronisiert den Verlauf auf unsere Server -3. Stellt die Unterhaltung unter `opncd.ai/s/` bereit - ---- - -## Teilen - -OpenCode hat drei Modi, die das Teilen steuern: - ---- - -### Manuell (Standard) - -Standardmaessig nutzt OpenCode den manuellen Modus. -Sitzungen werden nicht automatisch geteilt, du kannst sie aber mit `/share` veroeffentlichen: - -``` -/share -``` - -Dabei wird eine eindeutige URL erzeugt und in die Zwischenablage kopiert. - -Um den manuellen Modus explizit in der [Konfiguration](/docs/config) zu setzen: - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - ---- - -### Auto-Share - -Du kannst automatisches Teilen fuer neue Unterhaltungen aktivieren, indem du in der [Konfiguration](/docs/config) `share` auf `"auto"` setzt: - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "auto" -} -``` - -Mit aktiviertem Auto-Share wird jede neue Unterhaltung automatisch geteilt und ein Link erstellt. - ---- - -### Deaktiviert - -Du kannst Teilen komplett deaktivieren, indem du in der [Konfiguration](/docs/config) `share` auf `"disabled"` setzt: - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -Wenn das fuer ein Projekt teamweit gelten soll, lege es in der Projekt-`opencode.json` fest und committe die Datei. - ---- - -## Teilen aufheben - -Um das Teilen zu beenden und den oeffentlichen Zugriff zu entfernen: - -``` -/unshare -``` - -Dadurch wird der Share-Link entfernt und die zugehoerigen Daten werden geloescht. - ---- - -## Datenschutz - -Beim Teilen solltest du ein paar Punkte beachten. - ---- - -### Datenaufbewahrung - -Geteilte Unterhaltungen bleiben veroeffentlicht, bis du sie explizit aufhebst. -Das umfasst: - -- Vollstaendigen Unterhaltungsverlauf -- Alle Nachrichten und Antworten -- Sitzungsmetadaten - ---- - -### Empfehlungen - -- Teile nur Unterhaltungen ohne sensible Informationen. -- Pruefe Inhalte vor dem Teilen. -- Hebe das Teilen wieder auf, wenn die Zusammenarbeit beendet ist. -- Teile keine proprietaeren Codes oder vertraulichen Daten. -- Deaktiviere Teilen komplett bei sensiblen Projekten. - ---- - -## Für Unternehmen - -In Enterprise-Umgebungen kann die Share-Funktion: - -- **Deaktiviert** werden, um Compliance-Vorgaben einzuhalten -- Auf **SSO-authentifizierte** Nutzer eingeschraenkt werden -- **Self-hosted** auf eigener Infrastruktur betrieben werden - -[Mehr dazu](/docs/enterprise), wie du opencode in deiner Organisation einsetzt. diff --git a/packages/web/src/content/docs/de/tui.mdx b/packages/web/src/content/docs/de/tui.mdx index 5f9e9e23e9bb..711d2b0419c4 100644 --- a/packages/web/src/content/docs/de/tui.mdx +++ b/packages/web/src/content/docs/de/tui.mdx @@ -220,18 +220,6 @@ Listet Sessions und wechselt zwischen ihnen. _Aliase_: `/resume`, `/continue` --- -### share - -Teilt die aktuelle Session. [Mehr dazu](/docs/share). - -```bash frame="none" -/share -``` - -**Keybind:** `ctrl+x s` - ---- - ### themes Listet verfuegbare Themes. @@ -276,16 +264,6 @@ Intern nutzt dies Git, um die Dateiaenderungen zu verwalten. Dein Projekt muss a --- -### unshare - -Hebt das Teilen der aktuellen Session auf. [Mehr dazu](/docs/share#un-sharing). - -```bash frame="none" -/unshare -``` - ---- - ## Editor-Einrichtung Sowohl `/editor` als auch `/export` nutzen den in deiner `EDITOR`-Umgebungsvariable spezifizierten Editor. diff --git a/packages/web/src/content/docs/es/cli.mdx b/packages/web/src/content/docs/es/cli.mdx index b925385cff47..30d4e592dd49 100644 --- a/packages/web/src/content/docs/es/cli.mdx +++ b/packages/web/src/content/docs/es/cli.mdx @@ -345,7 +345,6 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | Continuar la última sesión | | {"--session"} | `-s` | ID de sesión para continuar | | {"--fork"} | | Bifurcar la sesión al continuar (usar con `--continue` o `--session`) | -| {"--share"} | | Comparte la sesión | | {"--model"} | `-m` | Modelo a utilizar en forma de proveedor/modelo | | {"--agent"} | | Agente a utilizar | | {"--file"} | `-f` | Archivo(s) para adjuntar al mensaje | @@ -442,17 +441,14 @@ Si no proporciona una ID de sesión, se le pedirá que seleccione entre las sesi ### import -Importe datos de sesión desde un archivo JSON o una URL compartida OpenCode. +Importe datos de sesión desde un archivo JSON. ```bash opencode import ``` -Puede importar desde un archivo local o una URL compartida OpenCode. - ```bash opencode import session.json -opencode import https://opncd.ai/s/abc123 ``` --- @@ -564,7 +560,6 @@ OpenCode se puede configurar mediante variables de entorno. | Variable | Type | Description | | ------------------------------------- | -------- | ------------------------------------------------------------------------------- | -| `OPENCODE_AUTO_SHARE` | booleano | Compartir sesiones automáticamente | | `OPENCODE_GIT_BASH_PATH` | cadena | Ruta al ejecutable de Git Bash en Windows | | `OPENCODE_CONFIG` | cadena | Ruta al archivo de configuración | | `OPENCODE_CONFIG_DIR` | cadena | Ruta al directorio de configuración | diff --git a/packages/web/src/content/docs/es/commands.mdx b/packages/web/src/content/docs/es/commands.mdx index 68b9da1cfa46..eb8ab35aa5b1 100644 --- a/packages/web/src/content/docs/es/commands.mdx +++ b/packages/web/src/content/docs/es/commands.mdx @@ -9,7 +9,7 @@ Los comandos personalizados le permiten especificar un mensaje que desea ejecuta /my-command ``` -Los comandos personalizados se suman a los comandos integrados como `/init`, `/undo`, `/redo`, `/share`, `/help`. [Más información](/docs/tui#commands). +Los comandos personalizados se suman a los comandos integrados como `/init`, `/undo`, `/redo`, `/help`. [Más información](/docs/tui#commands). --- @@ -314,7 +314,7 @@ Esta es una opción de configuración **opcional**. ## Integrados -opencode incluye varios comandos integrados como `/init`, `/undo`, `/redo`, `/share`, `/help`; [más información](/docs/tui#commands). +opencode incluye varios comandos integrados como `/init`, `/undo`, `/redo`, `/help`; [más información](/docs/tui#commands). :::note Los comandos personalizados pueden anular los comandos integrados. diff --git a/packages/web/src/content/docs/es/config.mdx b/packages/web/src/content/docs/es/config.mdx index 4b0ad5d54f8b..4d19f6f194ab 100644 --- a/packages/web/src/content/docs/es/config.mdx +++ b/packages/web/src/content/docs/es/config.mdx @@ -357,27 +357,6 @@ Esta configuración se aplica en todas las interfaces: TUI, CLI (`opencode run`) --- -### Compartir - -Puede configurar la función [compartir](/docs/share) a través de la opción `share`. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - -Esto requiere: - -- `"manual"` - Permitir compartir manualmente mediante comandos (predeterminado) -- `"auto"` - Comparte automáticamente nuevas conversaciones -- `"disabled"` - Deshabilitar el uso compartido por completo - -De forma predeterminada, el uso compartido está configurado en modo manual, donde debe compartir conversaciones explícitamente usando el comando `/share`. - ---- - ### Comandos Puede configurar comandos personalizados para tareas repetitivas a través de la opción `command`. diff --git a/packages/web/src/content/docs/es/enterprise.mdx b/packages/web/src/content/docs/es/enterprise.mdx index 787ff095a170..b9592c135fec 100644 --- a/packages/web/src/content/docs/es/enterprise.mdx +++ b/packages/web/src/content/docs/es/enterprise.mdx @@ -32,27 +32,6 @@ OpenCode es de código abierto y no almacena ningún código ni datos de context Esto significa que, siempre que uses un proveedor de confianza o un AI gateway interno, puedes usar OpenCode de forma segura. -La única advertencia aquí es la característica opcional `/share`. - ---- - -#### Compartir conversaciones - -Si un usuario habilita la función `/share`, la conversación y los datos asociados con ella se envían al servicio que utilizamos para alojar estas páginas compartidas en opencode.ai. - -Actualmente, los datos se entregan a través de la red perimetral de nuestra CDN y se almacenan en caché en el perímetro cerca de sus usuarios. - -Le recomendamos que desactive esto para su prueba. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -[Más información sobre cómo compartir](/docs/share). - --- ### Propiedad del código diff --git a/packages/web/src/content/docs/es/github.mdx b/packages/web/src/content/docs/es/github.mdx index 57375a8d7c53..acce5324c674 100644 --- a/packages/web/src/content/docs/es/github.mdx +++ b/packages/web/src/content/docs/es/github.mdx @@ -69,7 +69,6 @@ O puede configurarlo manualmente. ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 - # share: true # github_token: xxxx ``` @@ -83,7 +82,6 @@ O puede configurarlo manualmente. - `model`: El modelo a usar con OpenCode. Toma el formato de `provider/model`. Esto es **obligatorio**. - `agent`: El agente a utilizar. Debe ser un agente primario. Vuelve a `default_agent` desde la configuración o `"build"` si no se encuentra. -- `share`: si se comparte la sesión OpenCode. El valor predeterminado es **verdadero** para repositorios públicos. - `prompt`: mensaje personalizado opcional para anular el comportamiento predeterminado. Utilice esto para personalizar cómo OpenCode procesa las solicitudes. - `token`: token de acceso GitHub opcional para realizar operaciones como crear comentarios, confirmar cambios y abrir solicitudes de extracción. De forma predeterminada, OpenCode usa el token de acceso a la instalación de la aplicación OpenCode GitHub, por lo que las confirmaciones, los comentarios y las solicitudes de extracción aparecen como provenientes de la aplicación. diff --git a/packages/web/src/content/docs/es/index.mdx b/packages/web/src/content/docs/es/index.mdx index c14811382594..37713e427b5e 100644 --- a/packages/web/src/content/docs/es/index.mdx +++ b/packages/web/src/content/docs/es/index.mdx @@ -319,25 +319,6 @@ También puede rehacer los cambios usando el comando `/redo.` --- -## Compartir - -Las conversaciones que tenga con OpenCode pueden [compartirse con su -equipo](/docs/share). - -```bash frame="none" -/share -``` - -Esto creará un enlace a la conversación actual y lo copiará en su portapapeles. - -:::note -Las conversaciones no se comparten de forma predeterminada. -::: - -Aquí tiene una [conversación de ejemplo](https://opencode.ai/s/4XP1fce5) con OpenCode. - ---- - ## Personalizar Y eso es todo. Ya conoce lo básico para empezar a usar OpenCode. diff --git a/packages/web/src/content/docs/es/keybinds.mdx b/packages/web/src/content/docs/es/keybinds.mdx index 2fc57fa69ffb..89dbe185249d 100644 --- a/packages/web/src/content/docs/es/keybinds.mdx +++ b/packages/web/src/content/docs/es/keybinds.mdx @@ -24,8 +24,6 @@ OpenCode tiene una lista de combinaciones de teclas que puede personalizar a tra "session_timeline": "g", "session_fork": "none", "session_rename": "none", - "session_share": "none", - "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/es/providers.mdx b/packages/web/src/content/docs/es/providers.mdx index 11489609bc64..b30b8f9bae36 100644 --- a/packages/web/src/content/docs/es/providers.mdx +++ b/packages/web/src/content/docs/es/providers.mdx @@ -759,13 +759,12 @@ para almacenar el token en el almacenamiento de autenticación opencode. OpenCode utiliza un modelo pequeño para algunas tareas de IA, como generar el título de la sesión. Está configurado para usar gpt-5-nano de forma predeterminada, alojado por Zen. Para bloquear OpenCode Para usar solo su propia instancia alojada en GitLab, agregue lo siguiente a su -Archivo `opencode.json`. También se recomienda desactivar el uso compartido de sesiones. +Archivo `opencode.json`. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5", - "share": "disabled" + "small_model": "gitlab/duo-chat-haiku-4-5" } ``` diff --git a/packages/web/src/content/docs/es/server.mdx b/packages/web/src/content/docs/es/server.mdx index c3ce97421e3d..97a90ec21364 100644 --- a/packages/web/src/content/docs/es/server.mdx +++ b/packages/web/src/content/docs/es/server.mdx @@ -158,8 +158,6 @@ El servidor opencode expone las siguientes API. | `POST` | `/session/:id/init` | Analizar aplicación y crear `AGENTS.md` | cuerpo: `{ messageID, providerID, modelID }`, devuelve `boolean` | | `POST` | `/session/:id/fork` | Bifurca una sesión existente en un mensaje | cuerpo: `{ messageID? }`, devuelve Session | | `POST` | `/session/:id/abort` | Cancelar una sesión en ejecución | Devuelve `boolean` | -| `POST` | `/session/:id/share` | Compartir una sesión | Devuelve Session | -| `DELETE` | `/session/:id/share` | Dejar de compartir una sesión | Devuelve Session | | `GET` | `/session/:id/diff` | Obtenga la diferencia para esta sesión | consulta: `messageID?`, devuelve FileDiff[] | | `POST` | `/session/:id/summarize` | Resumir la sesión | cuerpo: `{ providerID, modelID }`, devuelve `boolean` | | `POST` | `/session/:id/revert` | Revertir un mensaje | cuerpo: `{ messageID, partID? }`, devuelve `boolean` | diff --git a/packages/web/src/content/docs/es/share.mdx b/packages/web/src/content/docs/es/share.mdx deleted file mode 100644 index 3bb376f38625..000000000000 --- a/packages/web/src/content/docs/es/share.mdx +++ /dev/null @@ -1,128 +0,0 @@ ---- -title: Compartir -description: Comparte tus conversaciones OpenCode. ---- - -La función para compartir de OpenCode te permite crear enlaces públicos a tus conversaciones de OpenCode, para que puedas colaborar con compañeros de equipo u obtener ayuda de otros. - -:::note -Las conversaciones compartidas son de acceso público para cualquier persona que tenga el enlace. -::: - ---- - -## Cómo funciona - -Cuando compartes una conversación, OpenCode: - -1. Crea una URL pública única para su sesión. -2. Sincroniza tu historial de conversaciones con nuestros servidores -3. Hace que la conversación sea accesible a través del enlace para compartir: `opncd.ai/s/` - ---- - -## Uso compartido - -OpenCode admite tres modos de compartir que controlan cómo se comparten las conversaciones: - ---- - -### Manual (predeterminado) - -De forma predeterminada, OpenCode usa el modo de compartir manual. Las sesiones no se comparten automáticamente, pero puedes compartirlas manualmente usando el comando `/share`: - -``` -/share -``` - -Esto generará una URL única que se copiará en su portapapeles. - -Para configurar explícitamente el modo manual en su [archivo de configuración](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - ---- - -### Compartir automáticamente - -Puede habilitar el uso compartido automático para todas las conversaciones nuevas configurando la opción `share` en `"auto"` en su [archivo de configuración](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "auto" -} -``` - -Con el uso compartido automático habilitado, cada nueva conversación se compartirá automáticamente y se generará un enlace. - ---- - -### Desactivado - -Puede desactivar el uso compartido por completo configurando la opción `share` en `"disabled"` en su [archivo de configuración](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -Para aplicar esto en todo su equipo para un proyecto determinado, agréguelo al `opencode.json` en su proyecto y regístrelo en Git. - ---- - -## Dejar de compartir - -Para dejar de compartir una conversación y eliminarla del acceso público: - -``` -/unshare -``` - -Esto eliminará el enlace para compartir y eliminará los datos relacionados con la conversación. - ---- - -## Privacidad - -Hay algunas cosas a tener en cuenta al compartir una conversación. - ---- - -### Retención de datos - -Las conversaciones compartidas permanecen accesibles hasta que las dejes de compartir explícitamente. Este -incluye: - -- Historial de conversaciones completo -- Todos los mensajes y respuestas. -- Metadatos de la sesión - ---- - -### Recomendaciones - -- Comparta únicamente conversaciones que no contengan información confidencial. -- Revisar el contenido de la conversación antes de compartir. -- Dejar de compartir conversaciones cuando se complete la colaboración. -- Evite compartir conversaciones con código propietario o datos confidenciales. -- Para proyectos confidenciales, deshabilite el uso compartido por completo. - ---- - -## Para empresas - -Para implementaciones empresariales, la función de compartir puede ser: - -- **Desactivado** completamente por motivos de seguridad. -- **Restringido** solo a usuarios autenticados a través de SSO -- **Autohospedado** en tu propia infraestructura - -[Obtenga más información](/docs/enterprise) sobre el uso de opencode en su organización. diff --git a/packages/web/src/content/docs/es/tui.mdx b/packages/web/src/content/docs/es/tui.mdx index 006264909130..3c1ce2f2eb06 100644 --- a/packages/web/src/content/docs/es/tui.mdx +++ b/packages/web/src/content/docs/es/tui.mdx @@ -218,18 +218,6 @@ Enumere y cambie entre sesiones. _Alias_: `/resume`, `/continue` --- -### share - -Compartir la sesión actual. [Más información](/docs/share). - -```bash frame="none" -/share -``` - -**Combinación de teclas:** `ctrl+x s` - ---- - ### theme Listar temas disponibles. @@ -275,16 +263,6 @@ ser un repositorio Git**. --- -### unshare - -Dejar de compartir la sesión actual. [Más información](/docs/share#un-sharing). - -```bash frame="none" -/unshare -``` - ---- - ## Configuración del editor Tanto el comando `/editor` como el `/export` usan el editor especificado en su variable de entorno `EDITOR`. diff --git a/packages/web/src/content/docs/fr/cli.mdx b/packages/web/src/content/docs/fr/cli.mdx index bc8b550cc0f8..db0c3bec8b77 100644 --- a/packages/web/src/content/docs/fr/cli.mdx +++ b/packages/web/src/content/docs/fr/cli.mdx @@ -345,7 +345,6 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | Continuer la dernière session | | {"--session"} | `-s` | ID de session pour continuer | | {"--fork"} | | Forker la session en continuant (à utiliser avec `--continue` ou `--session`) | -| {"--share"} | | Partager la session | | {"--model"} | `-m` | Modèle à utiliser sous forme de fournisseur/modèle | | {"--agent"} | | Agent à utiliser | | {"--file"} | `-f` | Fichier(s) à joindre au message | @@ -442,17 +441,14 @@ Si vous ne fournissez pas d'ID de session, vous serez invité à sélectionner p ### import -Importez les données de session à partir d'un fichier JSON ou d'une URL de partage OpenCode. +Importez les données de session à partir d'un fichier JSON. ```bash opencode import ``` -Vous pouvez importer à partir d'un fichier local ou d'une URL de partage OpenCode. - ```bash opencode import session.json -opencode import https://opncd.ai/s/abc123 ``` --- @@ -564,7 +560,6 @@ OpenCode peut être configuré à l'aide de variables d'environnement. | Variables | Type | Description | | ------------------------------------- | ------- | --------------------------------------------------------------------------------- | -| `OPENCODE_AUTO_SHARE` | booléen | Partager automatiquement des sessions | | `OPENCODE_GIT_BASH_PATH` | chaîne | Chemin vers l'exécutable Git Bash sur Windows | | `OPENCODE_CONFIG` | chaîne | Chemin d'accès au fichier de configuration | | `OPENCODE_TUI_CONFIG` | chaîne | Chemin d'accès au fichier de configuration TUI | diff --git a/packages/web/src/content/docs/fr/commands.mdx b/packages/web/src/content/docs/fr/commands.mdx index 71e03342e1dc..5a9b7acc5f04 100644 --- a/packages/web/src/content/docs/fr/commands.mdx +++ b/packages/web/src/content/docs/fr/commands.mdx @@ -9,7 +9,7 @@ Les commandes personnalisées vous permettent de spécifier un prompt que vous s /my-command ``` -Les commandes personnalisées s'ajoutent aux commandes intégrées telles que `/init`, `/undo`, `/redo`, `/share`, `/help`. [En savoir plus](/docs/tui#commands). +Les commandes personnalisées s'ajoutent aux commandes intégrées telles que `/init`, `/undo`, `/redo`, `/help`. [En savoir plus](/docs/tui#commands). --- @@ -313,7 +313,7 @@ Il s'agit d'une option de configuration **facultative**. ## Commandes intégrées -opencode comprend plusieurs commandes intégrées comme `/init`, `/undo`, `/redo`, `/share`, `/help` ; [en savoir plus](/docs/tui#commands). +opencode comprend plusieurs commandes intégrées comme `/init`, `/undo`, `/redo`, `/help` ; [en savoir plus](/docs/tui#commands). :::note Les commandes personnalisées peuvent remplacer les commandes intégrées. diff --git a/packages/web/src/content/docs/fr/config.mdx b/packages/web/src/content/docs/fr/config.mdx index f58b97aa5a21..a8e71d111fc3 100644 --- a/packages/web/src/content/docs/fr/config.mdx +++ b/packages/web/src/content/docs/fr/config.mdx @@ -357,27 +357,6 @@ Ce paramètre s'applique à toutes les interfaces : TUI, CLI (`opencode run`), a --- -### Partage - -Vous pouvez configurer la fonctionnalité [share](/docs/share) via l'option `share`. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - -Elle accepte : - -- `"manual"` – Autoriser le partage manuel via des commandes (par défaut) -- `"auto"` – Partager automatiquement de nouvelles conversations -- `"disabled"` – Désactiver complètement le partage - -Par défaut, le partage est défini en mode manuel où vous devez partager explicitement les conversations à l'aide de la commande `/share`. - ---- - ### Commandes Vous pouvez configurer des commandes personnalisées pour les tâches répétitives via l'option `command`. diff --git a/packages/web/src/content/docs/fr/enterprise.mdx b/packages/web/src/content/docs/fr/enterprise.mdx index 659fc3e7cc8a..b1cd126dc510 100644 --- a/packages/web/src/content/docs/fr/enterprise.mdx +++ b/packages/web/src/content/docs/fr/enterprise.mdx @@ -31,27 +31,6 @@ OpenCode est open source et ne stocke aucune de vos données de code ou de conte Cela signifie que tant que vous faites appel à un fournisseur de confiance ou à une passerelle IA, vous pouvez utiliser OpenCode en toute sécurité. -La seule mise en garde ici concerne la fonctionnalité facultative `/share`. - ---- - -#### Partager des conversations - -Si un utilisateur active la fonctionnalité `/share`, la conversation et les données qui y sont associées sont envoyées au service que nous utilisons pour héberger ces pages de partage sur opencode.ai. - -Les données sont actuellement servies via le réseau périphérique de notre CDN et sont mises en cache en périphérie, à proximité de vos utilisateurs. - -Nous vous recommandons de désactiver cette option pour votre essai. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -[En savoir plus sur le partage](/docs/share). - --- ### Propriété du code diff --git a/packages/web/src/content/docs/fr/github.mdx b/packages/web/src/content/docs/fr/github.mdx index 968ae4d458ec..81b757847c3f 100644 --- a/packages/web/src/content/docs/fr/github.mdx +++ b/packages/web/src/content/docs/fr/github.mdx @@ -69,7 +69,6 @@ Ajoutez le fichier de workflow suivant à `.github/workflows/opencode.yml` dans ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 - # share: true # github_token: xxxx ``` @@ -83,7 +82,6 @@ Dans les **paramètres** de votre organisation ou de votre projet, développez * - `model` : Le modèle à utiliser avec OpenCode. Prend le format `provider/model`. Ceci est **obligatoire**. - `agent` : l'agent à utiliser. Doit être un agent primaire. Revient à `default_agent` à partir de la configuration ou à `"build"` s'il n'est pas trouvé. -- `share` : s'il faut partager la session OpenCode. La valeur par défaut est **true** pour les référentiels publics. - `prompt` : prompt personnalisé facultatif pour remplacer le comportement par défaut. Utilisez-le pour personnaliser la façon dont OpenCode traite les demandes. - `token` : jeton d'accès GitHub facultatif pour effectuer des opérations telles que la création de commentaires, le commit de modifications et l'ouverture de pull requests. Par défaut, OpenCode utilise le jeton d'accès à l'installation de l'application OpenCode GitHub, de sorte que les commits, les commentaires et les pull requests apparaissent comme provenant de l'application. diff --git a/packages/web/src/content/docs/fr/index.mdx b/packages/web/src/content/docs/fr/index.mdx index 4f6b2f2a5be6..3536c3ee3c25 100644 --- a/packages/web/src/content/docs/fr/index.mdx +++ b/packages/web/src/content/docs/fr/index.mdx @@ -319,24 +319,6 @@ Ou vous **pouvez refaire** les modifications à l'aide de la commande `/redo`. --- -## Partager - -Les conversations que vous avez avec OpenCode peuvent être [partagées avec votre équipe](/docs/share). - -```bash frame="none" -/share -``` - -Cela créera un lien vers la conversation en cours et le copiera dans votre presse-papiers. - -:::note -Les conversations ne sont pas partagées par défaut. -::: - -Voici un [exemple de conversation](https://opencode.ai/s/4XP1fce5) avec OpenCode. - ---- - ## Personnaliser Et c'est tout ! Vous êtes désormais un pro de l'utilisation de OpenCode. diff --git a/packages/web/src/content/docs/fr/keybinds.mdx b/packages/web/src/content/docs/fr/keybinds.mdx index feb4ba37f6b0..a04293e38993 100644 --- a/packages/web/src/content/docs/fr/keybinds.mdx +++ b/packages/web/src/content/docs/fr/keybinds.mdx @@ -24,8 +24,6 @@ OpenCode a une liste de raccourcis clavier que vous pouvez personnaliser via la "session_timeline": "g", "session_fork": "none", "session_rename": "none", - "session_share": "none", - "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/fr/providers.mdx b/packages/web/src/content/docs/fr/providers.mdx index 90bdb1fbc304..51f0405c350b 100644 --- a/packages/web/src/content/docs/fr/providers.mdx +++ b/packages/web/src/content/docs/fr/providers.mdx @@ -765,13 +765,12 @@ pour stocker le jeton dans le stockage d'authentification opencode. OpenCode utilise un petit modèle pour certaines tâches d'IA telles que la génération du titre de la session. Il est configuré pour utiliser gpt-5-nano par défaut, hébergé par Zen. Pour verrouiller OpenCode pour utiliser uniquement votre propre instance hébergée par GitLab, ajoutez ce qui suit à votre -Fichier `opencode.json`. Il est également recommandé de désactiver le partage de session. +Fichier `opencode.json`. ```json { "$schema": "https://opencode.ai/config.json", -"small_model": "gitlab/duo-chat-haiku-4-5", -"share": "disabled" +"small_model": "gitlab/duo-chat-haiku-4-5" } ```` diff --git a/packages/web/src/content/docs/fr/server.mdx b/packages/web/src/content/docs/fr/server.mdx index a376f4a18cc3..720918e8cbe1 100644 --- a/packages/web/src/content/docs/fr/server.mdx +++ b/packages/web/src/content/docs/fr/server.mdx @@ -158,8 +158,6 @@ Le serveur opencode expose les API suivantes. | `POST` | `/session/:id/init` | Analysez l'application et créez `AGENTS.md` | corps : `{ messageID, providerID, modelID }`, renvoie `boolean` | | `POST` | `/session/:id/fork` | Forkez une session existante à un message | corps : `{ messageID? }`, renvoie Session | | `POST` | `/session/:id/abort` | Abandonner une session en cours | Renvoie `boolean` | -| `POST` | `/session/:id/share` | Partager une séance | Renvoie Session | -| `DELETE` | `/session/:id/share` | Annuler le partage d'une session | Renvoie Session | | `GET` | `/session/:id/diff` | Obtenez le diff pour cette session | requête : `messageID?`, renvoie FileDiff[] | | `POST` | `/session/:id/summarize` | Résumer la séance | corps : `{ providerID, modelID }`, renvoie `boolean` | | `POST` | `/session/:id/revert` | Rétablir un message | corps : `{ messageID, partID? }`, renvoie `boolean` | diff --git a/packages/web/src/content/docs/fr/share.mdx b/packages/web/src/content/docs/fr/share.mdx deleted file mode 100644 index e6b067a8c82a..000000000000 --- a/packages/web/src/content/docs/fr/share.mdx +++ /dev/null @@ -1,128 +0,0 @@ ---- -title: Partager -description: Partagez vos conversations OpenCode. ---- - -La fonctionnalité de partage de OpenCode vous permet de créer des liens publics vers vos conversations OpenCode, afin que vous puissiez collaborer avec vos coéquipiers ou obtenir de l'aide d'autres personnes. - -:::note -Les conversations partagées sont accessibles publiquement à toute personne disposant du lien. -::: - ---- - -## Comment ça marche - -Lorsque vous partagez une conversation, OpenCode : - -1. Crée un URL public unique pour votre session -2. Synchronise l'historique de vos conversations avec nos serveurs -3. Rend la conversation accessible via le lien partageable — `opncd.ai/s/` - ---- - -## Partage - -OpenCode prend en charge trois modes de partage qui contrôlent la manière dont les conversations sont partagées : - ---- - -### Manuel (par défaut) - -Par défaut, OpenCode utilise le mode de partage manuel. Les sessions ne sont pas partagées automatiquement, mais vous pouvez les partager manuellement à l'aide de la commande `/share` : - -``` -/share -``` - -Cela générera un URL unique qui sera copié dans votre presse-papiers. - -Pour définir explicitement le mode manuel dans votre [fichier de configuration](/docs/config) : - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - ---- - -### Partage automatique - -Vous pouvez activer le partage automatique pour toutes les nouvelles conversations en définissant l'option `share` sur `"auto"` dans votre [fichier de configuration](/docs/config) : - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "auto" -} -``` - -Avec le partage automatique activé, chaque nouvelle conversation sera automatiquement partagée et un lien sera généré. - ---- - -### Désactivé - -Vous pouvez désactiver entièrement le partage en définissant l'option `share` sur `"disabled"` dans votre [fichier de configuration](/docs/config) : - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -Pour appliquer cela au sein de votre équipe pour un projet donné, ajoutez-le au `opencode.json` dans votre projet et enregistrez-vous dans Git. - ---- - -## Annuler le partage - -Pour arrêter de partager une conversation et la supprimer de l'accès public : - -``` -/unshare -``` - -Cela supprimera le lien de partage et supprimera les données liées à la conversation. - ---- - -## Confidentialité - -Il y a quelques points à garder à l’esprit lorsque vous partagez une conversation. - ---- - -### Conservation des données - -Les conversations partagées restent accessibles jusqu'à ce que vous les annuliez explicitement. Ce -comprend : - -- Historique complet des conversations -- Tous les messages et réponses -- Métadonnées de session - ---- - -### Recommandations - -- Partagez uniquement les conversations qui ne contiennent pas d'informations sensibles. -- Examinez le contenu de la conversation avant de la partager. -- Annulez le partage des conversations une fois la collaboration terminée. -- Évitez de partager des conversations avec du code propriétaire ou des données confidentielles. -- Pour les projets sensibles, désactivez complètement le partage. - ---- - -## Pour les entreprises - -Pour les déploiements en entreprise, la fonctionnalité de partage peut être : - -- **Désactivé** entièrement pour des raisons de conformité en matière de sécurité -- **Réservé** aux utilisateurs authentifiés via SSO uniquement -- **Auto-hébergé** sur votre propre infrastructure - -[En savoir plus](/docs/enterprise) sur l'utilisation de opencode dans votre organisation. diff --git a/packages/web/src/content/docs/fr/tui.mdx b/packages/web/src/content/docs/fr/tui.mdx index 79de0d43fb0a..8d681764faa7 100644 --- a/packages/web/src/content/docs/fr/tui.mdx +++ b/packages/web/src/content/docs/fr/tui.mdx @@ -218,18 +218,6 @@ Répertoriez et basculez entre les sessions. *Alias* : `/resume`, `/continue` --- -### share - -Partager la session en cours. [En savoir plus](/docs/share). - -```bash frame="none" -/share -``` - -**Reliure de touches :** `ctrl+x s` - ---- - ### theme Répertoriez les thèmes disponibles. @@ -275,16 +263,6 @@ En interne, cela utilise Git pour gérer les modifications de fichiers. Votre pr --- -### unshare - -Annuler le partage de la session en cours. [En savoir plus](/docs/share#un-sharing). - -```bash frame="none" -/unshare -``` - ---- - ## Configuration de l'éditeur Les commandes `/editor` et `/export` utilisent l'éditeur spécifié dans votre variable d'environnement `EDITOR`. diff --git a/packages/web/src/content/docs/it/cli.mdx b/packages/web/src/content/docs/it/cli.mdx index 67cd703a9f8c..5fcb8d602f45 100644 --- a/packages/web/src/content/docs/it/cli.mdx +++ b/packages/web/src/content/docs/it/cli.mdx @@ -345,7 +345,6 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | Continua l'ultima sessione | | {"--session"} | `-s` | ID sessione da continuare | | {"--fork"} | | Duplica la sessione quando continui (usa con `--continue` o `--session`) | -| {"--share"} | | Condividi la sessione | | {"--model"} | `-m` | Modello nel formato provider/model | | {"--agent"} | | Agente da usare | | {"--file"} | `-f` | File da allegare al messaggio | @@ -442,17 +441,14 @@ Se non fornisci un ID sessione, ti verrà chiesto di selezionare tra le sessioni ### import -Importa i dati di sessione da un file JSON o da un URL di condivisione OpenCode. +Importa i dati di sessione da un file JSON. ```bash opencode import ``` -Puoi importare da un file locale o da un URL di condivisione OpenCode. - ```bash opencode import session.json -opencode import https://opncd.ai/s/abc123 ``` --- @@ -564,7 +560,6 @@ OpenCode può essere configurato tramite variabili d'ambiente. | Variabile | Tipo | Descrizione | | ------------------------------------- | ------- | ----------------------------------------------------------- | -| `OPENCODE_AUTO_SHARE` | boolean | Condivide automaticamente le sessioni | | `OPENCODE_GIT_BASH_PATH` | string | Percorso all'eseguibile Git Bash su Windows | | `OPENCODE_CONFIG` | string | Percorso al file di configurazione | | `OPENCODE_TUI_CONFIG` | string | Percorso al file di configurazione TUI | diff --git a/packages/web/src/content/docs/it/commands.mdx b/packages/web/src/content/docs/it/commands.mdx index bec4bf8deb15..85c035582ce7 100644 --- a/packages/web/src/content/docs/it/commands.mdx +++ b/packages/web/src/content/docs/it/commands.mdx @@ -9,7 +9,7 @@ I comandi personalizzati ti permettono di definire un prompt da eseguire quando /my-command ``` -I comandi personalizzati si aggiungono a quelli integrati come `/init`, `/undo`, `/redo`, `/share`, `/help`. [Scopri di piu](/docs/tui#commands). +I comandi personalizzati si aggiungono a quelli integrati come `/init`, `/undo`, `/redo`, `/help`. [Scopri di piu](/docs/tui#commands). --- @@ -313,7 +313,7 @@ Questa e un'opzione di config **opzionale**. ## Comandi integrati -opencode include diversi comandi integrati come `/init`, `/undo`, `/redo`, `/share`, `/help`; [scopri di piu](/docs/tui#commands). +opencode include diversi comandi integrati come `/init`, `/undo`, `/redo`, `/help`; [scopri di piu](/docs/tui#commands). :::note I comandi personalizzati possono sovrascrivere quelli integrati. diff --git a/packages/web/src/content/docs/it/config.mdx b/packages/web/src/content/docs/it/config.mdx index 1026b870a968..64b5408270a7 100644 --- a/packages/web/src/content/docs/it/config.mdx +++ b/packages/web/src/content/docs/it/config.mdx @@ -356,27 +356,6 @@ Questa impostazione si applica a tutte le interfacce: TUI, CLI (`opencode run`), --- -### Condivisione - -Puoi configurare la funzione di [condivisione](/docs/share) tramite l'opzione `share`. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - -Valori supportati: - -- `"manual"` - Consenti la condivisione manuale tramite comandi (predefinito) -- `"auto"` - Condividi automaticamente le nuove conversazioni -- `"disabled"` - Disabilita completamente la condivisione - -Per impostazione predefinita, la condivisione e in modalita manuale e devi condividere esplicitamente le conversazioni usando il comando `/share`. - ---- - ### Comandi Puoi configurare comandi personalizzati per task ripetitivi tramite l'opzione `command`. diff --git a/packages/web/src/content/docs/it/enterprise.mdx b/packages/web/src/content/docs/it/enterprise.mdx index bd142e709a13..4aa71607e3ce 100644 --- a/packages/web/src/content/docs/it/enterprise.mdx +++ b/packages/web/src/content/docs/it/enterprise.mdx @@ -31,27 +31,6 @@ OpenCode e open source e non memorizza alcun tuo codice o dato di contesto, quin Questo significa che, finche usi un provider di cui ti fidi o un gateway AI interno, puoi usare OpenCode in modo sicuro. -L'unica eccezione e la funzione opzionale `/share`. - ---- - -#### Condivisione conversazioni - -Se un utente abilita la funzione `/share`, la conversazione e i dati associati vengono inviati al servizio che usiamo per ospitare queste pagine di condivisione su opencode.ai. - -I dati sono serviti tramite la rete edge della nostra CDN e vengono messi in cache vicino ai tuoi utenti. - -Ti consigliamo di disabilitarla durante la prova. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -[Scopri di più sulla condivisione](/docs/share). - --- ### Proprietà del codice diff --git a/packages/web/src/content/docs/it/github.mdx b/packages/web/src/content/docs/it/github.mdx index 81bbd593378f..3cc2ba72376e 100644 --- a/packages/web/src/content/docs/it/github.mdx +++ b/packages/web/src/content/docs/it/github.mdx @@ -69,7 +69,6 @@ In alternativa, puoi configurarlo manualmente. ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 - # share: true # github_token: xxxx ``` @@ -83,7 +82,6 @@ In alternativa, puoi configurarlo manualmente. - `model`: il modello da usare con OpenCode. Usa il formato `provider/model`. E' **obbligatorio**. - `agent`: l'agente da usare. Deve essere un agente primario. Se non trovato, usa `default_agent` dalla config o `"build"`. -- `share`: se condividere la sessione OpenCode. Di default e' **true** per repository pubblici. - `prompt`: prompt personalizzato opzionale per sovrascrivere il comportamento di default. Usalo per personalizzare come OpenCode processa le richieste. - `token`: token di accesso GitHub opzionale per eseguire operazioni come creare commenti, committare modifiche e aprire pull request. Di default, OpenCode usa l'installation access token della OpenCode GitHub App, quindi commit, commenti e pull request risultano provenire dalla app. diff --git a/packages/web/src/content/docs/it/index.mdx b/packages/web/src/content/docs/it/index.mdx index 1b48d9df6174..2a803c609fb3 100644 --- a/packages/web/src/content/docs/it/index.mdx +++ b/packages/web/src/content/docs/it/index.mdx @@ -319,24 +319,6 @@ Oppure puoi **rifare** le modifiche usando il comando `/redo`. --- -## Condividi - -Le conversazioni che fai con OpenCode possono essere [condivise con il tuo team](/docs/share). - -```bash frame="none" -/share -``` - -Questo creera un link alla conversazione corrente e lo copiera negli appunti. - -:::note -Le conversazioni non vengono condivise per impostazione predefinita. -::: - -Ecco un'[esempio di conversazione](https://opencode.ai/s/4XP1fce5) con OpenCode. - ---- - ## Personalizza E tutto qui! Ora sei un pro nell'usare OpenCode. diff --git a/packages/web/src/content/docs/it/keybinds.mdx b/packages/web/src/content/docs/it/keybinds.mdx index aef0a4c9369e..7db3bdc512b9 100644 --- a/packages/web/src/content/docs/it/keybinds.mdx +++ b/packages/web/src/content/docs/it/keybinds.mdx @@ -24,8 +24,6 @@ OpenCode ha una lista di scorciatoie che puoi personalizzare tramite `tui.json`. "session_timeline": "g", "session_fork": "none", "session_rename": "none", - "session_share": "none", - "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/it/providers.mdx b/packages/web/src/content/docs/it/providers.mdx index f2d195d7218b..89d87cac2d72 100644 --- a/packages/web/src/content/docs/it/providers.mdx +++ b/packages/web/src/content/docs/it/providers.mdx @@ -735,13 +735,12 @@ salvare il token nello storage di auth di opencode. OpenCode usa un modello piccolo per alcuni task AI come generare il titolo della sessione. È configurato per usare gpt-5-nano di default, ospitato da Zen. Per bloccare OpenCode a usare solo la tua istanza GitLab self-hosted, aggiungi quanto segue al tuo -file `opencode.json`. Si raccomanda anche di disabilitare la condivisione sessioni. +file `opencode.json`. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5", - "share": "disabled" + "small_model": "gitlab/duo-chat-haiku-4-5" } ``` diff --git a/packages/web/src/content/docs/it/server.mdx b/packages/web/src/content/docs/it/server.mdx index df66d39fdc93..88acac9584ac 100644 --- a/packages/web/src/content/docs/it/server.mdx +++ b/packages/web/src/content/docs/it/server.mdx @@ -155,8 +155,6 @@ Il server opencode espone le seguenti API. | `POST` | `/session/:id/init` | Analizza app e crea `AGENTS.md` | body: `{ messageID, providerID, modelID }`, returns `boolean` | | `POST` | `/session/:id/fork` | Fork di sessione su un messaggio | body: `{ messageID? }`, returns Session | | `POST` | `/session/:id/abort` | Interrompe una sessione in esecuzione | Returns `boolean` | -| `POST` | `/session/:id/share` | Condivide una sessione | Returns Session | -| `DELETE` | `/session/:id/share` | Annulla condivisione | Returns Session | | `GET` | `/session/:id/diff` | Diff della sessione | query: `messageID?`, returns FileDiff[] | | `POST` | `/session/:id/summarize` | Riassume la sessione | body: `{ providerID, modelID }`, returns `boolean` | | `POST` | `/session/:id/revert` | Ripristina un messaggio | body: `{ messageID, partID? }`, returns `boolean` | diff --git a/packages/web/src/content/docs/it/share.mdx b/packages/web/src/content/docs/it/share.mdx deleted file mode 100644 index 9b410a6b8654..000000000000 --- a/packages/web/src/content/docs/it/share.mdx +++ /dev/null @@ -1,127 +0,0 @@ ---- -title: Condivisione -description: Condividi le tue conversazioni OpenCode. ---- - -La funzione di condivisione di OpenCode ti permette di creare link pubblici alle tue conversazioni, cosi puoi collaborare con i colleghi o chiedere aiuto ad altre persone. - -:::note -Le conversazioni condivise sono accessibili pubblicamente a chiunque abbia il link. -::: - ---- - -## Come funziona - -Quando condividi una conversazione, OpenCode: - -1. Crea un URL pubblico univoco per la sessione -2. Sincronizza la cronologia della conversazione sui nostri server -3. Rende la conversazione accessibile tramite il link condivisibile: `opncd.ai/s/` - ---- - -## Condivisione - -OpenCode supporta tre modalita di condivisione che controllano come vengono condivise le conversazioni: - ---- - -### Manuale (predefinito) - -Per impostazione predefinita, OpenCode usa la condivisione manuale. Le sessioni non vengono condivise automaticamente, ma puoi condividerle manualmente con il comando `/share`: - -``` -/share -``` - -Questo genera un URL univoco che viene copiato negli appunti. - -Per impostare esplicitamente la modalita manuale nel tuo [file di config](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - ---- - -### Automatico - -Puoi abilitare la condivisione automatica per tutte le nuove conversazioni impostando l'opzione `share` su `"auto"` nel tuo [file di config](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "auto" -} -``` - -Con la condivisione automatica attiva, ogni nuova conversazione verra condivisa automaticamente e verra generato un link. - ---- - -### Disabilitato - -Puoi disabilitare completamente la condivisione impostando l'opzione `share` su `"disabled"` nel tuo [file di config](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -Per applicarlo al tuo team in un progetto specifico, aggiungilo a `opencode.json` nel progetto e versionalo su Git. - ---- - -## Annullare la condivisione - -Per smettere di condividere una conversazione e rimuoverla dall'accesso pubblico: - -``` -/unshare -``` - -Questo rimuove il link di condivisione ed elimina i dati associati alla conversazione. - ---- - -## Privacy - -Ci sono alcune cose da tenere a mente quando condividi una conversazione. - ---- - -### Conservazione dati - -Le conversazioni condivise restano accessibili finche non le annulli esplicitamente. Questo include: - -- La cronologia completa della conversazione -- Tutti i messaggi e le risposte -- I metadati della sessione - ---- - -### Raccomandazioni - -- Condividi solo conversazioni che non contengono informazioni sensibili. -- Rivedi il contenuto della conversazione prima di condividerla. -- Annulla la condivisione quando la collaborazione e conclusa. -- Evita di condividere conversazioni con codice proprietario o dati riservati. -- Per progetti sensibili, disabilita completamente la condivisione. - ---- - -## Per le aziende - -Per deploy enterprise, la condivisione puo essere: - -- **Disabilitata** completamente per requisiti di conformita e sicurezza -- **Limitata** ai soli utenti autenticati tramite SSO -- **Self-hosted** sulla tua infrastruttura - -[Scopri di piu](/docs/enterprise) su come usare opencode nella tua organizzazione. diff --git a/packages/web/src/content/docs/it/tui.mdx b/packages/web/src/content/docs/it/tui.mdx index 93ef1a86d501..5293b7ab1538 100644 --- a/packages/web/src/content/docs/it/tui.mdx +++ b/packages/web/src/content/docs/it/tui.mdx @@ -217,18 +217,6 @@ Elenca e passa tra le sessioni. _Alias_: `/resume`, `/continue` --- -### condividi - -Condivide la sessione corrente. [Scopri di più](/docs/share). - -```bash frame="none" -/share -``` - -**Scorciatoia:** `ctrl+x s` - ---- - ### temi Elenca i temi disponibili. @@ -273,16 +261,6 @@ Internamente usa Git per gestire le modifiche ai file. Quindi il progetto **deve --- -### annulla condivisione - -Annulla la condivisione della sessione corrente. [Scopri di più](/docs/share#un-sharing). - -```bash frame="none" -/unshare -``` - ---- - ## Configurazione dell'editor Sia `/editor` sia `/export` usano l'editor specificato nella variabile d'ambiente `EDITOR`. diff --git a/packages/web/src/content/docs/ja/cli.mdx b/packages/web/src/content/docs/ja/cli.mdx index 755b856fc727..d738ec64198b 100644 --- a/packages/web/src/content/docs/ja/cli.mdx +++ b/packages/web/src/content/docs/ja/cli.mdx @@ -345,7 +345,6 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | 最後のセッションを続行 | | {"--session"} | `-s` | 続行するセッション ID | | {"--fork"} | | 続行時にセッションをフォーク (`--continue` または `--session` と併用) | -| {"--share"} | | セッションを共有する | | {"--model"} | `-m` | プロバイダー/モデルの形式で使用するモデル | | {"--agent"} | | 使用するエージェント | | {"--file"} | `-f` | メッセージに添付するファイル | @@ -442,17 +441,14 @@ opencode export [sessionID] ### import -JSON ファイルまたは OpenCode 共有 URL からセッションデータをインポートします。 +JSON ファイルからセッションデータをインポートします。 ```bash opencode import ``` -ローカルファイルまたは OpenCode 共有 URL からインポートできます。 - ```bash opencode import session.json -opencode import https://opncd.ai/s/abc123 ``` --- @@ -564,7 +560,6 @@ OpenCode は環境変数を使用して構成できます。 | 変数 | タイプ | 説明 | | ------------------------------------- | -------- | ------------------------------------------------------------------- | -| `OPENCODE_AUTO_SHARE` | ブール値 | セッションを自動的に共有する | | `OPENCODE_GIT_BASH_PATH` | 文字列 | Windows 上で実行可能な Git Bash へのパス | | `OPENCODE_CONFIG` | 文字列 | 構成ファイルへのパス | | `OPENCODE_CONFIG_DIR` | 文字列 | config ディレクトリへのパス | diff --git a/packages/web/src/content/docs/ja/commands.mdx b/packages/web/src/content/docs/ja/commands.mdx index bd2913a043e9..573c599d06f8 100644 --- a/packages/web/src/content/docs/ja/commands.mdx +++ b/packages/web/src/content/docs/ja/commands.mdx @@ -9,7 +9,7 @@ description: 反復的なタスク用のカスタムコマンドを作成しま /my-command ``` -カスタムコマンドは、`/init`、`/undo`、`/redo`、`/share`、`/help` などの組み込みコマンドに追加されます。 [詳細はこちら](/docs/tui#commands)。 +カスタムコマンドは、`/init`、`/undo`、`/redo`、`/help` などの組み込みコマンドに追加されます。 [詳細はこちら](/docs/tui#commands)。 --- @@ -314,7 +314,7 @@ Check for performance issues and suggest improvements. ## 組み込み -OpenCode には、`/init`、`/undo`、`/redo`、`/share`、`/help` などのいくつかの組み込みコマンドが含まれています。 [詳細はこちら](/docs/tui#commands)。 +OpenCode には、`/init`、`/undo`、`/redo`、`/help` などのいくつかの組み込みコマンドが含まれています。 [詳細はこちら](/docs/tui#commands)。 :::note カスタムコマンドは組み込みコマンドをオーバーライドできます。 diff --git a/packages/web/src/content/docs/ja/config.mdx b/packages/web/src/content/docs/ja/config.mdx index 44661009c1b6..927baf5508ce 100644 --- a/packages/web/src/content/docs/ja/config.mdx +++ b/packages/web/src/content/docs/ja/config.mdx @@ -359,27 +359,6 @@ UI テーマを `tui.json` で設定します。 --- -### 共有 - -`share` オプションを使用して [share](/docs/share) 機能を設定できます。 - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - -これには以下が必要です: - -- `"manual"` - コマンドによる手動共有を許可します (デフォルト) -- `"auto"` - 新しい会話を自動的に共有します -- `"disabled"` - 共有を完全に無効にする - -デフォルトでは、共有は手動モードに設定されており、`/share` コマンドを使用して会話を明示的に共有する必要があります。 - ---- - ### コマンド `command` オプションを使用して、反復タスク用のカスタムコマンドを構成できます。 diff --git a/packages/web/src/content/docs/ja/enterprise.mdx b/packages/web/src/content/docs/ja/enterprise.mdx index d5144072ff52..38335ecc7711 100644 --- a/packages/web/src/content/docs/ja/enterprise.mdx +++ b/packages/web/src/content/docs/ja/enterprise.mdx @@ -30,27 +30,6 @@ OpenCode はオープンソースであり、コードやコンテキストデ つまり、信頼できるプロバイダー、または内部 AI ゲートウェイを使用している限り、OpenCode を安全に利用できます。 -ここでの唯一の注意点は、オプションの `/share` 機能です。 - ---- - -#### 会話を共有する - -ユーザーが `/share` 機能を有効にすると、会話とそれに関連付けられたデータが、opencode.ai でこれらの共有ページをホストするために使用されるサービスに送信されます。 - -現在、データは CDN のエッジネットワークを通じて提供され、ユーザーの近くのエッジにキャッシュされます。 - -試用版ではこれを無効にすることをお勧めします。 - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -[sharing](/docs/share) について詳しくはこちらをご覧ください。 - --- ### コードの所有権 diff --git a/packages/web/src/content/docs/ja/github.mdx b/packages/web/src/content/docs/ja/github.mdx index d587094dc815..ee25b9ed22e9 100644 --- a/packages/web/src/content/docs/ja/github.mdx +++ b/packages/web/src/content/docs/ja/github.mdx @@ -69,7 +69,6 @@ opencode github install ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 - # share: true # github_token: xxxx ``` @@ -83,7 +82,6 @@ opencode github install - `model`: OpenCode で使用するモデル。 `provider/model` の形式をとります。これは**必須**です。 - `agent`: 使用するエージェント。プライマリエージェントである必要があります。見つからない場合は、設定から `default_agent` にフォールバックするか、`"build"` にフォールバックします。 -- `share`: OpenCode セッションを共有するかどうか。パブリックリポジトリのデフォルトは **true** です。 - `prompt`: デフォルトの動作をオーバーライドするためのオプションのカスタムプロンプト。これを使用して、OpenCode がリクエストを処理する方法をカスタマイズします。 - `token`: コメントの作成、変更のコミット、プルリクエストのオープンなどの操作を実行するためのオプションの GitHub アクセストークン。デフォルトでは、OpenCode は OpenCode GitHub アプリからのインストールアクセストークンを使用するため、コミット、コメント、プルリクエストはアプリからのものとして表示されます。 diff --git a/packages/web/src/content/docs/ja/index.mdx b/packages/web/src/content/docs/ja/index.mdx index e4e84d7b1cd2..f962abe07167 100644 --- a/packages/web/src/content/docs/ja/index.mdx +++ b/packages/web/src/content/docs/ja/index.mdx @@ -325,24 +325,6 @@ Can you refactor the function in @packages/functions/src/api/index.ts? --- -## 共有 - -OpenCode との会話は [他のチームメンバーと共有できます](/docs/share)。 - -```bash frame="none" -/share -``` - -これにより、現在の会話へのリンクが作成され、クリップボードにコピーされます。 - -:::note -会話はデフォルトでは共有されません。 -::: - -これは [OpenCode を使用した会話 ](https://opencode.ai/s/4XP1fce5) の例です。 - ---- - ## カスタマイズ それで終わりです!これであなたは OpenCode の使い方のプロになりました。 diff --git a/packages/web/src/content/docs/ja/keybinds.mdx b/packages/web/src/content/docs/ja/keybinds.mdx index 8d2de3ba9525..8acbe6511d70 100644 --- a/packages/web/src/content/docs/ja/keybinds.mdx +++ b/packages/web/src/content/docs/ja/keybinds.mdx @@ -24,8 +24,6 @@ OpenCode には、`tui.json` を通じてカスタマイズできるキーバイ "session_timeline": "g", "session_fork": "none", "session_rename": "none", - "session_share": "none", - "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/ja/providers.mdx b/packages/web/src/content/docs/ja/providers.mdx index c969c6d4a0de..47fd472e812c 100644 --- a/packages/web/src/content/docs/ja/providers.mdx +++ b/packages/web/src/content/docs/ja/providers.mdx @@ -800,12 +800,11 @@ STACKIT AI Model Serving は、Llama、Mistral、Qwen などの LLM に焦点を OpenCode は、セッションタイトルの生成などの一部の AI タスクに小規模なモデルを使用します。 デフォルトでは、Zen によってホストされる gpt-5-nano を使用するように構成されています。 OpenCode をロックするには 自分の GitLab でホストされているインスタンスのみを使用するには、次の行を -`opencode.json` ファイル。セッション共有を無効にすることもお勧めします。 +`opencode.json` ファイル。 ```json { - "small_model": "gitlab/duo-chat-haiku-4-5", - "share": "disabled" + "small_model": "gitlab/duo-chat-haiku-4-5" } ``` diff --git a/packages/web/src/content/docs/ja/server.mdx b/packages/web/src/content/docs/ja/server.mdx index cbea87083ee8..74fda58daf74 100644 --- a/packages/web/src/content/docs/ja/server.mdx +++ b/packages/web/src/content/docs/ja/server.mdx @@ -153,8 +153,6 @@ OpenCode サーバーは次の API を公開します。 | `POST` | `/session/:id/init` | アプリを分析して `AGENTS.md` を作成する | 本文: `{ messageID, providerID, modelID }`、`boolean` を返します。 | | `POST` | `/session/:id/fork` | メッセージで既存のセッションをフォークする | 本文: `{ messageID? }`、Session を返します。 | | `POST` | `/session/:id/abort` | 実行中のセッションを中止する | 戻り値 `boolean` | -| `POST` | `/session/:id/share` | セッションを共有する | 戻り値 Session | -| `DELETE` | `/session/:id/share` | セッションの共有を解除する | 戻り値 Session | | `GET` | `/session/:id/diff` | このセッションの差分を取得する | クエリ: `messageID?`、FileDiff[] を返します。 | | `POST` | `/session/:id/summarize` | セッションを要約する | 本文: `{ providerID, modelID }`、`boolean` を返します。 | | `POST` | `/session/:id/revert` | メッセージを元に戻す | 本文: `{ messageID, partID? }`、`boolean` を返します。 | diff --git a/packages/web/src/content/docs/ja/share.mdx b/packages/web/src/content/docs/ja/share.mdx deleted file mode 100644 index 606e807dc8aa..000000000000 --- a/packages/web/src/content/docs/ja/share.mdx +++ /dev/null @@ -1,128 +0,0 @@ ---- -title: 共有 -description: OpenCode での会話を共有します。 ---- - -OpenCode の共有機能を使用すると、OpenCode の会話への公開リンクを作成できるため、チームメイトと共同作業したり、他の人から助けを得ることができます。 - -:::note -共有された会話は、リンクを知っている人なら誰でも公開してアクセスできます。 -::: - ---- - -## 仕組み - -会話を共有するとき、OpenCode は次のことを行います。 - -1. セッション用の一意のパブリック URL を作成します -2. 会話履歴をサーバーに同期します -3. 共有可能なリンク — `opncd.ai/s/` を介して会話にアクセスできるようにします - ---- - -## 共有 - -OpenCode は、会話の共有方法を制御する 3 つの共有モードをサポートしています。 - ---- - -### 手動(デフォルト) - -デフォルトでは、OpenCode は手動共有モードを使用します。セッションは自動的には共有されませんが、`/share` コマンドを使用して手動で共有できます。 - -``` -/share -``` - -これにより、クリップボードにコピーされる一意の URL が生成されます。 - -[設定ファイル](/docs/config): で手動モードを明示的に設定するには: - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - ---- - -### 自動共有 - -[設定ファイル](/docs/config): で `share` オプションを `"auto"` に設定することで、すべての新しい会話の自動共有を有効にできます。 - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "auto" -} -``` - -自動共有を有効にすると、すべての新しい会話が自動的に共有され、リンクが生成されます。 - ---- - -### 無効 - -[設定ファイル](/docs/config): で `share` オプションを `"disabled"` に設定することで、共有を完全に無効にすることができます。 - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -これを特定のプロジェクトのチーム全体に強制するには、それをプロジェクトの `opencode.json` に追加し、Git にチェックインします。 - ---- - -## 共有の解除 - -会話の共有を停止し、パブリックアクセスから削除するには: - -``` -/unshare -``` - -これにより、共有リンクが削除され、会話に関連するデータが削除されます。 - ---- - -## プライバシー - -会話を共有する際には、留意すべき点がいくつかあります。 - ---- - -### データの保持 - -共有された会話は、明示的に共有を解除するまでアクセス可能なままになります。これ -以下が含まれます: - -- 完全な会話履歴 -- すべてのメッセージと応答 -- セッションメタデータ - ---- - -### 推奨事項 - -- 機密情報を含まない会話のみを共有してください。 -- 共有する前に会話の内容を確認してください。 -- コラボレーションが完了したら、会話の共有を解除します。 -- 独自のコードや機密データを含む会話を共有することは避けてください。 -- 機密性の高いプロジェクトの場合は、共有を完全に無効にします。 - ---- - -## 企業向け - -エンタープライズ展開の場合、共有機能は次のようになります。 - -- **セキュリティコンプライアンスのため完全に無効** -- **SSO を通じて認証されたユーザーのみに制限** -- 独自のインフラストラクチャで **セルフホスト** - -[組織内での OpenCode の使用について詳しくは、](/docs/enterprise) をご覧ください。 diff --git a/packages/web/src/content/docs/ja/tui.mdx b/packages/web/src/content/docs/ja/tui.mdx index a3e11cc1b533..2f0b9451f306 100644 --- a/packages/web/src/content/docs/ja/tui.mdx +++ b/packages/web/src/content/docs/ja/tui.mdx @@ -216,18 +216,6 @@ OpenCode を終了します。 _エイリアス_: `/quit`、`/q` --- -### 共有 - -現在のセッションを共有します。 [詳細はこちら](/docs/share)。 - -```bash frame="none" -/share -``` - -**キーバインド:** `ctrl+x s` - ---- - ### テーマ 利用可能なテーマをリストします。 @@ -271,16 +259,6 @@ OpenCode を終了します。 _エイリアス_: `/quit`、`/q` --- -### 共有の解除 - -現在のセッションの共有を解除します。 [詳細はこちら](/docs/share#un-sharing)。 - -```bash frame="none" -/unshare -``` - ---- - ## エディタのセットアップ `/editor` および `/export` コマンドはどちらも、`EDITOR` 環境変数で指定されたエディターを使用します。 diff --git a/packages/web/src/content/docs/ko/cli.mdx b/packages/web/src/content/docs/ko/cli.mdx index e6ee7e1f02df..c03219d623d0 100644 --- a/packages/web/src/content/docs/ko/cli.mdx +++ b/packages/web/src/content/docs/ko/cli.mdx @@ -345,7 +345,6 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | 마지막 세션 이어서 실행 | | {"--session"} | `-s` | 이어서 실행할 세션 ID | | {"--fork"} | | 세션을 이어갈 때 포크 생성 (`--continue` 또는 `--session`과 함께 사용) | -| {"--share"} | | 세션 공유 | | {"--model"} | `-m` | 사용할 모델 (`provider/model` 형식) | | {"--agent"} | | 사용할 에이전트 | | {"--file"} | `-f` | 메시지에 첨부할 파일 | @@ -442,17 +441,14 @@ opencode export [sessionID] ### import -JSON 파일 또는 OpenCode 공유 URL에서 세션 데이터를 가져옵니다. +JSON 파일에서 세션 데이터를 가져옵니다. ```bash opencode import ``` -로컬 파일이나 OpenCode 공유 URL에서 가져올 수 있습니다. - ```bash opencode import session.json -opencode import https://opncd.ai/s/abc123 ``` --- @@ -564,7 +560,6 @@ OpenCode는 환경 변수로도 구성할 수 있습니다. | 변수 | 타입 | 설명 | | ------------------------------------- | ------- | ---------------------------------------------- | -| `OPENCODE_AUTO_SHARE` | boolean | 세션 자동 공유 | | `OPENCODE_GIT_BASH_PATH` | string | Windows에서 Git Bash 실행 파일 경로 | | `OPENCODE_CONFIG` | string | 설정 파일 경로 | | `OPENCODE_CONFIG_DIR` | string | 설정 디렉터리 경로 | diff --git a/packages/web/src/content/docs/ko/commands.mdx b/packages/web/src/content/docs/ko/commands.mdx index c477cb12fbd4..7a5cbd29dacf 100644 --- a/packages/web/src/content/docs/ko/commands.mdx +++ b/packages/web/src/content/docs/ko/commands.mdx @@ -11,7 +11,7 @@ description: 반복적인 작업을 위한 커스텀 명령을 만드세요. --- -커스텀 명령은 `/init`, `/undo`, `/redo`, `/share`, `/help` 같은 내장 명령과 별도로 추가됩니다. [더 알아보기](/docs/tui#commands). +커스텀 명령은 `/init`, `/undo`, `/redo`, `/help` 같은 내장 명령과 별도로 추가됩니다. [더 알아보기](/docs/tui#commands). --- @@ -314,7 +314,7 @@ Check for performance issues and suggest improvements. ## 내장 명령 -OpenCode는 `/init`, `/undo`, `/redo`, `/share`, `/help` 등 여러 내장 명령을 제공합니다. [더 알아보기](/docs/tui#commands). +OpenCode는 `/init`, `/undo`, `/redo`, `/help` 등 여러 내장 명령을 제공합니다. [더 알아보기](/docs/tui#commands). :::note 커스텀 명령은 내장 명령을 덮어쓸 수 있습니다. diff --git a/packages/web/src/content/docs/ko/config.mdx b/packages/web/src/content/docs/ko/config.mdx index 3455b05b5c03..fde00fefa9b4 100644 --- a/packages/web/src/content/docs/ko/config.mdx +++ b/packages/web/src/content/docs/ko/config.mdx @@ -356,27 +356,6 @@ Bearer token(`AWS_BEARER_TOKEN_BEDROCK` 또는 `/connect`)은 profile 기반 인 --- -### Sharing - -`share` 옵션으로 [share](/docs/share) 기능을 설정할 수 있습니다. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - -허용 값: - -- `"manual"` - 명령으로 수동 공유 허용(기본값) -- `"auto"` - 새 대화를 자동 공유 -- `"disabled"` - 공유 기능 완전 비활성화 - -기본값은 manual 모드이며, `/share` 명령으로 명시적으로 공유해야 합니다. - ---- - ### Commands `command` 옵션으로 반복 작업용 custom command를 구성할 수 있습니다. diff --git a/packages/web/src/content/docs/ko/enterprise.mdx b/packages/web/src/content/docs/ko/enterprise.mdx index c86431ba95d9..ef482a88c07c 100644 --- a/packages/web/src/content/docs/ko/enterprise.mdx +++ b/packages/web/src/content/docs/ko/enterprise.mdx @@ -31,27 +31,6 @@ OpenCode는 오픈소스이며 코드나 context 데이터를 저장하지 않 따라서 신뢰할 수 있는 provider 또는 내부 AI gateway를 사용한다면 OpenCode를 안전하게 사용할 수 있습니다. -주의할 점은 선택 기능인 `/share`입니다. - ---- - -#### Sharing conversations - -사용자가 `/share` 기능을 활성화하면, 대화와 관련 데이터가 opencode.ai의 share 페이지 호스팅 서비스로 전송됩니다. - -현재 이 데이터는 CDN edge network를 통해 제공되며, 사용자와 가까운 edge에 캐시됩니다. - -trial 단계에서는 이 기능을 비활성화할 것을 권장합니다. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -[sharing에 대해 더 알아보기](/docs/share). - --- ### Code ownership diff --git a/packages/web/src/content/docs/ko/github.mdx b/packages/web/src/content/docs/ko/github.mdx index 1f7ea672fa76..69b294f2f3e8 100644 --- a/packages/web/src/content/docs/ko/github.mdx +++ b/packages/web/src/content/docs/ko/github.mdx @@ -69,7 +69,6 @@ opencode github install ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 - # share: true # github_token: xxxx ``` @@ -83,7 +82,6 @@ opencode github install - `model`: OpenCode에서 사용할 model입니다. `provider/model` 형식이며 **필수**입니다. - `agent`: 사용할 agent입니다. primary agent여야 합니다. 찾지 못하면 config의 `default_agent`를 사용하고, 그것도 없으면 `"build"`로 fallback합니다. -- `share`: OpenCode 세션 공유 여부입니다. public repo에서는 기본값이 **true**입니다. - `prompt`: 기본 동작을 override하는 선택형 custom prompt입니다. OpenCode의 요청 처리 방식을 조정할 때 사용합니다. - `token`: 댓글 생성, 커밋, PR 생성 같은 작업을 수행할 때 사용하는 선택형 GitHub access token입니다. 기본적으로 OpenCode는 OpenCode GitHub App의 installation access token을 사용하므로, 커밋/댓글/PR 작성 주체가 app으로 표시됩니다. diff --git a/packages/web/src/content/docs/ko/index.mdx b/packages/web/src/content/docs/ko/index.mdx index 0dfa0bbc830b..2f89f803a3ee 100644 --- a/packages/web/src/content/docs/ko/index.mdx +++ b/packages/web/src/content/docs/ko/index.mdx @@ -319,24 +319,6 @@ Can you refactor the function in @packages/functions/src/api/index.ts? --- -## 공유 - -OpenCode와의 대화는 [팀과 공유](/docs/share)할 수 있습니다. - -```bash frame="none" -/share -``` - -이 명령을 실행하면 현재 대화 링크를 생성하고 클립보드에 복사합니다. - -:::note -대화는 기본값으로 공유되지 않습니다. -::: - -다음은 OpenCode [대화 예시](https://opencode.ai/s/4XP1fce5)입니다. - ---- - ## 사용자 지정 이제 OpenCode 사용법을 익혔습니다. diff --git a/packages/web/src/content/docs/ko/keybinds.mdx b/packages/web/src/content/docs/ko/keybinds.mdx index b6a605f2ebe1..dace99b8f04c 100644 --- a/packages/web/src/content/docs/ko/keybinds.mdx +++ b/packages/web/src/content/docs/ko/keybinds.mdx @@ -24,8 +24,6 @@ OpenCode에는 `tui.json`을 통해 커스터마이즈할 수 있는 키바인 "session_timeline": "g", "session_fork": "none", "session_rename": "none", - "session_share": "none", - "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/ko/providers.mdx b/packages/web/src/content/docs/ko/providers.mdx index 87278bef23f9..afc13397ae07 100644 --- a/packages/web/src/content/docs/ko/providers.mdx +++ b/packages/web/src/content/docs/ko/providers.mdx @@ -760,13 +760,11 @@ GitLab Duo는 GitLab의 Anthropic 프록시를 통해 기본 도구 호출 기 OpenCode는 세션 제목 생성과 같은 일부 AI 작업을 위해 작은 모델을 사용합니다. 기본적으로 Zen에서 호스팅되는 gpt-5-nano를 사용하도록 구성됩니다. OpenCode를 자체 호스팅 GitLab 인스턴스만 사용하도록 제한하려면 `opencode.json` 파일에 다음을 추가하십시오. -세션 공유를 비활성화하는 것도 권장합니다. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5", - "share": "disabled" + "small_model": "gitlab/duo-chat-haiku-4-5" } ``` diff --git a/packages/web/src/content/docs/ko/server.mdx b/packages/web/src/content/docs/ko/server.mdx index a6914605a7cc..fd1404ccda8b 100644 --- a/packages/web/src/content/docs/ko/server.mdx +++ b/packages/web/src/content/docs/ko/server.mdx @@ -158,8 +158,6 @@ opencode 서버는 다음과 같은 API를 노출합니다. | `POST` | `/session/:id/init` | 앱 초기화 및 `AGENTS.md` 분석 | 몸: `{ messageID, providerID, modelID }`, 반환 `boolean` | | `POST` | `/session/:id/fork` | 메시지의 기존 세션 | 몸: `{ messageID? }`, 반환 Session | | `POST` | `/session/:id/abort` | 운영 중인 세션 | 반품 `boolean` | -| `POST` | `/session/:id/share` | 세션 공유 | Session | -| `DELETE` | `/session/:id/share` | 세션 공유 | Session | | `GET` | `/session/:id/diff` | `/session/:id/diff` | `messageID?`, 반환 FileDiff[] | | `POST` | `/session/:id/summarize` | 세션을 요약 | 본체: `{ providerID, modelID }`, `boolean` 반환 | | `POST` | `/session/:id/revert` | 메시지 재생 | 몸: `{ messageID, partID? }`, 반환 `boolean` | diff --git a/packages/web/src/content/docs/ko/share.mdx b/packages/web/src/content/docs/ko/share.mdx deleted file mode 100644 index 9e5c6388243e..000000000000 --- a/packages/web/src/content/docs/ko/share.mdx +++ /dev/null @@ -1,128 +0,0 @@ ---- -title: 공유 -description: OpenCode 대화를 공유하세요. ---- - -opencode의 공유 기능은 opencode 대화에 대한 공개 링크를 만들 수 있으므로 Teammates와 협업하거나 다른 곳에서 도움을받을 수 있습니다. - -:::note -공유 대화는 링크를 통해 누구나 쉽게 접근할 수 있습니다. -::: - ---- - -## 작동 방식 - -대화를 공유할 때, opencode: - -1. 세션에 대한 독특한 공개 URL 만들기 -2. 우리의 서버에 대화 기록 동기화 -3. 공유 가능한 링크를 통해 접근 할 수있는 대화 만들기 — `opncd.ai/s/` - ---- - -## 공유 - -opencode는 대화가 공유되는 방법을 제어하는 세 가지 공유 모드를 지원합니다. - ---- - -## 수동 (기본) - -기본적으로 opencode는 수동 공유 모드를 사용합니다. 세션은 자동으로 공유되지 않지만 `/share` 명령을 사용하여 수동으로 공유 할 수 있습니다. - -``` -/share -``` - -클립보드에 복사할 수 있는 독특한 URL을 생성합니다. - -[config 파일](/docs/config)에서 수동 모드를 명시적으로 설정하려면: - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - ---- - -## 자동 공유 - -`share` 옵션을 설정하여 모든 새로운 대화에 대한 자동 공유를 활성화 할 수 있습니다 `"auto"` 당신의 [config 파일](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "auto" -} -``` - -자동 공유 활성화로 모든 새로운 대화는 자동으로 공유되고 링크가 생성됩니다. - ---- - -#### 비활성화 - -`share` 옵션을 설정하여 완전히 공유할 수 있습니다. `"disabled"`에 [config file](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -주어진 프로젝트를 위해 팀 전반에 걸쳐 이것을 시행하려면 프로젝트에 `opencode.json`에 추가하고 Git로 확인하십시오. - ---- - -## 공유 취소 - -대화를 중지하고 공공 액세스에서 제거 : - -``` -/unshare -``` - -이 공유 링크를 제거하고 대화와 관련된 데이터를 삭제합니다. - ---- - -## 개인 정보 - -대화를 나누면 마음이 유지되는 몇 가지가 있습니다. - ---- - -## 데이터 보유 - -공유 대화는 명시적으로 그들을 공유 할 때까지 접근 할 수 있습니다. 이름 \* -다음: - -- 전체 대화 기록 -- 모든 메시지 및 응답 -- 세션 메타데이터 - ---- - -### 추천 - -- 민감한 정보를 포함하지 않는 대화 만 공유합니다. -- 공유하기 전에 대화 내용을 검토하십시오. -- 협업이 완료되면 Unshare 대화. -- 독점 코드 또는 기밀 데이터와 대화를 공유하지 마십시오. -- 민감한 프로젝트를 위해, 완전히 공유할 수 있습니다. - ---- - -## 기업용 - -기업 배포를 위해, 공유 기능은: - -- ** 보안 준수를 위해 완전히 비활성화 ** -- **SSO를 통해 인증된 사용자에 대한 제한 ** -- ** 자체 인프라 ** - -[Learn more](/docs/enterprise) 귀하의 조직에서 opencode를 사용하여. diff --git a/packages/web/src/content/docs/ko/tui.mdx b/packages/web/src/content/docs/ko/tui.mdx index db2b1297e035..10baafd816e4 100644 --- a/packages/web/src/content/docs/ko/tui.mdx +++ b/packages/web/src/content/docs/ko/tui.mdx @@ -217,18 +217,6 @@ OpenCode를 종료합니다. _별칭_: `/quit`, `/q` --- -### share - -현재 세션을 공유합니다. [더 알아보기](/docs/share). - -```bash frame="none" -/share -``` - -**키바인드:** `ctrl+x s` - ---- - ### themes 사용 가능한 테마 목록을 표시합니다. @@ -273,16 +261,6 @@ OpenCode를 종료합니다. _별칭_: `/quit`, `/q` --- -### unshare - -현재 세션 공유를 취소합니다. [더 알아보기](/docs/share#un-sharing). - -```bash frame="none" -/unshare -``` - ---- - ## Editor setup `/editor`와 `/export` 명령 모두 `EDITOR` 환경 변수에 지정된 편집기를 사용합니다. diff --git a/packages/web/src/content/docs/nb/cli.mdx b/packages/web/src/content/docs/nb/cli.mdx index 36e9485e9742..5c4d61d08848 100644 --- a/packages/web/src/content/docs/nb/cli.mdx +++ b/packages/web/src/content/docs/nb/cli.mdx @@ -345,7 +345,6 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | Fortsett siste økt | | {"--session"} | `-s` | Økt ID for å fortsette | | {"--fork"} | | Forgren økten ved fortsettelse (bruk med `--continue` eller `--session`) | -| {"--share"} | | Del økten | | {"--model"} | `-m` | Modell å bruke i form av leverandør/modell | | {"--agent"} | | Agent å bruke | | {"--file"} | `-f` | Fil(er) som skal legges ved meldingen | @@ -442,17 +441,14 @@ Hvis du ikke gir en økt ID, blir du bedt om å velge fra tilgjengelige økter. ### import -Importer øktdata fra en JSON-fil eller en OpenCode share-URL. +Importer øktdata fra en JSON-fil. ```bash opencode import ``` -Du kan importere fra en lokal fil eller en OpenCode share-URL. - ```bash opencode import session.json -opencode import https://opncd.ai/s/abc123 ``` --- @@ -564,7 +560,6 @@ OpenCode kan konfigureres ved hjelp av miljøvariabler. | Variabel | Type | Beskrivelse | | ------------------------------------- | ------ | --------------------------------------------------------------------- | -| `OPENCODE_AUTO_SHARE` | boolsk | Del økter automatisk | | `OPENCODE_GIT_BASH_PATH` | streng | Bane til Git Bash-kjørbar på Windows | | `OPENCODE_CONFIG` | streng | Bane til konfigurasjonsfil | | `OPENCODE_TUI_CONFIG` | streng | Bane til TUI-konfigurasjonsfil | diff --git a/packages/web/src/content/docs/nb/commands.mdx b/packages/web/src/content/docs/nb/commands.mdx index b4bf8f09f37f..897e97ad0254 100644 --- a/packages/web/src/content/docs/nb/commands.mdx +++ b/packages/web/src/content/docs/nb/commands.mdx @@ -9,7 +9,7 @@ Egendefinerte kommandoer lar deg spesifisere en ledetekst du vil kjøre når kom /my-command ``` -Egendefinerte kommandoer kommer i tillegg til de innebygde kommandoene som `/init`, `/undo`, `/redo`, `/share`, `/help`. [Finn ut mer](/docs/tui#commands). +Egendefinerte kommandoer kommer i tillegg til de innebygde kommandoene som `/init`, `/undo`, `/redo`, `/help`. [Finn ut mer](/docs/tui#commands). --- @@ -314,7 +314,7 @@ Dette er et **valgfritt** konfigurasjonsalternativ. ## Innebygd -OpenCode inkluderer flere innebygde kommandoer som `/init`, `/undo`, `/redo`, `/share`, `/help`; [finn ut mer](/docs/tui#commands). +OpenCode inkluderer flere innebygde kommandoer som `/init`, `/undo`, `/redo`, `/help`; [finn ut mer](/docs/tui#commands). :::note Egendefinerte kommandoer kan overstyre innebygde kommandoer. diff --git a/packages/web/src/content/docs/nb/config.mdx b/packages/web/src/content/docs/nb/config.mdx index f617c1b8a377..76fd03c93355 100644 --- a/packages/web/src/content/docs/nb/config.mdx +++ b/packages/web/src/content/docs/nb/config.mdx @@ -358,27 +358,6 @@ Denne innstillingen gjelder for alle grensesnitt: TUI, CLI (`opencode run`), skr --- -### Deling - -Du kan konfigurere [share](/docs/share)-funksjonen gjennom alternativet `share`. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - -Dette krever: - -- `"manual"` - Tillat manuell deling via kommandoer (standard) -- `"auto"` - Del nye samtaler automatisk -- `"disabled"` - Deaktiver deling helt - -Som standard er deling satt til manuell modus der du eksplisitt må dele samtaler ved å bruke kommandoen `/share`. - ---- - ### Kommandoer Du kan konfigurere egendefinerte kommandoer for repeterende oppgaver gjennom alternativet `command`. diff --git a/packages/web/src/content/docs/nb/enterprise.mdx b/packages/web/src/content/docs/nb/enterprise.mdx index eef0d7e986ac..bd0dd2ec9376 100644 --- a/packages/web/src/content/docs/nb/enterprise.mdx +++ b/packages/web/src/content/docs/nb/enterprise.mdx @@ -32,27 +32,6 @@ OpenCode er åpen kildekode og lagrer ingen av koden eller kontekstdataene dine, Dette betyr at så lenge du bruker en leverandør du stoler på, eller en intern AI gateway, kan du bruke OpenCode sikkert. -Det eneste forbeholdet her er den valgfrie `/share`-funksjonen. - ---- - -#### Deling av samtaler - -Hvis en bruker aktiverer funksjonen `/share`, sendes samtalen og dataene knyttet til den til tjenesten vi bruker til å være vert for disse delesidene på opencode.ai. - -Dataene leveres for øyeblikket gjennom vårt CDNs edge-nettverk, og bufres på kanten nær brukerne dine. - -Vi anbefaler at du deaktiverer dette for prøveversjonen. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -[Finn ut mer om deling](/docs/share). - --- ### Kodeeierskap diff --git a/packages/web/src/content/docs/nb/github.mdx b/packages/web/src/content/docs/nb/github.mdx index 4a39c8830d03..929c5913d262 100644 --- a/packages/web/src/content/docs/nb/github.mdx +++ b/packages/web/src/content/docs/nb/github.mdx @@ -69,7 +69,6 @@ Eller du kan sette den opp manuelt. ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 - # share: true # github_token: xxxx ``` @@ -83,7 +82,6 @@ Eller du kan sette den opp manuelt. - `model`: Modellen som skal brukes med OpenCode. Tar formatet `provider/model`. Dette er **obligatorisk**. - `agent`: Agenten som skal brukes. Må være en primær agent. Faller tilbake til `default_agent` fra config eller `"build"` hvis ikke funnet. -- `share`: Om OpenCode-økten skal deles. Standard er **true** for offentlige depoter. - `prompt`: Valgfri egendefinert melding for å overstyre standard oppførsel. Bruk dette til å tilpasse hvordan OpenCode behandler forespørsler. - `token`: Valgfritt GitHub-tilgangstoken for å utføre operasjoner som å lage kommentarer, foreta endringer og åpne pull-forespørsler. Som standard bruker OpenCode installasjonstilgangstokenet fra OpenCode GitHub-appen, så commits, kommentarer og pull-forespørsler ser ut til å komme fra appen. diff --git a/packages/web/src/content/docs/nb/index.mdx b/packages/web/src/content/docs/nb/index.mdx index 0e6846d2b9de..90f74d169923 100644 --- a/packages/web/src/content/docs/nb/index.mdx +++ b/packages/web/src/content/docs/nb/index.mdx @@ -333,25 +333,6 @@ Eller du **kan gjøre om** endringene ved å bruke `/redo`-kommandoen. --- -## Deling - -Samtalene du har med OpenCode kan [deles med din -team](/docs/share). - -```bash frame="none" -/share -``` - -Dette vil opprette en kobling til den gjeldende samtalen og kopiere den til utklippstavlen. - -:::note -Samtaler deles ikke som standard. -::: - -Her er en [eksempelsamtale](https://opencode.ai/s/4XP1fce5) med OpenCode. - ---- - ## Tilpasning Og det er det! Du er nå en proff på å bruke OpenCode. diff --git a/packages/web/src/content/docs/nb/keybinds.mdx b/packages/web/src/content/docs/nb/keybinds.mdx index 623f7aa241ea..294081752287 100644 --- a/packages/web/src/content/docs/nb/keybinds.mdx +++ b/packages/web/src/content/docs/nb/keybinds.mdx @@ -24,8 +24,6 @@ OpenCode har en liste over tastebindinger som du kan tilpasse gjennom `tui.json` "session_timeline": "g", "session_fork": "none", "session_rename": "none", - "session_share": "none", - "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/nb/providers.mdx b/packages/web/src/content/docs/nb/providers.mdx index bf276918a9ba..cba964b25242 100644 --- a/packages/web/src/content/docs/nb/providers.mdx +++ b/packages/web/src/content/docs/nb/providers.mdx @@ -759,13 +759,12 @@ for å lagre token i OpenCode auth-lagring. OpenCode bruker en liten modell for noen AI oppgaver som å generere økttittelen. Den er konfigurert til å bruke gpt-5-nano som standard, hostet av Zen. For å låse OpenCode for kun å bruke din egen GitLab-hostede forekomst, legg til følgende i din -`opencode.json` fil. Det anbefales også å deaktivere øktdeling. +`opencode.json` fil. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5", - "share": "disabled" + "small_model": "gitlab/duo-chat-haiku-4-5" } ``` diff --git a/packages/web/src/content/docs/nb/server.mdx b/packages/web/src/content/docs/nb/server.mdx index a6ad8c6dfb17..cdf9d44b8c14 100644 --- a/packages/web/src/content/docs/nb/server.mdx +++ b/packages/web/src/content/docs/nb/server.mdx @@ -158,8 +158,6 @@ opencode-serveren viser følgende APIer. | `POST` | `/session/:id/init` | Analyser appen og lag `AGENTS.md` | body: `{ messageID, providerID, modelID }`, returnerer `boolean` | | `POST` | `/session/:id/fork` | Fork en eksisterende økt ved en melding | body: `{ messageID? }`, returnerer Session | | `POST` | `/session/:id/abort` | Avbryt en kjørende økt | Returnerer `boolean` | -| `POST` | `/session/:id/share` | Del en økt | Returnerer Session | -| `DELETE` | `/session/:id/share` | Slutt å dele en økt | Returnerer Session | | `GET` | `/session/:id/diff` | Hent diff for denne økten | spørring: `messageID?`, returnerer FileDiff[] | | `POST` | `/session/:id/summarize` | Oppsummer økten | body: `{ providerID, modelID }`, returnerer `boolean` | | `POST` | `/session/:id/revert` | Tilbakestill en melding | body: `{ messageID, partID? }`, returnerer `boolean` | diff --git a/packages/web/src/content/docs/nb/share.mdx b/packages/web/src/content/docs/nb/share.mdx deleted file mode 100644 index ca0cb4829acb..000000000000 --- a/packages/web/src/content/docs/nb/share.mdx +++ /dev/null @@ -1,128 +0,0 @@ ---- -title: Deling -description: Del dine OpenCode-samtaler. ---- - -Delingsfunksjonen i OpenCode lar deg lage offentlige lenker til dine OpenCode-samtaler, slik at du kan samarbeide med lagkamerater eller få hjelp fra andre. - -:::note -Delte samtaler er offentlig tilgjengelige for alle med linken. -::: - ---- - -## Slik fungerer det - -Når du deler en samtale, OpenCode: - -1. Oppretter en unik offentlig URL for økten din -2. Synkroniserer samtaleloggen din til serverne våre -3. Gjør samtalen tilgjengelig via den delbare lenken — `opncd.ai/s/` - ---- - -## Deling - -OpenCode støtter tre delingsmoduser som kontrollerer hvordan samtaler deles: - ---- - -### Manuell (standard) - -Som standard bruker OpenCode manuell delingsmodus. Økter deles ikke automatisk, men du kan dele dem manuelt ved å bruke kommandoen `/share`: - -``` -/share -``` - -Dette vil generere en unik URL som vil bli kopiert til utklippstavlen din. - -For å eksplisitt angi manuell modus i [konfigurasjonsfilen](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - ---- - -### Automatisk deling - -Du kan aktivere automatisk deling for alle nye samtaler ved å sette alternativet `share` til `"auto"` i [konfigurasjonsfilen](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "auto" -} -``` - -Med automatisk deling aktivert, vil hver nye samtale automatisk bli delt og en kobling vil bli generert. - ---- - -### Deaktivert - -Du kan deaktivere deling helt ved å sette alternativet `share` til `"disabled"` i [konfigurasjonsfilen](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -For å håndheve dette på tvers av teamet ditt for et gitt prosjekt, legg det til `opencode.json` i prosjektet ditt og sjekk det inn i Git. - ---- - -## Opphev deling - -Slik slutter du å dele en samtale og fjerner den fra offentlig tilgang: - -``` -/unshare -``` - -Dette vil fjerne delelinken og slette dataene knyttet til samtalen. - ---- - -## Personvern - -Det er et par ting du må huske på når du deler en samtale. - ---- - -### Datalagring - -Delte samtaler forblir tilgjengelige til du eksplisitt opphever deling av dem. Dette -inkluderer: - -- Full samtalehistorikk -- Alle meldinger og svar -- Metadata for økter - ---- - -### Anbefalinger - -- Del kun samtaler som ikke inneholder sensitiv informasjon. -- Se gjennom samtaleinnholdet før du deler. -- Opphev deling av samtaler når samarbeidet er fullført. -- Unngå å dele samtaler med proprietær kode eller konfidensielle data. -- For sensitive prosjekter, deaktiver deling helt. - ---- - -## For bedrifter - -For bedriftsimplementeringer kan delingsfunksjonen være: - -- **Deaktivert** helt for overholdelse av sikkerhet -- **Begrenset** til brukere som kun er autentisert gjennom SSO -- **Selv-hostet** på din egen infrastruktur - -[Finn ut mer](/docs/enterprise) om bruk av opencode i organisasjonen din. diff --git a/packages/web/src/content/docs/nb/tui.mdx b/packages/web/src/content/docs/nb/tui.mdx index 485e7d9969a4..77296959e77e 100644 --- a/packages/web/src/content/docs/nb/tui.mdx +++ b/packages/web/src/content/docs/nb/tui.mdx @@ -218,18 +218,6 @@ List opp og bytt mellom økter. _Aliaser_: `/resume`, `/continue` --- -### share - -Del gjeldende økt. [Finn ut mer](/docs/share). - -```bash frame="none" -/share -``` - -**Nøkkelbinding:** `ctrl+x s` - ---- - ### themes Liste over tilgjengelige temaer. @@ -275,16 +263,6 @@ være et Git-repo**. --- -### unshare - -Opphev deling av gjeldende økt. [Finn ut mer](/docs/share#un-sharing). - -```bash frame="none" -/unshare -``` - ---- - ## Oppsett av editor Både kommandoene `/editor` og `/export` bruker editoren som er spesifisert i miljøvariabelen `EDITOR`. diff --git a/packages/web/src/content/docs/pl/cli.mdx b/packages/web/src/content/docs/pl/cli.mdx index eee6d3e162c8..7802dc9c14cc 100644 --- a/packages/web/src/content/docs/pl/cli.mdx +++ b/packages/web/src/content/docs/pl/cli.mdx @@ -345,7 +345,6 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | Kontynuuj ostatnią sesję | | {"--session"} | `-s` | Identyfikator sesji do kontynuowania | | {"--fork"} | | Sklonuj sesję podczas kontynuacji (użyj z `--continue` lub `--session`) | -| {"--share"} | | Udostępnij sesję po zakończeniu | | {"--model"} | `-m` | Model do użycia w formacie dostawca/model | | {"--agent"} | | Agent do użycia | | {"--file"} | `-f` | Pliki do załączenia do wiadomości | @@ -442,17 +441,14 @@ Jeśli nie podasz identyfikatora sesji, zostaniesz poproszony o wybranie jednej ### import -Importuj dane sesji z pliku JSON lub adresu URL udostępniania OpenCode. +Importuj dane sesji z pliku JSON. ```bash opencode import ``` -Możesz importować z pliku lokalnego lub adresu URL. - ```bash opencode import session.json -opencode import https://opncd.ai/s/abc123 ``` --- @@ -564,7 +560,6 @@ OpenCode można skonfigurować za pomocą zmiennych środowiskowych. | Zmienna | Typ | Opis | | ------------------------------------- | ------- | ---------------------------------------------------------- | -| `OPENCODE_AUTO_SHARE` | boolean | Automatycznie udostępniaj sesje | | `OPENCODE_GIT_BASH_PATH` | string | Ścieżka do pliku wykonywalnego Git Bash w systemie Windows | | `OPENCODE_CONFIG` | string | Ścieżka do pliku konfiguracyjnego | | `OPENCODE_TUI_CONFIG` | string | Ścieżka do pliku konfiguracyjnego TUI | diff --git a/packages/web/src/content/docs/pl/commands.mdx b/packages/web/src/content/docs/pl/commands.mdx index 4c5dad7d6f58..d2bcdf7b5fce 100644 --- a/packages/web/src/content/docs/pl/commands.mdx +++ b/packages/web/src/content/docs/pl/commands.mdx @@ -9,7 +9,7 @@ Polecenia to zdefiniowane prompty, które można uruchomić w TUI. /my-command ``` -Polecenia są dodatkiem do wbudowanych, takich jak `/init`, `/undo`, `/redo`, `/share`, `/help`. [Dowiedz się więcej](/docs/tui#commands). +Polecenia są dodatkiem do wbudowanych, takich jak `/init`, `/undo`, `/redo`, `/help`. [Dowiedz się więcej](/docs/tui#commands). --- @@ -314,7 +314,7 @@ Jest to **opcjonalna** opcja konfiguracji. ## Wbudowane -opencode zawiera kilka wbudowanych poleceń, takich jak `/init`, `/undo`, `/redo`, `/share`, `/help`; [dowiedz się więcej](/docs/tui#commands). +opencode zawiera kilka wbudowanych poleceń, takich jak `/init`, `/undo`, `/redo`, `/help`; [dowiedz się więcej](/docs/tui#commands). :::note Polecenia wbudowane mogą zostać nadpisane. diff --git a/packages/web/src/content/docs/pl/config.mdx b/packages/web/src/content/docs/pl/config.mdx index 176d4ac7d667..739274aed081 100644 --- a/packages/web/src/content/docs/pl/config.mdx +++ b/packages/web/src/content/docs/pl/config.mdx @@ -353,27 +353,6 @@ Dotyczy to wszystkich interfejsów: TUI, CLI (`opencode run`), aplikacji desktop --- -### Share (Udostępnianie) - -Możesz skonfigurować [udostępnianie](/docs/share) za pomocą opcji `share`. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - -Opcje: - -- `"manual"` – Zezwalaj na ręczne udostępnianie (domyślnie) -- `"auto"` - Automatycznie udostępniaj nowe rozmowy -- `"disabled"` - Całkowicie wyłącz udostępnianie - -Domyślnie ustawiony jest tryb ręczny, w którym należy jawnie udostępniać rozmowy za pomocą polecenia `/share`. - ---- - ### Commands (Polecenia) Możesz zdefiniować niestandardowe polecenia dla powtarzalnych zadań za pomocą opcji `command`. diff --git a/packages/web/src/content/docs/pl/enterprise.mdx b/packages/web/src/content/docs/pl/enterprise.mdx index e5dbd1964041..8989c03876bf 100644 --- a/packages/web/src/content/docs/pl/enterprise.mdx +++ b/packages/web/src/content/docs/pl/enterprise.mdx @@ -32,27 +32,6 @@ opencode jest oprogramowaniem typu open source i nie przechowuje żadnego kodu a to, że korzystasz z usług dostawcy, lub dostawcy zaufania Brama AI, możesz bezpłatnie korzystać z opencode. -Zastrzeżeniem jest opcjonalna funkcja `/share`. - ---- - -#### Dzielenie się rozmowami - -Jeśli użytkownicy są połączeni z `/share`, połączenie jest połączone z danymi, które zostały przesłane do usług, które są udostępniane przez hosty tych użytkowników w opencode.ai. - -Dane są aktualnie dostępne przez sieć brzegową naszego CDN i są buforowane na brzegu w pobliżu Twoich użytkowników. - -Zalecamy tę opcję na okres próbny. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -[Więcej informacji o udostępnianiu](/docs/share). - --- ### Własność kodu diff --git a/packages/web/src/content/docs/pl/github.mdx b/packages/web/src/content/docs/pl/github.mdx index 9b22ac4d5b46..488b3e498a9d 100644 --- a/packages/web/src/content/docs/pl/github.mdx +++ b/packages/web/src/content/docs/pl/github.mdx @@ -69,7 +69,6 @@ Można też uszkodzić to rozwiązanie. ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 - # share: true # github_token: xxxx ``` @@ -83,7 +82,6 @@ Można też uszkodzić to rozwiązanie. - `model`: Model używany z opencode. Przyjmuje format `provider/model`. To **wymagane**. - `agent`: Agent, którego należy używać. Musi być odległym agentem. Wraca do `default_agent` z konfiguracją lub `"build"`, jeśli nie został znaleziony. -- `share`: Czyć funkcję sesji opencode. Domyślnie **true** dla repozytoriów publicznych. - `prompt`: Opcjonalny niestandardowy monit o zastąpienie przestrzegania zachowania. Wykorzystanie tego, aby dostosować sposób przetwarzania przez opencode. - `token`: opcjonalny token dostępu GitHub podstawowe operacje, takie jak tworzenie komentarzy, zatwierdzanie zmian i otwieranie zastosowania ściągnięcia. Domyślnie opencode używa tokena dostępu do instalacji z aplikacji opencode GitHub, więc zatwierdzenia, komentarze i zasady ściągnięcia widoczne jako źródło z aplikacji. diff --git a/packages/web/src/content/docs/pl/index.mdx b/packages/web/src/content/docs/pl/index.mdx index fc571ec5d9ef..1c587db9d221 100644 --- a/packages/web/src/content/docs/pl/index.mdx +++ b/packages/web/src/content/docs/pl/index.mdx @@ -322,24 +322,6 @@ Możesz też **przywrócić** zmianę za pomocą polecenia `/redo`. --- -## Udostępnianie - -Rozmowy z opencode można [udostępniać swojemu zespołowi](/docs/share). - -```bash frame="none" -/share -``` - -Spowoduje to, że link do bieżącej rozmowy zostanie skopiowany do schowka. - -:::note -Rozmowy nie są ogólnodostępne. -::: - -Oto [przykładowa rozmowa](https://opencode.ai/s/4XP1fce5) z opencode. - ---- - ## Dostosuj To tyle! Jesteś teraz profesjonalistą w korzystaniu z opencode. diff --git a/packages/web/src/content/docs/pl/keybinds.mdx b/packages/web/src/content/docs/pl/keybinds.mdx index 0d3068feaf2a..42c55cbf4258 100644 --- a/packages/web/src/content/docs/pl/keybinds.mdx +++ b/packages/web/src/content/docs/pl/keybinds.mdx @@ -24,8 +24,6 @@ OpenCode zawiera listę skrótów klawiszowych, które można dostosować za pom "session_timeline": "g", "session_fork": "none", "session_rename": "none", - "session_share": "none", - "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/pl/providers.mdx b/packages/web/src/content/docs/pl/providers.mdx index 0e722d5fde2e..35179f5a0c40 100644 --- a/packages/web/src/content/docs/pl/providers.mdx +++ b/packages/web/src/content/docs/pl/providers.mdx @@ -757,13 +757,12 @@ to store token in opencode auth storage. opencode używa małego modelu do niektórych zadań AI, takich jak generowanie tytułu sesji. Domyślnie jest skonfigurowany do używania gpt-5-nano, hostowanego przez Zen. Aby zablokować opencode aby używać tylko własnej instancji hostowanej przez GitLab, dodaj następujące elementy do pliku -`opencode.json` plik. Zalecane jest również wyłączenie udostępniania sesji. +`opencode.json` plik. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5", - "share": "disabled" + "small_model": "gitlab/duo-chat-haiku-4-5" } ``` diff --git a/packages/web/src/content/docs/pl/server.mdx b/packages/web/src/content/docs/pl/server.mdx index 0efcf486f63a..eec325c16942 100644 --- a/packages/web/src/content/docs/pl/server.mdx +++ b/packages/web/src/content/docs/pl/server.mdx @@ -158,8 +158,6 @@ Serwer opencode udostępnia następujące interfejsy API. | `POST` | `/session/:id/init` | Przeanalizuj aplikację i utwórz `AGENTS.md` | treść: `{ messageID, providerID, modelID }`, zwraca `boolean` | | `POST` | `/session/:id/fork` | Rozwiń istniejącą sesję w wiadomości | treść: `{ messageID? }`, zwraca Session | | `POST` | `/session/:id/abort` | Przerwij trwającą sesję | Zwraca `boolean` | -| `POST` | `/session/:id/share` | Udostępnij sesję | Zwraca Session | -| `DELETE` | `/session/:id/share` | Anuluj udostępnianie sesji | Zwraca Session | | `GET` | `/session/:id/diff` | Pobierz różnicę dla tej sesji | zapytanie: `messageID?`, zwraca FileDiff[] | | `POST` | `/session/:id/summarize` | Podsumuj sesję | treść: `{ providerID, modelID }`, zwraca `boolean` | | `POST` | `/session/:id/revert` | Przywróć wiadomość | treść: `{ messageID, partID? }`, zwraca `boolean` | diff --git a/packages/web/src/content/docs/pl/share.mdx b/packages/web/src/content/docs/pl/share.mdx deleted file mode 100644 index 0389267b59ad..000000000000 --- a/packages/web/src/content/docs/pl/share.mdx +++ /dev/null @@ -1,128 +0,0 @@ ---- -title: Udostępnianie -description: Udostępnij swoje rozmowy dotyczące opencode. ---- - -Funkcja udostępniania opencode umożliwia tworzenie publicznych linków do konwersacji opencode, dzięki czemu możesz współpracować z członkami zespołu lub uzyskać pomoc od innych. - -:::note -Udostępnione konwersacje są publicznie dostępne dla każdej osoby mającej link. -::: - ---- - -## Jak to działa - -Kiedy udostępniasz rozmowę, opencode: - -1. Tworzy unikalny publiczny adres URL sesji -2. Synchronizuje historię rozmów z naszymi serwerami -3. Udostępnia rozmowę za pośrednictwem łącza do udostępniania — `opncd.ai/s/` - ---- - -## Udostępnianie - -opencode obsługuje trzy tryby udostępniania, które kontrolują sposób udostępniania rozmów: - ---- - -### Ręczne (domyślne) - -Domyślnie opencode korzysta z ręcznego trybu udostępniania. Sesje nie są udostępniane automatycznie, ale możesz je udostępnić ręcznie za pomocą polecenia `/share`: - -``` -/share -``` - -Spowoduje to wygenerowanie unikalnego adresu URL, który zostanie skopiowany do schowka. - -Aby jawnie ustawić tryb ręczny w [pliku konfiguracyjnym] (./config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - ---- - -### Automatyczne udostępnianie - -Możesz włączyć automatyczne udostępnianie dla wszystkich nowych rozmów, ustawiając opcję `share` na `"auto"` w [pliku konfiguracyjnym] (./config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "auto" -} -``` - -Po włączeniu automatycznego udostępniania każda nowa rozmowa będzie automatycznie udostępniana i generowany będzie link. - ---- - -### Wyłączone - -Możesz całkowicie wyłączyć udostępnianie, ustawiając opcję `share` na `"disabled"` w [pliku konfiguracyjnym] (./config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -Aby wymusić to w całym zespole dla danego projektu, dodaj go do `opencode.json` w swoim projekcie i sprawdź w Git. - ---- - -## Cofnięcie udostępnienia - -Aby zatrzymać udostępnianie rozmowy i usunąć ją z dostępu publicznego: - -``` -/unshare -``` - -Spowoduje to usunięcie łącza udostępniania i danych związanych z rozmową. - ---- - -## Prywatność - -Podczas udostępniania rozmowy należy pamiętać o kilku rzeczach. - ---- - -### Przechowywanie danych - -Udostępnione rozmowy pozostają dostępne, dopóki wyraźnie ich nie udostępnisz. Ten -includes: - -- Pełna historia rozmów -- Wszystkie wiadomości i odpowiedzi -- Metadane sesji - ---- - -### Zalecenia - -- Udostępniaj tylko rozmowy, które nie zawierają poufnych informacji. -- Przejrzyj treść rozmowy przed udostępnieniem. -- Cofnij udostępnianie rozmów po zakończeniu współpracy. -- Unikaj udostępniania rozmów zawierających zastrzeżony kod lub poufne dane. -- W przypadku wrażliwych projektów całkowicie wyłącz udostępnianie. - ---- - -## Dla przedsiębiorstw - -W przypadku wdrożeń korporacyjnych funkcją udostępniania może być: - -- **Wyłączone** całkowicie ze względu na bezpieczeństwo -- **Restricted** to users authenticated through SSO only -- **Własny hosting** na własnej infrastrukturze - -[Dowiedz się więcej](/docs/enterprise) o używaniu opencode w Twojej organizacji. diff --git a/packages/web/src/content/docs/pl/tui.mdx b/packages/web/src/content/docs/pl/tui.mdx index 02728b81de45..4996d834d163 100644 --- a/packages/web/src/content/docs/pl/tui.mdx +++ b/packages/web/src/content/docs/pl/tui.mdx @@ -218,18 +218,6 @@ Wyświetl listę i przełączaj się między sesjami. _Aliasy_: `/resume`, `/con --- -### share - -Udostępnij bieżącą sesję. [Dowiedz się więcej](/docs/share). - -```bash frame="none" -/share -``` - -**Keybind:** `ctrl+x s` - ---- - ### themes Lista dostępnych motywów. @@ -275,16 +263,6 @@ be a Git repository**. --- -### unshare - -Anuluj udostępnianie bieżącej sesji. [Dowiedz się więcej](/docs/share#un-sharing). - -```bash frame="none" -/unshare -``` - ---- - ## Konfiguracja edytora Zarówno polecenia `/editor`, jak i `/export` korzystają z edytora określonego w zmiennej środowiskowej `EDITOR`. diff --git a/packages/web/src/content/docs/providers.mdx b/packages/web/src/content/docs/providers.mdx index ff2e8cfee807..9f2e9338f9d8 100644 --- a/packages/web/src/content/docs/providers.mdx +++ b/packages/web/src/content/docs/providers.mdx @@ -1042,13 +1042,12 @@ to store token in opencode auth storage. OpenCode uses a small model for some AI tasks like generating the session title. It is configured to use gpt-5-nano by default, hosted by Zen. To lock OpenCode to only use your own GitLab-hosted instance, add the following to your -`opencode.json` file. It is also recommended to disable session sharing. +`opencode.json` file. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5", - "share": "disabled" + "small_model": "gitlab/duo-chat-haiku-4-5" } ``` diff --git a/packages/web/src/content/docs/pt-br/cli.mdx b/packages/web/src/content/docs/pt-br/cli.mdx index 69b69e1f2836..e2db2027ada5 100644 --- a/packages/web/src/content/docs/pt-br/cli.mdx +++ b/packages/web/src/content/docs/pt-br/cli.mdx @@ -345,7 +345,6 @@ opencode run --attach http://localhost:4096 "Explique async/await em JavaScript" | {"--continue"} | `-c` | Continue a última sessão | | {"--session"} | `-s` | ID da sessão para continuar | | {"--fork"} | | Criar um fork da sessão ao continuar (use com `--continue` ou `--session`) | -| {"--share"} | | Compartilhe a sessão | | {"--model"} | `-m` | Modelo a ser usado na forma de provider/model | | {"--agent"} | | Agente a ser usado | | {"--file"} | `-f` | Arquivo(s) a serem anexados à mensagem | @@ -442,17 +441,14 @@ Se você não fornecer um ID de sessão, será solicitado que você selecione en ### import -Importe dados da sessão de um arquivo JSON ou URL de compartilhamento do opencode. +Importe dados da sessão de um arquivo JSON. ```bash opencode import ``` -Você pode importar de um arquivo local ou de uma URL de compartilhamento do opencode. - ```bash opencode import session.json -opencode import https://opncd.ai/s/abc123 ``` --- @@ -564,7 +560,6 @@ O opencode pode ser configurado usando variáveis de ambiente. | Variável | Tipo | Descrição | | ------------------------------------- | ------- | --------------------------------------------------------------------- | -| `OPENCODE_AUTO_SHARE` | boolean | Compartilhar sessões automaticamente | | `OPENCODE_GIT_BASH_PATH` | string | Caminho para o executável do Git Bash no Windows | | `OPENCODE_CONFIG` | string | Caminho para o arquivo de configuração | | `OPENCODE_CONFIG_DIR` | string | Caminho para o diretório de configuração | diff --git a/packages/web/src/content/docs/pt-br/commands.mdx b/packages/web/src/content/docs/pt-br/commands.mdx index b4a8a306d8d5..4e4b02589b3a 100644 --- a/packages/web/src/content/docs/pt-br/commands.mdx +++ b/packages/web/src/content/docs/pt-br/commands.mdx @@ -9,7 +9,7 @@ Comandos personalizados permitem que você especifique um prompt que deseja exec /my-command ``` -Comandos personalizados são adicionais aos comandos integrados como `/init`, `/undo`, `/redo`, `/share`, `/help`. [Saiba mais](/docs/tui#commands). +Comandos personalizados são adicionais aos comandos integrados como `/init`, `/undo`, `/redo`, `/help`. [Saiba mais](/docs/tui#commands). --- @@ -313,7 +313,7 @@ Esta é uma opção de configuração **opcional**. ## Integrados -opencode inclui vários comandos integrados como `/init`, `/undo`, `/redo`, `/share`, `/help`; [saiba mais](/docs/tui#commands). +opencode inclui vários comandos integrados como `/init`, `/undo`, `/redo`, `/help`; [saiba mais](/docs/tui#commands). :::note Comandos personalizados podem substituir comandos integrados. diff --git a/packages/web/src/content/docs/pt-br/config.mdx b/packages/web/src/content/docs/pt-br/config.mdx index 3dc969a9b57e..d943bca97fce 100644 --- a/packages/web/src/content/docs/pt-br/config.mdx +++ b/packages/web/src/content/docs/pt-br/config.mdx @@ -357,27 +357,6 @@ Essa configuração se aplica a todas as interfaces: TUI, CLI (`opencode run`), --- -### Compartilhamento - -Você pode configurar o recurso [share](/docs/share) através da opção `share`. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - -Isso aceita: - -- `"manual"` - Permitir compartilhamento manual via comandos (padrão) -- `"auto"` - Compartilhar novas conversas automaticamente -- `"disabled"` - Desabilitar compartilhamento completamente - -Por padrão, o compartilhamento é definido para o modo manual, onde você precisa compartilhar explicitamente as conversas usando o comando `/share`. - ---- - ### Comandos Você pode configurar comandos personalizados para tarefas repetitivas através da opção `command`. diff --git a/packages/web/src/content/docs/pt-br/enterprise.mdx b/packages/web/src/content/docs/pt-br/enterprise.mdx index 3a649dc07725..0deb081e1235 100644 --- a/packages/web/src/content/docs/pt-br/enterprise.mdx +++ b/packages/web/src/content/docs/pt-br/enterprise.mdx @@ -31,27 +31,6 @@ O opencode é de código aberto e não armazena nenhum de seus códigos ou dados Isso significa que, enquanto você estiver usando um provedor em quem confia, ou um gateway de IA interno, você pode usar o opencode com segurança. -A única ressalva aqui é o recurso opcional `/share`. - ---- - -#### Compartilhando conversas - -Se um usuário habilitar o recurso `/share`, a conversa e os dados associados a ela são enviados para o serviço que usamos para hospedar essas páginas de compartilhamento em opencode.ai. - -Os dados são atualmente servidos através da rede de borda do nosso CDN e são armazenados em cache na borda perto de seus usuários. - -Recomendamos que você desative isso para seu teste. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -[Saiba mais sobre compartilhamento](/docs/share). - --- ### Propriedade do código diff --git a/packages/web/src/content/docs/pt-br/github.mdx b/packages/web/src/content/docs/pt-br/github.mdx index c2e53ca77eab..32b3f5020b5c 100644 --- a/packages/web/src/content/docs/pt-br/github.mdx +++ b/packages/web/src/content/docs/pt-br/github.mdx @@ -69,7 +69,6 @@ Ou você pode configurá-lo manualmente. ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 - # share: true # github_token: xxxx ``` @@ -83,7 +82,6 @@ Ou você pode configurá-lo manualmente. - `model`: O modelo a ser usado com o opencode. Tem o formato de `provider/model`. Isso é **obrigatório**. - `agent`: O agente a ser usado. Deve ser um agente primário. Retorna ao `default_agent` da configuração ou `"build"` se não encontrado. -- `share`: Se deve compartilhar a sessão do opencode. O padrão é **true** para repositórios públicos. - `prompt`: Prompt personalizado opcional para substituir o comportamento padrão. Use isso para personalizar como o opencode processa solicitações. - `token`: Token de acesso do GitHub opcional para realizar operações como criar comentários, confirmar alterações e abrir pull requests. Por padrão, o opencode usa o token de acesso da instalação do aplicativo GitHub opencode, então commits, comentários e pull requests aparecem como se fossem da aplicação. diff --git a/packages/web/src/content/docs/pt-br/index.mdx b/packages/web/src/content/docs/pt-br/index.mdx index 6f23f4ebc58b..481890fe888b 100644 --- a/packages/web/src/content/docs/pt-br/index.mdx +++ b/packages/web/src/content/docs/pt-br/index.mdx @@ -319,24 +319,6 @@ Ou você **pode refazer** as alterações usando o comando `/redo`. --- -## Compartilhamento - -As conversas que você tem com o opencode podem ser [compartilhadas com sua equipe](/docs/share). - -```bash frame="none" -/share -``` - -Isso criará um link para a conversa atual e o copiará para sua área de transferência. - -:::note -As conversas não são compartilhadas por padrão. -::: - -Aqui está uma [conversa de exemplo](https://opencode.ai/s/4XP1fce5) com o opencode. - ---- - ## Personalização E é isso! Agora você é um profissional em usar o opencode. diff --git a/packages/web/src/content/docs/pt-br/keybinds.mdx b/packages/web/src/content/docs/pt-br/keybinds.mdx index e1f0f8e7ca36..275ae852f8f5 100644 --- a/packages/web/src/content/docs/pt-br/keybinds.mdx +++ b/packages/web/src/content/docs/pt-br/keybinds.mdx @@ -24,8 +24,6 @@ O opencode tem uma lista de atalhos de teclado que você pode personalizar atrav "session_timeline": "g", "session_fork": "none", "session_rename": "none", - "session_share": "none", - "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/pt-br/providers.mdx b/packages/web/src/content/docs/pt-br/providers.mdx index 174bc1679b61..006d7601627d 100644 --- a/packages/web/src/content/docs/pt-br/providers.mdx +++ b/packages/web/src/content/docs/pt-br/providers.mdx @@ -761,13 +761,12 @@ armazenar o token no armazenamento de autenticação do opencode. opencode usa um pequeno modelo para algumas tarefas de AI, como gerar o título da sessão. Ele está configurado para usar gpt-5-nano por padrão, hospedado pela Zen. Para bloquear o opencode para usar apenas sua própria instância hospedada do GitLab, adicione o seguinte ao seu -arquivo `opencode.json`. Também é recomendado desativar o compartilhamento de sessões. +arquivo `opencode.json`. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5", - "share": "disabled" + "small_model": "gitlab/duo-chat-haiku-4-5" } ``` diff --git a/packages/web/src/content/docs/pt-br/server.mdx b/packages/web/src/content/docs/pt-br/server.mdx index 6d2e9eb38617..2b04199cd062 100644 --- a/packages/web/src/content/docs/pt-br/server.mdx +++ b/packages/web/src/content/docs/pt-br/server.mdx @@ -155,8 +155,6 @@ O servidor opencode expõe as seguintes APIs. | `POST` | `/session/:id/init` | Analisar o app e criar `AGENTS.md` | corpo: `{ messageID, providerID, modelID }`, retorna `boolean` | | `POST` | `/session/:id/fork` | Fazer um fork de uma sessão existente em uma mensagem | corpo: `{ messageID? }`, retorna Session | | `POST` | `/session/:id/abort` | Abortar uma sessão em execução | Retorna `boolean` | -| `POST` | `/session/:id/share` | Compartilhar uma sessão | Retorna Session | -| `DELETE` | `/session/:id/share` | Descompartilhar uma sessão | Retorna Session | | `GET` | `/session/:id/diff` | Obter a diferença para esta sessão | query: `messageID?`, retorna FileDiff[] | | `POST` | `/session/:id/summarize` | Resumir a sessão | corpo: `{ providerID, modelID }`, retorna `boolean` | | `POST` | `/session/:id/revert` | Reverter uma mensagem | corpo: `{ messageID, partID? }`, retorna `boolean` | diff --git a/packages/web/src/content/docs/pt-br/share.mdx b/packages/web/src/content/docs/pt-br/share.mdx deleted file mode 100644 index 166226d6dc28..000000000000 --- a/packages/web/src/content/docs/pt-br/share.mdx +++ /dev/null @@ -1,127 +0,0 @@ ---- -title: Compartilhar -description: Compartilhe suas conversas do opencode. ---- - -O recurso de compartilhamento do opencode permite que você crie links públicos para suas conversas do opencode, para que você possa colaborar com colegas de equipe ou obter ajuda de outros. - -:::note -Conversas compartilhadas são acessíveis publicamente para qualquer pessoa com o link. -::: - ---- - -## Como funciona - -Quando você compartilha uma conversa, o opencode: - -1. Cria uma URL pública única para sua sessão -2. Sincroniza seu histórico de conversas com nossos servidores -3. Torna a conversa acessível através do link compartilhável — `opncd.ai/s/` - ---- - -## Compartilhamento - -O opencode suporta três modos de compartilhamento que controlam como as conversas são compartilhadas: - ---- - -### Manual (padrão) - -Por padrão, o opencode usa o modo de compartilhamento manual. As sessões não são compartilhadas automaticamente, mas você pode compartilhá-las manualmente usando o comando `/share`: - -``` -/share -``` - -Isso gerará uma URL única que será copiada para sua área de transferência. - -Para definir explicitamente o modo manual em seu [arquivo de configuração](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - ---- - -### Compartilhamento automático - -Você pode habilitar o compartilhamento automático para todas as novas conversas definindo a opção `share` como `"auto"` em seu [arquivo de configuração](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "auto" -} -``` - -Com o compartilhamento automático habilitado, cada nova conversa será compartilhada automaticamente e um link será gerado. - ---- - -### Desativado - -Você pode desativar o compartilhamento completamente definindo a opção `share` como `"disabled"` em seu [arquivo de configuração](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -Para impor isso em sua equipe para um determinado projeto, adicione-o ao `opencode.json` em seu projeto e faça o check-in no Git. - ---- - -## Cancelar compartilhamento - -Para parar de compartilhar uma conversa e removê-la do acesso público: - -``` -/unshare -``` - -Isso removerá o link de compartilhamento e excluirá os dados relacionados à conversa. - ---- - -## Privacidade - -Há algumas coisas a serem lembradas ao compartilhar uma conversa. - ---- - -### Retenção de dados - -Conversas compartilhadas permanecem acessíveis até que você as descompartilhe explicitamente. Isso inclui: - -- Histórico completo da conversa -- Todas as mensagens e respostas -- Metadados da sessão - ---- - -### Recomendações - -- Compartilhe apenas conversas que não contenham informações sensíveis. -- Revise o conteúdo da conversa antes de compartilhar. -- Descompartilhe conversas quando a colaboração estiver completa. -- Evite compartilhar conversas com código proprietário ou dados confidenciais. -- Para projetos sensíveis, desative o compartilhamento completamente. - ---- - -## Para empresas - -Para implantações empresariais, o recurso de compartilhamento pode ser: - -- **Desativado** completamente para conformidade de segurança -- **Restrito** a usuários autenticados apenas através de SSO -- **Auto-hospedado** em sua própria infraestrutura - -[Saiba mais](/docs/enterprise) sobre como usar o opencode em sua organização. diff --git a/packages/web/src/content/docs/pt-br/tui.mdx b/packages/web/src/content/docs/pt-br/tui.mdx index ffd74c4299bc..58b327a70150 100644 --- a/packages/web/src/content/docs/pt-br/tui.mdx +++ b/packages/web/src/content/docs/pt-br/tui.mdx @@ -217,18 +217,6 @@ Liste e alterne entre sessões. _Aliases_: `/resume`, `/continue` --- -### share - -Compartilhe a sessão atual. [Saiba mais](/docs/share). - -```bash frame="none" -/share -``` - -**Atalho:** `ctrl+x s` - ---- - ### themes Liste os temas disponíveis. @@ -273,16 +261,6 @@ Internamente, isso usa Git para gerenciar as alterações de arquivo. Portanto, --- -### unshare - -Descompartilhe a sessão atual. [Saiba mais](/docs/share#un-sharing). - -```bash frame="none" -/unshare -``` - ---- - ## Configuração do Editor Tanto os comandos `/editor` quanto `/export` usam o editor especificado na sua variável de ambiente `EDITOR`. diff --git a/packages/web/src/content/docs/ru/cli.mdx b/packages/web/src/content/docs/ru/cli.mdx index ac48039aa857..c0d23d966ba7 100644 --- a/packages/web/src/content/docs/ru/cli.mdx +++ b/packages/web/src/content/docs/ru/cli.mdx @@ -345,7 +345,6 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | Продолжить последний сеанс | | {"--session"} | `-s` | Идентификатор сеанса для продолжения | | {"--fork"} | | Разветвить сеанс при продолжении (используйте с `--continue` или `--session`) | -| {"--share"} | | Поделиться сеансом | | {"--model"} | `-m` | Модель для использования в виде поставщика/модели. | | {"--agent"} | | Агент для использования | | {"--file"} | `-f` | Файл(ы) для прикрепления к сообщению | @@ -442,17 +441,14 @@ opencode export [sessionID] ### import -Импортируйте данные сеанса из файла JSON или URL-адреса общего ресурса opencode. +Импортируйте данные сеанса из файла JSON. ```bash opencode import ``` -Вы можете импортировать из локального файла или URL-адреса общего ресурса opencode. - ```bash opencode import session.json -opencode import https://opncd.ai/s/abc123 ``` --- @@ -564,7 +560,6 @@ opencode можно настроить с помощью переменных с | Переменная | Тип | Описание | | ------------------------------------- | ------------------- | -------------------------------------------------------------------------------- | -| `OPENCODE_AUTO_SHARE` | логическое значение | Автоматически делиться сеансами | | `OPENCODE_GIT_BASH_PATH` | строка | Путь к исполняемому файлу Git Bash в Windows | | `OPENCODE_CONFIG` | строка | Путь к файлу конфигурации | | `OPENCODE_TUI_CONFIG` | строка | Путь к файлу конфигурации TUI | diff --git a/packages/web/src/content/docs/ru/commands.mdx b/packages/web/src/content/docs/ru/commands.mdx index 447ef0f0dc6e..e4d3fedd00cc 100644 --- a/packages/web/src/content/docs/ru/commands.mdx +++ b/packages/web/src/content/docs/ru/commands.mdx @@ -9,7 +9,7 @@ description: Создавайте собственные команды для /my-command ``` -Пользовательские команды дополняют встроенные команды, такие как `/init`, `/undo`, `/redo`, `/share`, `/help`. [Подробнее](/docs/tui#commands). +Пользовательские команды дополняют встроенные команды, такие как `/init`, `/undo`, `/redo`, `/help`. [Подробнее](/docs/tui#commands). --- @@ -314,7 +314,7 @@ Check for performance issues and suggest improvements. ## Встроенные команды -opencode включает несколько встроенных команд, таких как `/init`, `/undo`, `/redo`, `/share`, `/help`; [подробнее](/docs/tui#commands). +opencode включает несколько встроенных команд, таких как `/init`, `/undo`, `/redo`, `/help`; [подробнее](/docs/tui#commands). :::note Пользовательские команды могут переопределять встроенные команды. diff --git a/packages/web/src/content/docs/ru/config.mdx b/packages/web/src/content/docs/ru/config.mdx index d6177bd59caf..5505420d37fa 100644 --- a/packages/web/src/content/docs/ru/config.mdx +++ b/packages/web/src/content/docs/ru/config.mdx @@ -356,27 +356,6 @@ Amazon Bedrock поддерживает конфигурацию, специфи --- -### share - -Функцию [share](/docs/share) можно настроить с помощью опции `share`. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - -Принимает значения: - -- `"manual"` — разрешить общий доступ вручную с помощью команд (по умолчанию). -- `"auto"` — автоматически делиться новыми беседами. -- `"disabled"` — полностью отключить общий доступ - -По умолчанию общий доступ установлен в ручной режим, в котором вам необходимо явно делиться разговорами с помощью команды `/share`. - ---- - ### Команды Вы можете настроить собственные команды для повторяющихся задач с помощью опции `command`. diff --git a/packages/web/src/content/docs/ru/enterprise.mdx b/packages/web/src/content/docs/ru/enterprise.mdx index d5932e0e0c88..d22c99423ab0 100644 --- a/packages/web/src/content/docs/ru/enterprise.mdx +++ b/packages/web/src/content/docs/ru/enterprise.mdx @@ -32,27 +32,6 @@ opencode имеет открытый исходный код и не храни Это означает, что пока вы используете поставщика, которому доверяете, или внутреннего Шлюз AI позволяет безопасно использовать opencode. -Единственное предостережение — это дополнительная функция `/share`. - ---- - -#### Обмен беседами - -Если пользователь включает функцию `/share`, разговор и связанные с ним данные отправляются в службу, которую мы используем для размещения этих общих страниц на opencode.ai. - -В настоящее время данные передаются через периферийную сеть нашей CDN и кэшируются на периферии рядом с вашими пользователями. - -Мы рекомендуем вам отключить эту функцию для пробной версии. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -[Подробнее о совместном использовании](/docs/share). - --- ### Владение кодом diff --git a/packages/web/src/content/docs/ru/github.mdx b/packages/web/src/content/docs/ru/github.mdx index 131d4f66ddfa..10d8d3e7eefb 100644 --- a/packages/web/src/content/docs/ru/github.mdx +++ b/packages/web/src/content/docs/ru/github.mdx @@ -69,7 +69,6 @@ opencode github install ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 - # share: true # github_token: xxxx ``` @@ -83,7 +82,6 @@ opencode github install - `model`: модель для использования с opencode. Принимает формат `provider/model`. Это **обязательно**. - `agent`: используемый агент. Должен быть основным агентом. Возвращается к `default_agent` из конфигурации или к `"build"`, если не найден. -- `share`: следует ли предоставлять общий доступ к сеансу opencode. По умолчанию **true** для общедоступных репозиториев. - `prompt`: дополнительный настраиваемый запрос для переопределения поведения по умолчанию. Используйте это, чтобы настроить обработку запросов opencode. - `token`: дополнительный токен доступа GitHub для выполнения таких операций, как создание комментариев, фиксация изменений и открытие запросов на включение. По умолчанию opencode использует токен доступа к установке из приложения opencode GitHub, поэтому фиксации, комментарии и запросы на включение отображаются как исходящие из приложения. diff --git a/packages/web/src/content/docs/ru/index.mdx b/packages/web/src/content/docs/ru/index.mdx index 3208b32b5e00..33e0e99c9ab3 100644 --- a/packages/web/src/content/docs/ru/index.mdx +++ b/packages/web/src/content/docs/ru/index.mdx @@ -330,25 +330,6 @@ Can you refactor the function in @packages/functions/src/api/index.ts? --- -## Общий доступ - -Разговорами, которые вы ведете с opencode, можно [поделиться с вашей -командой](/docs/share). - -```bash frame="none" -/share -``` - -Это создаст ссылку на текущий разговор и скопирует ее в буфер обмена. - -:::note -По умолчанию общий доступ к беседам не предоставляется. -::: - -Вот [пример диалога](https://opencode.ai/s/4XP1fce5) с opencode. - ---- - ## Настроить И все! Теперь вы профессионал в использовании opencode. diff --git a/packages/web/src/content/docs/ru/keybinds.mdx b/packages/web/src/content/docs/ru/keybinds.mdx index bde4e155307b..a19feb18cd0a 100644 --- a/packages/web/src/content/docs/ru/keybinds.mdx +++ b/packages/web/src/content/docs/ru/keybinds.mdx @@ -24,8 +24,6 @@ opencode имеет список сочетаний клавиш, которые "session_timeline": "g", "session_fork": "none", "session_rename": "none", - "session_share": "none", - "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/ru/providers.mdx b/packages/web/src/content/docs/ru/providers.mdx index 39aae9e09630..c90ad5ea1720 100644 --- a/packages/web/src/content/docs/ru/providers.mdx +++ b/packages/web/src/content/docs/ru/providers.mdx @@ -757,13 +757,12 @@ GitLab Duo предоставляет агентский чат на базе и opencode использует небольшую модель для некоторых задач ИИ, таких как создание заголовка сеанса. По умолчанию он настроен на использование gpt-5-nano, размещенного на Zen. Чтобы заблокировать opencode чтобы использовать только свой собственный экземпляр, размещенный на GitLab, добавьте следующее в свой -`opencode.json` файл. Также рекомендуется отключить совместное использование сеансов. +`opencode.json` файл. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5", - "share": "disabled" + "small_model": "gitlab/duo-chat-haiku-4-5" } ``` diff --git a/packages/web/src/content/docs/ru/server.mdx b/packages/web/src/content/docs/ru/server.mdx index 2356543dff2e..95b6cb711e7f 100644 --- a/packages/web/src/content/docs/ru/server.mdx +++ b/packages/web/src/content/docs/ru/server.mdx @@ -158,8 +158,6 @@ For example, `http://localhost:4096/doc`. Use the spec to generate clients or in | `POST` | `/session/:id/init` | Анализ приложения и создание `AGENTS.md` | body: `{ messageID, providerID, modelID }`, возвращает `boolean` | | `POST` | `/session/:id/fork` | Ответвление сессии от сообщения | body: `{ messageID? }`, возвращает Session | | `POST` | `/session/:id/abort` | Прервать запущенную сессию | Возвращает `boolean` | -| `POST` | `/session/:id/share` | Поделиться сессией | Возвращает Session | -| `DELETE` | `/session/:id/share` | Отменить общий доступ к сессии | Возвращает Session | | `GET` | `/session/:id/diff` | Получить diff для этой сессии | query: `messageID?`, возвращает FileDiff[] | | `POST` | `/session/:id/summarize` | Суммировать сессию | body: `{ providerID, modelID }`, возвращает `boolean` | | `POST` | `/session/:id/revert` | Отменить сообщение | body: `{ messageID, partID? }`, возвращает `boolean` | diff --git a/packages/web/src/content/docs/ru/share.mdx b/packages/web/src/content/docs/ru/share.mdx deleted file mode 100644 index 8982afb08dfb..000000000000 --- a/packages/web/src/content/docs/ru/share.mdx +++ /dev/null @@ -1,128 +0,0 @@ ---- -title: Делиться -description: Поделитесь своими разговорами об opencode. ---- - -Функция общего доступа opencode позволяет вам создавать общедоступные ссылки на ваши беседы opencode, чтобы вы могли сотрудничать с товарищами по команде или получать помощь от других. - -:::note -Общие беседы общедоступны для всех, у кого есть ссылка. -::: - ---- - -## Как это работает - -Когда вы делитесь беседой, opencode: - -1. Создает уникальный общедоступный URL-адрес для вашего сеанса. -2. Синхронизирует историю ваших разговоров с нашими серверами -3. Делает беседу доступной по общей ссылке — `opncd.ai/s/`. - ---- - -## Совместное использование - -opencode поддерживает три режима общего доступа, которые контролируют общий доступ к разговорам: - ---- - -### Ручной (по умолчанию) - -По умолчанию opencode использует режим совместного использования вручную. Сессии не передаются автоматически, но вы можете поделиться ими вручную с помощью команды `/share`: - -``` -/share -``` - -Это создаст уникальный URL-адрес, который будет скопирован в буфер обмена. - -Чтобы явно установить ручной режим в вашем [файле конфигурации](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - ---- - -### Автоматическая публикация - -Вы можете включить автоматический общий доступ для всех новых разговоров, установив для параметра `share` значение `"auto"` в вашем [файле конфигурации](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "auto" -} -``` - -Если функция автоматического обмена включена, каждый новый разговор будет автоматически опубликован и будет создана ссылка. - ---- - -### Отключено - -Вы можете полностью отключить общий доступ, установив для параметра `share` значение `"disabled"` в вашем [файле конфигурации](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -Чтобы обеспечить соблюдение этого правила для всей вашей команды в конкретном проекте, добавьте его в `opencode.json` вашего проекта и зарегистрируйтесь в Git. - ---- - -## Отменить совместное использование - -Чтобы прекратить делиться беседой и удалить ее из общего доступа: - -``` -/unshare -``` - -Это приведет к удалению ссылки общего доступа и удалению данных, связанных с разговором. - ---- - -## Конфиденциальность - -Есть несколько вещей, которые следует учитывать при общении. - ---- - -### Хранение данных - -Общие разговоры остаются доступными до тех пор, пока вы явно не отмените общий доступ к ним. Этот -включает в себя: - -- Полная история разговоров -- Все сообщения и ответы -- Метаданные сеанса - ---- - -### Рекомендации - -- Делитесь только разговорами, которые не содержат конфиденциальной информации. -- Прежде чем поделиться, просмотрите содержимое разговора. -- Отмените общий доступ к разговорам после завершения сотрудничества. -- Избегайте обмена разговорами с проприетарным кодом или конфиденциальными данными. -- Для конфиденциальных проектов полностью отключите общий доступ. - ---- - -## Для предприятий - -Для корпоративных развертываний функция общего доступа может быть: - -- **Отключено** полностью из соображений безопасности. -- **Доступно только** для пользователей, прошедших аутентификацию посредством единого входа. -- **Автономное размещение** в вашей собственной инфраструктуре - -[Узнайте больше](/docs/enterprise) об использовании opencode в вашей организации. diff --git a/packages/web/src/content/docs/ru/tui.mdx b/packages/web/src/content/docs/ru/tui.mdx index 19d44539feef..18183f74cbc7 100644 --- a/packages/web/src/content/docs/ru/tui.mdx +++ b/packages/web/src/content/docs/ru/tui.mdx @@ -218,18 +218,6 @@ How is auth handled in @packages/functions/src/api/index.ts? --- -### share - -Поделиться текущим сеансом. [Подробнее](/docs/share). - -```bash frame="none" -/share -``` - -**Привязка клавиш:** `ctrl+x s` - ---- - ### theme Список доступных тем. @@ -275,16 +263,6 @@ How is auth handled in @packages/functions/src/api/index.ts? --- -### unshare - -Отменить общий доступ к текущему сеансу. [Подробнее](/docs/share#un-sharing). - -```bash frame="none" -/unshare -``` - ---- - ## Настройка редактора Команды `/editor` и `/export` используют редактор, указанный в переменной среды `EDITOR`. diff --git a/packages/web/src/content/docs/server.mdx b/packages/web/src/content/docs/server.mdx index 4510bd4981fe..fd4c0304ab27 100644 --- a/packages/web/src/content/docs/server.mdx +++ b/packages/web/src/content/docs/server.mdx @@ -158,8 +158,6 @@ The opencode server exposes the following APIs. | `POST` | `/session/:id/init` | Analyze app and create `AGENTS.md` | body: `{ messageID, providerID, modelID }`, returns `boolean` | | `POST` | `/session/:id/fork` | Fork an existing session at a message | body: `{ messageID? }`, returns Session | | `POST` | `/session/:id/abort` | Abort a running session | Returns `boolean` | -| `POST` | `/session/:id/share` | Share a session | Returns Session | -| `DELETE` | `/session/:id/share` | Unshare a session | Returns Session | | `GET` | `/session/:id/diff` | Get the diff for this session | query: `messageID?`, returns FileDiff[] | | `POST` | `/session/:id/summarize` | Summarize the session | body: `{ providerID, modelID }`, returns `boolean` | | `POST` | `/session/:id/revert` | Revert a message | body: `{ messageID, partID? }`, returns `boolean` | diff --git a/packages/web/src/content/docs/th/cli.mdx b/packages/web/src/content/docs/th/cli.mdx index 49df515c81e1..4128caa4776b 100644 --- a/packages/web/src/content/docs/th/cli.mdx +++ b/packages/web/src/content/docs/th/cli.mdx @@ -346,7 +346,6 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | ดำเนินการต่อจากเซสชันล่าสุด | | {"--session"} | `-s` | ID เซสชันเพื่อดำเนินการต่อ | | {"--fork"} | | แยกเซสชันเมื่อทำต่อ (ใช้กับ `--continue` หรือ `--session`) | -| {"--share"} | | สร้างลิงก์แชร์สำหรับเซสชัน | | {"--model"} | `-m` | โมเดลที่จะใช้ในรูปแบบ provider/model | | {"--agent"} | | เอเจนต์ที่จะใช้ | | {"--file"} | `-f` | แนบไฟล์ไปกับข้อความ | @@ -443,17 +442,14 @@ opencode export [sessionID] ### import -นำเข้าเซสชันจากไฟล์ JSON หรือ URL ที่แชร์ของ OpenCode +นำเข้าเซสชันจากไฟล์ JSON ```bash opencode import ``` -คุณสามารถนำเข้าไฟล์ในเครื่องหรือ URL ที่แชร์ - ```bash opencode import session.json -opencode import https://opncd.ai/s/abc123 ``` --- @@ -565,7 +561,6 @@ OpenCode สามารถกำหนดค่าโดยใช้ตัว | ตัวแปร | ชนิด | คำอธิบาย | | ------------------------------------- | ------- | ---------------------------------------------------------------- | -| `OPENCODE_AUTO_SHARE` | Boolean | แชร์เซสชันอัตโนมัติเมื่อสร้าง | | `OPENCODE_GIT_BASH_PATH` | String | เส้นทางไปยัง Git Bash บน Windows | | `OPENCODE_CONFIG` | String | เส้นทางไปยังไฟล์การกำหนดค่า | | `OPENCODE_TUI_CONFIG` | String | เส้นทางไปยังไฟล์การกำหนดค่า TUI | diff --git a/packages/web/src/content/docs/th/commands.mdx b/packages/web/src/content/docs/th/commands.mdx index 0ef947e05fba..8fd432215841 100644 --- a/packages/web/src/content/docs/th/commands.mdx +++ b/packages/web/src/content/docs/th/commands.mdx @@ -9,7 +9,7 @@ description: คำสั่งที่กำหนดเองสำหรั /my-command ``` -คำสั่งแบบกำหนดเองเป็นส่วนเพิ่มเติมจากคำสั่งในตัว เช่น `/init`, `/undo`, `/redo`, `/share`, `/help` [เรียนรู้เพิ่มเติม](/docs/tui#คำสั่ง) +คำสั่งแบบกำหนดเองเป็นส่วนเพิ่มเติมจากคำสั่งในตัว เช่น `/init`, `/undo`, `/redo`, `/help` [เรียนรู้เพิ่มเติม](/docs/tui#คำสั่ง) --- @@ -311,7 +311,7 @@ Check for performance issues and suggest improvements. ### Built-ins (ในตัว) -OpenCode มีคำสั่งในตัวหลายคำสั่ง เช่น `/init`, `/undo`, `/redo`, `/share`, `/help` [เรียนรู้เพิ่มเติม](/docs/tui#คำสั่ง) +OpenCode มีคำสั่งในตัวหลายคำสั่ง เช่น `/init`, `/undo`, `/redo`, `/help` [เรียนรู้เพิ่มเติม](/docs/tui#คำสั่ง) :::note คุณสามารถเขียนทับคำสั่งในตัวได้โดยกำหนดคำสั่งที่กำหนดเองด้วยชื่อเดียวกัน diff --git a/packages/web/src/content/docs/th/config.mdx b/packages/web/src/content/docs/th/config.mdx index e323d8f299a2..f2c9f5c6eb4f 100644 --- a/packages/web/src/content/docs/th/config.mdx +++ b/packages/web/src/content/docs/th/config.mdx @@ -360,27 +360,6 @@ Bearer Token (`AWS_BEARER_TOKEN_BEDROCK` หรือ `/connect`) มีคว --- -### Sharing - -คุณสามารถกำหนดค่าคุณสมบัติ [แบ่งปัน](/docs/share) ได้ผ่านทางตัวเลือก `share` - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - -ใช้เวลา: - -- `"manual"` - ​​อนุญาตให้แชร์ด้วยตนเองผ่านคำสั่ง (ค่าเริ่มต้น) -- `"auto"` - ​​แบ่งปันการสนทนาใหม่โดยอัตโนมัติ -- `"disabled"` - ​​ปิดการใช้งานการแชร์ทั้งหมด - -ตามค่าเริ่มต้น การแชร์จะถูกตั้งค่าเป็นโหมดกำหนดเอง ซึ่งคุณต้องแชร์การสนทนาอย่างชัดเจนโดยใช้คำสั่ง `/share` - ---- - ### คำสั่ง คุณสามารถกำหนดค่าคำสั่งที่กำหนดเองสำหรับงานซ้ำๆ ได้ผ่านตัวเลือก `command` diff --git a/packages/web/src/content/docs/th/enterprise.mdx b/packages/web/src/content/docs/th/enterprise.mdx index 9bc041fa7c3d..bab9a07f1239 100644 --- a/packages/web/src/content/docs/th/enterprise.mdx +++ b/packages/web/src/content/docs/th/enterprise.mdx @@ -32,27 +32,6 @@ OpenCode เป็นโอเพ่นซอร์สและไม่ได ซึ่งหมายความว่าตราบใดที่คุณใช้ผู้ให้บริการที่คุณเชื่อถือหรือผู้ให้บริการภายใน เกตเวย์ AI คุณสามารถใช้ OpenCode ได้อย่างปลอดภัย -ข้อแม้เดียวที่นี่คือคุณสมบัติเสริม `/share` - ---- - -#### การแบ่งปันการสนทนา - -หากผู้ใช้เปิดใช้งานคุณสมบัติ `/share` การสนทนาและข้อมูลที่เกี่ยวข้องกับการสนทนาจะถูกส่งไปยังบริการที่เราใช้เพื่อโฮสต์เพจแชร์เหล่านี้ที่ opencode.ai - -ขณะนี้ข้อมูลให้บริการผ่านเครือข่าย Edge ของ CDN ของเรา และถูกแคชไว้ที่ Edge ใกล้ผู้ใช้ของคุณ - -เราขอแนะนำให้คุณปิดการใช้งานนี้สำหรับการทดลองใช้ของคุณ - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -[เรียนรู้เพิ่มเติมเกี่ยวกับการแชร์](/docs/share) - --- ### ความเป็นเจ้าของรหัส diff --git a/packages/web/src/content/docs/th/github.mdx b/packages/web/src/content/docs/th/github.mdx index 40816d78413f..9f516b68331c 100644 --- a/packages/web/src/content/docs/th/github.mdx +++ b/packages/web/src/content/docs/th/github.mdx @@ -69,7 +69,6 @@ opencode github install ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 - # share: true # github_token: xxxx ``` @@ -83,7 +82,6 @@ opencode github install - `model`: โมเดลที่จะใช้กับ OpenCode ใช้รูปแบบของ `provider/model` นี่คือ **จำเป็น** - `agent`: ตัวแทนที่จะใช้ จะต้องเป็นตัวแทนหลัก ย้อนกลับไปที่ `default_agent` จาก config หรือ `"build"` หากไม่พบ -- `share`: ไม่ว่าจะแชร์เซสชัน OpenCode หรือไม่ ค่าเริ่มต้นเป็น **จริง** สำหรับที่เก็บข้อมูลสาธารณะ - `prompt`: ตัวเลือกที่กำหนดเองพร้อมท์เพื่อแทนที่การทำงานเริ่มต้น ใช้สิ่งนี้เพื่อปรับแต่งวิธีที่ OpenCode ประมวลผลคำขอ - `token`: GitHub Access Token เสริมสำหรับการดำเนินการ เช่น การสร้างความคิดเห็น การยอมรับการเปลี่ยนแปลง และการเปิดคำขอดึง ตามค่าเริ่มต้น OpenCode จะใช้โทเค็นการเข้าถึงการติดตั้งจาก OpenCode GitHub App ดังนั้นคอมมิต แสดงความคิดเห็น และคำขอดึงข้อมูลจะปรากฏว่ามาจากแอป diff --git a/packages/web/src/content/docs/th/index.mdx b/packages/web/src/content/docs/th/index.mdx index 5336db3c9ee5..68deccf06388 100644 --- a/packages/web/src/content/docs/th/index.mdx +++ b/packages/web/src/content/docs/th/index.mdx @@ -334,25 +334,6 @@ Can you refactor the function in @packages/functions/src/api/index.ts? --- -## แบ่งปัน - -การสนทนาที่คุณมีกับ OpenCode สามารถ [แชร์กับคุณได้ -ทีมงาน](/docs/share) - -```bash frame="none" -/share -``` - -การดำเนินการนี้จะสร้างลิงก์ไปยังการสนทนาปัจจุบันและคัดลอกไปยังคลิปบอร์ดของคุณ - -:::note -การสนทนาจะไม่ถูกแชร์โดยค่าเริ่มต้น -::: - -นี่คือ [ตัวอย่างการสนทนา](https://opencode.ai/s/4XP1fce5) กับ OpenCode - ---- - ## ปรับแต่ง แค่นั้นแหละ! ตอนนี้คุณเป็นมืออาชีพในการใช้ OpenCode แล้ว diff --git a/packages/web/src/content/docs/th/keybinds.mdx b/packages/web/src/content/docs/th/keybinds.mdx index 2f5bcc5d7425..611d5d855cac 100644 --- a/packages/web/src/content/docs/th/keybinds.mdx +++ b/packages/web/src/content/docs/th/keybinds.mdx @@ -24,8 +24,6 @@ OpenCode มีรายการปุ่มลัดที่คุณปร "session_timeline": "g", "session_fork": "none", "session_rename": "none", - "session_share": "none", - "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/th/providers.mdx b/packages/web/src/content/docs/th/providers.mdx index 07008de218e2..d5a5b5c28edb 100644 --- a/packages/web/src/content/docs/th/providers.mdx +++ b/packages/web/src/content/docs/th/providers.mdx @@ -758,13 +758,12 @@ GitLab Duo ให้การแชทแบบเอเจนต์ที่ข OpenCode ใช้โมเดลขนาดเล็กสำหรับงาน AI บางอย่าง เช่น การสร้างชื่อเซสชัน มีการกำหนดค่าให้ใช้ gpt-5-nano ตามค่าเริ่มต้น ซึ่งโฮสต์โดย Zen เพื่อล็อค OpenCode หากต้องการใช้เฉพาะอินสแตนซ์ที่โฮสต์บน GitLab ของคุณเอง ให้เพิ่มสิ่งต่อไปนี้ในของคุณ -`opencode.json` ไฟล์. ขอแนะนำให้ปิดใช้งานการแชร์เซสชันด้วย +`opencode.json` ไฟล์. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5", - "share": "disabled" + "small_model": "gitlab/duo-chat-haiku-4-5" } ``` diff --git a/packages/web/src/content/docs/th/server.mdx b/packages/web/src/content/docs/th/server.mdx index 13302cf5780a..3806b242c059 100644 --- a/packages/web/src/content/docs/th/server.mdx +++ b/packages/web/src/content/docs/th/server.mdx @@ -158,8 +158,6 @@ http://:/doc | `POST` | `/session/:id/init` | วิเคราะห์แอปและสร้าง `AGENTS.md` | เนื้อความ: `{ messageID, providerID, modelID }` ส่งคืน `boolean` | | `POST` | `/session/:id/fork` | แยกเซสชันที่มีอยู่ไปที่ข้อความ | body: `{ messageID? }` ส่งคืน เซสชัน | | `POST` | `/session/:id/abort` | ยกเลิกเซสชันที่ทำงานอยู่ | ส่งคืน `boolean` | -| `POST` | `/session/:id/share` | แบ่งปันเซสชั่น | ส่งคืน เซสชัน | -| `DELETE` | `/session/:id/share` | ยกเลิกการแชร์เซสชัน | ส่งคืน เซสชัน | | `GET` | `/session/:id/diff` | รับความแตกต่างสำหรับเซสชั่นนี้ | ข้อความค้นหา: `messageID?` ส่งคืน FileDiff[] | | `POST` | `/session/:id/summarize` | สรุปเซสชัน | เนื้อความ: `{ providerID, modelID }` ส่งคืน `boolean` | | `POST` | `/session/:id/revert` | คืนค่าข้อความ | เนื้อความ: `{ messageID, partID? }` ส่งคืน `boolean` | diff --git a/packages/web/src/content/docs/th/share.mdx b/packages/web/src/content/docs/th/share.mdx deleted file mode 100644 index 91bfce44172c..000000000000 --- a/packages/web/src/content/docs/th/share.mdx +++ /dev/null @@ -1,128 +0,0 @@ ---- -title: แบ่งปัน -description: แบ่งปันการสนทนา OpenCode ของคุณ ---- - -คุณลักษณะการแชร์ของ OpenCode ช่วยให้คุณสร้างลิงก์สาธารณะไปยังการสนทนา OpenCode ของคุณ เพื่อให้คุณสามารถทำงานร่วมกับเพื่อนร่วมทีมหรือรับความช่วยเหลือจากผู้อื่นได้ - -:::note -ทุกคนที่มีลิงก์สามารถเข้าถึงการสนทนาที่แชร์ได้แบบสาธารณะ -::: - ---- - -## มันทำงานอย่างไร - -เมื่อคุณแบ่งปันการสนทนา OpenCode: - -1. สร้าง URL สาธารณะที่ไม่ซ้ำสำหรับเซสชันของคุณ -2. ซิงค์ประวัติการสนทนาของคุณกับเซิร์ฟเวอร์ของเรา -3. ทำให้สามารถเข้าถึงการสนทนาผ่านลิงก์ที่แชร์ได้ — `opncd.ai/s/` - ---- - -## การแบ่งปัน - -OpenCode รองรับโหมดการแชร์สามโหมดที่ควบคุมวิธีการแชร์การสนทนา: - ---- - -### Manual (ค่าเริ่มต้น) - -ตามค่าเริ่มต้น OpenCode จะใช้โหมดการแชร์ด้วยตนเอง เซสชันจะไม่ถูกแชร์โดยอัตโนมัติ แต่คุณสามารถแชร์ได้ด้วยตนเองโดยใช้คำสั่ง `/share`: - -``` -/share -``` - -สิ่งนี้จะสร้าง URL ที่ไม่ซ้ำกันซึ่งจะถูกคัดลอกไปยังคลิปบอร์ดของคุณ - -หากต้องการตั้งค่าโหมดแมนนวลอย่างชัดเจนใน [ไฟล์ปรับแต่ง](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - ---- - -### แชร์อัตโนมัติ - -คุณสามารถเปิดใช้งานการแบ่งปันอัตโนมัติสำหรับการสนทนาใหม่ทั้งหมดโดยตั้งค่าตัวเลือก `share` เป็น `"auto"` ใน [ไฟล์กำหนดค่า](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "auto" -} -``` - -เมื่อเปิดใช้งานการแชร์อัตโนมัติ ทุกการสนทนาใหม่จะถูกแชร์โดยอัตโนมัติและลิงก์จะถูกสร้างขึ้น - ---- - -### ปิดการใช้งาน - -คุณสามารถปิดการแชร์ทั้งหมดได้โดยตั้งค่าตัวเลือก `share` เป็น `"disabled"` ใน [ไฟล์กำหนดค่า](/docs/config): - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -หากต้องการบังคับใช้สิ่งนี้กับทีมของคุณสำหรับโปรเจ็กต์ที่กำหนด ให้เพิ่มลงใน `opencode.json` ในโปรเจ็กต์ของคุณและตรวจสอบใน Git - ---- - -## ยกเลิกการแชร์ - -หากต้องการหยุดแชร์การสนทนาและลบออกจากการเข้าถึงแบบสาธารณะ: - -``` -/unshare -``` - -การดำเนินการนี้จะลบลิงก์แชร์และลบข้อมูลที่เกี่ยวข้องกับการสนทนา - ---- - -## ความเป็นส่วนตัว - -มีบางสิ่งที่ต้องคำนึงถึงเมื่อแบ่งปันการสนทนา - ---- - -### การเก็บรักษาข้อมูล - -การสนทนาที่แชร์จะยังสามารถเข้าถึงได้จนกว่าคุณจะยกเลิกการแชร์อย่างชัดเจน นี้ -รวมถึง: - -- ประวัติการสนทนาแบบเต็ม -- ทุกข้อความและการตอบกลับ -- ข้อมูลเมตาของเซสชัน - ---- - -### ข้อแนะนำ - -- แชร์การสนทนาที่ไม่มีข้อมูลที่ละเอียดอ่อนเท่านั้น -- ตรวจสอบเนื้อหาการสนทนาก่อนที่จะแบ่งปัน -- ยกเลิกการแชร์การสนทนาเมื่อการทำงานร่วมกันเสร็จสมบูรณ์ -- หลีกเลี่ยงการแบ่งปันการสนทนาด้วยรหัสที่เป็นกรรมสิทธิ์หรือข้อมูลที่เป็นความลับ -- สำหรับโปรเจ็กต์ที่มีความละเอียดอ่อน ให้ปิดการแชร์ทั้งหมด - ---- - -## สำหรับสถานประกอบการ - -สำหรับการปรับใช้ระดับองค์กร คุณสมบัติการแชร์อาจเป็น: - -- **ปิดการใช้งาน** ทั้งหมดเพื่อความปลอดภัย -- **จำกัด** สำหรับผู้ใช้ที่ผ่านการรับรองความถูกต้องผ่าน SSO เท่านั้น -- **โฮสต์เอง** บนโครงสร้างพื้นฐานของคุณเอง - -[เรียนรู้เพิ่มเติม](/docs/enterprise) เกี่ยวกับการใช้ opencode ในองค์กรของคุณ diff --git a/packages/web/src/content/docs/th/tui.mdx b/packages/web/src/content/docs/th/tui.mdx index e3c5203ece32..4d90dcf151d5 100644 --- a/packages/web/src/content/docs/th/tui.mdx +++ b/packages/web/src/content/docs/th/tui.mdx @@ -218,18 +218,6 @@ How is auth handled in @packages/functions/src/api/index.ts? --- -### share - -แบ่งปันเซสชั่นปัจจุบัน [เรียนรู้เพิ่มเติม](/docs/share) - -```bash frame="none" -/share -``` - -**ผูกปุ่ม:** `ctrl+x s` - ---- - ### themes แสดงรายการธีมที่มีอยู่ @@ -275,16 +263,6 @@ How is auth handled in @packages/functions/src/api/index.ts? --- -### unshare - -ยกเลิกการแชร์เซสชันปัจจุบัน [เรียนรู้เพิ่มเติม](/docs/share#un-sharing) - -```bash frame="none" -/unshare -``` - ---- - ## การตั้งค่าตัวแก้ไข ทั้งคำสั่ง `/editor` และ `/export` ใช้ตัวแก้ไขที่ระบุในตัวแปรสภาพแวดล้อม `EDITOR` ของคุณ diff --git a/packages/web/src/content/docs/tr/cli.mdx b/packages/web/src/content/docs/tr/cli.mdx index 4f28122bd95c..5fbc060307dd 100644 --- a/packages/web/src/content/docs/tr/cli.mdx +++ b/packages/web/src/content/docs/tr/cli.mdx @@ -345,7 +345,6 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | Son oturuma devam et | | {"--session"} | `-s` | Devam edecek oturum kimliği | | {"--fork"} | | Devam ederken oturumu fork'lar (`--continue` veya `--session` ile kullanın) | -| {"--share"} | | Oturumu paylaşın | | {"--model"} | `-m` | provider/model biçiminde kullanılacak model | | {"--agent"} | | Kullanılacak temsilci | | {"--file"} | `-f` | Mesaja eklenecek dosya(lar) | @@ -442,17 +441,14 @@ Bir oturum kimliği sağlamazsanız mevcut oturumlar arasından seçim yapmanız ### import -Bir JSON dosyasından veya opencode paylaşımından URL oturum verilerini içe aktarın. +Bir JSON dosyasından oturum verilerini içe aktarın. ```bash opencode import ``` -Yerel bir dosyadan veya opencode paylaşımından (URL) içe aktarabilirsiniz. - ```bash opencode import session.json -opencode import https://opncd.ai/s/abc123 ``` --- @@ -564,7 +560,6 @@ opencode ortam değişkenleri kullanılarak yapılandırılabilir. | Değişken | Tip | Açıklama | | ------------------------------------- | ------- | --------------------------------------------------------------------------- | -| `OPENCODE_AUTO_SHARE` | boolean | Oturumları otomatik olarak paylaş | | `OPENCODE_GIT_BASH_PATH` | string | Windows'ta yürütülebilir Git Bash'in Yolu | | `OPENCODE_CONFIG` | string | Yapılandırma dosyasının yolu | | `OPENCODE_TUI_CONFIG` | string | TUI yapılandırma dosyasının yolu | diff --git a/packages/web/src/content/docs/tr/commands.mdx b/packages/web/src/content/docs/tr/commands.mdx index a37e98f4ecce..6d2f114c8529 100644 --- a/packages/web/src/content/docs/tr/commands.mdx +++ b/packages/web/src/content/docs/tr/commands.mdx @@ -9,7 +9,7 @@ description: Tekrarlanan görevler için özel komutlar oluşturulur. /my-command ``` -Özel komutlar, `/init`, `/undo`, `/redo`, `/share`, `/help` gibi komutlara ek olarak sunulur. [Daha fazla bilgi](/docs/tui#commands). +Özel komutlar, `/init`, `/undo`, `/redo`, `/help` gibi komutlara ek olarak sunulur. [Daha fazla bilgi](/docs/tui#commands). --- @@ -314,7 +314,7 @@ Bu **isteğe bağlı** bir yapılandırma seçeneğidir. ## Yerleşik -opencode, `/init`, `/undo`, `/redo`, `/share`, `/help` gibi çeşitli yerleşik komutlar içerir; [learn more](/docs/tui#commands). +opencode, `/init`, `/undo`, `/redo`, `/help` gibi çeşitli yerleşik komutlar içerir; [learn more](/docs/tui#commands). :::note Özel komutlar yerleşik komutları geçersiz kılabilir. diff --git a/packages/web/src/content/docs/tr/config.mdx b/packages/web/src/content/docs/tr/config.mdx index a30b2ca312cf..0326f637ea9c 100644 --- a/packages/web/src/content/docs/tr/config.mdx +++ b/packages/web/src/content/docs/tr/config.mdx @@ -358,27 +358,6 @@ Bu ayar tüm arayüzler için geçerlidir: TUI, CLI (`opencode run`), masaüstü --- -### Paylaşma - -[share](/docs/share) özelliğini `share` seçeneği aracılığıyla yapılandırabilirsiniz. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - -Bu şunları gerektirir: - -- `"manual"` - Komutlar aracılığıyla manuel paylaşıma izin ver (varsayılan) -- `"auto"` - Yeni konuşmaları otomatik olarak paylaş -- `"disabled"` - Paylaşımı tamamen devre dışı bırak - -Varsayılan olarak paylaşım, `/share` komutunu kullanarak konuşmaları açıkça paylaşmanız gereken manuel moda ayarlanmıştır. - ---- - ### Komutlar `command` seçeneği aracılığıyla tekrarlanan görevler için özel komutlar yapılandırabilirsiniz. diff --git a/packages/web/src/content/docs/tr/enterprise.mdx b/packages/web/src/content/docs/tr/enterprise.mdx index af2a0360bbbf..edf439279d8d 100644 --- a/packages/web/src/content/docs/tr/enterprise.mdx +++ b/packages/web/src/content/docs/tr/enterprise.mdx @@ -32,27 +32,6 @@ opencode açık kaynaktır ve herhangi bir kodunuzu veya içerik verilerinizi sa Bu, güvendiğiniz bir sağlayıcıyı veya dahili bir sağlayıcıyı kullandığınız sürece AI ağ geçidi, opencode'u güvenli bir şekilde kullanabilirsiniz. -saklama alanının tek izolasyonuna bağlı `/share` özelliğidir. - ---- - -#### Konuşmaları paylaşma - -Bir kullanıcı `/share` özelliğini etkinleştirirse, görüşme ve onunla ilişkili veriler, bu paylaşım sayfalarını opencode.ai'de barındırmak için kullandığımız hizmete gönderilir. - -Veriler şu anda CDN uç ağımız üzerinden sunuluyor ve kullanıcılarınızın yakınındaki uçta önbelleğe alınıyor. - -Deneme süreniz için bunu devre dışı bırakmanızı öneririz. - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -[Paylaşım hakkında daha fazla bilgi](/docs/share). - --- ### Kod sahipliği diff --git a/packages/web/src/content/docs/tr/github.mdx b/packages/web/src/content/docs/tr/github.mdx index 8a5ea203fbbe..0216c15ea90b 100644 --- a/packages/web/src/content/docs/tr/github.mdx +++ b/packages/web/src/content/docs/tr/github.mdx @@ -69,7 +69,6 @@ Veya manuel olarak ayarlayabilirsiniz. ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 - # share: true # github_token: xxxx ``` @@ -83,7 +82,6 @@ Veya manuel olarak ayarlayabilirsiniz. - `model`: opencode ile kullanılacak model. `provider/model` biçimini alır. Bu **gerekli**. - `agent`: Kullanılacak aracı. Birincil ajan olmalı. Yapılandırmadan `default_agent`'ye veya bulunamazsa `"build"`'ye geri döner. -- `share`: opencode hesabının paylaşılıp paylaşılmayacağı. Genel depolar için varsayılan olarak **true** olur. - `prompt`: Varsayılan çalışma geçersiz olduğundan dolayı özel istem. opencode'un işleme biçimini kişiselleştirmek için bunu kullanın. - `token`: Yorum oluşturma, değişiklik yapma ve çekme isteklerini açma gibi işlemleri gerçekleştirmek için isteğe bağlı GitHub erişim belirteci. Varsayılan olarak opencode, opencode GitHub Uygulamasındaki kurulum erişim belirtecini kullanır, bu nedenle taahhütler, yorumlar ve çekme istekleri uygulamadan geliyormuş gibi görünür. diff --git a/packages/web/src/content/docs/tr/index.mdx b/packages/web/src/content/docs/tr/index.mdx index 696eddc3a106..907362c0596c 100644 --- a/packages/web/src/content/docs/tr/index.mdx +++ b/packages/web/src/content/docs/tr/index.mdx @@ -322,24 +322,6 @@ Veya `/redo` komutunu kullanarak değişiklikleri **yeniden yapabilirsiniz**. --- -## Paylaşma - -OpenCode ile yaptığınız görüşmeleri [ekibinizle paylaşabilirsiniz](/docs/share). - -```bash frame="none" -/share -``` - -Bu, mevcut konuşmaya bir bağlantı oluşturacak ve bunu panonuza kopyalayacaktır. - -:::note -Konuşmalar varsayılan olarak paylaşılmaz. -::: - -İşte OpenCode ile bir [örnek konuşma](https://opencode.ai/s/4XP1fce5). - ---- - ## Özelleştirme İşte bu kadar! Artık OpenCode'u kullanma konusunda profesyonelsiniz. diff --git a/packages/web/src/content/docs/tr/keybinds.mdx b/packages/web/src/content/docs/tr/keybinds.mdx index bbf8c3bfa9f6..3e999446e899 100644 --- a/packages/web/src/content/docs/tr/keybinds.mdx +++ b/packages/web/src/content/docs/tr/keybinds.mdx @@ -24,8 +24,6 @@ opencode, `tui.json` aracılığıyla özelleştirebileceğiniz bir tuş bağlan "session_timeline": "g", "session_fork": "none", "session_rename": "none", - "session_share": "none", - "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/tr/providers.mdx b/packages/web/src/content/docs/tr/providers.mdx index 8c6ef23fee31..93c525295825 100644 --- a/packages/web/src/content/docs/tr/providers.mdx +++ b/packages/web/src/content/docs/tr/providers.mdx @@ -759,13 +759,12 @@ to store token in opencode auth storage. opencode, oturum başlığını oluşturmak gibi bazı AI görevleri için küçük bir model kullanır. Varsayılan olarak Zen tarafından barındırılan gpt-5-nano'yu kullanacak şekilde yapılandırılmıştır. opencode'u kilitlemek için yalnızca kendi GitLab tarafından barındırılan örneğinizi kullanmak için aşağıdakileri ekleyin: -`opencode.json` dosyası. Ayrıca oturum paylaşımını devre dışı bırakmanız da önerilir. +`opencode.json` dosyası. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5", - "share": "disabled" + "small_model": "gitlab/duo-chat-haiku-4-5" } ``` diff --git a/packages/web/src/content/docs/tr/server.mdx b/packages/web/src/content/docs/tr/server.mdx index e9af6afd05dd..f92e017ee6db 100644 --- a/packages/web/src/content/docs/tr/server.mdx +++ b/packages/web/src/content/docs/tr/server.mdx @@ -156,8 +156,6 @@ opencode sunucusu aşağıdaki API'leri sunar. | `POST` | `/session/:id/init` | Uygulamayı analiz et ve `AGENTS.md` oluştur | gövde: `{ messageID, providerID, modelID }`, `boolean` döndürür | | `POST` | `/session/:id/fork` | Mevcut bir oturumu bir mesajda çatalla | gövde: `{ messageID? }`, Session döndürür | | `POST` | `/session/:id/abort` | Çalışan bir oturumu iptal et | `boolean` döndürür | -| `POST` | `/session/:id/share` | Bir oturumu paylaş | Session döndürür | -| `DELETE` | `/session/:id/share` | Bir oturumun paylaşımını kaldır | Session döndürür | | `GET` | `/session/:id/diff` | Bu oturum için farkı (diff) al | sorgu: `messageID?`, FileDiff[] döndürür | | `POST` | `/session/:id/summarize` | Oturumu özetle | gövde: `{ providerID, modelID }`, `boolean` döndürür | | `POST` | `/session/:id/revert` | Bir mesajı geri al | gövde: `{ messageID, partID? }`, `boolean` döndürür | diff --git a/packages/web/src/content/docs/tr/share.mdx b/packages/web/src/content/docs/tr/share.mdx deleted file mode 100644 index a0544eb02aa8..000000000000 --- a/packages/web/src/content/docs/tr/share.mdx +++ /dev/null @@ -1,127 +0,0 @@ ---- -title: Paylasim -description: opencode konusmalarini genel baglantilarla paylasin. ---- - -opencode'un paylasim ozelligi, konusmalariniz icin genel baglantilar olusturmanizi saglar. Boylece ekip arkadaslarinizla birlikte calisabilir veya diger kisilerden yardim alabilirsiniz. - -:::note -Paylasilan konusmalar, baglantiya sahip herkes tarafindan gorulebilir. -::: - ---- - -## Nasil calisir - -Bir konusmayi paylastiginizda opencode: - -1. Oturumunuz icin benzersiz bir genel URL olusturur -2. Konusma gecmisinizi sunucularimiza senkronize eder -3. Konusmayi paylasim baglantisiyla erisilebilir hale getirir - `opncd.ai/s/` - ---- - -## Paylasim - -opencode, konusmalarin nasil paylasilacagini kontrol eden uc farkli paylasim modu sunar: - ---- - -### Manuel (varsayilan) - -Varsayilan olarak opencode manuel paylasim modunu kullanir. Oturumlar otomatik paylasilmaz, ancak `/share` komutuyla manuel olarak paylasabilirsiniz: - -``` -/share -``` - -Bu komut benzersiz bir URL uretir ve panoya kopyalar. - -Manuel modu acikca ayarlamak icin [config dosyaniza](/docs/config) sunu ekleyin: - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - ---- - -### Otomatik paylasim - -Tum yeni konusmalar icin otomatik paylasimi acmak isterseniz, [config dosyanizda](/docs/config) `share` degerini `"auto"` yapin: - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "auto" -} -``` - -Otomatik paylasim acikken her yeni konusma otomatik olarak paylasilir ve bir baglanti olusturulur. - ---- - -### Devre disi - -Paylasimi tamamen kapatmak icin [config dosyanizda](/docs/config) `share` degerini `"disabled"` yapin: - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -Bunu belirli bir projede tum ekip icin zorunlu kilmak icin proje icindeki `opencode.json` dosyasina ekleyip Git'e commit edin. - ---- - -## Paylasimi kaldirma - -Bir konusmanin paylasimini durdurmak ve genel erisimi kaldirmak icin: - -``` -/unshare -``` - -Bu komut paylasim baglantisini kaldirir ve konusmaya ait verileri siler. - ---- - -## Gizlilik - -Bir konusmayi paylasirken akilda tutulmasi gereken bazi noktalar vardir. - ---- - -### Veri saklama - -Paylasilan konusmalar, siz acikca paylasimi kaldirana kadar erisilebilir kalir. Buna sunlar dahildir: - -- Tum konusma gecmisi -- Tum mesajlar ve yanitlar -- Oturum metaverisi - ---- - -### Oneriler - -- Hassas bilgi icermeyen konusmalari paylasin. -- Paylasmadan once konusma icerigini gozden gecirin. -- Is birligi bittiginde paylasimi kaldirin. -- Tescilli kod veya gizli veri iceren konusmalari paylasmayin. -- Hassas projelerde paylasimi tamamen kapatin. - ---- - -## Kurumsal kullanim - -Kurumsal kurulumlarda paylasim ozelligi su sekillerde yapilandirilabilir: - -- Guvenlik uyumu icin tamamen **devre disi** birakilabilir -- Sadece SSO ile dogrulanan kullanicilarla **sinirlandirilabilir** -- Kendi altyapinizda **self-hosted** olarak calistirilabilir - -Kurulusunuzda opencode kullanimi icin [daha fazla bilgi alin](/docs/enterprise). diff --git a/packages/web/src/content/docs/tr/tui.mdx b/packages/web/src/content/docs/tr/tui.mdx index 91611a2de15f..cdf9b48e1efc 100644 --- a/packages/web/src/content/docs/tr/tui.mdx +++ b/packages/web/src/content/docs/tr/tui.mdx @@ -217,18 +217,6 @@ Oturumları listeler ve aralarında geçiş yapar. _Takma adlar_: `/resume`, `/c --- -### share - -Mevcut oturumu paylaşır. [Daha fazla bilgi](/docs/share). - -```bash frame="none" -/share -``` - -**Kısayol:** `ctrl+x s` - ---- - ### themes Kullanılabilir temaları listeler. @@ -273,16 +261,6 @@ Dahili olarak bu işlem dosya değişikliklerini yönetmek için Git kullanır. --- -### unshare - -Mevcut oturumun paylaşımını kaldırır. [Daha fazla bilgi](/docs/share#un-sharing). - -```bash frame="none" -/unshare -``` - ---- - ## Editör kurulumu Hem `/editor` hem de `/export` komutları, `EDITOR` ortam değişkeninde belirtilen editörü kullanır. diff --git a/packages/web/src/content/docs/zh-cn/cli.mdx b/packages/web/src/content/docs/zh-cn/cli.mdx index 46f090bb72ab..586e08e47226 100644 --- a/packages/web/src/content/docs/zh-cn/cli.mdx +++ b/packages/web/src/content/docs/zh-cn/cli.mdx @@ -345,7 +345,6 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | 继续上一个会话 | | {"--session"} | `-s` | 要继续的会话 ID | | {"--fork"} | | 继续时分叉会话(与 `--continue` 或 `--session` 配合使用) | -| {"--share"} | | 分享会话 | | {"--model"} | `-m` | 要使用的模型,格式为 provider/model | | {"--agent"} | | 要使用的代理 | | {"--file"} | `-f` | 附加到消息的文件 | @@ -442,17 +441,14 @@ opencode export [sessionID] ### import -从 JSON 文件或 OpenCode 分享链接导入会话数据。 +从 JSON 文件导入会话数据。 ```bash opencode import ``` -您可以从本地文件或 OpenCode 分享链接导入。 - ```bash opencode import session.json -opencode import https://opncd.ai/s/abc123 ``` --- @@ -564,7 +560,6 @@ OpenCode 可以通过环境变量进行配置。 | 变量 | 类型 | 描述 | | ------------------------------------- | ------- | --------------------------------------- | -| `OPENCODE_AUTO_SHARE` | boolean | 自动分享会话 | | `OPENCODE_GIT_BASH_PATH` | string | Windows 上 Git Bash 可执行文件的路径 | | `OPENCODE_CONFIG` | string | 配置文件路径 | | `OPENCODE_TUI_CONFIG` | string | TUI 配置文件路径 | diff --git a/packages/web/src/content/docs/zh-cn/commands.mdx b/packages/web/src/content/docs/zh-cn/commands.mdx index 751a9ff27b18..cd9a797a43f7 100644 --- a/packages/web/src/content/docs/zh-cn/commands.mdx +++ b/packages/web/src/content/docs/zh-cn/commands.mdx @@ -9,7 +9,7 @@ description: 为重复任务创建自定义命令。 /my-command ``` -自定义命令是 `/init`、`/undo`、`/redo`、`/share`、`/help` 等内置命令之外的补充。[了解更多](/docs/tui#commands)。 +自定义命令是 `/init`、`/undo`、`/redo`、`/help` 等内置命令之外的补充。[了解更多](/docs/tui#commands)。 --- @@ -313,7 +313,7 @@ Check for performance issues and suggest improvements. ## 内置命令 -opencode 包含多个内置命令,如 `/init`、`/undo`、`/redo`、`/share`、`/help`;[了解更多](/docs/tui#commands)。 +opencode 包含多个内置命令,如 `/init`、`/undo`、`/redo`、`/help`;[了解更多](/docs/tui#commands)。 :::note 自定义命令可以覆盖内置命令。 diff --git a/packages/web/src/content/docs/zh-cn/config.mdx b/packages/web/src/content/docs/zh-cn/config.mdx index ffae7966f308..16200b8fc1c7 100644 --- a/packages/web/src/content/docs/zh-cn/config.mdx +++ b/packages/web/src/content/docs/zh-cn/config.mdx @@ -354,27 +354,6 @@ Bearer Token(`AWS_BEARER_TOKEN_BEDROCK` 或 `/connect`)优先于基于配置 --- -### 分享 - -您可以通过 `share` 选项配置[分享](/docs/share)功能。 - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - -该选项接受: - -- `"manual"` - 允许通过命令手动分享(默认) -- `"auto"` - 自动分享新会话 -- `"disabled"` - 完全禁用分享 - -默认情况下,分享设置为手动模式,您需要使用 `/share` 命令显式分享会话。 - ---- - ### 命令 您可以通过 `command` 选项为重复任务配置自定义命令。 diff --git a/packages/web/src/content/docs/zh-cn/enterprise.mdx b/packages/web/src/content/docs/zh-cn/enterprise.mdx index 7a70323c7302..60984e9474e3 100644 --- a/packages/web/src/content/docs/zh-cn/enterprise.mdx +++ b/packages/web/src/content/docs/zh-cn/enterprise.mdx @@ -31,27 +31,6 @@ OpenCode 是开源的,不会存储您的任何代码或上下文数据,因 这意味着,只要您使用的是信任的提供商或内部 AI 网关,就可以安全地使用 OpenCode。 -唯一需要注意的是可选的 `/share` 功能。 - ---- - -#### 分享对话 - -如果用户启用了 `/share` 功能,对话及其关联数据将被发送到我们用于在 opencode.ai 上托管共享页面的服务。 - -数据目前通过我们 CDN 的边缘网络提供服务,并缓存在靠近用户的边缘节点上。 - -我们建议您在试用期间禁用此功能。 - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -[了解更多关于分享的信息](/docs/share)。 - --- ### 代码所有权 diff --git a/packages/web/src/content/docs/zh-cn/github.mdx b/packages/web/src/content/docs/zh-cn/github.mdx index 01847f193820..18ea50a80b67 100644 --- a/packages/web/src/content/docs/zh-cn/github.mdx +++ b/packages/web/src/content/docs/zh-cn/github.mdx @@ -69,7 +69,6 @@ opencode github install ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 - # share: true # github_token: xxxx ``` @@ -83,7 +82,6 @@ opencode github install - `model`:OpenCode 使用的模型,格式为 `provider/model`。此项为**必填**。 - `agent`:要使用的代理,必须是主代理。如果未找到,则回退到配置中的 `default_agent`,若仍未找到则使用 `"build"`。 -- `share`:是否共享 OpenCode 会话。对于公开仓库,默认为 **true**。 - `prompt`:可选的自定义提示词,用于覆盖默认行为。可通过此项自定义 OpenCode 处理请求的方式。 - `token`:可选的 GitHub 访问 Token,用于执行创建评论、提交变更和创建 Pull Request 等操作。默认情况下,OpenCode 使用 OpenCode GitHub App 的安装访问 Token,因此提交、评论和 Pull Request 会显示为来自该应用。 diff --git a/packages/web/src/content/docs/zh-cn/index.mdx b/packages/web/src/content/docs/zh-cn/index.mdx index ed278e2397dc..51e5352bb0a8 100644 --- a/packages/web/src/content/docs/zh-cn/index.mdx +++ b/packages/web/src/content/docs/zh-cn/index.mdx @@ -318,24 +318,6 @@ Can you refactor the function in @packages/functions/src/api/index.ts? --- -## 分享 - -你与 OpenCode 的对话可以[与团队分享](/docs/share)。 - -```bash frame="none" -/share -``` - -这会生成当前对话的链接并复制到剪贴板。 - -:::note -对话默认不会被分享。 -::: - -这是一个与 OpenCode 的[示例对话](https://opencode.ai/s/4XP1fce5)。 - ---- - ## 个性化 以上就是全部内容!你现在已经是 OpenCode 的使用高手了。 diff --git a/packages/web/src/content/docs/zh-cn/keybinds.mdx b/packages/web/src/content/docs/zh-cn/keybinds.mdx index 0989a30f570b..e672502e4dae 100644 --- a/packages/web/src/content/docs/zh-cn/keybinds.mdx +++ b/packages/web/src/content/docs/zh-cn/keybinds.mdx @@ -24,8 +24,6 @@ OpenCode 提供了一系列快捷键,您可以通过 `tui.json` 进行自定 "session_timeline": "g", "session_fork": "none", "session_rename": "none", - "session_share": "none", - "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/zh-cn/providers.mdx b/packages/web/src/content/docs/zh-cn/providers.mdx index 9c0a5d8a3bd5..187f61c78181 100644 --- a/packages/web/src/content/docs/zh-cn/providers.mdx +++ b/packages/web/src/content/docs/zh-cn/providers.mdx @@ -727,13 +727,12 @@ GitLab Duo 通过 GitLab 的 Anthropic 代理提供具有原生工具调用能 ##### 自托管 GitLab :::note[合规说明] -OpenCode 会使用一个小模型来执行部分 AI 任务,例如生成会话标题。默认情况下使用由 Zen 托管的 gpt-5-nano。如果你需要让 OpenCode 仅使用你自己的 GitLab 托管实例,请在 `opencode.json` 文件中添加以下内容。同时建议禁用会话共享。 +OpenCode 会使用一个小模型来执行部分 AI 任务,例如生成会话标题。默认情况下使用由 Zen 托管的 gpt-5-nano。如果你需要让 OpenCode 仅使用你自己的 GitLab 托管实例,请在 `opencode.json` 文件中添加以下内容。 ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5", - "share": "disabled" + "small_model": "gitlab/duo-chat-haiku-4-5" } ``` diff --git a/packages/web/src/content/docs/zh-cn/server.mdx b/packages/web/src/content/docs/zh-cn/server.mdx index d28342ecc69a..8de7522b9258 100644 --- a/packages/web/src/content/docs/zh-cn/server.mdx +++ b/packages/web/src/content/docs/zh-cn/server.mdx @@ -155,8 +155,6 @@ opencode 服务器暴露以下 API。 | `POST` | `/session/:id/init` | 分析应用并创建 `AGENTS.md` | 请求体:`{ messageID, providerID, modelID }`,返回 `boolean` | | `POST` | `/session/:id/fork` | 在某条消息处分叉现有会话 | 请求体:`{ messageID? }`,返回 Session | | `POST` | `/session/:id/abort` | 中止正在运行的会话 | 返回 `boolean` | -| `POST` | `/session/:id/share` | 分享会话 | 返回 Session | -| `DELETE` | `/session/:id/share` | 取消分享会话 | 返回 Session | | `GET` | `/session/:id/diff` | 获取本次会话的差异 | 查询参数:`messageID?`,返回 FileDiff[] | | `POST` | `/session/:id/summarize` | 总结会话 | 请求体:`{ providerID, modelID }`,返回 `boolean` | | `POST` | `/session/:id/revert` | 回退消息 | 请求体:`{ messageID, partID? }`,返回 `boolean` | diff --git a/packages/web/src/content/docs/zh-cn/share.mdx b/packages/web/src/content/docs/zh-cn/share.mdx deleted file mode 100644 index a2b34688e4dc..000000000000 --- a/packages/web/src/content/docs/zh-cn/share.mdx +++ /dev/null @@ -1,127 +0,0 @@ ---- -title: 分享 -description: 分享您的 OpenCode 对话。 ---- - -OpenCode 的分享功能允许您创建指向 OpenCode 对话的公开链接,方便与团队成员协作或向他人寻求帮助。 - -:::note -共享的对话对任何拥有链接的人都是公开可访问的。 -::: - ---- - -## 工作原理 - -当您分享一段对话时,OpenCode 会: - -1. 为您的会话创建一个唯一的公开 URL -2. 将您的对话历史同步到我们的服务器 -3. 通过可分享的链接使对话可访问 — `opncd.ai/s/` - ---- - -## 分享模式 - -OpenCode 支持三种分享模式,用于控制对话的共享方式: - ---- - -### 手动模式(默认) - -默认情况下,OpenCode 使用手动分享模式。会话不会自动共享,但您可以使用 `/share` 命令手动分享: - -``` -/share -``` - -这将生成一个唯一的 URL 并复制到您的剪贴板。 - -要在[配置文件](/docs/config)中显式设置手动模式: - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - ---- - -### 自动分享 - -您可以在[配置文件](/docs/config)中将 `share` 选项设置为 `"auto"`,为所有新对话启用自动分享: - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "auto" -} -``` - -启用自动分享后,每个新对话都会自动共享并生成链接。 - ---- - -### 禁用 - -您可以在[配置文件](/docs/config)中将 `share` 选项设置为 `"disabled"`,完全禁用分享功能: - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -要在团队中对特定项目强制执行此设置,请将其添加到项目的 `opencode.json` 文件中并提交到 Git。 - ---- - -## 取消分享 - -要停止分享对话并将其从公开访问中移除: - -``` -/unshare -``` - -这将移除分享链接并删除与该对话相关的数据。 - ---- - -## 隐私 - -分享对话时需要注意以下几点。 - ---- - -### 数据留存 - -共享的对话在您明确取消分享之前将一直保持可访问状态。这包括: - -- 完整的对话历史 -- 所有消息和回复 -- 会话元数据 - ---- - -### 建议 - -- 仅分享不包含敏感信息的对话。 -- 分享前请检查对话内容。 -- 协作完成后请取消分享。 -- 避免分享包含专有代码或机密数据的对话。 -- 对于敏感项目,请完全禁用分享功能。 - ---- - -## 企业版 - -对于企业部署,分享功能可以: - -- 出于安全合规考虑**完全禁用** -- **限制**为仅通过 SSO 身份验证的用户可用 -- **自托管**在您自己的基础设施上 - -[了解更多](/docs/enterprise)关于在您的组织中使用 OpenCode 的信息。 diff --git a/packages/web/src/content/docs/zh-cn/tui.mdx b/packages/web/src/content/docs/zh-cn/tui.mdx index 8b0a4085b004..4aecee161b29 100644 --- a/packages/web/src/content/docs/zh-cn/tui.mdx +++ b/packages/web/src/content/docs/zh-cn/tui.mdx @@ -217,18 +217,6 @@ How is auth handled in @packages/functions/src/api/index.ts? --- -### share - -分享当前会话。[了解更多](/docs/share)。 - -```bash frame="none" -/share -``` - -**快捷键:** `ctrl+x s` - ---- - ### themes 列出可用主题。 @@ -273,16 +261,6 @@ How is auth handled in @packages/functions/src/api/index.ts? --- -### unshare - -取消分享当前会话。[了解更多](/docs/share#un-sharing)。 - -```bash frame="none" -/unshare -``` - ---- - ## 编辑器设置 `/editor` 和 `/export` 命令都使用 `EDITOR` 环境变量中指定的编辑器。 diff --git a/packages/web/src/content/docs/zh-tw/cli.mdx b/packages/web/src/content/docs/zh-tw/cli.mdx index 25e7bce88e41..04005516866c 100644 --- a/packages/web/src/content/docs/zh-tw/cli.mdx +++ b/packages/web/src/content/docs/zh-tw/cli.mdx @@ -345,7 +345,6 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | 繼續上一個工作階段 | | {"--session"} | `-s` | 要繼續的工作階段 ID | | {"--fork"} | | 繼續時分岔工作階段(與 `--continue` 或 `--session` 搭配使用) | -| {"--share"} | | 分享工作階段 | | {"--model"} | `-m` | 要使用的模型,格式為 provider/model | | {"--agent"} | | 要使用的代理 | | {"--file"} | `-f` | 附加到訊息的檔案 | @@ -442,17 +441,14 @@ opencode export [sessionID] ### import -從 JSON 檔案或 OpenCode 分享連結匯入工作階段資料。 +從 JSON 檔案匯入工作階段資料。 ```bash opencode import ``` -您可以從本地檔案或 OpenCode 分享連結匯入。 - ```bash opencode import session.json -opencode import https://opncd.ai/s/abc123 ``` --- @@ -564,7 +560,6 @@ OpenCode 可以透過環境變數進行設定。 | 變數 | 類型 | 說明 | | ------------------------------------- | ------- | ------------------------------------------- | -| `OPENCODE_AUTO_SHARE` | boolean | 自動分享工作階段 | | `OPENCODE_GIT_BASH_PATH` | string | Windows 上 Git Bash 可執行檔的路徑 | | `OPENCODE_CONFIG` | string | 設定檔路徑 | | `OPENCODE_TUI_CONFIG` | string | TUI 設定檔路徑 | diff --git a/packages/web/src/content/docs/zh-tw/commands.mdx b/packages/web/src/content/docs/zh-tw/commands.mdx index ede5a7081ddc..33f88cad08e8 100644 --- a/packages/web/src/content/docs/zh-tw/commands.mdx +++ b/packages/web/src/content/docs/zh-tw/commands.mdx @@ -9,7 +9,7 @@ description: 為重複任務建立自訂指令。 /my-command ``` -自訂指令是 `/init`、`/undo`、`/redo`、`/share`、`/help` 等內建指令之外的補充。[了解更多](/docs/tui#commands)。 +自訂指令是 `/init`、`/undo`、`/redo`、`/help` 等內建指令之外的補充。[了解更多](/docs/tui#commands)。 --- @@ -313,7 +313,7 @@ Check for performance issues and suggest improvements. ## 內建指令 -OpenCode 包含多個內建指令,如 `/init`、`/undo`、`/redo`、`/share`、`/help`;[了解更多](/docs/tui#commands)。 +OpenCode 包含多個內建指令,如 `/init`、`/undo`、`/redo`、`/help`;[了解更多](/docs/tui#commands)。 :::note 自訂指令可以覆寫內建指令。 diff --git a/packages/web/src/content/docs/zh-tw/config.mdx b/packages/web/src/content/docs/zh-tw/config.mdx index 6a670f2cf851..bccb2d4bebba 100644 --- a/packages/web/src/content/docs/zh-tw/config.mdx +++ b/packages/web/src/content/docs/zh-tw/config.mdx @@ -358,27 +358,6 @@ Bearer Token(`AWS_BEARER_TOKEN_BEDROCK` 或 `/connect`)優先於基於設定 --- -### 分享 - -您可以透過 `share` 選項設定[分享](/docs/share)功能。 - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - -該選項接受: - -- `"manual"` - 允許透過指令手動分享(預設) -- `"auto"` - 自動分享新工作階段 -- `"disabled"` - 完全停用分享 - -預設情況下,分享設定為手動模式,您需要使用 `/share` 指令明確分享工作階段。 - ---- - ### 指令 您可以透過 `command` 選項為重複任務設定自訂指令。 diff --git a/packages/web/src/content/docs/zh-tw/enterprise.mdx b/packages/web/src/content/docs/zh-tw/enterprise.mdx index 386cae21c55c..ec97bef2a346 100644 --- a/packages/web/src/content/docs/zh-tw/enterprise.mdx +++ b/packages/web/src/content/docs/zh-tw/enterprise.mdx @@ -31,27 +31,6 @@ OpenCode 是開源的,不會儲存您的任何程式碼或上下文資料, 這意味著,只要您使用的是信任的供應商或內部 AI 閘道,就可以安全地使用 OpenCode。 -唯一需要注意的是可選的 `/share` 功能。 - ---- - -#### 分享對話 - -如果使用者啟用了 `/share` 功能,對話及其關聯資料將被傳送到我們用於在 opencode.ai 上託管共享頁面的服務。 - -資料目前透過我們 CDN 的邊緣網路提供服務,並快取在靠近使用者的邊緣節點上。 - -我們建議您在試用期間停用此功能。 - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -[了解更多關於分享的資訊](/docs/share)。 - --- ### 程式碼所有權 diff --git a/packages/web/src/content/docs/zh-tw/github.mdx b/packages/web/src/content/docs/zh-tw/github.mdx index f12de2907755..88f34f5cd9fa 100644 --- a/packages/web/src/content/docs/zh-tw/github.mdx +++ b/packages/web/src/content/docs/zh-tw/github.mdx @@ -69,7 +69,6 @@ opencode github install ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 - # share: true # github_token: xxxx ``` @@ -83,7 +82,6 @@ opencode github install - `model`:OpenCode 使用的模型,格式為 `provider/model`。此項為**必填**。 - `agent`:要使用的代理,必須是主代理。如果未找到,則回退到設定中的 `default_agent`,若仍未找到則使用 `"build"`。 -- `share`:是否共享 OpenCode 工作階段。對於公開儲存庫,預設為 **true**。 - `prompt`:可選的自訂提示詞,用於覆寫預設行為。可透過此項自訂 OpenCode 處理請求的方式。 - `token`:可選的 GitHub 存取權杖,用於執行建立評論、提交變更和建立 Pull Request 等操作。預設情況下,OpenCode 使用 OpenCode GitHub App 的安裝存取權杖,因此提交、評論和 Pull Request 會顯示為來自該應用程式。 diff --git a/packages/web/src/content/docs/zh-tw/index.mdx b/packages/web/src/content/docs/zh-tw/index.mdx index 89649c3dae1a..c18fa443c524 100644 --- a/packages/web/src/content/docs/zh-tw/index.mdx +++ b/packages/web/src/content/docs/zh-tw/index.mdx @@ -318,24 +318,6 @@ Can you refactor the function in @packages/functions/src/api/index.ts? --- -## 分享 - -您與 OpenCode 的對話可以[與團隊分享](/docs/share)。 - -```bash frame="none" -/share -``` - -這會生成當前對話的連結並複製到剪貼簿。 - -:::note -對話預設不會被分享。 -::: - -這是一個與 OpenCode 的[範例對話](https://opencode.ai/s/4XP1fce5)。 - ---- - ## 個人化 以上就是全部內容!您現在已經是 OpenCode 的使用高手了。 diff --git a/packages/web/src/content/docs/zh-tw/keybinds.mdx b/packages/web/src/content/docs/zh-tw/keybinds.mdx index 61d902141a93..68d54540eaae 100644 --- a/packages/web/src/content/docs/zh-tw/keybinds.mdx +++ b/packages/web/src/content/docs/zh-tw/keybinds.mdx @@ -24,8 +24,6 @@ OpenCode 提供了一系列快捷鍵,您可以透過 `tui.json` 進行自訂 "session_timeline": "g", "session_fork": "none", "session_rename": "none", - "session_share": "none", - "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/zh-tw/providers.mdx b/packages/web/src/content/docs/zh-tw/providers.mdx index d4e55ed712e2..4639ca596437 100644 --- a/packages/web/src/content/docs/zh-tw/providers.mdx +++ b/packages/web/src/content/docs/zh-tw/providers.mdx @@ -748,13 +748,12 @@ GitLab Duo 透過 GitLab 的 Anthropic 代理提供具有原生工具呼叫能 ##### 自架 GitLab :::note[合規說明] -OpenCode 會使用一個小模型來執行部分 AI 任務,例如產生工作階段標題。預設情況下使用由 Zen 託管的 gpt-5-nano。如果您需要讓 OpenCode 僅使用您自己的 GitLab 託管實例,請在 `opencode.json` 檔案中新增以下內容。同時建議停用工作階段分享。 +OpenCode 會使用一個小模型來執行部分 AI 任務,例如產生工作階段標題。預設情況下使用由 Zen 託管的 gpt-5-nano。如果您需要讓 OpenCode 僅使用您自己的 GitLab 託管實例,請在 `opencode.json` 檔案中新增以下內容。 ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5", - "share": "disabled" + "small_model": "gitlab/duo-chat-haiku-4-5" } ``` diff --git a/packages/web/src/content/docs/zh-tw/server.mdx b/packages/web/src/content/docs/zh-tw/server.mdx index 411bc0eb7264..d59db0fa6535 100644 --- a/packages/web/src/content/docs/zh-tw/server.mdx +++ b/packages/web/src/content/docs/zh-tw/server.mdx @@ -155,8 +155,6 @@ opencode 伺服器暴露以下 API。 | `POST` | `/session/:id/init` | 分析應用程式並建立 `AGENTS.md` | 請求主體:`{ messageID, providerID, modelID }`,回傳 `boolean` | | `POST` | `/session/:id/fork` | 在某條訊息處分岔現有工作階段 | 請求主體:`{ messageID? }`,回傳 Session | | `POST` | `/session/:id/abort` | 中止正在執行的工作階段 | 回傳 `boolean` | -| `POST` | `/session/:id/share` | 分享工作階段 | 回傳 Session | -| `DELETE` | `/session/:id/share` | 取消分享工作階段 | 回傳 Session | | `GET` | `/session/:id/diff` | 取得本次工作階段的差異 | 查詢參數:`messageID?`,回傳 FileDiff[] | | `POST` | `/session/:id/summarize` | 摘要工作階段 | 請求主體:`{ providerID, modelID }`,回傳 `boolean` | | `POST` | `/session/:id/revert` | 還原訊息 | 請求主體:`{ messageID, partID? }`,回傳 `boolean` | diff --git a/packages/web/src/content/docs/zh-tw/share.mdx b/packages/web/src/content/docs/zh-tw/share.mdx deleted file mode 100644 index 58365035b640..000000000000 --- a/packages/web/src/content/docs/zh-tw/share.mdx +++ /dev/null @@ -1,127 +0,0 @@ ---- -title: 分享 -description: 分享您的 OpenCode 對話。 ---- - -OpenCode 的分享功能允許您建立指向 OpenCode 對話的公開連結,方便與團隊成員協作或向他人尋求幫助。 - -:::note -共享的對話對任何擁有連結的人都是公開可存取的。 -::: - ---- - -## 工作原理 - -當您分享一段對話時,OpenCode 會: - -1. 為您的工作階段建立一個唯一的公開 URL -2. 將您的對話歷史同步到我們的伺服器 -3. 透過可分享的連結使對話可存取 — `opncd.ai/s/` - ---- - -## 分享模式 - -OpenCode 支援三種分享模式,用於控制對話的共享方式: - ---- - -### 手動模式(預設) - -預設情況下,OpenCode 使用手動分享模式。工作階段不會自動共享,但您可以使用 `/share` 指令手動分享: - -``` -/share -``` - -這將產生一個唯一的 URL 並複製到您的剪貼簿。 - -要在[設定檔](/docs/config)中明確設定手動模式: - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "manual" -} -``` - ---- - -### 自動分享 - -您可以在[設定檔](/docs/config)中將 `share` 選項設定為 `"auto"`,為所有新對話啟用自動分享: - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "auto" -} -``` - -啟用自動分享後,每個新對話都會自動共享並產生連結。 - ---- - -### 停用 - -您可以在[設定檔](/docs/config)中將 `share` 選項設定為 `"disabled"`,完全停用分享功能: - -```json title="opencode.json" -{ - "$schema": "https://opencode.ai/config.json", - "share": "disabled" -} -``` - -要在團隊中對特定專案強制執行此設定,請將其新增到專案的 `opencode.json` 檔案中並提交到 Git。 - ---- - -## 取消分享 - -要停止分享對話並將其從公開存取中移除: - -``` -/unshare -``` - -這將移除分享連結並刪除與該對話相關的資料。 - ---- - -## 隱私 - -分享對話時需要注意以下幾點。 - ---- - -### 資料保留 - -共享的對話在您明確取消分享之前將一直保持可存取狀態。這包括: - -- 完整的對話歷史 -- 所有訊息和回覆 -- 工作階段中繼資料 - ---- - -### 建議 - -- 僅分享不包含敏感資訊的對話。 -- 分享前請檢查對話內容。 -- 協作完成後請取消分享。 -- 避免分享包含專有程式碼或機密資料的對話。 -- 對於敏感專案,請完全停用分享功能。 - ---- - -## 企業版 - -對於企業部署,分享功能可以: - -- 出於安全合規考量**完全停用** -- **限制**為僅通過 SSO 身分驗證的使用者可用 -- **自行託管**在您自己的基礎架構上 - -[了解更多](/docs/enterprise)關於在您的組織中使用 OpenCode 的資訊。 diff --git a/packages/web/src/content/docs/zh-tw/tui.mdx b/packages/web/src/content/docs/zh-tw/tui.mdx index f2f7b09cc5f1..fcce892d25e9 100644 --- a/packages/web/src/content/docs/zh-tw/tui.mdx +++ b/packages/web/src/content/docs/zh-tw/tui.mdx @@ -217,18 +217,6 @@ How is auth handled in @packages/functions/src/api/index.ts? --- -### share - -分享當前工作階段。[了解更多](/docs/share)。 - -```bash frame="none" -/share -``` - -**快速鍵:** `ctrl+x s` - ---- - ### themes 列出可用主題。 @@ -273,16 +261,6 @@ How is auth handled in @packages/functions/src/api/index.ts? --- -### unshare - -取消分享當前工作階段。[了解更多](/docs/share#un-sharing)。 - -```bash frame="none" -/unshare -``` - ---- - ## 編輯器設定 `/editor` 和 `/export` 指令都使用 `EDITOR` 環境變數中指定的編輯器。 From c11a06c3e16d814439aadc3d26ae0a0955784b40 Mon Sep 17 00:00:00 2001 From: vimtor Date: Thu, 15 Oct 2026 18:47:33 +0200 Subject: [PATCH 5/5] docs(web): keep frozen v1 docs unchanged --- packages/web/astro.config.mjs | 2 +- packages/web/src/content/docs/ar/cli.mdx | 7 +- packages/web/src/content/docs/ar/commands.mdx | 4 +- packages/web/src/content/docs/ar/config.mdx | 21 +++ .../web/src/content/docs/ar/enterprise.mdx | 21 +++ packages/web/src/content/docs/ar/github.mdx | 2 + packages/web/src/content/docs/ar/index.mdx | 18 +++ packages/web/src/content/docs/ar/keybinds.mdx | 2 + .../web/src/content/docs/ar/providers.mdx | 5 +- packages/web/src/content/docs/ar/server.mdx | 2 + packages/web/src/content/docs/ar/share.mdx | 127 +++++++++++++++++ packages/web/src/content/docs/ar/tui.mdx | 22 +++ packages/web/src/content/docs/bs/cli.mdx | 7 +- packages/web/src/content/docs/bs/commands.mdx | 4 +- packages/web/src/content/docs/bs/config.mdx | 21 +++ .../web/src/content/docs/bs/enterprise.mdx | 21 +++ packages/web/src/content/docs/bs/github.mdx | 2 + packages/web/src/content/docs/bs/index.mdx | 16 +++ packages/web/src/content/docs/bs/keybinds.mdx | 2 + .../web/src/content/docs/bs/providers.mdx | 5 +- packages/web/src/content/docs/bs/server.mdx | 2 + packages/web/src/content/docs/bs/share.mdx | 127 +++++++++++++++++ packages/web/src/content/docs/bs/tui.mdx | 22 +++ packages/web/src/content/docs/cli.mdx | 7 +- packages/web/src/content/docs/commands.mdx | 4 +- packages/web/src/content/docs/config.mdx | 23 ++++ packages/web/src/content/docs/da/cli.mdx | 7 +- packages/web/src/content/docs/da/commands.mdx | 4 +- packages/web/src/content/docs/da/config.mdx | 21 +++ .../web/src/content/docs/da/enterprise.mdx | 21 +++ packages/web/src/content/docs/da/github.mdx | 2 + packages/web/src/content/docs/da/index.mdx | 19 +++ packages/web/src/content/docs/da/keybinds.mdx | 2 + .../web/src/content/docs/da/providers.mdx | 5 +- packages/web/src/content/docs/da/server.mdx | 2 + packages/web/src/content/docs/da/share.mdx | 128 +++++++++++++++++ packages/web/src/content/docs/da/tui.mdx | 22 +++ packages/web/src/content/docs/de/cli.mdx | 7 +- packages/web/src/content/docs/de/commands.mdx | 4 +- packages/web/src/content/docs/de/config.mdx | 21 +++ .../web/src/content/docs/de/enterprise.mdx | 21 +++ packages/web/src/content/docs/de/github.mdx | 2 + packages/web/src/content/docs/de/index.mdx | 18 +++ packages/web/src/content/docs/de/keybinds.mdx | 2 + .../web/src/content/docs/de/providers.mdx | 5 +- packages/web/src/content/docs/de/server.mdx | 2 + packages/web/src/content/docs/de/share.mdx | 130 ++++++++++++++++++ packages/web/src/content/docs/de/tui.mdx | 22 +++ packages/web/src/content/docs/enterprise.mdx | 21 +++ packages/web/src/content/docs/es/cli.mdx | 7 +- packages/web/src/content/docs/es/commands.mdx | 4 +- packages/web/src/content/docs/es/config.mdx | 21 +++ .../web/src/content/docs/es/enterprise.mdx | 21 +++ packages/web/src/content/docs/es/github.mdx | 2 + packages/web/src/content/docs/es/index.mdx | 19 +++ packages/web/src/content/docs/es/keybinds.mdx | 2 + .../web/src/content/docs/es/providers.mdx | 5 +- packages/web/src/content/docs/es/server.mdx | 2 + packages/web/src/content/docs/es/share.mdx | 128 +++++++++++++++++ packages/web/src/content/docs/es/tui.mdx | 22 +++ packages/web/src/content/docs/fr/cli.mdx | 7 +- packages/web/src/content/docs/fr/commands.mdx | 4 +- packages/web/src/content/docs/fr/config.mdx | 21 +++ .../web/src/content/docs/fr/enterprise.mdx | 21 +++ packages/web/src/content/docs/fr/github.mdx | 2 + packages/web/src/content/docs/fr/index.mdx | 18 +++ packages/web/src/content/docs/fr/keybinds.mdx | 2 + .../web/src/content/docs/fr/providers.mdx | 5 +- packages/web/src/content/docs/fr/server.mdx | 2 + packages/web/src/content/docs/fr/share.mdx | 128 +++++++++++++++++ packages/web/src/content/docs/fr/tui.mdx | 22 +++ packages/web/src/content/docs/github.mdx | 2 + packages/web/src/content/docs/index.mdx | 19 +++ packages/web/src/content/docs/it/cli.mdx | 7 +- packages/web/src/content/docs/it/commands.mdx | 4 +- packages/web/src/content/docs/it/config.mdx | 21 +++ .../web/src/content/docs/it/enterprise.mdx | 21 +++ packages/web/src/content/docs/it/github.mdx | 2 + packages/web/src/content/docs/it/index.mdx | 18 +++ packages/web/src/content/docs/it/keybinds.mdx | 2 + .../web/src/content/docs/it/providers.mdx | 5 +- packages/web/src/content/docs/it/server.mdx | 2 + packages/web/src/content/docs/it/share.mdx | 127 +++++++++++++++++ packages/web/src/content/docs/it/tui.mdx | 22 +++ packages/web/src/content/docs/ja/cli.mdx | 7 +- packages/web/src/content/docs/ja/commands.mdx | 4 +- packages/web/src/content/docs/ja/config.mdx | 21 +++ .../web/src/content/docs/ja/enterprise.mdx | 21 +++ packages/web/src/content/docs/ja/github.mdx | 2 + packages/web/src/content/docs/ja/index.mdx | 18 +++ packages/web/src/content/docs/ja/keybinds.mdx | 2 + .../web/src/content/docs/ja/providers.mdx | 5 +- packages/web/src/content/docs/ja/server.mdx | 2 + packages/web/src/content/docs/ja/share.mdx | 128 +++++++++++++++++ packages/web/src/content/docs/ja/tui.mdx | 22 +++ packages/web/src/content/docs/keybinds.mdx | 2 + packages/web/src/content/docs/ko/cli.mdx | 7 +- packages/web/src/content/docs/ko/commands.mdx | 4 +- packages/web/src/content/docs/ko/config.mdx | 21 +++ .../web/src/content/docs/ko/enterprise.mdx | 21 +++ packages/web/src/content/docs/ko/github.mdx | 2 + packages/web/src/content/docs/ko/index.mdx | 18 +++ packages/web/src/content/docs/ko/keybinds.mdx | 2 + .../web/src/content/docs/ko/providers.mdx | 4 +- packages/web/src/content/docs/ko/server.mdx | 2 + packages/web/src/content/docs/ko/share.mdx | 128 +++++++++++++++++ packages/web/src/content/docs/ko/tui.mdx | 22 +++ packages/web/src/content/docs/nb/cli.mdx | 7 +- packages/web/src/content/docs/nb/commands.mdx | 4 +- packages/web/src/content/docs/nb/config.mdx | 21 +++ .../web/src/content/docs/nb/enterprise.mdx | 21 +++ packages/web/src/content/docs/nb/github.mdx | 2 + packages/web/src/content/docs/nb/index.mdx | 19 +++ packages/web/src/content/docs/nb/keybinds.mdx | 2 + .../web/src/content/docs/nb/providers.mdx | 5 +- packages/web/src/content/docs/nb/server.mdx | 2 + packages/web/src/content/docs/nb/share.mdx | 128 +++++++++++++++++ packages/web/src/content/docs/nb/tui.mdx | 22 +++ packages/web/src/content/docs/pl/cli.mdx | 7 +- packages/web/src/content/docs/pl/commands.mdx | 4 +- packages/web/src/content/docs/pl/config.mdx | 21 +++ .../web/src/content/docs/pl/enterprise.mdx | 21 +++ packages/web/src/content/docs/pl/github.mdx | 2 + packages/web/src/content/docs/pl/index.mdx | 18 +++ packages/web/src/content/docs/pl/keybinds.mdx | 2 + .../web/src/content/docs/pl/providers.mdx | 5 +- packages/web/src/content/docs/pl/server.mdx | 2 + packages/web/src/content/docs/pl/share.mdx | 128 +++++++++++++++++ packages/web/src/content/docs/pl/tui.mdx | 22 +++ packages/web/src/content/docs/providers.mdx | 5 +- packages/web/src/content/docs/pt-br/cli.mdx | 7 +- .../web/src/content/docs/pt-br/commands.mdx | 4 +- .../web/src/content/docs/pt-br/config.mdx | 21 +++ .../web/src/content/docs/pt-br/enterprise.mdx | 21 +++ .../web/src/content/docs/pt-br/github.mdx | 2 + packages/web/src/content/docs/pt-br/index.mdx | 18 +++ .../web/src/content/docs/pt-br/keybinds.mdx | 2 + .../web/src/content/docs/pt-br/providers.mdx | 5 +- .../web/src/content/docs/pt-br/server.mdx | 2 + packages/web/src/content/docs/pt-br/share.mdx | 127 +++++++++++++++++ packages/web/src/content/docs/pt-br/tui.mdx | 22 +++ packages/web/src/content/docs/ru/cli.mdx | 7 +- packages/web/src/content/docs/ru/commands.mdx | 4 +- packages/web/src/content/docs/ru/config.mdx | 21 +++ .../web/src/content/docs/ru/enterprise.mdx | 21 +++ packages/web/src/content/docs/ru/github.mdx | 2 + packages/web/src/content/docs/ru/index.mdx | 19 +++ packages/web/src/content/docs/ru/keybinds.mdx | 2 + .../web/src/content/docs/ru/providers.mdx | 5 +- packages/web/src/content/docs/ru/server.mdx | 2 + packages/web/src/content/docs/ru/share.mdx | 128 +++++++++++++++++ packages/web/src/content/docs/ru/tui.mdx | 22 +++ packages/web/src/content/docs/server.mdx | 2 + packages/web/src/content/docs/share.mdx | 128 +++++++++++++++++ packages/web/src/content/docs/th/cli.mdx | 7 +- packages/web/src/content/docs/th/commands.mdx | 4 +- packages/web/src/content/docs/th/config.mdx | 21 +++ .../web/src/content/docs/th/enterprise.mdx | 21 +++ packages/web/src/content/docs/th/github.mdx | 2 + packages/web/src/content/docs/th/index.mdx | 19 +++ packages/web/src/content/docs/th/keybinds.mdx | 2 + .../web/src/content/docs/th/providers.mdx | 5 +- packages/web/src/content/docs/th/server.mdx | 2 + packages/web/src/content/docs/th/share.mdx | 128 +++++++++++++++++ packages/web/src/content/docs/th/tui.mdx | 22 +++ packages/web/src/content/docs/tr/cli.mdx | 7 +- packages/web/src/content/docs/tr/commands.mdx | 4 +- packages/web/src/content/docs/tr/config.mdx | 21 +++ .../web/src/content/docs/tr/enterprise.mdx | 21 +++ packages/web/src/content/docs/tr/github.mdx | 2 + packages/web/src/content/docs/tr/index.mdx | 18 +++ packages/web/src/content/docs/tr/keybinds.mdx | 2 + .../web/src/content/docs/tr/providers.mdx | 5 +- packages/web/src/content/docs/tr/server.mdx | 2 + packages/web/src/content/docs/tr/share.mdx | 127 +++++++++++++++++ packages/web/src/content/docs/tr/tui.mdx | 22 +++ packages/web/src/content/docs/tui.mdx | 20 +++ packages/web/src/content/docs/zh-cn/cli.mdx | 7 +- .../web/src/content/docs/zh-cn/commands.mdx | 4 +- .../web/src/content/docs/zh-cn/config.mdx | 21 +++ .../web/src/content/docs/zh-cn/enterprise.mdx | 21 +++ .../web/src/content/docs/zh-cn/github.mdx | 2 + packages/web/src/content/docs/zh-cn/index.mdx | 18 +++ .../web/src/content/docs/zh-cn/keybinds.mdx | 2 + .../web/src/content/docs/zh-cn/providers.mdx | 5 +- .../web/src/content/docs/zh-cn/server.mdx | 2 + packages/web/src/content/docs/zh-cn/share.mdx | 127 +++++++++++++++++ packages/web/src/content/docs/zh-cn/tui.mdx | 22 +++ packages/web/src/content/docs/zh-tw/cli.mdx | 7 +- .../web/src/content/docs/zh-tw/commands.mdx | 4 +- .../web/src/content/docs/zh-tw/config.mdx | 21 +++ .../web/src/content/docs/zh-tw/enterprise.mdx | 21 +++ .../web/src/content/docs/zh-tw/github.mdx | 2 + packages/web/src/content/docs/zh-tw/index.mdx | 18 +++ .../web/src/content/docs/zh-tw/keybinds.mdx | 2 + .../web/src/content/docs/zh-tw/providers.mdx | 5 +- .../web/src/content/docs/zh-tw/server.mdx | 2 + packages/web/src/content/docs/zh-tw/share.mdx | 127 +++++++++++++++++ packages/web/src/content/docs/zh-tw/tui.mdx | 22 +++ 199 files changed, 4086 insertions(+), 90 deletions(-) create mode 100644 packages/web/src/content/docs/ar/share.mdx create mode 100644 packages/web/src/content/docs/bs/share.mdx create mode 100644 packages/web/src/content/docs/da/share.mdx create mode 100644 packages/web/src/content/docs/de/share.mdx create mode 100644 packages/web/src/content/docs/es/share.mdx create mode 100644 packages/web/src/content/docs/fr/share.mdx create mode 100644 packages/web/src/content/docs/it/share.mdx create mode 100644 packages/web/src/content/docs/ja/share.mdx create mode 100644 packages/web/src/content/docs/ko/share.mdx create mode 100644 packages/web/src/content/docs/nb/share.mdx create mode 100644 packages/web/src/content/docs/pl/share.mdx create mode 100644 packages/web/src/content/docs/pt-br/share.mdx create mode 100644 packages/web/src/content/docs/ru/share.mdx create mode 100644 packages/web/src/content/docs/share.mdx create mode 100644 packages/web/src/content/docs/th/share.mdx create mode 100644 packages/web/src/content/docs/tr/share.mdx create mode 100644 packages/web/src/content/docs/zh-cn/share.mdx create mode 100644 packages/web/src/content/docs/zh-tw/share.mdx diff --git a/packages/web/astro.config.mjs b/packages/web/astro.config.mjs index 05e1482c80d1..21eaa6e65116 100644 --- a/packages/web/astro.config.mjs +++ b/packages/web/astro.config.mjs @@ -224,7 +224,7 @@ export default defineConfig({ "zh-CN": "使用", "zh-TW": "使用", }, - items: ["go", "tui", "cli", "web", "ide", "zen", "github", "gitlab"], + items: ["go", "tui", "cli", "web", "ide", "zen", "share", "github", "gitlab"], }, { diff --git a/packages/web/src/content/docs/ar/cli.mdx b/packages/web/src/content/docs/ar/cli.mdx index 594677c10540..5aa9b781f917 100644 --- a/packages/web/src/content/docs/ar/cli.mdx +++ b/packages/web/src/content/docs/ar/cli.mdx @@ -345,6 +345,7 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | متابعة الجلسة الأخيرة | | {"--session"} | `-s` | معرّف الجلسة للمتابعة | | {"--fork"} | | تفريع الجلسة عند المتابعة (يستخدم مع `--continue` أو `--session`) | +| {"--share"} | | مشاركة الجلسة | | {"--model"} | `-m` | النموذج المراد استخدامه بصيغة provider/model | | {"--agent"} | | الوكيل المراد استخدامه | | {"--file"} | `-f` | ملف/ملفات لإرفاقها بالرسالة | @@ -441,14 +442,17 @@ opencode export [sessionID] ### import -استيراد بيانات الجلسة من ملف JSON. +استيراد بيانات الجلسة من ملف JSON أو رابط مشاركة OpenCode. ```bash opencode import ``` +يمكنك الاستيراد من ملف محلي أو من رابط مشاركة OpenCode. + ```bash opencode import session.json +opencode import https://opncd.ai/s/abc123 ``` --- @@ -560,6 +564,7 @@ opencode upgrade v0.1.48 | المتغير | النوع | الوصف | | ------------------------------------- | ------- | --------------------------------------------------------- | +| `OPENCODE_AUTO_SHARE` | boolean | مشاركة الجلسات تلقائيا | | `OPENCODE_GIT_BASH_PATH` | string | مسار ملف Git Bash التنفيذي على Windows | | `OPENCODE_CONFIG` | string | مسار ملف التهيئة | | `OPENCODE_CONFIG_DIR` | string | مسار دليل التهيئة | diff --git a/packages/web/src/content/docs/ar/commands.mdx b/packages/web/src/content/docs/ar/commands.mdx index 9ca3ab600835..da14065212dd 100644 --- a/packages/web/src/content/docs/ar/commands.mdx +++ b/packages/web/src/content/docs/ar/commands.mdx @@ -9,7 +9,7 @@ description: أنشئ أوامر مخصصة للمهام المتكررة. /my-command ``` -تُعدّ الأوامر المخصصة إضافةً إلى الأوامر المضمنة مثل `/init` و`/undo` و`/redo` و`/help`. [اعرف المزيد](/docs/tui#commands). +تُعدّ الأوامر المخصصة إضافةً إلى الأوامر المضمنة مثل `/init` و`/undo` و`/redo` و`/share` و`/help`. [اعرف المزيد](/docs/tui#commands). --- @@ -313,7 +313,7 @@ Check for performance issues and suggest improvements. ## الأوامر المضمنة -يتضمن opencode عدة أوامر مضمنة مثل `/init` و`/undo` و`/redo` و`/help`؛ [اعرف المزيد](/docs/tui#commands). +يتضمن opencode عدة أوامر مضمنة مثل `/init` و`/undo` و`/redo` و`/share` و`/help`؛ [اعرف المزيد](/docs/tui#commands). :::note يمكن للأوامر المخصصة تجاوز الأوامر المضمنة. diff --git a/packages/web/src/content/docs/ar/config.mdx b/packages/web/src/content/docs/ar/config.mdx index c490fe3c9c0f..8f5b275e5ce4 100644 --- a/packages/web/src/content/docs/ar/config.mdx +++ b/packages/web/src/content/docs/ar/config.mdx @@ -356,6 +356,27 @@ opencode run "Hello world" --- +### المشاركة + +يمكنك ضبط ميزة [share](/docs/share) عبر الخيار `share`. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +يقبل هذا الإعداد القيم التالية: + +- `"manual"` - السماح بالمشاركة اليدوية عبر الأوامر (الافتراضي) +- `"auto"` - مشاركة المحادثات الجديدة تلقائيًا +- `"disabled"` - تعطيل المشاركة بالكامل + +افتراضيًا تكون المشاركة في الوضع اليدوي، حيث تحتاج إلى مشاركة المحادثات صراحةً باستخدام الأمر `/share`. + +--- + ### الأوامر يمكنك ضبط أوامر مخصصة للمهام المتكررة عبر الخيار `command`. diff --git a/packages/web/src/content/docs/ar/enterprise.mdx b/packages/web/src/content/docs/ar/enterprise.mdx index 214a41188688..b7b188edeb3f 100644 --- a/packages/web/src/content/docs/ar/enterprise.mdx +++ b/packages/web/src/content/docs/ar/enterprise.mdx @@ -31,6 +31,27 @@ OpenCode مفتوح المصدر ولا يخزن أي من شيفرتك أو ب وهذا يعني أنه طالما أنك تستخدم مزودا تثق به، أو بوابة AI داخلية، يمكنك استخدام OpenCode بأمان. +الاستثناء الوحيد هنا هو ميزة `/share` الاختيارية. + +--- + +#### مشاركة المحادثات + +إذا فعّل المستخدم ميزة `/share`، فسيتم إرسال المحادثة والبيانات المرتبطة بها إلى الخدمة التي نستخدمها لاستضافة صفحات المشاركة هذه على opencode.ai. + +يتم تقديم البيانات حاليا عبر شبكة الحافة الخاصة بـ CDN لدينا، وتُخزّن مؤقتا على الحافة بالقرب من مستخدميك. + +نوصي بتعطيل ذلك أثناء التجربة. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +[تعرّف على المزيد حول المشاركة](/docs/share). + --- ### ملكية الشيفرة diff --git a/packages/web/src/content/docs/ar/github.mdx b/packages/web/src/content/docs/ar/github.mdx index 4dbcddc107b7..1365b74e537c 100644 --- a/packages/web/src/content/docs/ar/github.mdx +++ b/packages/web/src/content/docs/ar/github.mdx @@ -69,6 +69,7 @@ opencode github install ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 + # share: true # github_token: xxxx ``` @@ -82,6 +83,7 @@ opencode github install - `model`: النموذج الذي سيستخدمه OpenCode. يأخذ الصيغة `provider/model`. هذا **مطلوب**. - `agent`: الـagent الذي سيتم استخدامه. يجب أن يكون agent أساسيًا. يعود افتراضيًا إلى `default_agent` من الإعدادات أو `"build"` إذا لم يُعثر عليه. +- `share`: هل تتم مشاركة جلسة OpenCode. القيمة الافتراضية **true** للمستودعات العامة. - `prompt`: موجه مخصص اختياري لتجاوز السلوك الافتراضي. استخدمه لتخصيص كيفية معالجة OpenCode للطلبات. - `token`: GitHub access token اختياري لتنفيذ عمليات مثل إنشاء التعليقات، وcommit للتغييرات، وفتح Pull Requests. افتراضيًا يستخدم OpenCode installation access token الخاص بـOpenCode GitHub App، لذا تظهر commits والتعليقات وPull Requests وكأنها صادرة من التطبيق. diff --git a/packages/web/src/content/docs/ar/index.mdx b/packages/web/src/content/docs/ar/index.mdx index 9f7aa7a34333..ff2de9c512d8 100644 --- a/packages/web/src/content/docs/ar/index.mdx +++ b/packages/web/src/content/docs/ar/index.mdx @@ -319,6 +319,24 @@ Can you refactor the function in @packages/functions/src/api/index.ts? --- +## المشاركة + +يمكن [مشاركة المحادثات](/docs/share) التي تجريها مع OpenCode مع فريقك. + +```bash frame="none" +/share +``` + +سيقوم هذا بإنشاء رابط للمحادثة الحالية ونسخه إلى الحافظة. + +:::note +لا تتم مشاركة المحادثات افتراضيا. +::: + +إليك [مثالا لمحادثة](https://opencode.ai/s/4XP1fce5) مع OpenCode. + +--- + ## التخصيص وهذا كل شيء! أصبحت الآن محترفا في استخدام OpenCode. diff --git a/packages/web/src/content/docs/ar/keybinds.mdx b/packages/web/src/content/docs/ar/keybinds.mdx index 251d35c5fd4b..d40d49729e97 100644 --- a/packages/web/src/content/docs/ar/keybinds.mdx +++ b/packages/web/src/content/docs/ar/keybinds.mdx @@ -24,6 +24,8 @@ description: خصّص اختصارات لوحة المفاتيح. "session_timeline": "g", "session_fork": "none", "session_rename": "none", + "session_share": "none", + "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/ar/providers.mdx b/packages/web/src/content/docs/ar/providers.mdx index dc2fe62b4a97..c4812fe5d5ee 100644 --- a/packages/web/src/content/docs/ar/providers.mdx +++ b/packages/web/src/content/docs/ar/providers.mdx @@ -754,12 +754,13 @@ OpenCode Go هي خطة اشتراك منخفضة التكلفة توفّر وص يستخدم OpenCode نموذجا صغيرا لبعض مهام الذكاء الاصطناعي مثل إنشاء عنوان الجلسة. تم ضبطه لاستخدام gpt-5-nano افتراضيا، مستضافا عبر Zen. لحصر OpenCode على استخدام مثيل GitLab المستضاف لديك فقط، أضف ما يلي إلى ملف -`opencode.json` لديك. +`opencode.json` لديك. يوصى أيضا بتعطيل مشاركة الجلسات. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5" + "small_model": "gitlab/duo-chat-haiku-4-5", + "share": "disabled" } ``` diff --git a/packages/web/src/content/docs/ar/server.mdx b/packages/web/src/content/docs/ar/server.mdx index bfba77bf529f..017a81eafa0c 100644 --- a/packages/web/src/content/docs/ar/server.mdx +++ b/packages/web/src/content/docs/ar/server.mdx @@ -158,6 +158,8 @@ http://:/doc | `POST` | `/session/:id/init` | تحليل التطبيق وإنشاء `AGENTS.md` | المتن: `{ messageID, providerID, modelID }`، يعيد `boolean` | | `POST` | `/session/:id/fork` | تفريع جلسة موجودة عند رسالة | المتن: `{ messageID? }`، يعيد Session | | `POST` | `/session/:id/abort` | إلغاء جلسة قيد التشغيل | يعيد `boolean` | +| `POST` | `/session/:id/share` | مشاركة جلسة | يعيد Session | +| `DELETE` | `/session/:id/share` | إلغاء مشاركة جلسة | يعيد Session | | `GET` | `/session/:id/diff` | الحصول على diff لهذه الجلسة | الاستعلام: `messageID?`، يعيد FileDiff[] | | `POST` | `/session/:id/summarize` | تلخيص الجلسة | المتن: `{ providerID, modelID }`، يعيد `boolean` | | `POST` | `/session/:id/revert` | التراجع عن رسالة | المتن: `{ messageID, partID? }`، يعيد `boolean` | diff --git a/packages/web/src/content/docs/ar/share.mdx b/packages/web/src/content/docs/ar/share.mdx new file mode 100644 index 000000000000..6d13410458cd --- /dev/null +++ b/packages/web/src/content/docs/ar/share.mdx @@ -0,0 +1,127 @@ +--- +title: المشاركة +description: شارك محادثات OpenCode الخاصة بك. +--- + +تتيح لك ميزة المشاركة في OpenCode إنشاء روابط عامة لمحادثات OpenCode الخاصة بك، بحيث يمكنك التعاون مع زملائك أو الحصول على المساعدة من الآخرين. + +:::note +المحادثات المشتركة متاحة للعامة لأي شخص لديه الرابط. +::: + +--- + +## كيف تعمل + +عند مشاركة محادثة، يقوم OpenCode بما يلي: + +1. ينشئ عنوان URL عاما فريدا لجلستك +2. يزامن سجل محادثتك مع خوادمنا +3. يجعل المحادثة متاحة عبر رابط قابل للمشاركة — `opncd.ai/s/` + +--- + +## المشاركة + +يدعم OpenCode ثلاثة أوضاع للمشاركة تتحكم في كيفية مشاركة المحادثات: + +--- + +### يدوي (افتراضي) + +افتراضيا، يستخدم OpenCode وضع المشاركة اليدوي. لا تتم مشاركة الجلسات تلقائيا، لكن يمكنك مشاركتها يدويا باستخدام الأمر `/share`: + +``` +/share +``` + +سيُنشئ هذا عنوان URL فريدا وسيُنسخ إلى الحافظة. + +لضبط الوضع اليدوي صراحة في [ملف الإعدادات](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +--- + +### المشاركة التلقائية + +يمكنك تفعيل المشاركة التلقائية لجميع المحادثات الجديدة عبر ضبط خيار `share` إلى `"auto"` في [ملف الإعدادات](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "auto" +} +``` + +عند تفعيل المشاركة التلقائية، ستتم مشاركة كل محادثة جديدة تلقائيا وسيتم إنشاء رابط لها. + +--- + +### معطلة + +يمكنك تعطيل المشاركة بالكامل عبر ضبط خيار `share` إلى `"disabled"` في [ملف الإعدادات](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +لفرض ذلك على مستوى فريقك لمشروع معين، أضفه إلى ملف `opencode.json` في مشروعك ثم قم بإدراجه في Git. + +--- + +## إلغاء المشاركة + +لإيقاف مشاركة محادثة وإزالتها من الوصول العام: + +``` +/unshare +``` + +سيؤدي ذلك إلى إزالة رابط المشاركة وحذف البيانات المتعلقة بالمحادثة. + +--- + +## الخصوصية + +هناك بعض الأمور التي ينبغي وضعها في الاعتبار عند مشاركة محادثة. + +--- + +### الاحتفاظ بالبيانات + +تظل المحادثات المشتركة متاحة حتى تقوم بإلغاء مشاركتها صراحة. يشمل ذلك: + +- سجل المحادثة كاملا +- جميع الرسائل والردود +- بيانات تعريف الجلسة + +--- + +### توصيات + +- شارك فقط المحادثات التي لا تتضمن معلومات حساسة. +- راجع محتوى المحادثة قبل مشاركتها. +- ألغِ مشاركة المحادثات عند اكتمال التعاون. +- تجنب مشاركة المحادثات التي تتضمن شيفرة مملوكة أو بيانات سرية. +- للمشاريع الحساسة، عطّل المشاركة بالكامل. + +--- + +## للمؤسسات + +في عمليات النشر الخاصة بالمؤسسات، يمكن أن تكون ميزة المشاركة: + +- **معطلة** بالكامل للامتثال الأمني +- **مقيدة** على المستخدمين الموثقين عبر SSO فقط +- **مستضافة ذاتيا** على بنيتك التحتية الخاصة + +[تعرّف على المزيد](/docs/enterprise) حول استخدام OpenCode في مؤسستك. diff --git a/packages/web/src/content/docs/ar/tui.mdx b/packages/web/src/content/docs/ar/tui.mdx index f6dc5f212167..2a437d48410c 100644 --- a/packages/web/src/content/docs/ar/tui.mdx +++ b/packages/web/src/content/docs/ar/tui.mdx @@ -217,6 +217,18 @@ How is auth handled in @packages/functions/src/api/index.ts? --- +### share + +شارك الجلسة الحالية. [اعرف المزيد](/docs/share). + +```bash frame="none" +/share +``` + +**اختصار لوحة المفاتيح:** `ctrl+x s` + +--- + ### themes اعرض السمات المتاحة. @@ -261,6 +273,16 @@ How is auth handled in @packages/functions/src/api/index.ts? --- +### unshare + +ألغِ مشاركة الجلسة الحالية. [اعرف المزيد](/docs/share#un-sharing). + +```bash frame="none" +/unshare +``` + +--- + ## إعداد المحرر يستخدم الأمران `/editor` و`/export` المحرر المحدد في متغير البيئة `EDITOR`. diff --git a/packages/web/src/content/docs/bs/cli.mdx b/packages/web/src/content/docs/bs/cli.mdx index b3eb41bec004..8883e6889a42 100644 --- a/packages/web/src/content/docs/bs/cli.mdx +++ b/packages/web/src/content/docs/bs/cli.mdx @@ -342,6 +342,7 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | Nastavite posljednju sesiju | | {"--session"} | `-s` | ID sesije za nastavak | | {"--fork"} | | Forkujte sesiju pri nastavku (koristiti sa `--continue` ili `--session`) | +| {"--share"} | | Podijelite sesiju | | {"--model"} | `-m` | Model za korištenje u obliku provider/model | | {"--agent"} | | Agent za korištenje | | {"--file"} | `-f` | Fajlovi koje treba priložiti poruci | @@ -438,14 +439,17 @@ Ako ne unesete ID sesije, od vas će biti zatraženo da odaberete neku od dostup ### import -Uvezite podatke sesije iz JSON datoteke. +Uvezite podatke sesije iz JSON datoteke ili OpenCode dijeljenog URL-a. ```bash opencode import ``` +Možete uvesti iz lokalne datoteke ili OpenCode dijeljenog URL-a. + ```bash opencode import session.json +opencode import https://opncd.ai/s/abc123 ``` --- @@ -557,6 +561,7 @@ OpenCode se može konfigurirati pomoću varijabli okruženja. | Varijabla | Tip | Opis | | ------------------------------------- | ------- | ------------------------------------------------------------------ | +| `OPENCODE_AUTO_SHARE` | boolean | Automatski dijeli sesije | | `OPENCODE_GIT_BASH_PATH` | string | Putanja do Git Bash izvršne datoteke na Windows-u | | `OPENCODE_CONFIG` | string | Putanja do konfiguracijskog fajla | | `OPENCODE_TUI_CONFIG` | string | Putanja do TUI konfiguracijskog fajla | diff --git a/packages/web/src/content/docs/bs/commands.mdx b/packages/web/src/content/docs/bs/commands.mdx index 90761269eaab..388a4504bdef 100644 --- a/packages/web/src/content/docs/bs/commands.mdx +++ b/packages/web/src/content/docs/bs/commands.mdx @@ -9,7 +9,7 @@ Prilagođene komande vam omogućavaju da odredite prompt koji želite da pokrene /my-command ``` -Prilagođene komande su dodatak ugrađenim komandama kao što su `/init`, `/undo`, `/redo`, `/help`. [Saznajte više](/docs/tui#commands). +Prilagođene komande su dodatak ugrađenim komandama kao što su `/init`, `/undo`, `/redo`, `/share`, `/help`. [Saznajte više](/docs/tui#commands). --- @@ -309,7 +309,7 @@ Ovo je **opciona** opcija konfiguracije. ## Ugrađene naredbe -OpenCode uključuje nekoliko ugrađenih naredbi kao što su `/init`, `/undo`, `/redo`, `/help`; [saznaj više](/docs/tui#commands). +OpenCode uključuje nekoliko ugrađenih naredbi kao što su `/init`, `/undo`, `/redo`, `/share`, `/help`; [saznaj više](/docs/tui#commands). :::note Prilagođene komande mogu nadjačati ugrađene komande. ::: diff --git a/packages/web/src/content/docs/bs/config.mdx b/packages/web/src/content/docs/bs/config.mdx index 91a1430cda9b..b37683f0201c 100644 --- a/packages/web/src/content/docs/bs/config.mdx +++ b/packages/web/src/content/docs/bs/config.mdx @@ -356,6 +356,27 @@ Ova postavka se primjenjuje na sva sučelja: TUI, CLI (`opencode run`), desktop --- +### Dijeljenje + +Možete konfigurirati funkciju [share](/docs/share) putem opcije `share`. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +Ovo prihvata: + +- `"manual"` - Dozvoli ručno dijeljenje putem naredbi (podrazumevano) +- `"auto"` - Automatski dijelite nove razgovore +- `"disabled"` - Onemogući dijeljenje u potpunosti + +Podrazumevano, dijeljenje je postavljeno na ručni način rada gdje trebate eksplicitno dijeliti razgovore pomoću naredbe `/share`. + +--- + ### Naredbe Možete konfigurirati prilagođene naredbe za ponavljanje zadataka putem opcije `command`. diff --git a/packages/web/src/content/docs/bs/enterprise.mdx b/packages/web/src/content/docs/bs/enterprise.mdx index 365a7d14b98d..5851498aeb50 100644 --- a/packages/web/src/content/docs/bs/enterprise.mdx +++ b/packages/web/src/content/docs/bs/enterprise.mdx @@ -31,6 +31,27 @@ OpenCode je otvorenog koda i ne pohranjuje vaš kod niti kontekstualne podatke, To znači da, sve dok koristite provajdera kojem vjerujete ili interni AI gateway, OpenCode možete koristiti sigurno. +Jedina iznimka je opcionalna funkcija `/share`. + +--- + +#### Dijeljenje razgovora + +Ako korisnik uključi funkciju `/share`, razgovor i povezani podaci šalju se servisu koji koristimo za hosting ovih share stranica na opencode.ai. + +Podaci se trenutno serviraju kroz edge mrežu našeg CDN-a i keširaju se blizu korisnika. + +Preporučujemo da ovo onemogućite tokom probe. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +[Saznajte više o dijeljenju](/docs/share). + --- ### Vlasništvo koda diff --git a/packages/web/src/content/docs/bs/github.mdx b/packages/web/src/content/docs/bs/github.mdx index 225ff4c77e8f..5946b3442907 100644 --- a/packages/web/src/content/docs/bs/github.mdx +++ b/packages/web/src/content/docs/bs/github.mdx @@ -66,6 +66,7 @@ Ili ga možete postaviti ručno. ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 + # share: true # github_token: xxxx ``` @@ -78,6 +79,7 @@ Ili ga možete postaviti ručno. - `model`: Model za korištenje s OpenCode. Uzima format `provider/model`. Ovo je **obavezno**. - `agent`: Agent za korištenje. Mora biti primarni agent. Vraća se na `default_agent` iz konfiguracije ili `"build"` ako nije pronađen. +- `share`: Da li dijeliti OpenCode sesiju. Podrazumevano je **true** za javna spremišta. - `prompt`: Opcioni prilagođeni upit za nadjačavanje zadanog ponašanja. Koristite ovo da prilagodite kako OpenCode obrađuje zahtjeve. - `token`: Opcionalni GitHub pristupni token za izvođenje operacija kao što su kreiranje komentara, upisivanje promjena i otvaranje zahtjeva za povlačenjem. OpenCode prema zadanim postavkama koristi token za pristup instalaciji iz aplikacije OpenCode GitHub, tako da se urezivanje, komentari i zahtjevi za povlačenjem pojavljuju kao da dolaze iz aplikacije. Alternativno, možete koristiti GitHub Action runner [ugrađeni `GITHUB_TOKEN`](https://docs.github.com/en/actions/tutorials/authenticate-with-github_token) bez instaliranja OpenCode GitHub aplikacije. Samo se pobrinite da date potrebna odobrenja u svom toku rada: diff --git a/packages/web/src/content/docs/bs/index.mdx b/packages/web/src/content/docs/bs/index.mdx index 9a48b66575de..4af699485aa0 100644 --- a/packages/web/src/content/docs/bs/index.mdx +++ b/packages/web/src/content/docs/bs/index.mdx @@ -301,6 +301,22 @@ Ili **možete ponoviti** promjene koristeći naredbu `/redo`. --- +## Dijeljenje + +Razgovore koje imate sa OpenCode možete [dijeliti sa vašim timom](/docs/share). + +```bash frame="none" +/share +``` + +Ovo će kreirati vezu do trenutnog razgovora i kopirati je u međuspremnik. +:::note +Razgovori se ne dijele prema zadanim postavkama. +::: +Evo [primjer razgovora](https://opencode.ai/s/4XP1fce5) sa OpenCode. + +--- + ## Prilagođavanje I to je to! Sada ste profesionalac u korištenju OpenCode. diff --git a/packages/web/src/content/docs/bs/keybinds.mdx b/packages/web/src/content/docs/bs/keybinds.mdx index 39e00af06b72..31fed590058f 100644 --- a/packages/web/src/content/docs/bs/keybinds.mdx +++ b/packages/web/src/content/docs/bs/keybinds.mdx @@ -24,6 +24,8 @@ OpenCode ima listu veza tipki koje možete prilagoditi putem `tui.json`. "session_timeline": "g", "session_fork": "none", "session_rename": "none", + "session_share": "none", + "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/bs/providers.mdx b/packages/web/src/content/docs/bs/providers.mdx index d5ee0b07ea00..f6e54fc6ad15 100644 --- a/packages/web/src/content/docs/bs/providers.mdx +++ b/packages/web/src/content/docs/bs/providers.mdx @@ -762,12 +762,13 @@ da pohrani token u opencode auth memoriju. OpenCode koristi mali model za neke AI zadatke kao što je generiranje naslova sesije. Podrazumevano je konfigurisan da koristi gpt-5-nano, a hostuje ga Zen. Da zaključate OpenCode da biste koristili samo svoju vlastitu instancu koju hostuje GitLab, dodajte sljedeće u svoju -`opencode.json` fajl. +`opencode.json` fajl. Također se preporučuje da onemogućite dijeljenje sesije. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5" + "small_model": "gitlab/duo-chat-haiku-4-5", + "share": "disabled" } ``` diff --git a/packages/web/src/content/docs/bs/server.mdx b/packages/web/src/content/docs/bs/server.mdx index c5fad5e160ec..5237873d5f77 100644 --- a/packages/web/src/content/docs/bs/server.mdx +++ b/packages/web/src/content/docs/bs/server.mdx @@ -155,6 +155,8 @@ opencode server izlaže sljedece API-je. | `POST` | `/session/:id/init` | Analiziraj aplikaciju i kreiraj `AGENTS.md` | body: `{ messageID, providerID, modelID }`, returns `boolean` | | `POST` | `/session/:id/fork` | Granaj postojeću sesiju na poruci | body: `{ messageID? }`, returns Session | | `POST` | `/session/:id/abort` | Prekini sesiju u toku | Returns `boolean` | +| `POST` | `/session/:id/share` | Podijeli sesiju | Returns Session | +| `DELETE` | `/session/:id/share` | Prestani dijeliti sesiju | Returns Session | | `GET` | `/session/:id/diff` | Dohvati razlike za ovu sesiju | query: `messageID?`, returns FileDiff[] | | `POST` | `/session/:id/summarize` | Rezimiraj sesiju | body: `{ providerID, modelID }`, returns `boolean` | | `POST` | `/session/:id/revert` | Vrati poruku | body: `{ messageID, partID? }`, returns `boolean` | diff --git a/packages/web/src/content/docs/bs/share.mdx b/packages/web/src/content/docs/bs/share.mdx new file mode 100644 index 000000000000..b0760ee0c138 --- /dev/null +++ b/packages/web/src/content/docs/bs/share.mdx @@ -0,0 +1,127 @@ +--- +title: Dijeljenje +description: Dijelite OpenCode razgovore javnim linkovima. +--- + +OpenCode opcija dijeljenja vam omogucava da kreirate javne linkove za razgovore. Tako lakse saradujete s timom ili trazite pomoc od drugih. + +:::note +Dijeljeni razgovori su javno dostupni svakome ko ima link. +::: + +--- + +## Kako radi + +Kada podijelite razgovor, OpenCode: + +1. Kreira jedinstveni javni URL za vasu sesiju +2. Sinhronizuje historiju razgovora na nase servere +3. Cini razgovor dostupnim preko linka za dijeljenje — `opncd.ai/s/` + +--- + +## Dijeljenje + +OpenCode podrzava tri nacina dijeljenja koji odreduju kako se razgovori dijele: + +--- + +### Ručno (zadano) + +Po defaultu, OpenCode koristi rucni nacin dijeljenja. Sesije se ne dijele automatski, ali ih mozete rucno podijeliti komandom `/share`: + +``` +/share +``` + +Ovo ce generisati jedinstveni URL i kopirati ga u clipboard. + +Da eksplicitno postavite rucni nacin u [config datoteci](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +--- + +### Automatsko dijeljenje + +Mozete ukljuciti automatsko dijeljenje za sve nove razgovore tako sto `share` postavite na `"auto"` u [config datoteci](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "auto" +} +``` + +Kada je auto-share ukljucen, svaki novi razgovor se automatski dijeli i kreira se link. + +--- + +### Onemogućeno + +Dijeljenje mozete potpuno iskljuciti tako sto `share` postavite na `"disabled"` u [config datoteci](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +Da ovo vazi za cijeli tim u odredenom projektu, dodajte postavku u projektni `opencode.json` i commitujte u Git. + +--- + +## Uklanjanje dijeljenja + +Da prestanete dijeliti razgovor i uklonite javni pristup: + +``` +/unshare +``` + +Ovo uklanja link za dijeljenje i brise podatke povezane s razgovorom. + +--- + +## Privatnost + +Imajte na umu nekoliko stvari prije dijeljenja razgovora. + +--- + +### Čuvanje podataka + +Dijeljeni razgovori ostaju dostupni dok ih eksplicitno ne uklonite iz dijeljenja. Ovo ukljucuje: + +- Kompletnu historiju razgovora +- Sve poruke i odgovore +- Metapodatke sesije + +--- + +### Preporuke + +- Dijelite samo razgovore koji ne sadrze osjetljive informacije. +- Pregledajte sadrzaj razgovora prije dijeljenja. +- Uklonite dijeljenje kad saradnja zavrsi. +- Izbjegavajte dijeljenje razgovora s vlasnickim kodom ili povjerljivim podacima. +- Za osjetljive projekte potpuno iskljucite dijeljenje. + +--- + +## Za enterprise + +Za enterprise okruzenja, opcija dijeljenja moze biti: + +- **Iskljucena** u potpunosti radi sigurnosne uskladenosti +- **Ogranicena** samo na korisnike autentifikovane kroz SSO +- **Self-hosted** na vasoj infrastrukturi + +[Saznajte vise](/docs/enterprise) o koristenju opencode u organizaciji. diff --git a/packages/web/src/content/docs/bs/tui.mdx b/packages/web/src/content/docs/bs/tui.mdx index ae24140fb976..98c7c4d72826 100644 --- a/packages/web/src/content/docs/bs/tui.mdx +++ b/packages/web/src/content/docs/bs/tui.mdx @@ -218,6 +218,18 @@ Listanje i prebacivanje između sesija. _Aliases_: `/resume`, `/continue` --- +### share + +Podijelite trenutnu sesiju. [Saznajte više](/docs/share). + +```bash frame="none" +/share +``` + +**Tastatura:** `ctrl+x s` + +--- + ### themes Navedite dostupne teme. @@ -263,6 +275,16 @@ biti Git spremište**. --- +### unshare + +Poništi dijeljenje trenutne sesije. [Saznajte više](/docs/share#un-sharing). + +```bash frame="none" +/unshare +``` + +--- + ## Podešavanje uređivača Obje naredbe `/editor` i `/export` koriste editor specificiran u vašoj varijabli okruženja `EDITOR`. diff --git a/packages/web/src/content/docs/cli.mdx b/packages/web/src/content/docs/cli.mdx index 89784d3f61a0..2b88b586c8b1 100644 --- a/packages/web/src/content/docs/cli.mdx +++ b/packages/web/src/content/docs/cli.mdx @@ -368,6 +368,7 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | Continue the last session | | {"--session"} | `-s` | Session ID to continue | | {"--fork"} | | Fork the session when continuing (use with `--continue` or `--session`) | +| {"--share"} | | Share the session | | {"--model"} | `-m` | Model to use in the form of provider/model | | {"--agent"} | | Agent to use | | {"--file"} | `-f` | File(s) to attach to message | @@ -482,14 +483,17 @@ If you don't provide a session ID, you'll be prompted to select from available s ### import -Import session data from a JSON file. +Import session data from a JSON file or OpenCode share URL. ```bash opencode import ``` +You can import from a local file or an OpenCode share URL. + ```bash opencode import session.json +opencode import https://opncd.ai/s/abc123 ``` --- @@ -682,6 +686,7 @@ OpenCode can be configured using environment variables. | Variable | Type | Description | | ------------------------------------- | ------- | ------------------------------------------------- | +| `OPENCODE_AUTO_SHARE` | boolean | Automatically share sessions | | `OPENCODE_GIT_BASH_PATH` | string | Path to Git Bash executable on Windows | | `OPENCODE_CONFIG` | string | Path to config file | | `OPENCODE_TUI_CONFIG` | string | Path to TUI config file | diff --git a/packages/web/src/content/docs/commands.mdx b/packages/web/src/content/docs/commands.mdx index a82cef1f752f..1d7e4f1c21a2 100644 --- a/packages/web/src/content/docs/commands.mdx +++ b/packages/web/src/content/docs/commands.mdx @@ -9,7 +9,7 @@ Custom commands let you specify a prompt you want to run when that command is ex /my-command ``` -Custom commands are in addition to the built-in commands like `/init`, `/undo`, `/redo`, `/help`. [Learn more](/docs/tui#commands). +Custom commands are in addition to the built-in commands like `/init`, `/undo`, `/redo`, `/share`, `/help`. [Learn more](/docs/tui#commands). --- @@ -314,7 +314,7 @@ This is an **optional** config option. ## Built-in -opencode includes several built-in commands like `/init`, `/undo`, `/redo`, `/help`; [learn more](/docs/tui#commands). +opencode includes several built-in commands like `/init`, `/undo`, `/redo`, `/share`, `/help`; [learn more](/docs/tui#commands). :::note Custom commands can override built-in commands. diff --git a/packages/web/src/content/docs/config.mdx b/packages/web/src/content/docs/config.mdx index 8e0e11d2a1b3..c7263dabbc99 100644 --- a/packages/web/src/content/docs/config.mdx +++ b/packages/web/src/content/docs/config.mdx @@ -199,6 +199,8 @@ Use the `ai.opencode.managed` PayloadType. The OpenCode config keys go directly GENERATE-YOUR-OWN-UUID PayloadVersion 1 + share + disabled server hostname @@ -558,6 +560,27 @@ The default is `1`, which allows primary agents to launch subagents but prevents --- +### Sharing + +You can configure the [share](/docs/share) feature through the `share` option. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +This takes: + +- `"manual"` - Allow manual sharing via commands (default) +- `"auto"` - Automatically share new conversations +- `"disabled"` - Disable sharing entirely + +By default, sharing is set to manual mode where you need to explicitly share conversations using the `/share` command. + +--- + ### Commands You can configure custom commands for repetitive tasks through the `command` option. diff --git a/packages/web/src/content/docs/da/cli.mdx b/packages/web/src/content/docs/da/cli.mdx index f2b9f83b00db..814d2b819edc 100644 --- a/packages/web/src/content/docs/da/cli.mdx +++ b/packages/web/src/content/docs/da/cli.mdx @@ -345,6 +345,7 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | Fortsæt sidste session | | {"--session"} | `-s` | Sessions-id for at fortsætte | | {"--fork"} | | Forgren sessionen ved fortsættelse (brug med `--continue` eller `--session`) | +| {"--share"} | | Del sessionen | | {"--model"} | `-m` | Model til brug i form af provider/model | | {"--agent"} | | Agent til brug | | {"--file"} | `-f` | Fil(er), der skal vedhæftes til meddelelsen | @@ -441,14 +442,17 @@ Hvis du ikke angiver et sessions-id, bliver du bedt om at vælge mellem tilgæng ### import -Importer sessionsdata fra en JSON fil. +Importer sessionsdata fra en JSON fil eller OpenCode del URL. ```bash opencode import ``` +Du kan importere fra en lokal fil eller en OpenCode share URL. + ```bash opencode import session.json +opencode import https://opncd.ai/s/abc123 ``` --- @@ -560,6 +564,7 @@ OpenCode kan konfigureres ved hjælp af miljøvariabler. | Variabel | Skriv | Beskrivelse | | ------------------------------------- | ------- | --------------------------------------------------------------------- | +| `OPENCODE_AUTO_SHARE` | boolean | Del automatisk session | | `OPENCODE_GIT_BASH_PATH` | string | Sti til Git Bash eksekverbar på Windows | | `OPENCODE_CONFIG` | string | Sti til konfigurationsfil | | `OPENCODE_TUI_CONFIG` | string | Sti til TUI-konfigurationsfil | diff --git a/packages/web/src/content/docs/da/commands.mdx b/packages/web/src/content/docs/da/commands.mdx index c3d21d9a8840..1b624b57a39f 100644 --- a/packages/web/src/content/docs/da/commands.mdx +++ b/packages/web/src/content/docs/da/commands.mdx @@ -9,7 +9,7 @@ Brugerdefinerede kommandoer giver mulighed for at angive en prompt, du vil køre /my-command ``` -Brugerdefinerede kommandoer er ud over de indbyggede kommandoer som `/init`, `/undo`, `/redo`, `/help`. [Learn more](/docs/tui#commands). +Brugerdefinerede kommandoer er ud over de indbyggede kommandoer som `/init`, `/undo`, `/redo`, `/share`, `/help`. [Learn more](/docs/tui#commands). --- @@ -314,7 +314,7 @@ Dette er en **valgfri** konfigurationsindstilling. ## Indbyggede kommandoer -opencode indeholder flere indbyggede kommandoer som `/init`, `/undo`, `/redo`, `/help`; [learn more](/docs/tui#commands). +opencode indeholder flere indbyggede kommandoer som `/init`, `/undo`, `/redo`, `/share`, `/help`; [learn more](/docs/tui#commands). :::note Brugerdefinerede kommandoer kan tilsidesætte indbyggede kommandoer. diff --git a/packages/web/src/content/docs/da/config.mdx b/packages/web/src/content/docs/da/config.mdx index c64ff3f6c463..189c7e5d0862 100644 --- a/packages/web/src/content/docs/da/config.mdx +++ b/packages/web/src/content/docs/da/config.mdx @@ -358,6 +358,27 @@ Denne indstilling gælder på tværs af alle grænseflader: TUI, CLI (`opencode --- +### Deling (`share`) + +Du kan konfigurere funktionen [share](/docs/share) gennem indstillingen `share`. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +Dette kræver: + +- `"manual"` - Tillad manuel deling via kommandoer (standard) +- `"auto"` - Del automatisk nye samtaler +- `"disabled"` - Deaktiver deling helt + +Som standard er deling indstillet til manuel tilstand, hvor du eksplicit skal dele samtaler ved hjælp af kommandoen `/share`. + +--- + ### Kommandoer (`command`) Du kan konfigurere brugerdefinerede kommandoer til gentagne opgaver gennem indstillingen `command`. diff --git a/packages/web/src/content/docs/da/enterprise.mdx b/packages/web/src/content/docs/da/enterprise.mdx index 32dfae670805..6228c5c91077 100644 --- a/packages/web/src/content/docs/da/enterprise.mdx +++ b/packages/web/src/content/docs/da/enterprise.mdx @@ -32,6 +32,27 @@ OpenCode er open source og gemmer ingen af ​​din kode eller kontekstdata, s Det betyder, at så længe du bruger en udbyder, du stoler på, eller en intern AI-gateway, du kan bruge OpenCode sikkert. +Den eneste advarsel her er den valgfrie `/share`-funktion. + +--- + +#### Deling af samtaler + +Hvis en bruger aktiverer funktionen `/share`, sender samtalen og de data, der er knyttet til den, til den tjeneste, vi bruger til at hoste disse delesider på opencode.ai. + +Dataene serveres i øjeblikket gennem vores CDN's edge-netværk og cachelagres på kanten nær dine brugere. + +Vi anbefaler, at du deaktiverer dette for din prøveperiode. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +[Learn more about sharing](/docs/share). + --- ### Kodeejerskab diff --git a/packages/web/src/content/docs/da/github.mdx b/packages/web/src/content/docs/da/github.mdx index 44db02f0922a..cffe85f13fce 100644 --- a/packages/web/src/content/docs/da/github.mdx +++ b/packages/web/src/content/docs/da/github.mdx @@ -69,6 +69,7 @@ Eller du kan indstille det manuelt. ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 + # share: true # github_token: xxxx ``` @@ -82,6 +83,7 @@ Eller du kan indstille det manuelt. - `model`: Den model, der skal bruges med OpenCode. Antager formatet `provider/model`. Dette er **påkrævet**. - `agent`: Agenten, der skal bruges. Skal være en primær agent. Falder tilbage til `default_agent` fra config eller `"build"`, hvis den ikke findes. +- `share`: Om OpenCode-sessionen skal dele. Standard er **true** for offentlige arkiver. - `prompt`: Valgfri brugerdefineret prompt for at tilsidesætte standardadfærden. Brug dette til at tilpasse, hvordan OpenCode behandler anmodninger. - `token`: Valgfrit GitHub adgangstoken til at udføre operationer såsom oprettelse af kommentarer, begå ændringer og åbning af Pull Requests. Som standard bruger OpenCode installationsadgangstokenet fra OpenCode GitHub-appen, så commits, kommentarer og Pull Requests ser ud til at komme fra appen. diff --git a/packages/web/src/content/docs/da/index.mdx b/packages/web/src/content/docs/da/index.mdx index 0356f5efa52b..65cf34f9a951 100644 --- a/packages/web/src/content/docs/da/index.mdx +++ b/packages/web/src/content/docs/da/index.mdx @@ -334,6 +334,25 @@ Eller du **kan gentage** ændringerne ved hjælp af kommandoen `/redo`. --- +## Deling + +De samtaler, du har med OpenCode, kan [deles med din +team](/docs/share). + +```bash frame="none" +/share +``` + +Dette vil oprette et link til den aktuelle samtale og kopiere det til denne udklipsholder. + +:::note +Samtaler dele ikke som standard. +::: + +Her er en [eksempelsamtale](https://opencode.ai/s/4XP1fce5) med OpenCode. + +--- + ## Tilpasning Og det er det! Du er nu en professionel i at bruge OpenCode. diff --git a/packages/web/src/content/docs/da/keybinds.mdx b/packages/web/src/content/docs/da/keybinds.mdx index 755cb9b4ba74..7b2f2a7f3162 100644 --- a/packages/web/src/content/docs/da/keybinds.mdx +++ b/packages/web/src/content/docs/da/keybinds.mdx @@ -24,6 +24,8 @@ OpenCode har en liste over nøglebindinger, som du kan tilpasse gennem `tui.json "session_timeline": "g", "session_fork": "none", "session_rename": "none", + "session_share": "none", + "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/da/providers.mdx b/packages/web/src/content/docs/da/providers.mdx index 7ccc2f640917..9b04d6be82f9 100644 --- a/packages/web/src/content/docs/da/providers.mdx +++ b/packages/web/src/content/docs/da/providers.mdx @@ -751,12 +751,13 @@ gemme tokenet i opencode auth-lagring. OpenCode bruger en lille model til nogle AI-opgaver som at generere sessionstitlen. Den er konfigureret til at bruge gpt-5-nano som standard, hostet af Zen. For at låse OpenCode til kun at bruge din egen GitLab-hostede instans, tilføj følgende i din -`opencode.json` fil. +`opencode.json` fil. Det anbefales også at deaktivere sessionsdeling. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5" + "small_model": "gitlab/duo-chat-haiku-4-5", + "share": "disabled" } ``` diff --git a/packages/web/src/content/docs/da/server.mdx b/packages/web/src/content/docs/da/server.mdx index 1d4371aec1ea..6eb74d946d8e 100644 --- a/packages/web/src/content/docs/da/server.mdx +++ b/packages/web/src/content/docs/da/server.mdx @@ -158,6 +158,8 @@ OpenCode-serveren viser følgende API'er. | `POST` | `/session/:id/init` | Analyser appen og lav `AGENTS.md` | body: `{ messageID, providerID, modelID }`, returnerer `boolean` | | `POST` | `/session/:id/fork` | Fork en eksisterende session ved en besked | body: `{ messageID? }`, returnerer Session | | `POST` | `/session/:id/abort` | Afbryd en kørende session | Returnerer `boolean` | +| `POST` | `/session/:id/share` | Del en session | Returnerer Session | +| `DELETE` | `/session/:id/share` | Stop med at dele en session | Returnerer Session | | `GET` | `/session/:id/diff` | Få diff for denne session | query: `messageID?`, returnerer FileDiff[] | | `POST` | `/session/:id/summarize` | Opsummér sessionen | body: `{ providerID, modelID }`, returnerer `boolean` | | `POST` | `/session/:id/revert` | Tilbagestil en besked | body: `{ messageID, partID? }`, returnerer `boolean` | diff --git a/packages/web/src/content/docs/da/share.mdx b/packages/web/src/content/docs/da/share.mdx new file mode 100644 index 000000000000..80b9f0959e2c --- /dev/null +++ b/packages/web/src/content/docs/da/share.mdx @@ -0,0 +1,128 @@ +--- +title: Deling +description: Del dine OpenCode-samtaler. +--- + +OpenCodes delingsfunksjon lar deg lage offentlige lenker til dine OpenCode-samtaler, slik at du kan samarbeide med lagkamerater eller få hjelp fra andre. + +:::note +Delte samtaler er offentlig tilgængelige for alle med linken. +::: + +--- + +## Sådan fungerer det + +Når du deler en samtale, OpenCode: + +1. Opreter en unik offentlig URL for sessionen din +2. Synkroniserer samtaleloggen din til serverne våre +3. Gør samtalen tilgængelig via den delbare lenken — `opncd.ai/s/` + +--- + +## Tilstande + +OpenCode støtter tre delingsmoduser som kontrollerer hvordan samtaler deles: + +--- + +### Manuel (standard) + +Som standard bruger OpenCode manuell delingsmodus. Sessioner deles ikke automatisk, men du kan dele dem manuelt ved at bruge kommandoen `/share`: + +``` +/share +``` + +Dette vil generere en unik URL som vil bli kopiert til utklippstavlen din. + +For at eksplisitt angi manuell modus i [konfigurasjonsfilen](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +--- + +### Automatisk deling + +Du kan aktivere automatisk deling for alle nye samtaler ved at sette alternativet `share` til `"auto"` i [konfigurasjonsfilen](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "auto" +} +``` + +Med automatisk deling aktivert, vil hver nye samtale automatisk bli delt og en kobling vil bli generert. + +--- + +### Deaktiveret + +Du kan deaktivere deling helt ved at sette alternativet `share` til `"disabled"` i [konfigurasjonsfilen](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +For at håndheve dette på tvers av teamet ditt for et gitt prosjekt, tilføj det til `opencode.json` i prosjektet ditt og tjek inn i Git. + +--- + +## Ophæv deling + +Slik slutter du at dele en samtale og fjerner den fra offentlig tilgang: + +``` +/unshare +``` + +Dette vil fjerne delelinken og slette dataene knyttet til samtalen. + +--- + +## Privatliv + +Det er et par ting du må huske på når du deler en samtale. + +--- + +### Datalagring + +Delte samtaler forblir tilgængelige til du eksplisitt opphever deling av dem. Dette +inkluderer: + +- Full samtalehistorikk +- Alle meldinger og svar +- Metadata for sessioner + +--- + +### Anbefalinger + +- Del kun samtaler som ikke inneholder sensitiv informasjon. +- Se gjennom samtaleinnholdet før du deler. +- Opphev deling av samtaler når samarbeidet er fullført. +- Unngå at dele samtaler med proprietær kode eller konfidensielle data. +- For sensitive prosjekter, deaktiver deling helt. + +--- + +## For virksomheder + +For bedriftsimplementeringer kan delingsfunksjonen være: + +- **Deaktivert** helt for overholdelse av sikkerhet +- **Begrenset** til brugere som kun er autentisert gjennom SSO +- **Selvvert** på din egen infrastruktur + +[Finn ut mer](/docs/enterprise) om brug av opencode i organisasjonen din. diff --git a/packages/web/src/content/docs/da/tui.mdx b/packages/web/src/content/docs/da/tui.mdx index d488f30a053b..e7481f7257b6 100644 --- a/packages/web/src/content/docs/da/tui.mdx +++ b/packages/web/src/content/docs/da/tui.mdx @@ -217,6 +217,18 @@ List og skift mellem sessioner. _Aliaser_: `/resume`, `/continue` --- +### share + +Del nuværende session. [Læs mere](/docs/share). + +```bash frame="none" +/share +``` + +**Genvejstast:** `ctrl+x s` + +--- + ### themes Liste over tilgængelige temaer. @@ -261,6 +273,16 @@ Internt bruger dette Git til at administrere filændringerne. Så dit projekt ** --- +### unshare + +Ophæv deling af nuværende session. [Læs mere](/docs/share#un-sharing). + +```bash frame="none" +/unshare +``` + +--- + ## Opsætning af editor Både kommandoerne `/editor` og `/export` bruger editoren som er specificeret i miljøvariablen `EDITOR`. diff --git a/packages/web/src/content/docs/de/cli.mdx b/packages/web/src/content/docs/de/cli.mdx index 3a6b06d8fdaa..2c100e7c7973 100644 --- a/packages/web/src/content/docs/de/cli.mdx +++ b/packages/web/src/content/docs/de/cli.mdx @@ -345,6 +345,7 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | Setzen Sie die letzte Sitzung fort | | {"--session"} | `-s` | Session-ID zum Fortfahren | | {"--fork"} | | Sitzung beim Fortsetzen verzweigen (mit `--continue` oder `--session` verwenden) | +| {"--share"} | | Teilen Sie die Sitzung | | {"--model"} | `-m` | Zu verwendendes Modell in der Form provider/model | | {"--agent"} | | Zu verwendender Agent | | {"--file"} | `-f` | Datei(en) zum Anhängen an die Nachricht | @@ -441,14 +442,17 @@ Wenn Sie keine Sitzungs-ID angeben, werden Sie aufgefordert, eine der verfügbar ### import -Importieren Sie Sitzungsdaten aus einer JSON-Datei. +Importieren Sie Sitzungsdaten aus einer JSON-Datei oder einer OpenCode-Freigabe-URL. ```bash opencode import ``` +Sie können aus einer lokalen Datei oder einer OpenCode-Freigabe-URL importieren. + ```bash opencode import session.json +opencode import https://opncd.ai/s/abc123 ``` --- @@ -560,6 +564,7 @@ OpenCode kann mithilfe von Umgebungsvariablen konfiguriert werden. | Variable | Typ | Beschreibung | | ------------------------------------- | --------------- | -------------------------------------------------------------------------------- | +| `OPENCODE_AUTO_SHARE` | boolescher Wert | Sitzungen automatisch teilen | | `OPENCODE_GIT_BASH_PATH` | Zeichenfolge | Pfad zur ausführbaren Git Bash-Datei unter Windows | | `OPENCODE_CONFIG` | Zeichenfolge | Pfad zur Konfigurationsdatei | | `OPENCODE_CONFIG_DIR` | Zeichenfolge | Pfad zum Konfigurationsverzeichnis | diff --git a/packages/web/src/content/docs/de/commands.mdx b/packages/web/src/content/docs/de/commands.mdx index c5e8e681fd84..5c795fba0c55 100644 --- a/packages/web/src/content/docs/de/commands.mdx +++ b/packages/web/src/content/docs/de/commands.mdx @@ -9,7 +9,7 @@ Mit benutzerdefinierten Befehlen können Sie eine Eingabeaufforderung angeben, d /my-command ``` -Benutzerdefinierte Befehle gibt es zusätzlich zu den integrierten Befehlen wie `/init`, `/undo`, `/redo`, `/help`. [Mehr erfahren](/docs/tui#commands). +Benutzerdefinierte Befehle gibt es zusätzlich zu den integrierten Befehlen wie `/init`, `/undo`, `/redo`, `/share`, `/help`. [Mehr erfahren](/docs/tui#commands). --- @@ -314,7 +314,7 @@ Dies ist eine **optionale** Konfigurationsoption. ## Integriert -OpenCode enthält mehrere integrierte Befehle wie `/init`, `/undo`, `/redo`, `/help`; [mehr erfahren](/docs/tui#commands). +OpenCode enthält mehrere integrierte Befehle wie `/init`, `/undo`, `/redo`, `/share`, `/help`; [mehr erfahren](/docs/tui#commands). :::note Benutzerdefinierte Befehle können integrierte Befehle überschreiben. diff --git a/packages/web/src/content/docs/de/config.mdx b/packages/web/src/content/docs/de/config.mdx index c7e56b971c6a..15f1d6c6c0b2 100644 --- a/packages/web/src/content/docs/de/config.mdx +++ b/packages/web/src/content/docs/de/config.mdx @@ -357,6 +357,27 @@ Diese Einstellung gilt für alle Schnittstellen: TUI, CLI (`opencode run`), Desk --- +### Teilen + +Sie können die Funktion [share](/docs/share) über die Option `share` konfigurieren. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +Dazu braucht es: + +- `"manual"` – Manuelles Teilen über Befehle zulassen (Standard) +- `"auto"` – Neue Konversationen automatisch teilen +- `"disabled"` – Teile vollständig deaktivieren + +Standardmäßig ist die Freigabe auf den manuellen Modus eingestellt, in dem Sie Konversationen explizit mit dem Befehl `/share` teilen müssen. + +--- + ### Befehle Sie können benutzerdefinierte Befehle für sich wiederholende Aufgaben über die Option `command` konfigurieren. diff --git a/packages/web/src/content/docs/de/enterprise.mdx b/packages/web/src/content/docs/de/enterprise.mdx index 3baa59a480da..a01c71ae60cc 100644 --- a/packages/web/src/content/docs/de/enterprise.mdx +++ b/packages/web/src/content/docs/de/enterprise.mdx @@ -32,6 +32,27 @@ OpenCode ist Open Source und speichert keine Ihrer Code- oder Kontextdaten, soda Das heißt, solange Sie einen Anbieter Ihres Vertrauens oder einen internen nutzen AI-Gateway können Sie OpenCode sicher verwenden. +Die einzige Einschränkung hier ist die optionale Funktion `/share`. + +--- + +#### Gespräche teilen + +Wenn ein Benutzer die Funktion `/share` aktiviert, werden die Konversation und die damit verbundenen Daten an den Dienst gesendet, den wir zum Hosten dieser Freigabeseiten unter opencode.ai verwenden. + +Die Daten werden derzeit über das Edge-Netzwerk unseres CDN bereitgestellt und am Edge in der Nähe Ihres Benutzers zwischengespeichert. + +Wir empfehlen Ihnen, dies für Ihre Testversion zu deaktivieren. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +[Learn more about sharing](/docs/share). + --- ### Code-Besitz diff --git a/packages/web/src/content/docs/de/github.mdx b/packages/web/src/content/docs/de/github.mdx index d878a339c3fa..71881c333f58 100644 --- a/packages/web/src/content/docs/de/github.mdx +++ b/packages/web/src/content/docs/de/github.mdx @@ -69,6 +69,7 @@ Oder Sie können es manuell einrichten. ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 + # share: true # github_token: xxxx ``` @@ -82,6 +83,7 @@ Oder Sie können es manuell einrichten. - `model`: Das mit OpenCode zu verwendende Modell. Nimmt das Format `provider/model` an. Dies ist **erforderlich**. - `agent`: Der zu verwendende Agent. Muss ein Hauptagent sein. Fällt aus der Konfiguration auf `default_agent` oder `"build"` zurück, wenn es nicht gefunden wird. +- `share`: Ob die OpenCode-Sitzung geteilt werden soll. Der Standardwert ist **true** für öffentliche Repositorys. - `prompt`: Optionale benutzerdefinierte Eingabeaufforderung zum Überschreiben des Standardverhaltens. Verwenden Sie dies, um anzupassen, wie OpenCode Anfragen verarbeitet. - `token`: Optionales GitHub-Zugriffstoken zum Ausführen von Vorgängen wie dem Erstellen von Kommentaren, dem Festschreiben von Änderungen und dem Öffnen von Pull Requests. Standardmäßig verwendet OpenCode das Installation Access Token der OpenCode GitHub-App, sodass Commits, Kommentare und Pull Requests so aussehen, als würden sie von der App kommen. diff --git a/packages/web/src/content/docs/de/index.mdx b/packages/web/src/content/docs/de/index.mdx index 52fbc9e59a4f..1d7e1f4f96cb 100644 --- a/packages/web/src/content/docs/de/index.mdx +++ b/packages/web/src/content/docs/de/index.mdx @@ -331,6 +331,24 @@ Oder Sie **können** die Änderungen mit dem Befehl `/redo` wiederholen. --- +## Teilen + +Die Gespräche, die Sie mit OpenCode führen, können [mit Ihrem Team](/docs/share) geteilt werden. + +```bash frame="none" +/share +``` + +Dadurch wird ein Link zur aktuellen Konversation erstellt und in Ihre Zwischenablage kopiert. + +:::note +Gespräche werden standardmäßig nicht geteilt. +::: + +Hier ist ein [Beispielgespräch](https://opencode.ai/s/4XP1fce5) mit OpenCode. + +--- + ## Anpassung Und das ist es! Sie sind jetzt ein Profi im Umgang mit OpenCode. diff --git a/packages/web/src/content/docs/de/keybinds.mdx b/packages/web/src/content/docs/de/keybinds.mdx index 53af9d733512..26edf9bdbb28 100644 --- a/packages/web/src/content/docs/de/keybinds.mdx +++ b/packages/web/src/content/docs/de/keybinds.mdx @@ -24,6 +24,8 @@ OpenCode verfügt über eine Liste von Tastenkombinationen, die Sie über `tui.j "session_timeline": "g", "session_fork": "none", "session_rename": "none", + "session_share": "none", + "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/de/providers.mdx b/packages/web/src/content/docs/de/providers.mdx index fe367e3bbc65..92981469309c 100644 --- a/packages/web/src/content/docs/de/providers.mdx +++ b/packages/web/src/content/docs/de/providers.mdx @@ -757,12 +757,13 @@ um das Token im OpenCode-Authentifizierungsspeicher zu speichern. OpenCode verwendet ein kleines Modell für einige AI-Aufgaben wie das Generieren des Sitzungstitels. Es ist standardmäßig für die Verwendung von gpt-5-nano konfiguriert und wird von Zen gehostet. Zum Sperren von OpenCode Um nur Ihre eigene von GitLab gehostete Instanz zu verwenden, fügen Sie Folgendes zu Ihrer hinzu -`opencode.json`-Datei. +`opencode.json`-Datei. Es wird außerdem empfohlen, die Sitzungsfreigabe zu deaktivieren. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5" + "small_model": "gitlab/duo-chat-haiku-4-5", + "share": "disabled" } ``` diff --git a/packages/web/src/content/docs/de/server.mdx b/packages/web/src/content/docs/de/server.mdx index 4528e1120b9d..64322bda856b 100644 --- a/packages/web/src/content/docs/de/server.mdx +++ b/packages/web/src/content/docs/de/server.mdx @@ -162,6 +162,8 @@ Der opencode-Server stellt folgende APIs bereit. | `POST` | `/session/:id/init` | Analysiert App und erstellt `AGENTS.md` | body: `{ messageID, providerID, modelID }`, returns `boolean` | | `POST` | `/session/:id/fork` | Forkt eine bestehende Sitzung an einer Nachricht | body: `{ messageID? }`, returns Session | | `POST` | `/session/:id/abort` | Bricht eine laufende Sitzung ab | Gibt `boolean` zurueck | +| `POST` | `/session/:id/share` | Teilt eine Sitzung | Gibt Session zurueck | +| `DELETE` | `/session/:id/share` | Hebt Teilen einer Sitzung auf | Gibt Session zurueck | | `GET` | `/session/:id/diff` | Ruft den Diff fuer diese Sitzung ab | query: `messageID?`, returns FileDiff[] | | `POST` | `/session/:id/summarize` | Fasst die Sitzung zusammen | body: `{ providerID, modelID }`, returns `boolean` | | `POST` | `/session/:id/revert` | Setzt eine Nachricht zurueck | body: `{ messageID, partID? }`, returns `boolean` | diff --git a/packages/web/src/content/docs/de/share.mdx b/packages/web/src/content/docs/de/share.mdx new file mode 100644 index 000000000000..9b7e9284c7ac --- /dev/null +++ b/packages/web/src/content/docs/de/share.mdx @@ -0,0 +1,130 @@ +--- +title: Teilen +description: Teile OpenCode-Unterhaltungen per oeffentlichem Link. +--- + +Mit der Share-Funktion erstellst du oeffentliche Links zu OpenCode-Unterhaltungen. +So kannst du einfacher mit dem Team zusammenarbeiten oder Hilfe einholen. + +:::note +Geteilte Unterhaltungen sind fuer alle mit dem Link oeffentlich zugaenglich. +::: + +--- + +## Funktionsweise + +Wenn du eine Unterhaltung teilst, macht OpenCode Folgendes: + +1. Erstellt eine eindeutige oeffentliche URL fuer deine Sitzung +2. Synchronisiert den Verlauf auf unsere Server +3. Stellt die Unterhaltung unter `opncd.ai/s/` bereit + +--- + +## Teilen + +OpenCode hat drei Modi, die das Teilen steuern: + +--- + +### Manuell (Standard) + +Standardmaessig nutzt OpenCode den manuellen Modus. +Sitzungen werden nicht automatisch geteilt, du kannst sie aber mit `/share` veroeffentlichen: + +``` +/share +``` + +Dabei wird eine eindeutige URL erzeugt und in die Zwischenablage kopiert. + +Um den manuellen Modus explizit in der [Konfiguration](/docs/config) zu setzen: + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +--- + +### Auto-Share + +Du kannst automatisches Teilen fuer neue Unterhaltungen aktivieren, indem du in der [Konfiguration](/docs/config) `share` auf `"auto"` setzt: + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "auto" +} +``` + +Mit aktiviertem Auto-Share wird jede neue Unterhaltung automatisch geteilt und ein Link erstellt. + +--- + +### Deaktiviert + +Du kannst Teilen komplett deaktivieren, indem du in der [Konfiguration](/docs/config) `share` auf `"disabled"` setzt: + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +Wenn das fuer ein Projekt teamweit gelten soll, lege es in der Projekt-`opencode.json` fest und committe die Datei. + +--- + +## Teilen aufheben + +Um das Teilen zu beenden und den oeffentlichen Zugriff zu entfernen: + +``` +/unshare +``` + +Dadurch wird der Share-Link entfernt und die zugehoerigen Daten werden geloescht. + +--- + +## Datenschutz + +Beim Teilen solltest du ein paar Punkte beachten. + +--- + +### Datenaufbewahrung + +Geteilte Unterhaltungen bleiben veroeffentlicht, bis du sie explizit aufhebst. +Das umfasst: + +- Vollstaendigen Unterhaltungsverlauf +- Alle Nachrichten und Antworten +- Sitzungsmetadaten + +--- + +### Empfehlungen + +- Teile nur Unterhaltungen ohne sensible Informationen. +- Pruefe Inhalte vor dem Teilen. +- Hebe das Teilen wieder auf, wenn die Zusammenarbeit beendet ist. +- Teile keine proprietaeren Codes oder vertraulichen Daten. +- Deaktiviere Teilen komplett bei sensiblen Projekten. + +--- + +## Für Unternehmen + +In Enterprise-Umgebungen kann die Share-Funktion: + +- **Deaktiviert** werden, um Compliance-Vorgaben einzuhalten +- Auf **SSO-authentifizierte** Nutzer eingeschraenkt werden +- **Self-hosted** auf eigener Infrastruktur betrieben werden + +[Mehr dazu](/docs/enterprise), wie du opencode in deiner Organisation einsetzt. diff --git a/packages/web/src/content/docs/de/tui.mdx b/packages/web/src/content/docs/de/tui.mdx index 711d2b0419c4..5f9e9e23e9bb 100644 --- a/packages/web/src/content/docs/de/tui.mdx +++ b/packages/web/src/content/docs/de/tui.mdx @@ -220,6 +220,18 @@ Listet Sessions und wechselt zwischen ihnen. _Aliase_: `/resume`, `/continue` --- +### share + +Teilt die aktuelle Session. [Mehr dazu](/docs/share). + +```bash frame="none" +/share +``` + +**Keybind:** `ctrl+x s` + +--- + ### themes Listet verfuegbare Themes. @@ -264,6 +276,16 @@ Intern nutzt dies Git, um die Dateiaenderungen zu verwalten. Dein Projekt muss a --- +### unshare + +Hebt das Teilen der aktuellen Session auf. [Mehr dazu](/docs/share#un-sharing). + +```bash frame="none" +/unshare +``` + +--- + ## Editor-Einrichtung Sowohl `/editor` als auch `/export` nutzen den in deiner `EDITOR`-Umgebungsvariable spezifizierten Editor. diff --git a/packages/web/src/content/docs/enterprise.mdx b/packages/web/src/content/docs/enterprise.mdx index 8ff348a7c7ac..a93134de6200 100644 --- a/packages/web/src/content/docs/enterprise.mdx +++ b/packages/web/src/content/docs/enterprise.mdx @@ -31,6 +31,27 @@ OpenCode is open source and does not store any of your code or context data, so This means that as long as you are using a provider you trust, or an internal AI gateway, you can use OpenCode securely. +The only caveat here is the optional `/share` feature. + +--- + +#### Sharing conversations + +If a user enables the `/share` feature, the conversation and the data associated with it are sent to the service we use to host these share pages at opencode.ai. + +The data is currently served through our CDN's edge network, and is cached on the edge near your users. + +We recommend you disable this for your trial. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +[Learn more about sharing](/docs/share). + --- ### Code ownership diff --git a/packages/web/src/content/docs/es/cli.mdx b/packages/web/src/content/docs/es/cli.mdx index 30d4e592dd49..b925385cff47 100644 --- a/packages/web/src/content/docs/es/cli.mdx +++ b/packages/web/src/content/docs/es/cli.mdx @@ -345,6 +345,7 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | Continuar la última sesión | | {"--session"} | `-s` | ID de sesión para continuar | | {"--fork"} | | Bifurcar la sesión al continuar (usar con `--continue` o `--session`) | +| {"--share"} | | Comparte la sesión | | {"--model"} | `-m` | Modelo a utilizar en forma de proveedor/modelo | | {"--agent"} | | Agente a utilizar | | {"--file"} | `-f` | Archivo(s) para adjuntar al mensaje | @@ -441,14 +442,17 @@ Si no proporciona una ID de sesión, se le pedirá que seleccione entre las sesi ### import -Importe datos de sesión desde un archivo JSON. +Importe datos de sesión desde un archivo JSON o una URL compartida OpenCode. ```bash opencode import ``` +Puede importar desde un archivo local o una URL compartida OpenCode. + ```bash opencode import session.json +opencode import https://opncd.ai/s/abc123 ``` --- @@ -560,6 +564,7 @@ OpenCode se puede configurar mediante variables de entorno. | Variable | Type | Description | | ------------------------------------- | -------- | ------------------------------------------------------------------------------- | +| `OPENCODE_AUTO_SHARE` | booleano | Compartir sesiones automáticamente | | `OPENCODE_GIT_BASH_PATH` | cadena | Ruta al ejecutable de Git Bash en Windows | | `OPENCODE_CONFIG` | cadena | Ruta al archivo de configuración | | `OPENCODE_CONFIG_DIR` | cadena | Ruta al directorio de configuración | diff --git a/packages/web/src/content/docs/es/commands.mdx b/packages/web/src/content/docs/es/commands.mdx index eb8ab35aa5b1..68b9da1cfa46 100644 --- a/packages/web/src/content/docs/es/commands.mdx +++ b/packages/web/src/content/docs/es/commands.mdx @@ -9,7 +9,7 @@ Los comandos personalizados le permiten especificar un mensaje que desea ejecuta /my-command ``` -Los comandos personalizados se suman a los comandos integrados como `/init`, `/undo`, `/redo`, `/help`. [Más información](/docs/tui#commands). +Los comandos personalizados se suman a los comandos integrados como `/init`, `/undo`, `/redo`, `/share`, `/help`. [Más información](/docs/tui#commands). --- @@ -314,7 +314,7 @@ Esta es una opción de configuración **opcional**. ## Integrados -opencode incluye varios comandos integrados como `/init`, `/undo`, `/redo`, `/help`; [más información](/docs/tui#commands). +opencode incluye varios comandos integrados como `/init`, `/undo`, `/redo`, `/share`, `/help`; [más información](/docs/tui#commands). :::note Los comandos personalizados pueden anular los comandos integrados. diff --git a/packages/web/src/content/docs/es/config.mdx b/packages/web/src/content/docs/es/config.mdx index 4d19f6f194ab..4b0ad5d54f8b 100644 --- a/packages/web/src/content/docs/es/config.mdx +++ b/packages/web/src/content/docs/es/config.mdx @@ -357,6 +357,27 @@ Esta configuración se aplica en todas las interfaces: TUI, CLI (`opencode run`) --- +### Compartir + +Puede configurar la función [compartir](/docs/share) a través de la opción `share`. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +Esto requiere: + +- `"manual"` - Permitir compartir manualmente mediante comandos (predeterminado) +- `"auto"` - Comparte automáticamente nuevas conversaciones +- `"disabled"` - Deshabilitar el uso compartido por completo + +De forma predeterminada, el uso compartido está configurado en modo manual, donde debe compartir conversaciones explícitamente usando el comando `/share`. + +--- + ### Comandos Puede configurar comandos personalizados para tareas repetitivas a través de la opción `command`. diff --git a/packages/web/src/content/docs/es/enterprise.mdx b/packages/web/src/content/docs/es/enterprise.mdx index b9592c135fec..787ff095a170 100644 --- a/packages/web/src/content/docs/es/enterprise.mdx +++ b/packages/web/src/content/docs/es/enterprise.mdx @@ -32,6 +32,27 @@ OpenCode es de código abierto y no almacena ningún código ni datos de context Esto significa que, siempre que uses un proveedor de confianza o un AI gateway interno, puedes usar OpenCode de forma segura. +La única advertencia aquí es la característica opcional `/share`. + +--- + +#### Compartir conversaciones + +Si un usuario habilita la función `/share`, la conversación y los datos asociados con ella se envían al servicio que utilizamos para alojar estas páginas compartidas en opencode.ai. + +Actualmente, los datos se entregan a través de la red perimetral de nuestra CDN y se almacenan en caché en el perímetro cerca de sus usuarios. + +Le recomendamos que desactive esto para su prueba. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +[Más información sobre cómo compartir](/docs/share). + --- ### Propiedad del código diff --git a/packages/web/src/content/docs/es/github.mdx b/packages/web/src/content/docs/es/github.mdx index acce5324c674..57375a8d7c53 100644 --- a/packages/web/src/content/docs/es/github.mdx +++ b/packages/web/src/content/docs/es/github.mdx @@ -69,6 +69,7 @@ O puede configurarlo manualmente. ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 + # share: true # github_token: xxxx ``` @@ -82,6 +83,7 @@ O puede configurarlo manualmente. - `model`: El modelo a usar con OpenCode. Toma el formato de `provider/model`. Esto es **obligatorio**. - `agent`: El agente a utilizar. Debe ser un agente primario. Vuelve a `default_agent` desde la configuración o `"build"` si no se encuentra. +- `share`: si se comparte la sesión OpenCode. El valor predeterminado es **verdadero** para repositorios públicos. - `prompt`: mensaje personalizado opcional para anular el comportamiento predeterminado. Utilice esto para personalizar cómo OpenCode procesa las solicitudes. - `token`: token de acceso GitHub opcional para realizar operaciones como crear comentarios, confirmar cambios y abrir solicitudes de extracción. De forma predeterminada, OpenCode usa el token de acceso a la instalación de la aplicación OpenCode GitHub, por lo que las confirmaciones, los comentarios y las solicitudes de extracción aparecen como provenientes de la aplicación. diff --git a/packages/web/src/content/docs/es/index.mdx b/packages/web/src/content/docs/es/index.mdx index 37713e427b5e..c14811382594 100644 --- a/packages/web/src/content/docs/es/index.mdx +++ b/packages/web/src/content/docs/es/index.mdx @@ -319,6 +319,25 @@ También puede rehacer los cambios usando el comando `/redo.` --- +## Compartir + +Las conversaciones que tenga con OpenCode pueden [compartirse con su +equipo](/docs/share). + +```bash frame="none" +/share +``` + +Esto creará un enlace a la conversación actual y lo copiará en su portapapeles. + +:::note +Las conversaciones no se comparten de forma predeterminada. +::: + +Aquí tiene una [conversación de ejemplo](https://opencode.ai/s/4XP1fce5) con OpenCode. + +--- + ## Personalizar Y eso es todo. Ya conoce lo básico para empezar a usar OpenCode. diff --git a/packages/web/src/content/docs/es/keybinds.mdx b/packages/web/src/content/docs/es/keybinds.mdx index 89dbe185249d..2fc57fa69ffb 100644 --- a/packages/web/src/content/docs/es/keybinds.mdx +++ b/packages/web/src/content/docs/es/keybinds.mdx @@ -24,6 +24,8 @@ OpenCode tiene una lista de combinaciones de teclas que puede personalizar a tra "session_timeline": "g", "session_fork": "none", "session_rename": "none", + "session_share": "none", + "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/es/providers.mdx b/packages/web/src/content/docs/es/providers.mdx index b30b8f9bae36..11489609bc64 100644 --- a/packages/web/src/content/docs/es/providers.mdx +++ b/packages/web/src/content/docs/es/providers.mdx @@ -759,12 +759,13 @@ para almacenar el token en el almacenamiento de autenticación opencode. OpenCode utiliza un modelo pequeño para algunas tareas de IA, como generar el título de la sesión. Está configurado para usar gpt-5-nano de forma predeterminada, alojado por Zen. Para bloquear OpenCode Para usar solo su propia instancia alojada en GitLab, agregue lo siguiente a su -Archivo `opencode.json`. +Archivo `opencode.json`. También se recomienda desactivar el uso compartido de sesiones. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5" + "small_model": "gitlab/duo-chat-haiku-4-5", + "share": "disabled" } ``` diff --git a/packages/web/src/content/docs/es/server.mdx b/packages/web/src/content/docs/es/server.mdx index 97a90ec21364..c3ce97421e3d 100644 --- a/packages/web/src/content/docs/es/server.mdx +++ b/packages/web/src/content/docs/es/server.mdx @@ -158,6 +158,8 @@ El servidor opencode expone las siguientes API. | `POST` | `/session/:id/init` | Analizar aplicación y crear `AGENTS.md` | cuerpo: `{ messageID, providerID, modelID }`, devuelve `boolean` | | `POST` | `/session/:id/fork` | Bifurca una sesión existente en un mensaje | cuerpo: `{ messageID? }`, devuelve Session | | `POST` | `/session/:id/abort` | Cancelar una sesión en ejecución | Devuelve `boolean` | +| `POST` | `/session/:id/share` | Compartir una sesión | Devuelve Session | +| `DELETE` | `/session/:id/share` | Dejar de compartir una sesión | Devuelve Session | | `GET` | `/session/:id/diff` | Obtenga la diferencia para esta sesión | consulta: `messageID?`, devuelve FileDiff[] | | `POST` | `/session/:id/summarize` | Resumir la sesión | cuerpo: `{ providerID, modelID }`, devuelve `boolean` | | `POST` | `/session/:id/revert` | Revertir un mensaje | cuerpo: `{ messageID, partID? }`, devuelve `boolean` | diff --git a/packages/web/src/content/docs/es/share.mdx b/packages/web/src/content/docs/es/share.mdx new file mode 100644 index 000000000000..3bb376f38625 --- /dev/null +++ b/packages/web/src/content/docs/es/share.mdx @@ -0,0 +1,128 @@ +--- +title: Compartir +description: Comparte tus conversaciones OpenCode. +--- + +La función para compartir de OpenCode te permite crear enlaces públicos a tus conversaciones de OpenCode, para que puedas colaborar con compañeros de equipo u obtener ayuda de otros. + +:::note +Las conversaciones compartidas son de acceso público para cualquier persona que tenga el enlace. +::: + +--- + +## Cómo funciona + +Cuando compartes una conversación, OpenCode: + +1. Crea una URL pública única para su sesión. +2. Sincroniza tu historial de conversaciones con nuestros servidores +3. Hace que la conversación sea accesible a través del enlace para compartir: `opncd.ai/s/` + +--- + +## Uso compartido + +OpenCode admite tres modos de compartir que controlan cómo se comparten las conversaciones: + +--- + +### Manual (predeterminado) + +De forma predeterminada, OpenCode usa el modo de compartir manual. Las sesiones no se comparten automáticamente, pero puedes compartirlas manualmente usando el comando `/share`: + +``` +/share +``` + +Esto generará una URL única que se copiará en su portapapeles. + +Para configurar explícitamente el modo manual en su [archivo de configuración](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +--- + +### Compartir automáticamente + +Puede habilitar el uso compartido automático para todas las conversaciones nuevas configurando la opción `share` en `"auto"` en su [archivo de configuración](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "auto" +} +``` + +Con el uso compartido automático habilitado, cada nueva conversación se compartirá automáticamente y se generará un enlace. + +--- + +### Desactivado + +Puede desactivar el uso compartido por completo configurando la opción `share` en `"disabled"` en su [archivo de configuración](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +Para aplicar esto en todo su equipo para un proyecto determinado, agréguelo al `opencode.json` en su proyecto y regístrelo en Git. + +--- + +## Dejar de compartir + +Para dejar de compartir una conversación y eliminarla del acceso público: + +``` +/unshare +``` + +Esto eliminará el enlace para compartir y eliminará los datos relacionados con la conversación. + +--- + +## Privacidad + +Hay algunas cosas a tener en cuenta al compartir una conversación. + +--- + +### Retención de datos + +Las conversaciones compartidas permanecen accesibles hasta que las dejes de compartir explícitamente. Este +incluye: + +- Historial de conversaciones completo +- Todos los mensajes y respuestas. +- Metadatos de la sesión + +--- + +### Recomendaciones + +- Comparta únicamente conversaciones que no contengan información confidencial. +- Revisar el contenido de la conversación antes de compartir. +- Dejar de compartir conversaciones cuando se complete la colaboración. +- Evite compartir conversaciones con código propietario o datos confidenciales. +- Para proyectos confidenciales, deshabilite el uso compartido por completo. + +--- + +## Para empresas + +Para implementaciones empresariales, la función de compartir puede ser: + +- **Desactivado** completamente por motivos de seguridad. +- **Restringido** solo a usuarios autenticados a través de SSO +- **Autohospedado** en tu propia infraestructura + +[Obtenga más información](/docs/enterprise) sobre el uso de opencode en su organización. diff --git a/packages/web/src/content/docs/es/tui.mdx b/packages/web/src/content/docs/es/tui.mdx index 3c1ce2f2eb06..006264909130 100644 --- a/packages/web/src/content/docs/es/tui.mdx +++ b/packages/web/src/content/docs/es/tui.mdx @@ -218,6 +218,18 @@ Enumere y cambie entre sesiones. _Alias_: `/resume`, `/continue` --- +### share + +Compartir la sesión actual. [Más información](/docs/share). + +```bash frame="none" +/share +``` + +**Combinación de teclas:** `ctrl+x s` + +--- + ### theme Listar temas disponibles. @@ -263,6 +275,16 @@ ser un repositorio Git**. --- +### unshare + +Dejar de compartir la sesión actual. [Más información](/docs/share#un-sharing). + +```bash frame="none" +/unshare +``` + +--- + ## Configuración del editor Tanto el comando `/editor` como el `/export` usan el editor especificado en su variable de entorno `EDITOR`. diff --git a/packages/web/src/content/docs/fr/cli.mdx b/packages/web/src/content/docs/fr/cli.mdx index db0c3bec8b77..bc8b550cc0f8 100644 --- a/packages/web/src/content/docs/fr/cli.mdx +++ b/packages/web/src/content/docs/fr/cli.mdx @@ -345,6 +345,7 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | Continuer la dernière session | | {"--session"} | `-s` | ID de session pour continuer | | {"--fork"} | | Forker la session en continuant (à utiliser avec `--continue` ou `--session`) | +| {"--share"} | | Partager la session | | {"--model"} | `-m` | Modèle à utiliser sous forme de fournisseur/modèle | | {"--agent"} | | Agent à utiliser | | {"--file"} | `-f` | Fichier(s) à joindre au message | @@ -441,14 +442,17 @@ Si vous ne fournissez pas d'ID de session, vous serez invité à sélectionner p ### import -Importez les données de session à partir d'un fichier JSON. +Importez les données de session à partir d'un fichier JSON ou d'une URL de partage OpenCode. ```bash opencode import ``` +Vous pouvez importer à partir d'un fichier local ou d'une URL de partage OpenCode. + ```bash opencode import session.json +opencode import https://opncd.ai/s/abc123 ``` --- @@ -560,6 +564,7 @@ OpenCode peut être configuré à l'aide de variables d'environnement. | Variables | Type | Description | | ------------------------------------- | ------- | --------------------------------------------------------------------------------- | +| `OPENCODE_AUTO_SHARE` | booléen | Partager automatiquement des sessions | | `OPENCODE_GIT_BASH_PATH` | chaîne | Chemin vers l'exécutable Git Bash sur Windows | | `OPENCODE_CONFIG` | chaîne | Chemin d'accès au fichier de configuration | | `OPENCODE_TUI_CONFIG` | chaîne | Chemin d'accès au fichier de configuration TUI | diff --git a/packages/web/src/content/docs/fr/commands.mdx b/packages/web/src/content/docs/fr/commands.mdx index 5a9b7acc5f04..71e03342e1dc 100644 --- a/packages/web/src/content/docs/fr/commands.mdx +++ b/packages/web/src/content/docs/fr/commands.mdx @@ -9,7 +9,7 @@ Les commandes personnalisées vous permettent de spécifier un prompt que vous s /my-command ``` -Les commandes personnalisées s'ajoutent aux commandes intégrées telles que `/init`, `/undo`, `/redo`, `/help`. [En savoir plus](/docs/tui#commands). +Les commandes personnalisées s'ajoutent aux commandes intégrées telles que `/init`, `/undo`, `/redo`, `/share`, `/help`. [En savoir plus](/docs/tui#commands). --- @@ -313,7 +313,7 @@ Il s'agit d'une option de configuration **facultative**. ## Commandes intégrées -opencode comprend plusieurs commandes intégrées comme `/init`, `/undo`, `/redo`, `/help` ; [en savoir plus](/docs/tui#commands). +opencode comprend plusieurs commandes intégrées comme `/init`, `/undo`, `/redo`, `/share`, `/help` ; [en savoir plus](/docs/tui#commands). :::note Les commandes personnalisées peuvent remplacer les commandes intégrées. diff --git a/packages/web/src/content/docs/fr/config.mdx b/packages/web/src/content/docs/fr/config.mdx index a8e71d111fc3..f58b97aa5a21 100644 --- a/packages/web/src/content/docs/fr/config.mdx +++ b/packages/web/src/content/docs/fr/config.mdx @@ -357,6 +357,27 @@ Ce paramètre s'applique à toutes les interfaces : TUI, CLI (`opencode run`), a --- +### Partage + +Vous pouvez configurer la fonctionnalité [share](/docs/share) via l'option `share`. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +Elle accepte : + +- `"manual"` – Autoriser le partage manuel via des commandes (par défaut) +- `"auto"` – Partager automatiquement de nouvelles conversations +- `"disabled"` – Désactiver complètement le partage + +Par défaut, le partage est défini en mode manuel où vous devez partager explicitement les conversations à l'aide de la commande `/share`. + +--- + ### Commandes Vous pouvez configurer des commandes personnalisées pour les tâches répétitives via l'option `command`. diff --git a/packages/web/src/content/docs/fr/enterprise.mdx b/packages/web/src/content/docs/fr/enterprise.mdx index b1cd126dc510..659fc3e7cc8a 100644 --- a/packages/web/src/content/docs/fr/enterprise.mdx +++ b/packages/web/src/content/docs/fr/enterprise.mdx @@ -31,6 +31,27 @@ OpenCode est open source et ne stocke aucune de vos données de code ou de conte Cela signifie que tant que vous faites appel à un fournisseur de confiance ou à une passerelle IA, vous pouvez utiliser OpenCode en toute sécurité. +La seule mise en garde ici concerne la fonctionnalité facultative `/share`. + +--- + +#### Partager des conversations + +Si un utilisateur active la fonctionnalité `/share`, la conversation et les données qui y sont associées sont envoyées au service que nous utilisons pour héberger ces pages de partage sur opencode.ai. + +Les données sont actuellement servies via le réseau périphérique de notre CDN et sont mises en cache en périphérie, à proximité de vos utilisateurs. + +Nous vous recommandons de désactiver cette option pour votre essai. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +[En savoir plus sur le partage](/docs/share). + --- ### Propriété du code diff --git a/packages/web/src/content/docs/fr/github.mdx b/packages/web/src/content/docs/fr/github.mdx index 81b757847c3f..968ae4d458ec 100644 --- a/packages/web/src/content/docs/fr/github.mdx +++ b/packages/web/src/content/docs/fr/github.mdx @@ -69,6 +69,7 @@ Ajoutez le fichier de workflow suivant à `.github/workflows/opencode.yml` dans ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 + # share: true # github_token: xxxx ``` @@ -82,6 +83,7 @@ Dans les **paramètres** de votre organisation ou de votre projet, développez * - `model` : Le modèle à utiliser avec OpenCode. Prend le format `provider/model`. Ceci est **obligatoire**. - `agent` : l'agent à utiliser. Doit être un agent primaire. Revient à `default_agent` à partir de la configuration ou à `"build"` s'il n'est pas trouvé. +- `share` : s'il faut partager la session OpenCode. La valeur par défaut est **true** pour les référentiels publics. - `prompt` : prompt personnalisé facultatif pour remplacer le comportement par défaut. Utilisez-le pour personnaliser la façon dont OpenCode traite les demandes. - `token` : jeton d'accès GitHub facultatif pour effectuer des opérations telles que la création de commentaires, le commit de modifications et l'ouverture de pull requests. Par défaut, OpenCode utilise le jeton d'accès à l'installation de l'application OpenCode GitHub, de sorte que les commits, les commentaires et les pull requests apparaissent comme provenant de l'application. diff --git a/packages/web/src/content/docs/fr/index.mdx b/packages/web/src/content/docs/fr/index.mdx index 3536c3ee3c25..4f6b2f2a5be6 100644 --- a/packages/web/src/content/docs/fr/index.mdx +++ b/packages/web/src/content/docs/fr/index.mdx @@ -319,6 +319,24 @@ Ou vous **pouvez refaire** les modifications à l'aide de la commande `/redo`. --- +## Partager + +Les conversations que vous avez avec OpenCode peuvent être [partagées avec votre équipe](/docs/share). + +```bash frame="none" +/share +``` + +Cela créera un lien vers la conversation en cours et le copiera dans votre presse-papiers. + +:::note +Les conversations ne sont pas partagées par défaut. +::: + +Voici un [exemple de conversation](https://opencode.ai/s/4XP1fce5) avec OpenCode. + +--- + ## Personnaliser Et c'est tout ! Vous êtes désormais un pro de l'utilisation de OpenCode. diff --git a/packages/web/src/content/docs/fr/keybinds.mdx b/packages/web/src/content/docs/fr/keybinds.mdx index a04293e38993..feb4ba37f6b0 100644 --- a/packages/web/src/content/docs/fr/keybinds.mdx +++ b/packages/web/src/content/docs/fr/keybinds.mdx @@ -24,6 +24,8 @@ OpenCode a une liste de raccourcis clavier que vous pouvez personnaliser via la "session_timeline": "g", "session_fork": "none", "session_rename": "none", + "session_share": "none", + "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/fr/providers.mdx b/packages/web/src/content/docs/fr/providers.mdx index 51f0405c350b..90bdb1fbc304 100644 --- a/packages/web/src/content/docs/fr/providers.mdx +++ b/packages/web/src/content/docs/fr/providers.mdx @@ -765,12 +765,13 @@ pour stocker le jeton dans le stockage d'authentification opencode. OpenCode utilise un petit modèle pour certaines tâches d'IA telles que la génération du titre de la session. Il est configuré pour utiliser gpt-5-nano par défaut, hébergé par Zen. Pour verrouiller OpenCode pour utiliser uniquement votre propre instance hébergée par GitLab, ajoutez ce qui suit à votre -Fichier `opencode.json`. +Fichier `opencode.json`. Il est également recommandé de désactiver le partage de session. ```json { "$schema": "https://opencode.ai/config.json", -"small_model": "gitlab/duo-chat-haiku-4-5" +"small_model": "gitlab/duo-chat-haiku-4-5", +"share": "disabled" } ```` diff --git a/packages/web/src/content/docs/fr/server.mdx b/packages/web/src/content/docs/fr/server.mdx index 720918e8cbe1..a376f4a18cc3 100644 --- a/packages/web/src/content/docs/fr/server.mdx +++ b/packages/web/src/content/docs/fr/server.mdx @@ -158,6 +158,8 @@ Le serveur opencode expose les API suivantes. | `POST` | `/session/:id/init` | Analysez l'application et créez `AGENTS.md` | corps : `{ messageID, providerID, modelID }`, renvoie `boolean` | | `POST` | `/session/:id/fork` | Forkez une session existante à un message | corps : `{ messageID? }`, renvoie Session | | `POST` | `/session/:id/abort` | Abandonner une session en cours | Renvoie `boolean` | +| `POST` | `/session/:id/share` | Partager une séance | Renvoie Session | +| `DELETE` | `/session/:id/share` | Annuler le partage d'une session | Renvoie Session | | `GET` | `/session/:id/diff` | Obtenez le diff pour cette session | requête : `messageID?`, renvoie FileDiff[] | | `POST` | `/session/:id/summarize` | Résumer la séance | corps : `{ providerID, modelID }`, renvoie `boolean` | | `POST` | `/session/:id/revert` | Rétablir un message | corps : `{ messageID, partID? }`, renvoie `boolean` | diff --git a/packages/web/src/content/docs/fr/share.mdx b/packages/web/src/content/docs/fr/share.mdx new file mode 100644 index 000000000000..e6b067a8c82a --- /dev/null +++ b/packages/web/src/content/docs/fr/share.mdx @@ -0,0 +1,128 @@ +--- +title: Partager +description: Partagez vos conversations OpenCode. +--- + +La fonctionnalité de partage de OpenCode vous permet de créer des liens publics vers vos conversations OpenCode, afin que vous puissiez collaborer avec vos coéquipiers ou obtenir de l'aide d'autres personnes. + +:::note +Les conversations partagées sont accessibles publiquement à toute personne disposant du lien. +::: + +--- + +## Comment ça marche + +Lorsque vous partagez une conversation, OpenCode : + +1. Crée un URL public unique pour votre session +2. Synchronise l'historique de vos conversations avec nos serveurs +3. Rend la conversation accessible via le lien partageable — `opncd.ai/s/` + +--- + +## Partage + +OpenCode prend en charge trois modes de partage qui contrôlent la manière dont les conversations sont partagées : + +--- + +### Manuel (par défaut) + +Par défaut, OpenCode utilise le mode de partage manuel. Les sessions ne sont pas partagées automatiquement, mais vous pouvez les partager manuellement à l'aide de la commande `/share` : + +``` +/share +``` + +Cela générera un URL unique qui sera copié dans votre presse-papiers. + +Pour définir explicitement le mode manuel dans votre [fichier de configuration](/docs/config) : + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +--- + +### Partage automatique + +Vous pouvez activer le partage automatique pour toutes les nouvelles conversations en définissant l'option `share` sur `"auto"` dans votre [fichier de configuration](/docs/config) : + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "auto" +} +``` + +Avec le partage automatique activé, chaque nouvelle conversation sera automatiquement partagée et un lien sera généré. + +--- + +### Désactivé + +Vous pouvez désactiver entièrement le partage en définissant l'option `share` sur `"disabled"` dans votre [fichier de configuration](/docs/config) : + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +Pour appliquer cela au sein de votre équipe pour un projet donné, ajoutez-le au `opencode.json` dans votre projet et enregistrez-vous dans Git. + +--- + +## Annuler le partage + +Pour arrêter de partager une conversation et la supprimer de l'accès public : + +``` +/unshare +``` + +Cela supprimera le lien de partage et supprimera les données liées à la conversation. + +--- + +## Confidentialité + +Il y a quelques points à garder à l’esprit lorsque vous partagez une conversation. + +--- + +### Conservation des données + +Les conversations partagées restent accessibles jusqu'à ce que vous les annuliez explicitement. Ce +comprend : + +- Historique complet des conversations +- Tous les messages et réponses +- Métadonnées de session + +--- + +### Recommandations + +- Partagez uniquement les conversations qui ne contiennent pas d'informations sensibles. +- Examinez le contenu de la conversation avant de la partager. +- Annulez le partage des conversations une fois la collaboration terminée. +- Évitez de partager des conversations avec du code propriétaire ou des données confidentielles. +- Pour les projets sensibles, désactivez complètement le partage. + +--- + +## Pour les entreprises + +Pour les déploiements en entreprise, la fonctionnalité de partage peut être : + +- **Désactivé** entièrement pour des raisons de conformité en matière de sécurité +- **Réservé** aux utilisateurs authentifiés via SSO uniquement +- **Auto-hébergé** sur votre propre infrastructure + +[En savoir plus](/docs/enterprise) sur l'utilisation de opencode dans votre organisation. diff --git a/packages/web/src/content/docs/fr/tui.mdx b/packages/web/src/content/docs/fr/tui.mdx index 8d681764faa7..79de0d43fb0a 100644 --- a/packages/web/src/content/docs/fr/tui.mdx +++ b/packages/web/src/content/docs/fr/tui.mdx @@ -218,6 +218,18 @@ Répertoriez et basculez entre les sessions. *Alias* : `/resume`, `/continue` --- +### share + +Partager la session en cours. [En savoir plus](/docs/share). + +```bash frame="none" +/share +``` + +**Reliure de touches :** `ctrl+x s` + +--- + ### theme Répertoriez les thèmes disponibles. @@ -263,6 +275,16 @@ En interne, cela utilise Git pour gérer les modifications de fichiers. Votre pr --- +### unshare + +Annuler le partage de la session en cours. [En savoir plus](/docs/share#un-sharing). + +```bash frame="none" +/unshare +``` + +--- + ## Configuration de l'éditeur Les commandes `/editor` et `/export` utilisent l'éditeur spécifié dans votre variable d'environnement `EDITOR`. diff --git a/packages/web/src/content/docs/github.mdx b/packages/web/src/content/docs/github.mdx index 20258e0b0e86..08cb27fff019 100644 --- a/packages/web/src/content/docs/github.mdx +++ b/packages/web/src/content/docs/github.mdx @@ -69,6 +69,7 @@ Or you can set it up manually. ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 + # share: true ``` 3. **Store the API keys in secrets** @@ -81,6 +82,7 @@ Or you can set it up manually. - `model`: The model to use with OpenCode. Takes the format of `provider/model`. This is **required**. - `agent`: The agent to use. Must be a primary agent. Falls back to `default_agent` from config or `"build"` if not found. +- `share`: Whether to share the OpenCode session. Defaults to **true** for public repositories. - `prompt`: Optional custom prompt to override the default behavior. Use this to customize how OpenCode processes requests. - `mentions`: Comma-separated list of trigger phrases, case-insensitive. Defaults to `/opencode,/oc`. - `variant`: Model variant for provider-specific reasoning effort, for example `high`, `max`, or `minimal`. diff --git a/packages/web/src/content/docs/index.mdx b/packages/web/src/content/docs/index.mdx index 5b5a45faec0d..90e7eafb2f31 100644 --- a/packages/web/src/content/docs/index.mdx +++ b/packages/web/src/content/docs/index.mdx @@ -334,6 +334,25 @@ Or you **can redo** the changes using the `/redo` command. --- +## Share + +The conversations that you have with OpenCode can be [shared with your +team](/docs/share). + +```bash frame="none" +/share +``` + +This will create a link to the current conversation and copy it to your clipboard. + +:::note +Conversations are not shared by default. +::: + +Here's an [example conversation](https://opencode.ai/s/4XP1fce5) with OpenCode. + +--- + ## Customize And that's it! You are now a pro at using OpenCode. diff --git a/packages/web/src/content/docs/it/cli.mdx b/packages/web/src/content/docs/it/cli.mdx index 5fcb8d602f45..67cd703a9f8c 100644 --- a/packages/web/src/content/docs/it/cli.mdx +++ b/packages/web/src/content/docs/it/cli.mdx @@ -345,6 +345,7 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | Continua l'ultima sessione | | {"--session"} | `-s` | ID sessione da continuare | | {"--fork"} | | Duplica la sessione quando continui (usa con `--continue` o `--session`) | +| {"--share"} | | Condividi la sessione | | {"--model"} | `-m` | Modello nel formato provider/model | | {"--agent"} | | Agente da usare | | {"--file"} | `-f` | File da allegare al messaggio | @@ -441,14 +442,17 @@ Se non fornisci un ID sessione, ti verrà chiesto di selezionare tra le sessioni ### import -Importa i dati di sessione da un file JSON. +Importa i dati di sessione da un file JSON o da un URL di condivisione OpenCode. ```bash opencode import ``` +Puoi importare da un file locale o da un URL di condivisione OpenCode. + ```bash opencode import session.json +opencode import https://opncd.ai/s/abc123 ``` --- @@ -560,6 +564,7 @@ OpenCode può essere configurato tramite variabili d'ambiente. | Variabile | Tipo | Descrizione | | ------------------------------------- | ------- | ----------------------------------------------------------- | +| `OPENCODE_AUTO_SHARE` | boolean | Condivide automaticamente le sessioni | | `OPENCODE_GIT_BASH_PATH` | string | Percorso all'eseguibile Git Bash su Windows | | `OPENCODE_CONFIG` | string | Percorso al file di configurazione | | `OPENCODE_TUI_CONFIG` | string | Percorso al file di configurazione TUI | diff --git a/packages/web/src/content/docs/it/commands.mdx b/packages/web/src/content/docs/it/commands.mdx index 85c035582ce7..bec4bf8deb15 100644 --- a/packages/web/src/content/docs/it/commands.mdx +++ b/packages/web/src/content/docs/it/commands.mdx @@ -9,7 +9,7 @@ I comandi personalizzati ti permettono di definire un prompt da eseguire quando /my-command ``` -I comandi personalizzati si aggiungono a quelli integrati come `/init`, `/undo`, `/redo`, `/help`. [Scopri di piu](/docs/tui#commands). +I comandi personalizzati si aggiungono a quelli integrati come `/init`, `/undo`, `/redo`, `/share`, `/help`. [Scopri di piu](/docs/tui#commands). --- @@ -313,7 +313,7 @@ Questa e un'opzione di config **opzionale**. ## Comandi integrati -opencode include diversi comandi integrati come `/init`, `/undo`, `/redo`, `/help`; [scopri di piu](/docs/tui#commands). +opencode include diversi comandi integrati come `/init`, `/undo`, `/redo`, `/share`, `/help`; [scopri di piu](/docs/tui#commands). :::note I comandi personalizzati possono sovrascrivere quelli integrati. diff --git a/packages/web/src/content/docs/it/config.mdx b/packages/web/src/content/docs/it/config.mdx index 64b5408270a7..1026b870a968 100644 --- a/packages/web/src/content/docs/it/config.mdx +++ b/packages/web/src/content/docs/it/config.mdx @@ -356,6 +356,27 @@ Questa impostazione si applica a tutte le interfacce: TUI, CLI (`opencode run`), --- +### Condivisione + +Puoi configurare la funzione di [condivisione](/docs/share) tramite l'opzione `share`. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +Valori supportati: + +- `"manual"` - Consenti la condivisione manuale tramite comandi (predefinito) +- `"auto"` - Condividi automaticamente le nuove conversazioni +- `"disabled"` - Disabilita completamente la condivisione + +Per impostazione predefinita, la condivisione e in modalita manuale e devi condividere esplicitamente le conversazioni usando il comando `/share`. + +--- + ### Comandi Puoi configurare comandi personalizzati per task ripetitivi tramite l'opzione `command`. diff --git a/packages/web/src/content/docs/it/enterprise.mdx b/packages/web/src/content/docs/it/enterprise.mdx index 4aa71607e3ce..bd142e709a13 100644 --- a/packages/web/src/content/docs/it/enterprise.mdx +++ b/packages/web/src/content/docs/it/enterprise.mdx @@ -31,6 +31,27 @@ OpenCode e open source e non memorizza alcun tuo codice o dato di contesto, quin Questo significa che, finche usi un provider di cui ti fidi o un gateway AI interno, puoi usare OpenCode in modo sicuro. +L'unica eccezione e la funzione opzionale `/share`. + +--- + +#### Condivisione conversazioni + +Se un utente abilita la funzione `/share`, la conversazione e i dati associati vengono inviati al servizio che usiamo per ospitare queste pagine di condivisione su opencode.ai. + +I dati sono serviti tramite la rete edge della nostra CDN e vengono messi in cache vicino ai tuoi utenti. + +Ti consigliamo di disabilitarla durante la prova. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +[Scopri di più sulla condivisione](/docs/share). + --- ### Proprietà del codice diff --git a/packages/web/src/content/docs/it/github.mdx b/packages/web/src/content/docs/it/github.mdx index 3cc2ba72376e..81bbd593378f 100644 --- a/packages/web/src/content/docs/it/github.mdx +++ b/packages/web/src/content/docs/it/github.mdx @@ -69,6 +69,7 @@ In alternativa, puoi configurarlo manualmente. ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 + # share: true # github_token: xxxx ``` @@ -82,6 +83,7 @@ In alternativa, puoi configurarlo manualmente. - `model`: il modello da usare con OpenCode. Usa il formato `provider/model`. E' **obbligatorio**. - `agent`: l'agente da usare. Deve essere un agente primario. Se non trovato, usa `default_agent` dalla config o `"build"`. +- `share`: se condividere la sessione OpenCode. Di default e' **true** per repository pubblici. - `prompt`: prompt personalizzato opzionale per sovrascrivere il comportamento di default. Usalo per personalizzare come OpenCode processa le richieste. - `token`: token di accesso GitHub opzionale per eseguire operazioni come creare commenti, committare modifiche e aprire pull request. Di default, OpenCode usa l'installation access token della OpenCode GitHub App, quindi commit, commenti e pull request risultano provenire dalla app. diff --git a/packages/web/src/content/docs/it/index.mdx b/packages/web/src/content/docs/it/index.mdx index 2a803c609fb3..1b48d9df6174 100644 --- a/packages/web/src/content/docs/it/index.mdx +++ b/packages/web/src/content/docs/it/index.mdx @@ -319,6 +319,24 @@ Oppure puoi **rifare** le modifiche usando il comando `/redo`. --- +## Condividi + +Le conversazioni che fai con OpenCode possono essere [condivise con il tuo team](/docs/share). + +```bash frame="none" +/share +``` + +Questo creera un link alla conversazione corrente e lo copiera negli appunti. + +:::note +Le conversazioni non vengono condivise per impostazione predefinita. +::: + +Ecco un'[esempio di conversazione](https://opencode.ai/s/4XP1fce5) con OpenCode. + +--- + ## Personalizza E tutto qui! Ora sei un pro nell'usare OpenCode. diff --git a/packages/web/src/content/docs/it/keybinds.mdx b/packages/web/src/content/docs/it/keybinds.mdx index 7db3bdc512b9..aef0a4c9369e 100644 --- a/packages/web/src/content/docs/it/keybinds.mdx +++ b/packages/web/src/content/docs/it/keybinds.mdx @@ -24,6 +24,8 @@ OpenCode ha una lista di scorciatoie che puoi personalizzare tramite `tui.json`. "session_timeline": "g", "session_fork": "none", "session_rename": "none", + "session_share": "none", + "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/it/providers.mdx b/packages/web/src/content/docs/it/providers.mdx index 89d87cac2d72..f2d195d7218b 100644 --- a/packages/web/src/content/docs/it/providers.mdx +++ b/packages/web/src/content/docs/it/providers.mdx @@ -735,12 +735,13 @@ salvare il token nello storage di auth di opencode. OpenCode usa un modello piccolo per alcuni task AI come generare il titolo della sessione. È configurato per usare gpt-5-nano di default, ospitato da Zen. Per bloccare OpenCode a usare solo la tua istanza GitLab self-hosted, aggiungi quanto segue al tuo -file `opencode.json`. +file `opencode.json`. Si raccomanda anche di disabilitare la condivisione sessioni. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5" + "small_model": "gitlab/duo-chat-haiku-4-5", + "share": "disabled" } ``` diff --git a/packages/web/src/content/docs/it/server.mdx b/packages/web/src/content/docs/it/server.mdx index 88acac9584ac..df66d39fdc93 100644 --- a/packages/web/src/content/docs/it/server.mdx +++ b/packages/web/src/content/docs/it/server.mdx @@ -155,6 +155,8 @@ Il server opencode espone le seguenti API. | `POST` | `/session/:id/init` | Analizza app e crea `AGENTS.md` | body: `{ messageID, providerID, modelID }`, returns `boolean` | | `POST` | `/session/:id/fork` | Fork di sessione su un messaggio | body: `{ messageID? }`, returns Session | | `POST` | `/session/:id/abort` | Interrompe una sessione in esecuzione | Returns `boolean` | +| `POST` | `/session/:id/share` | Condivide una sessione | Returns Session | +| `DELETE` | `/session/:id/share` | Annulla condivisione | Returns Session | | `GET` | `/session/:id/diff` | Diff della sessione | query: `messageID?`, returns FileDiff[] | | `POST` | `/session/:id/summarize` | Riassume la sessione | body: `{ providerID, modelID }`, returns `boolean` | | `POST` | `/session/:id/revert` | Ripristina un messaggio | body: `{ messageID, partID? }`, returns `boolean` | diff --git a/packages/web/src/content/docs/it/share.mdx b/packages/web/src/content/docs/it/share.mdx new file mode 100644 index 000000000000..9b410a6b8654 --- /dev/null +++ b/packages/web/src/content/docs/it/share.mdx @@ -0,0 +1,127 @@ +--- +title: Condivisione +description: Condividi le tue conversazioni OpenCode. +--- + +La funzione di condivisione di OpenCode ti permette di creare link pubblici alle tue conversazioni, cosi puoi collaborare con i colleghi o chiedere aiuto ad altre persone. + +:::note +Le conversazioni condivise sono accessibili pubblicamente a chiunque abbia il link. +::: + +--- + +## Come funziona + +Quando condividi una conversazione, OpenCode: + +1. Crea un URL pubblico univoco per la sessione +2. Sincronizza la cronologia della conversazione sui nostri server +3. Rende la conversazione accessibile tramite il link condivisibile: `opncd.ai/s/` + +--- + +## Condivisione + +OpenCode supporta tre modalita di condivisione che controllano come vengono condivise le conversazioni: + +--- + +### Manuale (predefinito) + +Per impostazione predefinita, OpenCode usa la condivisione manuale. Le sessioni non vengono condivise automaticamente, ma puoi condividerle manualmente con il comando `/share`: + +``` +/share +``` + +Questo genera un URL univoco che viene copiato negli appunti. + +Per impostare esplicitamente la modalita manuale nel tuo [file di config](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +--- + +### Automatico + +Puoi abilitare la condivisione automatica per tutte le nuove conversazioni impostando l'opzione `share` su `"auto"` nel tuo [file di config](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "auto" +} +``` + +Con la condivisione automatica attiva, ogni nuova conversazione verra condivisa automaticamente e verra generato un link. + +--- + +### Disabilitato + +Puoi disabilitare completamente la condivisione impostando l'opzione `share` su `"disabled"` nel tuo [file di config](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +Per applicarlo al tuo team in un progetto specifico, aggiungilo a `opencode.json` nel progetto e versionalo su Git. + +--- + +## Annullare la condivisione + +Per smettere di condividere una conversazione e rimuoverla dall'accesso pubblico: + +``` +/unshare +``` + +Questo rimuove il link di condivisione ed elimina i dati associati alla conversazione. + +--- + +## Privacy + +Ci sono alcune cose da tenere a mente quando condividi una conversazione. + +--- + +### Conservazione dati + +Le conversazioni condivise restano accessibili finche non le annulli esplicitamente. Questo include: + +- La cronologia completa della conversazione +- Tutti i messaggi e le risposte +- I metadati della sessione + +--- + +### Raccomandazioni + +- Condividi solo conversazioni che non contengono informazioni sensibili. +- Rivedi il contenuto della conversazione prima di condividerla. +- Annulla la condivisione quando la collaborazione e conclusa. +- Evita di condividere conversazioni con codice proprietario o dati riservati. +- Per progetti sensibili, disabilita completamente la condivisione. + +--- + +## Per le aziende + +Per deploy enterprise, la condivisione puo essere: + +- **Disabilitata** completamente per requisiti di conformita e sicurezza +- **Limitata** ai soli utenti autenticati tramite SSO +- **Self-hosted** sulla tua infrastruttura + +[Scopri di piu](/docs/enterprise) su come usare opencode nella tua organizzazione. diff --git a/packages/web/src/content/docs/it/tui.mdx b/packages/web/src/content/docs/it/tui.mdx index 5293b7ab1538..93ef1a86d501 100644 --- a/packages/web/src/content/docs/it/tui.mdx +++ b/packages/web/src/content/docs/it/tui.mdx @@ -217,6 +217,18 @@ Elenca e passa tra le sessioni. _Alias_: `/resume`, `/continue` --- +### condividi + +Condivide la sessione corrente. [Scopri di più](/docs/share). + +```bash frame="none" +/share +``` + +**Scorciatoia:** `ctrl+x s` + +--- + ### temi Elenca i temi disponibili. @@ -261,6 +273,16 @@ Internamente usa Git per gestire le modifiche ai file. Quindi il progetto **deve --- +### annulla condivisione + +Annulla la condivisione della sessione corrente. [Scopri di più](/docs/share#un-sharing). + +```bash frame="none" +/unshare +``` + +--- + ## Configurazione dell'editor Sia `/editor` sia `/export` usano l'editor specificato nella variabile d'ambiente `EDITOR`. diff --git a/packages/web/src/content/docs/ja/cli.mdx b/packages/web/src/content/docs/ja/cli.mdx index d738ec64198b..755b856fc727 100644 --- a/packages/web/src/content/docs/ja/cli.mdx +++ b/packages/web/src/content/docs/ja/cli.mdx @@ -345,6 +345,7 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | 最後のセッションを続行 | | {"--session"} | `-s` | 続行するセッション ID | | {"--fork"} | | 続行時にセッションをフォーク (`--continue` または `--session` と併用) | +| {"--share"} | | セッションを共有する | | {"--model"} | `-m` | プロバイダー/モデルの形式で使用するモデル | | {"--agent"} | | 使用するエージェント | | {"--file"} | `-f` | メッセージに添付するファイル | @@ -441,14 +442,17 @@ opencode export [sessionID] ### import -JSON ファイルからセッションデータをインポートします。 +JSON ファイルまたは OpenCode 共有 URL からセッションデータをインポートします。 ```bash opencode import ``` +ローカルファイルまたは OpenCode 共有 URL からインポートできます。 + ```bash opencode import session.json +opencode import https://opncd.ai/s/abc123 ``` --- @@ -560,6 +564,7 @@ OpenCode は環境変数を使用して構成できます。 | 変数 | タイプ | 説明 | | ------------------------------------- | -------- | ------------------------------------------------------------------- | +| `OPENCODE_AUTO_SHARE` | ブール値 | セッションを自動的に共有する | | `OPENCODE_GIT_BASH_PATH` | 文字列 | Windows 上で実行可能な Git Bash へのパス | | `OPENCODE_CONFIG` | 文字列 | 構成ファイルへのパス | | `OPENCODE_CONFIG_DIR` | 文字列 | config ディレクトリへのパス | diff --git a/packages/web/src/content/docs/ja/commands.mdx b/packages/web/src/content/docs/ja/commands.mdx index 573c599d06f8..bd2913a043e9 100644 --- a/packages/web/src/content/docs/ja/commands.mdx +++ b/packages/web/src/content/docs/ja/commands.mdx @@ -9,7 +9,7 @@ description: 反復的なタスク用のカスタムコマンドを作成しま /my-command ``` -カスタムコマンドは、`/init`、`/undo`、`/redo`、`/help` などの組み込みコマンドに追加されます。 [詳細はこちら](/docs/tui#commands)。 +カスタムコマンドは、`/init`、`/undo`、`/redo`、`/share`、`/help` などの組み込みコマンドに追加されます。 [詳細はこちら](/docs/tui#commands)。 --- @@ -314,7 +314,7 @@ Check for performance issues and suggest improvements. ## 組み込み -OpenCode には、`/init`、`/undo`、`/redo`、`/help` などのいくつかの組み込みコマンドが含まれています。 [詳細はこちら](/docs/tui#commands)。 +OpenCode には、`/init`、`/undo`、`/redo`、`/share`、`/help` などのいくつかの組み込みコマンドが含まれています。 [詳細はこちら](/docs/tui#commands)。 :::note カスタムコマンドは組み込みコマンドをオーバーライドできます。 diff --git a/packages/web/src/content/docs/ja/config.mdx b/packages/web/src/content/docs/ja/config.mdx index 927baf5508ce..44661009c1b6 100644 --- a/packages/web/src/content/docs/ja/config.mdx +++ b/packages/web/src/content/docs/ja/config.mdx @@ -359,6 +359,27 @@ UI テーマを `tui.json` で設定します。 --- +### 共有 + +`share` オプションを使用して [share](/docs/share) 機能を設定できます。 + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +これには以下が必要です: + +- `"manual"` - コマンドによる手動共有を許可します (デフォルト) +- `"auto"` - 新しい会話を自動的に共有します +- `"disabled"` - 共有を完全に無効にする + +デフォルトでは、共有は手動モードに設定されており、`/share` コマンドを使用して会話を明示的に共有する必要があります。 + +--- + ### コマンド `command` オプションを使用して、反復タスク用のカスタムコマンドを構成できます。 diff --git a/packages/web/src/content/docs/ja/enterprise.mdx b/packages/web/src/content/docs/ja/enterprise.mdx index 38335ecc7711..d5144072ff52 100644 --- a/packages/web/src/content/docs/ja/enterprise.mdx +++ b/packages/web/src/content/docs/ja/enterprise.mdx @@ -30,6 +30,27 @@ OpenCode はオープンソースであり、コードやコンテキストデ つまり、信頼できるプロバイダー、または内部 AI ゲートウェイを使用している限り、OpenCode を安全に利用できます。 +ここでの唯一の注意点は、オプションの `/share` 機能です。 + +--- + +#### 会話を共有する + +ユーザーが `/share` 機能を有効にすると、会話とそれに関連付けられたデータが、opencode.ai でこれらの共有ページをホストするために使用されるサービスに送信されます。 + +現在、データは CDN のエッジネットワークを通じて提供され、ユーザーの近くのエッジにキャッシュされます。 + +試用版ではこれを無効にすることをお勧めします。 + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +[sharing](/docs/share) について詳しくはこちらをご覧ください。 + --- ### コードの所有権 diff --git a/packages/web/src/content/docs/ja/github.mdx b/packages/web/src/content/docs/ja/github.mdx index ee25b9ed22e9..d587094dc815 100644 --- a/packages/web/src/content/docs/ja/github.mdx +++ b/packages/web/src/content/docs/ja/github.mdx @@ -69,6 +69,7 @@ opencode github install ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 + # share: true # github_token: xxxx ``` @@ -82,6 +83,7 @@ opencode github install - `model`: OpenCode で使用するモデル。 `provider/model` の形式をとります。これは**必須**です。 - `agent`: 使用するエージェント。プライマリエージェントである必要があります。見つからない場合は、設定から `default_agent` にフォールバックするか、`"build"` にフォールバックします。 +- `share`: OpenCode セッションを共有するかどうか。パブリックリポジトリのデフォルトは **true** です。 - `prompt`: デフォルトの動作をオーバーライドするためのオプションのカスタムプロンプト。これを使用して、OpenCode がリクエストを処理する方法をカスタマイズします。 - `token`: コメントの作成、変更のコミット、プルリクエストのオープンなどの操作を実行するためのオプションの GitHub アクセストークン。デフォルトでは、OpenCode は OpenCode GitHub アプリからのインストールアクセストークンを使用するため、コミット、コメント、プルリクエストはアプリからのものとして表示されます。 diff --git a/packages/web/src/content/docs/ja/index.mdx b/packages/web/src/content/docs/ja/index.mdx index f962abe07167..e4e84d7b1cd2 100644 --- a/packages/web/src/content/docs/ja/index.mdx +++ b/packages/web/src/content/docs/ja/index.mdx @@ -325,6 +325,24 @@ Can you refactor the function in @packages/functions/src/api/index.ts? --- +## 共有 + +OpenCode との会話は [他のチームメンバーと共有できます](/docs/share)。 + +```bash frame="none" +/share +``` + +これにより、現在の会話へのリンクが作成され、クリップボードにコピーされます。 + +:::note +会話はデフォルトでは共有されません。 +::: + +これは [OpenCode を使用した会話 ](https://opencode.ai/s/4XP1fce5) の例です。 + +--- + ## カスタマイズ それで終わりです!これであなたは OpenCode の使い方のプロになりました。 diff --git a/packages/web/src/content/docs/ja/keybinds.mdx b/packages/web/src/content/docs/ja/keybinds.mdx index 8acbe6511d70..8d2de3ba9525 100644 --- a/packages/web/src/content/docs/ja/keybinds.mdx +++ b/packages/web/src/content/docs/ja/keybinds.mdx @@ -24,6 +24,8 @@ OpenCode には、`tui.json` を通じてカスタマイズできるキーバイ "session_timeline": "g", "session_fork": "none", "session_rename": "none", + "session_share": "none", + "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/ja/providers.mdx b/packages/web/src/content/docs/ja/providers.mdx index 47fd472e812c..c969c6d4a0de 100644 --- a/packages/web/src/content/docs/ja/providers.mdx +++ b/packages/web/src/content/docs/ja/providers.mdx @@ -800,11 +800,12 @@ STACKIT AI Model Serving は、Llama、Mistral、Qwen などの LLM に焦点を OpenCode は、セッションタイトルの生成などの一部の AI タスクに小規模なモデルを使用します。 デフォルトでは、Zen によってホストされる gpt-5-nano を使用するように構成されています。 OpenCode をロックするには 自分の GitLab でホストされているインスタンスのみを使用するには、次の行を -`opencode.json` ファイル。 +`opencode.json` ファイル。セッション共有を無効にすることもお勧めします。 ```json { - "small_model": "gitlab/duo-chat-haiku-4-5" + "small_model": "gitlab/duo-chat-haiku-4-5", + "share": "disabled" } ``` diff --git a/packages/web/src/content/docs/ja/server.mdx b/packages/web/src/content/docs/ja/server.mdx index 74fda58daf74..cbea87083ee8 100644 --- a/packages/web/src/content/docs/ja/server.mdx +++ b/packages/web/src/content/docs/ja/server.mdx @@ -153,6 +153,8 @@ OpenCode サーバーは次の API を公開します。 | `POST` | `/session/:id/init` | アプリを分析して `AGENTS.md` を作成する | 本文: `{ messageID, providerID, modelID }`、`boolean` を返します。 | | `POST` | `/session/:id/fork` | メッセージで既存のセッションをフォークする | 本文: `{ messageID? }`、Session を返します。 | | `POST` | `/session/:id/abort` | 実行中のセッションを中止する | 戻り値 `boolean` | +| `POST` | `/session/:id/share` | セッションを共有する | 戻り値 Session | +| `DELETE` | `/session/:id/share` | セッションの共有を解除する | 戻り値 Session | | `GET` | `/session/:id/diff` | このセッションの差分を取得する | クエリ: `messageID?`、FileDiff[] を返します。 | | `POST` | `/session/:id/summarize` | セッションを要約する | 本文: `{ providerID, modelID }`、`boolean` を返します。 | | `POST` | `/session/:id/revert` | メッセージを元に戻す | 本文: `{ messageID, partID? }`、`boolean` を返します。 | diff --git a/packages/web/src/content/docs/ja/share.mdx b/packages/web/src/content/docs/ja/share.mdx new file mode 100644 index 000000000000..606e807dc8aa --- /dev/null +++ b/packages/web/src/content/docs/ja/share.mdx @@ -0,0 +1,128 @@ +--- +title: 共有 +description: OpenCode での会話を共有します。 +--- + +OpenCode の共有機能を使用すると、OpenCode の会話への公開リンクを作成できるため、チームメイトと共同作業したり、他の人から助けを得ることができます。 + +:::note +共有された会話は、リンクを知っている人なら誰でも公開してアクセスできます。 +::: + +--- + +## 仕組み + +会話を共有するとき、OpenCode は次のことを行います。 + +1. セッション用の一意のパブリック URL を作成します +2. 会話履歴をサーバーに同期します +3. 共有可能なリンク — `opncd.ai/s/` を介して会話にアクセスできるようにします + +--- + +## 共有 + +OpenCode は、会話の共有方法を制御する 3 つの共有モードをサポートしています。 + +--- + +### 手動(デフォルト) + +デフォルトでは、OpenCode は手動共有モードを使用します。セッションは自動的には共有されませんが、`/share` コマンドを使用して手動で共有できます。 + +``` +/share +``` + +これにより、クリップボードにコピーされる一意の URL が生成されます。 + +[設定ファイル](/docs/config): で手動モードを明示的に設定するには: + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +--- + +### 自動共有 + +[設定ファイル](/docs/config): で `share` オプションを `"auto"` に設定することで、すべての新しい会話の自動共有を有効にできます。 + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "auto" +} +``` + +自動共有を有効にすると、すべての新しい会話が自動的に共有され、リンクが生成されます。 + +--- + +### 無効 + +[設定ファイル](/docs/config): で `share` オプションを `"disabled"` に設定することで、共有を完全に無効にすることができます。 + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +これを特定のプロジェクトのチーム全体に強制するには、それをプロジェクトの `opencode.json` に追加し、Git にチェックインします。 + +--- + +## 共有の解除 + +会話の共有を停止し、パブリックアクセスから削除するには: + +``` +/unshare +``` + +これにより、共有リンクが削除され、会話に関連するデータが削除されます。 + +--- + +## プライバシー + +会話を共有する際には、留意すべき点がいくつかあります。 + +--- + +### データの保持 + +共有された会話は、明示的に共有を解除するまでアクセス可能なままになります。これ +以下が含まれます: + +- 完全な会話履歴 +- すべてのメッセージと応答 +- セッションメタデータ + +--- + +### 推奨事項 + +- 機密情報を含まない会話のみを共有してください。 +- 共有する前に会話の内容を確認してください。 +- コラボレーションが完了したら、会話の共有を解除します。 +- 独自のコードや機密データを含む会話を共有することは避けてください。 +- 機密性の高いプロジェクトの場合は、共有を完全に無効にします。 + +--- + +## 企業向け + +エンタープライズ展開の場合、共有機能は次のようになります。 + +- **セキュリティコンプライアンスのため完全に無効** +- **SSO を通じて認証されたユーザーのみに制限** +- 独自のインフラストラクチャで **セルフホスト** + +[組織内での OpenCode の使用について詳しくは、](/docs/enterprise) をご覧ください。 diff --git a/packages/web/src/content/docs/ja/tui.mdx b/packages/web/src/content/docs/ja/tui.mdx index 2f0b9451f306..a3e11cc1b533 100644 --- a/packages/web/src/content/docs/ja/tui.mdx +++ b/packages/web/src/content/docs/ja/tui.mdx @@ -216,6 +216,18 @@ OpenCode を終了します。 _エイリアス_: `/quit`、`/q` --- +### 共有 + +現在のセッションを共有します。 [詳細はこちら](/docs/share)。 + +```bash frame="none" +/share +``` + +**キーバインド:** `ctrl+x s` + +--- + ### テーマ 利用可能なテーマをリストします。 @@ -259,6 +271,16 @@ OpenCode を終了します。 _エイリアス_: `/quit`、`/q` --- +### 共有の解除 + +現在のセッションの共有を解除します。 [詳細はこちら](/docs/share#un-sharing)。 + +```bash frame="none" +/unshare +``` + +--- + ## エディタのセットアップ `/editor` および `/export` コマンドはどちらも、`EDITOR` 環境変数で指定されたエディターを使用します。 diff --git a/packages/web/src/content/docs/keybinds.mdx b/packages/web/src/content/docs/keybinds.mdx index eee42b8d315e..86f67dfd73ca 100644 --- a/packages/web/src/content/docs/keybinds.mdx +++ b/packages/web/src/content/docs/keybinds.mdx @@ -41,6 +41,8 @@ OpenCode has a list of keybinds that you can customize through `tui.json`. "session_fork": "none", "session_rename": "ctrl+r", "session_delete": "ctrl+d", + "session_share": "none", + "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_toggle_timestamps": "none", diff --git a/packages/web/src/content/docs/ko/cli.mdx b/packages/web/src/content/docs/ko/cli.mdx index c03219d623d0..e6ee7e1f02df 100644 --- a/packages/web/src/content/docs/ko/cli.mdx +++ b/packages/web/src/content/docs/ko/cli.mdx @@ -345,6 +345,7 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | 마지막 세션 이어서 실행 | | {"--session"} | `-s` | 이어서 실행할 세션 ID | | {"--fork"} | | 세션을 이어갈 때 포크 생성 (`--continue` 또는 `--session`과 함께 사용) | +| {"--share"} | | 세션 공유 | | {"--model"} | `-m` | 사용할 모델 (`provider/model` 형식) | | {"--agent"} | | 사용할 에이전트 | | {"--file"} | `-f` | 메시지에 첨부할 파일 | @@ -441,14 +442,17 @@ opencode export [sessionID] ### import -JSON 파일에서 세션 데이터를 가져옵니다. +JSON 파일 또는 OpenCode 공유 URL에서 세션 데이터를 가져옵니다. ```bash opencode import ``` +로컬 파일이나 OpenCode 공유 URL에서 가져올 수 있습니다. + ```bash opencode import session.json +opencode import https://opncd.ai/s/abc123 ``` --- @@ -560,6 +564,7 @@ OpenCode는 환경 변수로도 구성할 수 있습니다. | 변수 | 타입 | 설명 | | ------------------------------------- | ------- | ---------------------------------------------- | +| `OPENCODE_AUTO_SHARE` | boolean | 세션 자동 공유 | | `OPENCODE_GIT_BASH_PATH` | string | Windows에서 Git Bash 실행 파일 경로 | | `OPENCODE_CONFIG` | string | 설정 파일 경로 | | `OPENCODE_CONFIG_DIR` | string | 설정 디렉터리 경로 | diff --git a/packages/web/src/content/docs/ko/commands.mdx b/packages/web/src/content/docs/ko/commands.mdx index 7a5cbd29dacf..c477cb12fbd4 100644 --- a/packages/web/src/content/docs/ko/commands.mdx +++ b/packages/web/src/content/docs/ko/commands.mdx @@ -11,7 +11,7 @@ description: 반복적인 작업을 위한 커스텀 명령을 만드세요. --- -커스텀 명령은 `/init`, `/undo`, `/redo`, `/help` 같은 내장 명령과 별도로 추가됩니다. [더 알아보기](/docs/tui#commands). +커스텀 명령은 `/init`, `/undo`, `/redo`, `/share`, `/help` 같은 내장 명령과 별도로 추가됩니다. [더 알아보기](/docs/tui#commands). --- @@ -314,7 +314,7 @@ Check for performance issues and suggest improvements. ## 내장 명령 -OpenCode는 `/init`, `/undo`, `/redo`, `/help` 등 여러 내장 명령을 제공합니다. [더 알아보기](/docs/tui#commands). +OpenCode는 `/init`, `/undo`, `/redo`, `/share`, `/help` 등 여러 내장 명령을 제공합니다. [더 알아보기](/docs/tui#commands). :::note 커스텀 명령은 내장 명령을 덮어쓸 수 있습니다. diff --git a/packages/web/src/content/docs/ko/config.mdx b/packages/web/src/content/docs/ko/config.mdx index fde00fefa9b4..3455b05b5c03 100644 --- a/packages/web/src/content/docs/ko/config.mdx +++ b/packages/web/src/content/docs/ko/config.mdx @@ -356,6 +356,27 @@ Bearer token(`AWS_BEARER_TOKEN_BEDROCK` 또는 `/connect`)은 profile 기반 인 --- +### Sharing + +`share` 옵션으로 [share](/docs/share) 기능을 설정할 수 있습니다. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +허용 값: + +- `"manual"` - 명령으로 수동 공유 허용(기본값) +- `"auto"` - 새 대화를 자동 공유 +- `"disabled"` - 공유 기능 완전 비활성화 + +기본값은 manual 모드이며, `/share` 명령으로 명시적으로 공유해야 합니다. + +--- + ### Commands `command` 옵션으로 반복 작업용 custom command를 구성할 수 있습니다. diff --git a/packages/web/src/content/docs/ko/enterprise.mdx b/packages/web/src/content/docs/ko/enterprise.mdx index ef482a88c07c..c86431ba95d9 100644 --- a/packages/web/src/content/docs/ko/enterprise.mdx +++ b/packages/web/src/content/docs/ko/enterprise.mdx @@ -31,6 +31,27 @@ OpenCode는 오픈소스이며 코드나 context 데이터를 저장하지 않 따라서 신뢰할 수 있는 provider 또는 내부 AI gateway를 사용한다면 OpenCode를 안전하게 사용할 수 있습니다. +주의할 점은 선택 기능인 `/share`입니다. + +--- + +#### Sharing conversations + +사용자가 `/share` 기능을 활성화하면, 대화와 관련 데이터가 opencode.ai의 share 페이지 호스팅 서비스로 전송됩니다. + +현재 이 데이터는 CDN edge network를 통해 제공되며, 사용자와 가까운 edge에 캐시됩니다. + +trial 단계에서는 이 기능을 비활성화할 것을 권장합니다. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +[sharing에 대해 더 알아보기](/docs/share). + --- ### Code ownership diff --git a/packages/web/src/content/docs/ko/github.mdx b/packages/web/src/content/docs/ko/github.mdx index 69b294f2f3e8..1f7ea672fa76 100644 --- a/packages/web/src/content/docs/ko/github.mdx +++ b/packages/web/src/content/docs/ko/github.mdx @@ -69,6 +69,7 @@ opencode github install ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 + # share: true # github_token: xxxx ``` @@ -82,6 +83,7 @@ opencode github install - `model`: OpenCode에서 사용할 model입니다. `provider/model` 형식이며 **필수**입니다. - `agent`: 사용할 agent입니다. primary agent여야 합니다. 찾지 못하면 config의 `default_agent`를 사용하고, 그것도 없으면 `"build"`로 fallback합니다. +- `share`: OpenCode 세션 공유 여부입니다. public repo에서는 기본값이 **true**입니다. - `prompt`: 기본 동작을 override하는 선택형 custom prompt입니다. OpenCode의 요청 처리 방식을 조정할 때 사용합니다. - `token`: 댓글 생성, 커밋, PR 생성 같은 작업을 수행할 때 사용하는 선택형 GitHub access token입니다. 기본적으로 OpenCode는 OpenCode GitHub App의 installation access token을 사용하므로, 커밋/댓글/PR 작성 주체가 app으로 표시됩니다. diff --git a/packages/web/src/content/docs/ko/index.mdx b/packages/web/src/content/docs/ko/index.mdx index 2f89f803a3ee..0dfa0bbc830b 100644 --- a/packages/web/src/content/docs/ko/index.mdx +++ b/packages/web/src/content/docs/ko/index.mdx @@ -319,6 +319,24 @@ Can you refactor the function in @packages/functions/src/api/index.ts? --- +## 공유 + +OpenCode와의 대화는 [팀과 공유](/docs/share)할 수 있습니다. + +```bash frame="none" +/share +``` + +이 명령을 실행하면 현재 대화 링크를 생성하고 클립보드에 복사합니다. + +:::note +대화는 기본값으로 공유되지 않습니다. +::: + +다음은 OpenCode [대화 예시](https://opencode.ai/s/4XP1fce5)입니다. + +--- + ## 사용자 지정 이제 OpenCode 사용법을 익혔습니다. diff --git a/packages/web/src/content/docs/ko/keybinds.mdx b/packages/web/src/content/docs/ko/keybinds.mdx index dace99b8f04c..b6a605f2ebe1 100644 --- a/packages/web/src/content/docs/ko/keybinds.mdx +++ b/packages/web/src/content/docs/ko/keybinds.mdx @@ -24,6 +24,8 @@ OpenCode에는 `tui.json`을 통해 커스터마이즈할 수 있는 키바인 "session_timeline": "g", "session_fork": "none", "session_rename": "none", + "session_share": "none", + "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/ko/providers.mdx b/packages/web/src/content/docs/ko/providers.mdx index afc13397ae07..87278bef23f9 100644 --- a/packages/web/src/content/docs/ko/providers.mdx +++ b/packages/web/src/content/docs/ko/providers.mdx @@ -760,11 +760,13 @@ GitLab Duo는 GitLab의 Anthropic 프록시를 통해 기본 도구 호출 기 OpenCode는 세션 제목 생성과 같은 일부 AI 작업을 위해 작은 모델을 사용합니다. 기본적으로 Zen에서 호스팅되는 gpt-5-nano를 사용하도록 구성됩니다. OpenCode를 자체 호스팅 GitLab 인스턴스만 사용하도록 제한하려면 `opencode.json` 파일에 다음을 추가하십시오. +세션 공유를 비활성화하는 것도 권장합니다. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5" + "small_model": "gitlab/duo-chat-haiku-4-5", + "share": "disabled" } ``` diff --git a/packages/web/src/content/docs/ko/server.mdx b/packages/web/src/content/docs/ko/server.mdx index fd1404ccda8b..a6914605a7cc 100644 --- a/packages/web/src/content/docs/ko/server.mdx +++ b/packages/web/src/content/docs/ko/server.mdx @@ -158,6 +158,8 @@ opencode 서버는 다음과 같은 API를 노출합니다. | `POST` | `/session/:id/init` | 앱 초기화 및 `AGENTS.md` 분석 | 몸: `{ messageID, providerID, modelID }`, 반환 `boolean` | | `POST` | `/session/:id/fork` | 메시지의 기존 세션 | 몸: `{ messageID? }`, 반환 Session | | `POST` | `/session/:id/abort` | 운영 중인 세션 | 반품 `boolean` | +| `POST` | `/session/:id/share` | 세션 공유 | Session | +| `DELETE` | `/session/:id/share` | 세션 공유 | Session | | `GET` | `/session/:id/diff` | `/session/:id/diff` | `messageID?`, 반환 FileDiff[] | | `POST` | `/session/:id/summarize` | 세션을 요약 | 본체: `{ providerID, modelID }`, `boolean` 반환 | | `POST` | `/session/:id/revert` | 메시지 재생 | 몸: `{ messageID, partID? }`, 반환 `boolean` | diff --git a/packages/web/src/content/docs/ko/share.mdx b/packages/web/src/content/docs/ko/share.mdx new file mode 100644 index 000000000000..9e5c6388243e --- /dev/null +++ b/packages/web/src/content/docs/ko/share.mdx @@ -0,0 +1,128 @@ +--- +title: 공유 +description: OpenCode 대화를 공유하세요. +--- + +opencode의 공유 기능은 opencode 대화에 대한 공개 링크를 만들 수 있으므로 Teammates와 협업하거나 다른 곳에서 도움을받을 수 있습니다. + +:::note +공유 대화는 링크를 통해 누구나 쉽게 접근할 수 있습니다. +::: + +--- + +## 작동 방식 + +대화를 공유할 때, opencode: + +1. 세션에 대한 독특한 공개 URL 만들기 +2. 우리의 서버에 대화 기록 동기화 +3. 공유 가능한 링크를 통해 접근 할 수있는 대화 만들기 — `opncd.ai/s/` + +--- + +## 공유 + +opencode는 대화가 공유되는 방법을 제어하는 세 가지 공유 모드를 지원합니다. + +--- + +## 수동 (기본) + +기본적으로 opencode는 수동 공유 모드를 사용합니다. 세션은 자동으로 공유되지 않지만 `/share` 명령을 사용하여 수동으로 공유 할 수 있습니다. + +``` +/share +``` + +클립보드에 복사할 수 있는 독특한 URL을 생성합니다. + +[config 파일](/docs/config)에서 수동 모드를 명시적으로 설정하려면: + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +--- + +## 자동 공유 + +`share` 옵션을 설정하여 모든 새로운 대화에 대한 자동 공유를 활성화 할 수 있습니다 `"auto"` 당신의 [config 파일](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "auto" +} +``` + +자동 공유 활성화로 모든 새로운 대화는 자동으로 공유되고 링크가 생성됩니다. + +--- + +#### 비활성화 + +`share` 옵션을 설정하여 완전히 공유할 수 있습니다. `"disabled"`에 [config file](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +주어진 프로젝트를 위해 팀 전반에 걸쳐 이것을 시행하려면 프로젝트에 `opencode.json`에 추가하고 Git로 확인하십시오. + +--- + +## 공유 취소 + +대화를 중지하고 공공 액세스에서 제거 : + +``` +/unshare +``` + +이 공유 링크를 제거하고 대화와 관련된 데이터를 삭제합니다. + +--- + +## 개인 정보 + +대화를 나누면 마음이 유지되는 몇 가지가 있습니다. + +--- + +## 데이터 보유 + +공유 대화는 명시적으로 그들을 공유 할 때까지 접근 할 수 있습니다. 이름 \* +다음: + +- 전체 대화 기록 +- 모든 메시지 및 응답 +- 세션 메타데이터 + +--- + +### 추천 + +- 민감한 정보를 포함하지 않는 대화 만 공유합니다. +- 공유하기 전에 대화 내용을 검토하십시오. +- 협업이 완료되면 Unshare 대화. +- 독점 코드 또는 기밀 데이터와 대화를 공유하지 마십시오. +- 민감한 프로젝트를 위해, 완전히 공유할 수 있습니다. + +--- + +## 기업용 + +기업 배포를 위해, 공유 기능은: + +- ** 보안 준수를 위해 완전히 비활성화 ** +- **SSO를 통해 인증된 사용자에 대한 제한 ** +- ** 자체 인프라 ** + +[Learn more](/docs/enterprise) 귀하의 조직에서 opencode를 사용하여. diff --git a/packages/web/src/content/docs/ko/tui.mdx b/packages/web/src/content/docs/ko/tui.mdx index 10baafd816e4..db2b1297e035 100644 --- a/packages/web/src/content/docs/ko/tui.mdx +++ b/packages/web/src/content/docs/ko/tui.mdx @@ -217,6 +217,18 @@ OpenCode를 종료합니다. _별칭_: `/quit`, `/q` --- +### share + +현재 세션을 공유합니다. [더 알아보기](/docs/share). + +```bash frame="none" +/share +``` + +**키바인드:** `ctrl+x s` + +--- + ### themes 사용 가능한 테마 목록을 표시합니다. @@ -261,6 +273,16 @@ OpenCode를 종료합니다. _별칭_: `/quit`, `/q` --- +### unshare + +현재 세션 공유를 취소합니다. [더 알아보기](/docs/share#un-sharing). + +```bash frame="none" +/unshare +``` + +--- + ## Editor setup `/editor`와 `/export` 명령 모두 `EDITOR` 환경 변수에 지정된 편집기를 사용합니다. diff --git a/packages/web/src/content/docs/nb/cli.mdx b/packages/web/src/content/docs/nb/cli.mdx index 5c4d61d08848..36e9485e9742 100644 --- a/packages/web/src/content/docs/nb/cli.mdx +++ b/packages/web/src/content/docs/nb/cli.mdx @@ -345,6 +345,7 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | Fortsett siste økt | | {"--session"} | `-s` | Økt ID for å fortsette | | {"--fork"} | | Forgren økten ved fortsettelse (bruk med `--continue` eller `--session`) | +| {"--share"} | | Del økten | | {"--model"} | `-m` | Modell å bruke i form av leverandør/modell | | {"--agent"} | | Agent å bruke | | {"--file"} | `-f` | Fil(er) som skal legges ved meldingen | @@ -441,14 +442,17 @@ Hvis du ikke gir en økt ID, blir du bedt om å velge fra tilgjengelige økter. ### import -Importer øktdata fra en JSON-fil. +Importer øktdata fra en JSON-fil eller en OpenCode share-URL. ```bash opencode import ``` +Du kan importere fra en lokal fil eller en OpenCode share-URL. + ```bash opencode import session.json +opencode import https://opncd.ai/s/abc123 ``` --- @@ -560,6 +564,7 @@ OpenCode kan konfigureres ved hjelp av miljøvariabler. | Variabel | Type | Beskrivelse | | ------------------------------------- | ------ | --------------------------------------------------------------------- | +| `OPENCODE_AUTO_SHARE` | boolsk | Del økter automatisk | | `OPENCODE_GIT_BASH_PATH` | streng | Bane til Git Bash-kjørbar på Windows | | `OPENCODE_CONFIG` | streng | Bane til konfigurasjonsfil | | `OPENCODE_TUI_CONFIG` | streng | Bane til TUI-konfigurasjonsfil | diff --git a/packages/web/src/content/docs/nb/commands.mdx b/packages/web/src/content/docs/nb/commands.mdx index 897e97ad0254..b4bf8f09f37f 100644 --- a/packages/web/src/content/docs/nb/commands.mdx +++ b/packages/web/src/content/docs/nb/commands.mdx @@ -9,7 +9,7 @@ Egendefinerte kommandoer lar deg spesifisere en ledetekst du vil kjøre når kom /my-command ``` -Egendefinerte kommandoer kommer i tillegg til de innebygde kommandoene som `/init`, `/undo`, `/redo`, `/help`. [Finn ut mer](/docs/tui#commands). +Egendefinerte kommandoer kommer i tillegg til de innebygde kommandoene som `/init`, `/undo`, `/redo`, `/share`, `/help`. [Finn ut mer](/docs/tui#commands). --- @@ -314,7 +314,7 @@ Dette er et **valgfritt** konfigurasjonsalternativ. ## Innebygd -OpenCode inkluderer flere innebygde kommandoer som `/init`, `/undo`, `/redo`, `/help`; [finn ut mer](/docs/tui#commands). +OpenCode inkluderer flere innebygde kommandoer som `/init`, `/undo`, `/redo`, `/share`, `/help`; [finn ut mer](/docs/tui#commands). :::note Egendefinerte kommandoer kan overstyre innebygde kommandoer. diff --git a/packages/web/src/content/docs/nb/config.mdx b/packages/web/src/content/docs/nb/config.mdx index 76fd03c93355..f617c1b8a377 100644 --- a/packages/web/src/content/docs/nb/config.mdx +++ b/packages/web/src/content/docs/nb/config.mdx @@ -358,6 +358,27 @@ Denne innstillingen gjelder for alle grensesnitt: TUI, CLI (`opencode run`), skr --- +### Deling + +Du kan konfigurere [share](/docs/share)-funksjonen gjennom alternativet `share`. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +Dette krever: + +- `"manual"` - Tillat manuell deling via kommandoer (standard) +- `"auto"` - Del nye samtaler automatisk +- `"disabled"` - Deaktiver deling helt + +Som standard er deling satt til manuell modus der du eksplisitt må dele samtaler ved å bruke kommandoen `/share`. + +--- + ### Kommandoer Du kan konfigurere egendefinerte kommandoer for repeterende oppgaver gjennom alternativet `command`. diff --git a/packages/web/src/content/docs/nb/enterprise.mdx b/packages/web/src/content/docs/nb/enterprise.mdx index bd0dd2ec9376..eef0d7e986ac 100644 --- a/packages/web/src/content/docs/nb/enterprise.mdx +++ b/packages/web/src/content/docs/nb/enterprise.mdx @@ -32,6 +32,27 @@ OpenCode er åpen kildekode og lagrer ingen av koden eller kontekstdataene dine, Dette betyr at så lenge du bruker en leverandør du stoler på, eller en intern AI gateway, kan du bruke OpenCode sikkert. +Det eneste forbeholdet her er den valgfrie `/share`-funksjonen. + +--- + +#### Deling av samtaler + +Hvis en bruker aktiverer funksjonen `/share`, sendes samtalen og dataene knyttet til den til tjenesten vi bruker til å være vert for disse delesidene på opencode.ai. + +Dataene leveres for øyeblikket gjennom vårt CDNs edge-nettverk, og bufres på kanten nær brukerne dine. + +Vi anbefaler at du deaktiverer dette for prøveversjonen. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +[Finn ut mer om deling](/docs/share). + --- ### Kodeeierskap diff --git a/packages/web/src/content/docs/nb/github.mdx b/packages/web/src/content/docs/nb/github.mdx index 929c5913d262..4a39c8830d03 100644 --- a/packages/web/src/content/docs/nb/github.mdx +++ b/packages/web/src/content/docs/nb/github.mdx @@ -69,6 +69,7 @@ Eller du kan sette den opp manuelt. ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 + # share: true # github_token: xxxx ``` @@ -82,6 +83,7 @@ Eller du kan sette den opp manuelt. - `model`: Modellen som skal brukes med OpenCode. Tar formatet `provider/model`. Dette er **obligatorisk**. - `agent`: Agenten som skal brukes. Må være en primær agent. Faller tilbake til `default_agent` fra config eller `"build"` hvis ikke funnet. +- `share`: Om OpenCode-økten skal deles. Standard er **true** for offentlige depoter. - `prompt`: Valgfri egendefinert melding for å overstyre standard oppførsel. Bruk dette til å tilpasse hvordan OpenCode behandler forespørsler. - `token`: Valgfritt GitHub-tilgangstoken for å utføre operasjoner som å lage kommentarer, foreta endringer og åpne pull-forespørsler. Som standard bruker OpenCode installasjonstilgangstokenet fra OpenCode GitHub-appen, så commits, kommentarer og pull-forespørsler ser ut til å komme fra appen. diff --git a/packages/web/src/content/docs/nb/index.mdx b/packages/web/src/content/docs/nb/index.mdx index 90f74d169923..0e6846d2b9de 100644 --- a/packages/web/src/content/docs/nb/index.mdx +++ b/packages/web/src/content/docs/nb/index.mdx @@ -333,6 +333,25 @@ Eller du **kan gjøre om** endringene ved å bruke `/redo`-kommandoen. --- +## Deling + +Samtalene du har med OpenCode kan [deles med din +team](/docs/share). + +```bash frame="none" +/share +``` + +Dette vil opprette en kobling til den gjeldende samtalen og kopiere den til utklippstavlen. + +:::note +Samtaler deles ikke som standard. +::: + +Her er en [eksempelsamtale](https://opencode.ai/s/4XP1fce5) med OpenCode. + +--- + ## Tilpasning Og det er det! Du er nå en proff på å bruke OpenCode. diff --git a/packages/web/src/content/docs/nb/keybinds.mdx b/packages/web/src/content/docs/nb/keybinds.mdx index 294081752287..623f7aa241ea 100644 --- a/packages/web/src/content/docs/nb/keybinds.mdx +++ b/packages/web/src/content/docs/nb/keybinds.mdx @@ -24,6 +24,8 @@ OpenCode har en liste over tastebindinger som du kan tilpasse gjennom `tui.json` "session_timeline": "g", "session_fork": "none", "session_rename": "none", + "session_share": "none", + "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/nb/providers.mdx b/packages/web/src/content/docs/nb/providers.mdx index cba964b25242..bf276918a9ba 100644 --- a/packages/web/src/content/docs/nb/providers.mdx +++ b/packages/web/src/content/docs/nb/providers.mdx @@ -759,12 +759,13 @@ for å lagre token i OpenCode auth-lagring. OpenCode bruker en liten modell for noen AI oppgaver som å generere økttittelen. Den er konfigurert til å bruke gpt-5-nano som standard, hostet av Zen. For å låse OpenCode for kun å bruke din egen GitLab-hostede forekomst, legg til følgende i din -`opencode.json` fil. +`opencode.json` fil. Det anbefales også å deaktivere øktdeling. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5" + "small_model": "gitlab/duo-chat-haiku-4-5", + "share": "disabled" } ``` diff --git a/packages/web/src/content/docs/nb/server.mdx b/packages/web/src/content/docs/nb/server.mdx index cdf9d44b8c14..a6ad8c6dfb17 100644 --- a/packages/web/src/content/docs/nb/server.mdx +++ b/packages/web/src/content/docs/nb/server.mdx @@ -158,6 +158,8 @@ opencode-serveren viser følgende APIer. | `POST` | `/session/:id/init` | Analyser appen og lag `AGENTS.md` | body: `{ messageID, providerID, modelID }`, returnerer `boolean` | | `POST` | `/session/:id/fork` | Fork en eksisterende økt ved en melding | body: `{ messageID? }`, returnerer Session | | `POST` | `/session/:id/abort` | Avbryt en kjørende økt | Returnerer `boolean` | +| `POST` | `/session/:id/share` | Del en økt | Returnerer Session | +| `DELETE` | `/session/:id/share` | Slutt å dele en økt | Returnerer Session | | `GET` | `/session/:id/diff` | Hent diff for denne økten | spørring: `messageID?`, returnerer FileDiff[] | | `POST` | `/session/:id/summarize` | Oppsummer økten | body: `{ providerID, modelID }`, returnerer `boolean` | | `POST` | `/session/:id/revert` | Tilbakestill en melding | body: `{ messageID, partID? }`, returnerer `boolean` | diff --git a/packages/web/src/content/docs/nb/share.mdx b/packages/web/src/content/docs/nb/share.mdx new file mode 100644 index 000000000000..ca0cb4829acb --- /dev/null +++ b/packages/web/src/content/docs/nb/share.mdx @@ -0,0 +1,128 @@ +--- +title: Deling +description: Del dine OpenCode-samtaler. +--- + +Delingsfunksjonen i OpenCode lar deg lage offentlige lenker til dine OpenCode-samtaler, slik at du kan samarbeide med lagkamerater eller få hjelp fra andre. + +:::note +Delte samtaler er offentlig tilgjengelige for alle med linken. +::: + +--- + +## Slik fungerer det + +Når du deler en samtale, OpenCode: + +1. Oppretter en unik offentlig URL for økten din +2. Synkroniserer samtaleloggen din til serverne våre +3. Gjør samtalen tilgjengelig via den delbare lenken — `opncd.ai/s/` + +--- + +## Deling + +OpenCode støtter tre delingsmoduser som kontrollerer hvordan samtaler deles: + +--- + +### Manuell (standard) + +Som standard bruker OpenCode manuell delingsmodus. Økter deles ikke automatisk, men du kan dele dem manuelt ved å bruke kommandoen `/share`: + +``` +/share +``` + +Dette vil generere en unik URL som vil bli kopiert til utklippstavlen din. + +For å eksplisitt angi manuell modus i [konfigurasjonsfilen](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +--- + +### Automatisk deling + +Du kan aktivere automatisk deling for alle nye samtaler ved å sette alternativet `share` til `"auto"` i [konfigurasjonsfilen](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "auto" +} +``` + +Med automatisk deling aktivert, vil hver nye samtale automatisk bli delt og en kobling vil bli generert. + +--- + +### Deaktivert + +Du kan deaktivere deling helt ved å sette alternativet `share` til `"disabled"` i [konfigurasjonsfilen](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +For å håndheve dette på tvers av teamet ditt for et gitt prosjekt, legg det til `opencode.json` i prosjektet ditt og sjekk det inn i Git. + +--- + +## Opphev deling + +Slik slutter du å dele en samtale og fjerner den fra offentlig tilgang: + +``` +/unshare +``` + +Dette vil fjerne delelinken og slette dataene knyttet til samtalen. + +--- + +## Personvern + +Det er et par ting du må huske på når du deler en samtale. + +--- + +### Datalagring + +Delte samtaler forblir tilgjengelige til du eksplisitt opphever deling av dem. Dette +inkluderer: + +- Full samtalehistorikk +- Alle meldinger og svar +- Metadata for økter + +--- + +### Anbefalinger + +- Del kun samtaler som ikke inneholder sensitiv informasjon. +- Se gjennom samtaleinnholdet før du deler. +- Opphev deling av samtaler når samarbeidet er fullført. +- Unngå å dele samtaler med proprietær kode eller konfidensielle data. +- For sensitive prosjekter, deaktiver deling helt. + +--- + +## For bedrifter + +For bedriftsimplementeringer kan delingsfunksjonen være: + +- **Deaktivert** helt for overholdelse av sikkerhet +- **Begrenset** til brukere som kun er autentisert gjennom SSO +- **Selv-hostet** på din egen infrastruktur + +[Finn ut mer](/docs/enterprise) om bruk av opencode i organisasjonen din. diff --git a/packages/web/src/content/docs/nb/tui.mdx b/packages/web/src/content/docs/nb/tui.mdx index 77296959e77e..485e7d9969a4 100644 --- a/packages/web/src/content/docs/nb/tui.mdx +++ b/packages/web/src/content/docs/nb/tui.mdx @@ -218,6 +218,18 @@ List opp og bytt mellom økter. _Aliaser_: `/resume`, `/continue` --- +### share + +Del gjeldende økt. [Finn ut mer](/docs/share). + +```bash frame="none" +/share +``` + +**Nøkkelbinding:** `ctrl+x s` + +--- + ### themes Liste over tilgjengelige temaer. @@ -263,6 +275,16 @@ være et Git-repo**. --- +### unshare + +Opphev deling av gjeldende økt. [Finn ut mer](/docs/share#un-sharing). + +```bash frame="none" +/unshare +``` + +--- + ## Oppsett av editor Både kommandoene `/editor` og `/export` bruker editoren som er spesifisert i miljøvariabelen `EDITOR`. diff --git a/packages/web/src/content/docs/pl/cli.mdx b/packages/web/src/content/docs/pl/cli.mdx index 7802dc9c14cc..eee6d3e162c8 100644 --- a/packages/web/src/content/docs/pl/cli.mdx +++ b/packages/web/src/content/docs/pl/cli.mdx @@ -345,6 +345,7 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | Kontynuuj ostatnią sesję | | {"--session"} | `-s` | Identyfikator sesji do kontynuowania | | {"--fork"} | | Sklonuj sesję podczas kontynuacji (użyj z `--continue` lub `--session`) | +| {"--share"} | | Udostępnij sesję po zakończeniu | | {"--model"} | `-m` | Model do użycia w formacie dostawca/model | | {"--agent"} | | Agent do użycia | | {"--file"} | `-f` | Pliki do załączenia do wiadomości | @@ -441,14 +442,17 @@ Jeśli nie podasz identyfikatora sesji, zostaniesz poproszony o wybranie jednej ### import -Importuj dane sesji z pliku JSON. +Importuj dane sesji z pliku JSON lub adresu URL udostępniania OpenCode. ```bash opencode import ``` +Możesz importować z pliku lokalnego lub adresu URL. + ```bash opencode import session.json +opencode import https://opncd.ai/s/abc123 ``` --- @@ -560,6 +564,7 @@ OpenCode można skonfigurować za pomocą zmiennych środowiskowych. | Zmienna | Typ | Opis | | ------------------------------------- | ------- | ---------------------------------------------------------- | +| `OPENCODE_AUTO_SHARE` | boolean | Automatycznie udostępniaj sesje | | `OPENCODE_GIT_BASH_PATH` | string | Ścieżka do pliku wykonywalnego Git Bash w systemie Windows | | `OPENCODE_CONFIG` | string | Ścieżka do pliku konfiguracyjnego | | `OPENCODE_TUI_CONFIG` | string | Ścieżka do pliku konfiguracyjnego TUI | diff --git a/packages/web/src/content/docs/pl/commands.mdx b/packages/web/src/content/docs/pl/commands.mdx index d2bcdf7b5fce..4c5dad7d6f58 100644 --- a/packages/web/src/content/docs/pl/commands.mdx +++ b/packages/web/src/content/docs/pl/commands.mdx @@ -9,7 +9,7 @@ Polecenia to zdefiniowane prompty, które można uruchomić w TUI. /my-command ``` -Polecenia są dodatkiem do wbudowanych, takich jak `/init`, `/undo`, `/redo`, `/help`. [Dowiedz się więcej](/docs/tui#commands). +Polecenia są dodatkiem do wbudowanych, takich jak `/init`, `/undo`, `/redo`, `/share`, `/help`. [Dowiedz się więcej](/docs/tui#commands). --- @@ -314,7 +314,7 @@ Jest to **opcjonalna** opcja konfiguracji. ## Wbudowane -opencode zawiera kilka wbudowanych poleceń, takich jak `/init`, `/undo`, `/redo`, `/help`; [dowiedz się więcej](/docs/tui#commands). +opencode zawiera kilka wbudowanych poleceń, takich jak `/init`, `/undo`, `/redo`, `/share`, `/help`; [dowiedz się więcej](/docs/tui#commands). :::note Polecenia wbudowane mogą zostać nadpisane. diff --git a/packages/web/src/content/docs/pl/config.mdx b/packages/web/src/content/docs/pl/config.mdx index 739274aed081..176d4ac7d667 100644 --- a/packages/web/src/content/docs/pl/config.mdx +++ b/packages/web/src/content/docs/pl/config.mdx @@ -353,6 +353,27 @@ Dotyczy to wszystkich interfejsów: TUI, CLI (`opencode run`), aplikacji desktop --- +### Share (Udostępnianie) + +Możesz skonfigurować [udostępnianie](/docs/share) za pomocą opcji `share`. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +Opcje: + +- `"manual"` – Zezwalaj na ręczne udostępnianie (domyślnie) +- `"auto"` - Automatycznie udostępniaj nowe rozmowy +- `"disabled"` - Całkowicie wyłącz udostępnianie + +Domyślnie ustawiony jest tryb ręczny, w którym należy jawnie udostępniać rozmowy za pomocą polecenia `/share`. + +--- + ### Commands (Polecenia) Możesz zdefiniować niestandardowe polecenia dla powtarzalnych zadań za pomocą opcji `command`. diff --git a/packages/web/src/content/docs/pl/enterprise.mdx b/packages/web/src/content/docs/pl/enterprise.mdx index 8989c03876bf..e5dbd1964041 100644 --- a/packages/web/src/content/docs/pl/enterprise.mdx +++ b/packages/web/src/content/docs/pl/enterprise.mdx @@ -32,6 +32,27 @@ opencode jest oprogramowaniem typu open source i nie przechowuje żadnego kodu a to, że korzystasz z usług dostawcy, lub dostawcy zaufania Brama AI, możesz bezpłatnie korzystać z opencode. +Zastrzeżeniem jest opcjonalna funkcja `/share`. + +--- + +#### Dzielenie się rozmowami + +Jeśli użytkownicy są połączeni z `/share`, połączenie jest połączone z danymi, które zostały przesłane do usług, które są udostępniane przez hosty tych użytkowników w opencode.ai. + +Dane są aktualnie dostępne przez sieć brzegową naszego CDN i są buforowane na brzegu w pobliżu Twoich użytkowników. + +Zalecamy tę opcję na okres próbny. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +[Więcej informacji o udostępnianiu](/docs/share). + --- ### Własność kodu diff --git a/packages/web/src/content/docs/pl/github.mdx b/packages/web/src/content/docs/pl/github.mdx index 488b3e498a9d..9b22ac4d5b46 100644 --- a/packages/web/src/content/docs/pl/github.mdx +++ b/packages/web/src/content/docs/pl/github.mdx @@ -69,6 +69,7 @@ Można też uszkodzić to rozwiązanie. ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 + # share: true # github_token: xxxx ``` @@ -82,6 +83,7 @@ Można też uszkodzić to rozwiązanie. - `model`: Model używany z opencode. Przyjmuje format `provider/model`. To **wymagane**. - `agent`: Agent, którego należy używać. Musi być odległym agentem. Wraca do `default_agent` z konfiguracją lub `"build"`, jeśli nie został znaleziony. +- `share`: Czyć funkcję sesji opencode. Domyślnie **true** dla repozytoriów publicznych. - `prompt`: Opcjonalny niestandardowy monit o zastąpienie przestrzegania zachowania. Wykorzystanie tego, aby dostosować sposób przetwarzania przez opencode. - `token`: opcjonalny token dostępu GitHub podstawowe operacje, takie jak tworzenie komentarzy, zatwierdzanie zmian i otwieranie zastosowania ściągnięcia. Domyślnie opencode używa tokena dostępu do instalacji z aplikacji opencode GitHub, więc zatwierdzenia, komentarze i zasady ściągnięcia widoczne jako źródło z aplikacji. diff --git a/packages/web/src/content/docs/pl/index.mdx b/packages/web/src/content/docs/pl/index.mdx index 1c587db9d221..fc571ec5d9ef 100644 --- a/packages/web/src/content/docs/pl/index.mdx +++ b/packages/web/src/content/docs/pl/index.mdx @@ -322,6 +322,24 @@ Możesz też **przywrócić** zmianę za pomocą polecenia `/redo`. --- +## Udostępnianie + +Rozmowy z opencode można [udostępniać swojemu zespołowi](/docs/share). + +```bash frame="none" +/share +``` + +Spowoduje to, że link do bieżącej rozmowy zostanie skopiowany do schowka. + +:::note +Rozmowy nie są ogólnodostępne. +::: + +Oto [przykładowa rozmowa](https://opencode.ai/s/4XP1fce5) z opencode. + +--- + ## Dostosuj To tyle! Jesteś teraz profesjonalistą w korzystaniu z opencode. diff --git a/packages/web/src/content/docs/pl/keybinds.mdx b/packages/web/src/content/docs/pl/keybinds.mdx index 42c55cbf4258..0d3068feaf2a 100644 --- a/packages/web/src/content/docs/pl/keybinds.mdx +++ b/packages/web/src/content/docs/pl/keybinds.mdx @@ -24,6 +24,8 @@ OpenCode zawiera listę skrótów klawiszowych, które można dostosować za pom "session_timeline": "g", "session_fork": "none", "session_rename": "none", + "session_share": "none", + "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/pl/providers.mdx b/packages/web/src/content/docs/pl/providers.mdx index 35179f5a0c40..0e722d5fde2e 100644 --- a/packages/web/src/content/docs/pl/providers.mdx +++ b/packages/web/src/content/docs/pl/providers.mdx @@ -757,12 +757,13 @@ to store token in opencode auth storage. opencode używa małego modelu do niektórych zadań AI, takich jak generowanie tytułu sesji. Domyślnie jest skonfigurowany do używania gpt-5-nano, hostowanego przez Zen. Aby zablokować opencode aby używać tylko własnej instancji hostowanej przez GitLab, dodaj następujące elementy do pliku -`opencode.json` plik. +`opencode.json` plik. Zalecane jest również wyłączenie udostępniania sesji. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5" + "small_model": "gitlab/duo-chat-haiku-4-5", + "share": "disabled" } ``` diff --git a/packages/web/src/content/docs/pl/server.mdx b/packages/web/src/content/docs/pl/server.mdx index eec325c16942..0efcf486f63a 100644 --- a/packages/web/src/content/docs/pl/server.mdx +++ b/packages/web/src/content/docs/pl/server.mdx @@ -158,6 +158,8 @@ Serwer opencode udostępnia następujące interfejsy API. | `POST` | `/session/:id/init` | Przeanalizuj aplikację i utwórz `AGENTS.md` | treść: `{ messageID, providerID, modelID }`, zwraca `boolean` | | `POST` | `/session/:id/fork` | Rozwiń istniejącą sesję w wiadomości | treść: `{ messageID? }`, zwraca Session | | `POST` | `/session/:id/abort` | Przerwij trwającą sesję | Zwraca `boolean` | +| `POST` | `/session/:id/share` | Udostępnij sesję | Zwraca Session | +| `DELETE` | `/session/:id/share` | Anuluj udostępnianie sesji | Zwraca Session | | `GET` | `/session/:id/diff` | Pobierz różnicę dla tej sesji | zapytanie: `messageID?`, zwraca FileDiff[] | | `POST` | `/session/:id/summarize` | Podsumuj sesję | treść: `{ providerID, modelID }`, zwraca `boolean` | | `POST` | `/session/:id/revert` | Przywróć wiadomość | treść: `{ messageID, partID? }`, zwraca `boolean` | diff --git a/packages/web/src/content/docs/pl/share.mdx b/packages/web/src/content/docs/pl/share.mdx new file mode 100644 index 000000000000..0389267b59ad --- /dev/null +++ b/packages/web/src/content/docs/pl/share.mdx @@ -0,0 +1,128 @@ +--- +title: Udostępnianie +description: Udostępnij swoje rozmowy dotyczące opencode. +--- + +Funkcja udostępniania opencode umożliwia tworzenie publicznych linków do konwersacji opencode, dzięki czemu możesz współpracować z członkami zespołu lub uzyskać pomoc od innych. + +:::note +Udostępnione konwersacje są publicznie dostępne dla każdej osoby mającej link. +::: + +--- + +## Jak to działa + +Kiedy udostępniasz rozmowę, opencode: + +1. Tworzy unikalny publiczny adres URL sesji +2. Synchronizuje historię rozmów z naszymi serwerami +3. Udostępnia rozmowę za pośrednictwem łącza do udostępniania — `opncd.ai/s/` + +--- + +## Udostępnianie + +opencode obsługuje trzy tryby udostępniania, które kontrolują sposób udostępniania rozmów: + +--- + +### Ręczne (domyślne) + +Domyślnie opencode korzysta z ręcznego trybu udostępniania. Sesje nie są udostępniane automatycznie, ale możesz je udostępnić ręcznie za pomocą polecenia `/share`: + +``` +/share +``` + +Spowoduje to wygenerowanie unikalnego adresu URL, który zostanie skopiowany do schowka. + +Aby jawnie ustawić tryb ręczny w [pliku konfiguracyjnym] (./config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +--- + +### Automatyczne udostępnianie + +Możesz włączyć automatyczne udostępnianie dla wszystkich nowych rozmów, ustawiając opcję `share` na `"auto"` w [pliku konfiguracyjnym] (./config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "auto" +} +``` + +Po włączeniu automatycznego udostępniania każda nowa rozmowa będzie automatycznie udostępniana i generowany będzie link. + +--- + +### Wyłączone + +Możesz całkowicie wyłączyć udostępnianie, ustawiając opcję `share` na `"disabled"` w [pliku konfiguracyjnym] (./config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +Aby wymusić to w całym zespole dla danego projektu, dodaj go do `opencode.json` w swoim projekcie i sprawdź w Git. + +--- + +## Cofnięcie udostępnienia + +Aby zatrzymać udostępnianie rozmowy i usunąć ją z dostępu publicznego: + +``` +/unshare +``` + +Spowoduje to usunięcie łącza udostępniania i danych związanych z rozmową. + +--- + +## Prywatność + +Podczas udostępniania rozmowy należy pamiętać o kilku rzeczach. + +--- + +### Przechowywanie danych + +Udostępnione rozmowy pozostają dostępne, dopóki wyraźnie ich nie udostępnisz. Ten +includes: + +- Pełna historia rozmów +- Wszystkie wiadomości i odpowiedzi +- Metadane sesji + +--- + +### Zalecenia + +- Udostępniaj tylko rozmowy, które nie zawierają poufnych informacji. +- Przejrzyj treść rozmowy przed udostępnieniem. +- Cofnij udostępnianie rozmów po zakończeniu współpracy. +- Unikaj udostępniania rozmów zawierających zastrzeżony kod lub poufne dane. +- W przypadku wrażliwych projektów całkowicie wyłącz udostępnianie. + +--- + +## Dla przedsiębiorstw + +W przypadku wdrożeń korporacyjnych funkcją udostępniania może być: + +- **Wyłączone** całkowicie ze względu na bezpieczeństwo +- **Restricted** to users authenticated through SSO only +- **Własny hosting** na własnej infrastrukturze + +[Dowiedz się więcej](/docs/enterprise) o używaniu opencode w Twojej organizacji. diff --git a/packages/web/src/content/docs/pl/tui.mdx b/packages/web/src/content/docs/pl/tui.mdx index 4996d834d163..02728b81de45 100644 --- a/packages/web/src/content/docs/pl/tui.mdx +++ b/packages/web/src/content/docs/pl/tui.mdx @@ -218,6 +218,18 @@ Wyświetl listę i przełączaj się między sesjami. _Aliasy_: `/resume`, `/con --- +### share + +Udostępnij bieżącą sesję. [Dowiedz się więcej](/docs/share). + +```bash frame="none" +/share +``` + +**Keybind:** `ctrl+x s` + +--- + ### themes Lista dostępnych motywów. @@ -263,6 +275,16 @@ be a Git repository**. --- +### unshare + +Anuluj udostępnianie bieżącej sesji. [Dowiedz się więcej](/docs/share#un-sharing). + +```bash frame="none" +/unshare +``` + +--- + ## Konfiguracja edytora Zarówno polecenia `/editor`, jak i `/export` korzystają z edytora określonego w zmiennej środowiskowej `EDITOR`. diff --git a/packages/web/src/content/docs/providers.mdx b/packages/web/src/content/docs/providers.mdx index 9f2e9338f9d8..ff2e8cfee807 100644 --- a/packages/web/src/content/docs/providers.mdx +++ b/packages/web/src/content/docs/providers.mdx @@ -1042,12 +1042,13 @@ to store token in opencode auth storage. OpenCode uses a small model for some AI tasks like generating the session title. It is configured to use gpt-5-nano by default, hosted by Zen. To lock OpenCode to only use your own GitLab-hosted instance, add the following to your -`opencode.json` file. +`opencode.json` file. It is also recommended to disable session sharing. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5" + "small_model": "gitlab/duo-chat-haiku-4-5", + "share": "disabled" } ``` diff --git a/packages/web/src/content/docs/pt-br/cli.mdx b/packages/web/src/content/docs/pt-br/cli.mdx index e2db2027ada5..69b69e1f2836 100644 --- a/packages/web/src/content/docs/pt-br/cli.mdx +++ b/packages/web/src/content/docs/pt-br/cli.mdx @@ -345,6 +345,7 @@ opencode run --attach http://localhost:4096 "Explique async/await em JavaScript" | {"--continue"} | `-c` | Continue a última sessão | | {"--session"} | `-s` | ID da sessão para continuar | | {"--fork"} | | Criar um fork da sessão ao continuar (use com `--continue` ou `--session`) | +| {"--share"} | | Compartilhe a sessão | | {"--model"} | `-m` | Modelo a ser usado na forma de provider/model | | {"--agent"} | | Agente a ser usado | | {"--file"} | `-f` | Arquivo(s) a serem anexados à mensagem | @@ -441,14 +442,17 @@ Se você não fornecer um ID de sessão, será solicitado que você selecione en ### import -Importe dados da sessão de um arquivo JSON. +Importe dados da sessão de um arquivo JSON ou URL de compartilhamento do opencode. ```bash opencode import ``` +Você pode importar de um arquivo local ou de uma URL de compartilhamento do opencode. + ```bash opencode import session.json +opencode import https://opncd.ai/s/abc123 ``` --- @@ -560,6 +564,7 @@ O opencode pode ser configurado usando variáveis de ambiente. | Variável | Tipo | Descrição | | ------------------------------------- | ------- | --------------------------------------------------------------------- | +| `OPENCODE_AUTO_SHARE` | boolean | Compartilhar sessões automaticamente | | `OPENCODE_GIT_BASH_PATH` | string | Caminho para o executável do Git Bash no Windows | | `OPENCODE_CONFIG` | string | Caminho para o arquivo de configuração | | `OPENCODE_CONFIG_DIR` | string | Caminho para o diretório de configuração | diff --git a/packages/web/src/content/docs/pt-br/commands.mdx b/packages/web/src/content/docs/pt-br/commands.mdx index 4e4b02589b3a..b4a8a306d8d5 100644 --- a/packages/web/src/content/docs/pt-br/commands.mdx +++ b/packages/web/src/content/docs/pt-br/commands.mdx @@ -9,7 +9,7 @@ Comandos personalizados permitem que você especifique um prompt que deseja exec /my-command ``` -Comandos personalizados são adicionais aos comandos integrados como `/init`, `/undo`, `/redo`, `/help`. [Saiba mais](/docs/tui#commands). +Comandos personalizados são adicionais aos comandos integrados como `/init`, `/undo`, `/redo`, `/share`, `/help`. [Saiba mais](/docs/tui#commands). --- @@ -313,7 +313,7 @@ Esta é uma opção de configuração **opcional**. ## Integrados -opencode inclui vários comandos integrados como `/init`, `/undo`, `/redo`, `/help`; [saiba mais](/docs/tui#commands). +opencode inclui vários comandos integrados como `/init`, `/undo`, `/redo`, `/share`, `/help`; [saiba mais](/docs/tui#commands). :::note Comandos personalizados podem substituir comandos integrados. diff --git a/packages/web/src/content/docs/pt-br/config.mdx b/packages/web/src/content/docs/pt-br/config.mdx index d943bca97fce..3dc969a9b57e 100644 --- a/packages/web/src/content/docs/pt-br/config.mdx +++ b/packages/web/src/content/docs/pt-br/config.mdx @@ -357,6 +357,27 @@ Essa configuração se aplica a todas as interfaces: TUI, CLI (`opencode run`), --- +### Compartilhamento + +Você pode configurar o recurso [share](/docs/share) através da opção `share`. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +Isso aceita: + +- `"manual"` - Permitir compartilhamento manual via comandos (padrão) +- `"auto"` - Compartilhar novas conversas automaticamente +- `"disabled"` - Desabilitar compartilhamento completamente + +Por padrão, o compartilhamento é definido para o modo manual, onde você precisa compartilhar explicitamente as conversas usando o comando `/share`. + +--- + ### Comandos Você pode configurar comandos personalizados para tarefas repetitivas através da opção `command`. diff --git a/packages/web/src/content/docs/pt-br/enterprise.mdx b/packages/web/src/content/docs/pt-br/enterprise.mdx index 0deb081e1235..3a649dc07725 100644 --- a/packages/web/src/content/docs/pt-br/enterprise.mdx +++ b/packages/web/src/content/docs/pt-br/enterprise.mdx @@ -31,6 +31,27 @@ O opencode é de código aberto e não armazena nenhum de seus códigos ou dados Isso significa que, enquanto você estiver usando um provedor em quem confia, ou um gateway de IA interno, você pode usar o opencode com segurança. +A única ressalva aqui é o recurso opcional `/share`. + +--- + +#### Compartilhando conversas + +Se um usuário habilitar o recurso `/share`, a conversa e os dados associados a ela são enviados para o serviço que usamos para hospedar essas páginas de compartilhamento em opencode.ai. + +Os dados são atualmente servidos através da rede de borda do nosso CDN e são armazenados em cache na borda perto de seus usuários. + +Recomendamos que você desative isso para seu teste. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +[Saiba mais sobre compartilhamento](/docs/share). + --- ### Propriedade do código diff --git a/packages/web/src/content/docs/pt-br/github.mdx b/packages/web/src/content/docs/pt-br/github.mdx index 32b3f5020b5c..c2e53ca77eab 100644 --- a/packages/web/src/content/docs/pt-br/github.mdx +++ b/packages/web/src/content/docs/pt-br/github.mdx @@ -69,6 +69,7 @@ Ou você pode configurá-lo manualmente. ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 + # share: true # github_token: xxxx ``` @@ -82,6 +83,7 @@ Ou você pode configurá-lo manualmente. - `model`: O modelo a ser usado com o opencode. Tem o formato de `provider/model`. Isso é **obrigatório**. - `agent`: O agente a ser usado. Deve ser um agente primário. Retorna ao `default_agent` da configuração ou `"build"` se não encontrado. +- `share`: Se deve compartilhar a sessão do opencode. O padrão é **true** para repositórios públicos. - `prompt`: Prompt personalizado opcional para substituir o comportamento padrão. Use isso para personalizar como o opencode processa solicitações. - `token`: Token de acesso do GitHub opcional para realizar operações como criar comentários, confirmar alterações e abrir pull requests. Por padrão, o opencode usa o token de acesso da instalação do aplicativo GitHub opencode, então commits, comentários e pull requests aparecem como se fossem da aplicação. diff --git a/packages/web/src/content/docs/pt-br/index.mdx b/packages/web/src/content/docs/pt-br/index.mdx index 481890fe888b..6f23f4ebc58b 100644 --- a/packages/web/src/content/docs/pt-br/index.mdx +++ b/packages/web/src/content/docs/pt-br/index.mdx @@ -319,6 +319,24 @@ Ou você **pode refazer** as alterações usando o comando `/redo`. --- +## Compartilhamento + +As conversas que você tem com o opencode podem ser [compartilhadas com sua equipe](/docs/share). + +```bash frame="none" +/share +``` + +Isso criará um link para a conversa atual e o copiará para sua área de transferência. + +:::note +As conversas não são compartilhadas por padrão. +::: + +Aqui está uma [conversa de exemplo](https://opencode.ai/s/4XP1fce5) com o opencode. + +--- + ## Personalização E é isso! Agora você é um profissional em usar o opencode. diff --git a/packages/web/src/content/docs/pt-br/keybinds.mdx b/packages/web/src/content/docs/pt-br/keybinds.mdx index 275ae852f8f5..e1f0f8e7ca36 100644 --- a/packages/web/src/content/docs/pt-br/keybinds.mdx +++ b/packages/web/src/content/docs/pt-br/keybinds.mdx @@ -24,6 +24,8 @@ O opencode tem uma lista de atalhos de teclado que você pode personalizar atrav "session_timeline": "g", "session_fork": "none", "session_rename": "none", + "session_share": "none", + "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/pt-br/providers.mdx b/packages/web/src/content/docs/pt-br/providers.mdx index 006d7601627d..174bc1679b61 100644 --- a/packages/web/src/content/docs/pt-br/providers.mdx +++ b/packages/web/src/content/docs/pt-br/providers.mdx @@ -761,12 +761,13 @@ armazenar o token no armazenamento de autenticação do opencode. opencode usa um pequeno modelo para algumas tarefas de AI, como gerar o título da sessão. Ele está configurado para usar gpt-5-nano por padrão, hospedado pela Zen. Para bloquear o opencode para usar apenas sua própria instância hospedada do GitLab, adicione o seguinte ao seu -arquivo `opencode.json`. +arquivo `opencode.json`. Também é recomendado desativar o compartilhamento de sessões. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5" + "small_model": "gitlab/duo-chat-haiku-4-5", + "share": "disabled" } ``` diff --git a/packages/web/src/content/docs/pt-br/server.mdx b/packages/web/src/content/docs/pt-br/server.mdx index 2b04199cd062..6d2e9eb38617 100644 --- a/packages/web/src/content/docs/pt-br/server.mdx +++ b/packages/web/src/content/docs/pt-br/server.mdx @@ -155,6 +155,8 @@ O servidor opencode expõe as seguintes APIs. | `POST` | `/session/:id/init` | Analisar o app e criar `AGENTS.md` | corpo: `{ messageID, providerID, modelID }`, retorna `boolean` | | `POST` | `/session/:id/fork` | Fazer um fork de uma sessão existente em uma mensagem | corpo: `{ messageID? }`, retorna Session | | `POST` | `/session/:id/abort` | Abortar uma sessão em execução | Retorna `boolean` | +| `POST` | `/session/:id/share` | Compartilhar uma sessão | Retorna Session | +| `DELETE` | `/session/:id/share` | Descompartilhar uma sessão | Retorna Session | | `GET` | `/session/:id/diff` | Obter a diferença para esta sessão | query: `messageID?`, retorna FileDiff[] | | `POST` | `/session/:id/summarize` | Resumir a sessão | corpo: `{ providerID, modelID }`, retorna `boolean` | | `POST` | `/session/:id/revert` | Reverter uma mensagem | corpo: `{ messageID, partID? }`, retorna `boolean` | diff --git a/packages/web/src/content/docs/pt-br/share.mdx b/packages/web/src/content/docs/pt-br/share.mdx new file mode 100644 index 000000000000..166226d6dc28 --- /dev/null +++ b/packages/web/src/content/docs/pt-br/share.mdx @@ -0,0 +1,127 @@ +--- +title: Compartilhar +description: Compartilhe suas conversas do opencode. +--- + +O recurso de compartilhamento do opencode permite que você crie links públicos para suas conversas do opencode, para que você possa colaborar com colegas de equipe ou obter ajuda de outros. + +:::note +Conversas compartilhadas são acessíveis publicamente para qualquer pessoa com o link. +::: + +--- + +## Como funciona + +Quando você compartilha uma conversa, o opencode: + +1. Cria uma URL pública única para sua sessão +2. Sincroniza seu histórico de conversas com nossos servidores +3. Torna a conversa acessível através do link compartilhável — `opncd.ai/s/` + +--- + +## Compartilhamento + +O opencode suporta três modos de compartilhamento que controlam como as conversas são compartilhadas: + +--- + +### Manual (padrão) + +Por padrão, o opencode usa o modo de compartilhamento manual. As sessões não são compartilhadas automaticamente, mas você pode compartilhá-las manualmente usando o comando `/share`: + +``` +/share +``` + +Isso gerará uma URL única que será copiada para sua área de transferência. + +Para definir explicitamente o modo manual em seu [arquivo de configuração](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +--- + +### Compartilhamento automático + +Você pode habilitar o compartilhamento automático para todas as novas conversas definindo a opção `share` como `"auto"` em seu [arquivo de configuração](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "auto" +} +``` + +Com o compartilhamento automático habilitado, cada nova conversa será compartilhada automaticamente e um link será gerado. + +--- + +### Desativado + +Você pode desativar o compartilhamento completamente definindo a opção `share` como `"disabled"` em seu [arquivo de configuração](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +Para impor isso em sua equipe para um determinado projeto, adicione-o ao `opencode.json` em seu projeto e faça o check-in no Git. + +--- + +## Cancelar compartilhamento + +Para parar de compartilhar uma conversa e removê-la do acesso público: + +``` +/unshare +``` + +Isso removerá o link de compartilhamento e excluirá os dados relacionados à conversa. + +--- + +## Privacidade + +Há algumas coisas a serem lembradas ao compartilhar uma conversa. + +--- + +### Retenção de dados + +Conversas compartilhadas permanecem acessíveis até que você as descompartilhe explicitamente. Isso inclui: + +- Histórico completo da conversa +- Todas as mensagens e respostas +- Metadados da sessão + +--- + +### Recomendações + +- Compartilhe apenas conversas que não contenham informações sensíveis. +- Revise o conteúdo da conversa antes de compartilhar. +- Descompartilhe conversas quando a colaboração estiver completa. +- Evite compartilhar conversas com código proprietário ou dados confidenciais. +- Para projetos sensíveis, desative o compartilhamento completamente. + +--- + +## Para empresas + +Para implantações empresariais, o recurso de compartilhamento pode ser: + +- **Desativado** completamente para conformidade de segurança +- **Restrito** a usuários autenticados apenas através de SSO +- **Auto-hospedado** em sua própria infraestrutura + +[Saiba mais](/docs/enterprise) sobre como usar o opencode em sua organização. diff --git a/packages/web/src/content/docs/pt-br/tui.mdx b/packages/web/src/content/docs/pt-br/tui.mdx index 58b327a70150..ffd74c4299bc 100644 --- a/packages/web/src/content/docs/pt-br/tui.mdx +++ b/packages/web/src/content/docs/pt-br/tui.mdx @@ -217,6 +217,18 @@ Liste e alterne entre sessões. _Aliases_: `/resume`, `/continue` --- +### share + +Compartilhe a sessão atual. [Saiba mais](/docs/share). + +```bash frame="none" +/share +``` + +**Atalho:** `ctrl+x s` + +--- + ### themes Liste os temas disponíveis. @@ -261,6 +273,16 @@ Internamente, isso usa Git para gerenciar as alterações de arquivo. Portanto, --- +### unshare + +Descompartilhe a sessão atual. [Saiba mais](/docs/share#un-sharing). + +```bash frame="none" +/unshare +``` + +--- + ## Configuração do Editor Tanto os comandos `/editor` quanto `/export` usam o editor especificado na sua variável de ambiente `EDITOR`. diff --git a/packages/web/src/content/docs/ru/cli.mdx b/packages/web/src/content/docs/ru/cli.mdx index c0d23d966ba7..ac48039aa857 100644 --- a/packages/web/src/content/docs/ru/cli.mdx +++ b/packages/web/src/content/docs/ru/cli.mdx @@ -345,6 +345,7 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | Продолжить последний сеанс | | {"--session"} | `-s` | Идентификатор сеанса для продолжения | | {"--fork"} | | Разветвить сеанс при продолжении (используйте с `--continue` или `--session`) | +| {"--share"} | | Поделиться сеансом | | {"--model"} | `-m` | Модель для использования в виде поставщика/модели. | | {"--agent"} | | Агент для использования | | {"--file"} | `-f` | Файл(ы) для прикрепления к сообщению | @@ -441,14 +442,17 @@ opencode export [sessionID] ### import -Импортируйте данные сеанса из файла JSON. +Импортируйте данные сеанса из файла JSON или URL-адреса общего ресурса opencode. ```bash opencode import ``` +Вы можете импортировать из локального файла или URL-адреса общего ресурса opencode. + ```bash opencode import session.json +opencode import https://opncd.ai/s/abc123 ``` --- @@ -560,6 +564,7 @@ opencode можно настроить с помощью переменных с | Переменная | Тип | Описание | | ------------------------------------- | ------------------- | -------------------------------------------------------------------------------- | +| `OPENCODE_AUTO_SHARE` | логическое значение | Автоматически делиться сеансами | | `OPENCODE_GIT_BASH_PATH` | строка | Путь к исполняемому файлу Git Bash в Windows | | `OPENCODE_CONFIG` | строка | Путь к файлу конфигурации | | `OPENCODE_TUI_CONFIG` | строка | Путь к файлу конфигурации TUI | diff --git a/packages/web/src/content/docs/ru/commands.mdx b/packages/web/src/content/docs/ru/commands.mdx index e4d3fedd00cc..447ef0f0dc6e 100644 --- a/packages/web/src/content/docs/ru/commands.mdx +++ b/packages/web/src/content/docs/ru/commands.mdx @@ -9,7 +9,7 @@ description: Создавайте собственные команды для /my-command ``` -Пользовательские команды дополняют встроенные команды, такие как `/init`, `/undo`, `/redo`, `/help`. [Подробнее](/docs/tui#commands). +Пользовательские команды дополняют встроенные команды, такие как `/init`, `/undo`, `/redo`, `/share`, `/help`. [Подробнее](/docs/tui#commands). --- @@ -314,7 +314,7 @@ Check for performance issues and suggest improvements. ## Встроенные команды -opencode включает несколько встроенных команд, таких как `/init`, `/undo`, `/redo`, `/help`; [подробнее](/docs/tui#commands). +opencode включает несколько встроенных команд, таких как `/init`, `/undo`, `/redo`, `/share`, `/help`; [подробнее](/docs/tui#commands). :::note Пользовательские команды могут переопределять встроенные команды. diff --git a/packages/web/src/content/docs/ru/config.mdx b/packages/web/src/content/docs/ru/config.mdx index 5505420d37fa..d6177bd59caf 100644 --- a/packages/web/src/content/docs/ru/config.mdx +++ b/packages/web/src/content/docs/ru/config.mdx @@ -356,6 +356,27 @@ Amazon Bedrock поддерживает конфигурацию, специфи --- +### share + +Функцию [share](/docs/share) можно настроить с помощью опции `share`. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +Принимает значения: + +- `"manual"` — разрешить общий доступ вручную с помощью команд (по умолчанию). +- `"auto"` — автоматически делиться новыми беседами. +- `"disabled"` — полностью отключить общий доступ + +По умолчанию общий доступ установлен в ручной режим, в котором вам необходимо явно делиться разговорами с помощью команды `/share`. + +--- + ### Команды Вы можете настроить собственные команды для повторяющихся задач с помощью опции `command`. diff --git a/packages/web/src/content/docs/ru/enterprise.mdx b/packages/web/src/content/docs/ru/enterprise.mdx index d22c99423ab0..d5932e0e0c88 100644 --- a/packages/web/src/content/docs/ru/enterprise.mdx +++ b/packages/web/src/content/docs/ru/enterprise.mdx @@ -32,6 +32,27 @@ opencode имеет открытый исходный код и не храни Это означает, что пока вы используете поставщика, которому доверяете, или внутреннего Шлюз AI позволяет безопасно использовать opencode. +Единственное предостережение — это дополнительная функция `/share`. + +--- + +#### Обмен беседами + +Если пользователь включает функцию `/share`, разговор и связанные с ним данные отправляются в службу, которую мы используем для размещения этих общих страниц на opencode.ai. + +В настоящее время данные передаются через периферийную сеть нашей CDN и кэшируются на периферии рядом с вашими пользователями. + +Мы рекомендуем вам отключить эту функцию для пробной версии. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +[Подробнее о совместном использовании](/docs/share). + --- ### Владение кодом diff --git a/packages/web/src/content/docs/ru/github.mdx b/packages/web/src/content/docs/ru/github.mdx index 10d8d3e7eefb..131d4f66ddfa 100644 --- a/packages/web/src/content/docs/ru/github.mdx +++ b/packages/web/src/content/docs/ru/github.mdx @@ -69,6 +69,7 @@ opencode github install ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 + # share: true # github_token: xxxx ``` @@ -82,6 +83,7 @@ opencode github install - `model`: модель для использования с opencode. Принимает формат `provider/model`. Это **обязательно**. - `agent`: используемый агент. Должен быть основным агентом. Возвращается к `default_agent` из конфигурации или к `"build"`, если не найден. +- `share`: следует ли предоставлять общий доступ к сеансу opencode. По умолчанию **true** для общедоступных репозиториев. - `prompt`: дополнительный настраиваемый запрос для переопределения поведения по умолчанию. Используйте это, чтобы настроить обработку запросов opencode. - `token`: дополнительный токен доступа GitHub для выполнения таких операций, как создание комментариев, фиксация изменений и открытие запросов на включение. По умолчанию opencode использует токен доступа к установке из приложения opencode GitHub, поэтому фиксации, комментарии и запросы на включение отображаются как исходящие из приложения. diff --git a/packages/web/src/content/docs/ru/index.mdx b/packages/web/src/content/docs/ru/index.mdx index 33e0e99c9ab3..3208b32b5e00 100644 --- a/packages/web/src/content/docs/ru/index.mdx +++ b/packages/web/src/content/docs/ru/index.mdx @@ -330,6 +330,25 @@ Can you refactor the function in @packages/functions/src/api/index.ts? --- +## Общий доступ + +Разговорами, которые вы ведете с opencode, можно [поделиться с вашей +командой](/docs/share). + +```bash frame="none" +/share +``` + +Это создаст ссылку на текущий разговор и скопирует ее в буфер обмена. + +:::note +По умолчанию общий доступ к беседам не предоставляется. +::: + +Вот [пример диалога](https://opencode.ai/s/4XP1fce5) с opencode. + +--- + ## Настроить И все! Теперь вы профессионал в использовании opencode. diff --git a/packages/web/src/content/docs/ru/keybinds.mdx b/packages/web/src/content/docs/ru/keybinds.mdx index a19feb18cd0a..bde4e155307b 100644 --- a/packages/web/src/content/docs/ru/keybinds.mdx +++ b/packages/web/src/content/docs/ru/keybinds.mdx @@ -24,6 +24,8 @@ opencode имеет список сочетаний клавиш, которые "session_timeline": "g", "session_fork": "none", "session_rename": "none", + "session_share": "none", + "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/ru/providers.mdx b/packages/web/src/content/docs/ru/providers.mdx index c90ad5ea1720..39aae9e09630 100644 --- a/packages/web/src/content/docs/ru/providers.mdx +++ b/packages/web/src/content/docs/ru/providers.mdx @@ -757,12 +757,13 @@ GitLab Duo предоставляет агентский чат на базе и opencode использует небольшую модель для некоторых задач ИИ, таких как создание заголовка сеанса. По умолчанию он настроен на использование gpt-5-nano, размещенного на Zen. Чтобы заблокировать opencode чтобы использовать только свой собственный экземпляр, размещенный на GitLab, добавьте следующее в свой -`opencode.json` файл. +`opencode.json` файл. Также рекомендуется отключить совместное использование сеансов. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5" + "small_model": "gitlab/duo-chat-haiku-4-5", + "share": "disabled" } ``` diff --git a/packages/web/src/content/docs/ru/server.mdx b/packages/web/src/content/docs/ru/server.mdx index 95b6cb711e7f..2356543dff2e 100644 --- a/packages/web/src/content/docs/ru/server.mdx +++ b/packages/web/src/content/docs/ru/server.mdx @@ -158,6 +158,8 @@ For example, `http://localhost:4096/doc`. Use the spec to generate clients or in | `POST` | `/session/:id/init` | Анализ приложения и создание `AGENTS.md` | body: `{ messageID, providerID, modelID }`, возвращает `boolean` | | `POST` | `/session/:id/fork` | Ответвление сессии от сообщения | body: `{ messageID? }`, возвращает Session | | `POST` | `/session/:id/abort` | Прервать запущенную сессию | Возвращает `boolean` | +| `POST` | `/session/:id/share` | Поделиться сессией | Возвращает Session | +| `DELETE` | `/session/:id/share` | Отменить общий доступ к сессии | Возвращает Session | | `GET` | `/session/:id/diff` | Получить diff для этой сессии | query: `messageID?`, возвращает FileDiff[] | | `POST` | `/session/:id/summarize` | Суммировать сессию | body: `{ providerID, modelID }`, возвращает `boolean` | | `POST` | `/session/:id/revert` | Отменить сообщение | body: `{ messageID, partID? }`, возвращает `boolean` | diff --git a/packages/web/src/content/docs/ru/share.mdx b/packages/web/src/content/docs/ru/share.mdx new file mode 100644 index 000000000000..8982afb08dfb --- /dev/null +++ b/packages/web/src/content/docs/ru/share.mdx @@ -0,0 +1,128 @@ +--- +title: Делиться +description: Поделитесь своими разговорами об opencode. +--- + +Функция общего доступа opencode позволяет вам создавать общедоступные ссылки на ваши беседы opencode, чтобы вы могли сотрудничать с товарищами по команде или получать помощь от других. + +:::note +Общие беседы общедоступны для всех, у кого есть ссылка. +::: + +--- + +## Как это работает + +Когда вы делитесь беседой, opencode: + +1. Создает уникальный общедоступный URL-адрес для вашего сеанса. +2. Синхронизирует историю ваших разговоров с нашими серверами +3. Делает беседу доступной по общей ссылке — `opncd.ai/s/`. + +--- + +## Совместное использование + +opencode поддерживает три режима общего доступа, которые контролируют общий доступ к разговорам: + +--- + +### Ручной (по умолчанию) + +По умолчанию opencode использует режим совместного использования вручную. Сессии не передаются автоматически, но вы можете поделиться ими вручную с помощью команды `/share`: + +``` +/share +``` + +Это создаст уникальный URL-адрес, который будет скопирован в буфер обмена. + +Чтобы явно установить ручной режим в вашем [файле конфигурации](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +--- + +### Автоматическая публикация + +Вы можете включить автоматический общий доступ для всех новых разговоров, установив для параметра `share` значение `"auto"` в вашем [файле конфигурации](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "auto" +} +``` + +Если функция автоматического обмена включена, каждый новый разговор будет автоматически опубликован и будет создана ссылка. + +--- + +### Отключено + +Вы можете полностью отключить общий доступ, установив для параметра `share` значение `"disabled"` в вашем [файле конфигурации](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +Чтобы обеспечить соблюдение этого правила для всей вашей команды в конкретном проекте, добавьте его в `opencode.json` вашего проекта и зарегистрируйтесь в Git. + +--- + +## Отменить совместное использование + +Чтобы прекратить делиться беседой и удалить ее из общего доступа: + +``` +/unshare +``` + +Это приведет к удалению ссылки общего доступа и удалению данных, связанных с разговором. + +--- + +## Конфиденциальность + +Есть несколько вещей, которые следует учитывать при общении. + +--- + +### Хранение данных + +Общие разговоры остаются доступными до тех пор, пока вы явно не отмените общий доступ к ним. Этот +включает в себя: + +- Полная история разговоров +- Все сообщения и ответы +- Метаданные сеанса + +--- + +### Рекомендации + +- Делитесь только разговорами, которые не содержат конфиденциальной информации. +- Прежде чем поделиться, просмотрите содержимое разговора. +- Отмените общий доступ к разговорам после завершения сотрудничества. +- Избегайте обмена разговорами с проприетарным кодом или конфиденциальными данными. +- Для конфиденциальных проектов полностью отключите общий доступ. + +--- + +## Для предприятий + +Для корпоративных развертываний функция общего доступа может быть: + +- **Отключено** полностью из соображений безопасности. +- **Доступно только** для пользователей, прошедших аутентификацию посредством единого входа. +- **Автономное размещение** в вашей собственной инфраструктуре + +[Узнайте больше](/docs/enterprise) об использовании opencode в вашей организации. diff --git a/packages/web/src/content/docs/ru/tui.mdx b/packages/web/src/content/docs/ru/tui.mdx index 18183f74cbc7..19d44539feef 100644 --- a/packages/web/src/content/docs/ru/tui.mdx +++ b/packages/web/src/content/docs/ru/tui.mdx @@ -218,6 +218,18 @@ How is auth handled in @packages/functions/src/api/index.ts? --- +### share + +Поделиться текущим сеансом. [Подробнее](/docs/share). + +```bash frame="none" +/share +``` + +**Привязка клавиш:** `ctrl+x s` + +--- + ### theme Список доступных тем. @@ -263,6 +275,16 @@ How is auth handled in @packages/functions/src/api/index.ts? --- +### unshare + +Отменить общий доступ к текущему сеансу. [Подробнее](/docs/share#un-sharing). + +```bash frame="none" +/unshare +``` + +--- + ## Настройка редактора Команды `/editor` и `/export` используют редактор, указанный в переменной среды `EDITOR`. diff --git a/packages/web/src/content/docs/server.mdx b/packages/web/src/content/docs/server.mdx index fd4c0304ab27..4510bd4981fe 100644 --- a/packages/web/src/content/docs/server.mdx +++ b/packages/web/src/content/docs/server.mdx @@ -158,6 +158,8 @@ The opencode server exposes the following APIs. | `POST` | `/session/:id/init` | Analyze app and create `AGENTS.md` | body: `{ messageID, providerID, modelID }`, returns `boolean` | | `POST` | `/session/:id/fork` | Fork an existing session at a message | body: `{ messageID? }`, returns Session | | `POST` | `/session/:id/abort` | Abort a running session | Returns `boolean` | +| `POST` | `/session/:id/share` | Share a session | Returns Session | +| `DELETE` | `/session/:id/share` | Unshare a session | Returns Session | | `GET` | `/session/:id/diff` | Get the diff for this session | query: `messageID?`, returns FileDiff[] | | `POST` | `/session/:id/summarize` | Summarize the session | body: `{ providerID, modelID }`, returns `boolean` | | `POST` | `/session/:id/revert` | Revert a message | body: `{ messageID, partID? }`, returns `boolean` | diff --git a/packages/web/src/content/docs/share.mdx b/packages/web/src/content/docs/share.mdx new file mode 100644 index 000000000000..b2c79334097d --- /dev/null +++ b/packages/web/src/content/docs/share.mdx @@ -0,0 +1,128 @@ +--- +title: Share +description: Share your OpenCode conversations. +--- + +OpenCode's share feature allows you to create public links to your OpenCode conversations, so you can collaborate with teammates or get help from others. + +:::note +Shared conversations are publicly accessible to anyone with the link. +::: + +--- + +## How it works + +When you share a conversation, OpenCode: + +1. Creates a unique public URL for your session +2. Syncs your conversation history to our servers +3. Makes the conversation accessible via the shareable link — `opncd.ai/s/` + +--- + +## Sharing + +OpenCode supports three sharing modes that control how conversations are shared: + +--- + +### Manual (default) + +By default, OpenCode uses manual sharing mode. Sessions are not shared automatically, but you can manually share them using the `/share` command: + +``` +/share +``` + +This will generate a unique URL that'll be copied to your clipboard. + +To explicitly set manual mode in your [config file](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +--- + +### Auto-share + +You can enable automatic sharing for all new conversations by setting the `share` option to `"auto"` in your [config file](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "auto" +} +``` + +With auto-share enabled, every new conversation will automatically be shared and a link will be generated. + +--- + +### Disabled + +You can disable sharing entirely by setting the `share` option to `"disabled"` in your [config file](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +To enforce this across your team for a given project, add it to the `opencode.json` in your project and check into Git. + +--- + +## Un-sharing + +To stop sharing a conversation and remove it from public access: + +``` +/unshare +``` + +This will remove the share link and delete the data related to the conversation. + +--- + +## Privacy + +There are a few things to keep in mind when sharing a conversation. + +--- + +### Data retention + +Shared conversations remain accessible until you explicitly unshare them. This +includes: + +- Full conversation history +- All messages and responses +- Session metadata + +--- + +### Recommendations + +- Only share conversations that don't contain sensitive information. +- Review conversation content before sharing. +- Unshare conversations when collaboration is complete. +- Avoid sharing conversations with proprietary code or confidential data. +- For sensitive projects, disable sharing entirely. + +--- + +## For enterprises + +For enterprise deployments, the share feature can be: + +- **Disabled** entirely for security compliance +- **Restricted** to users authenticated through SSO only +- **Self-hosted** on your own infrastructure + +[Learn more](/docs/enterprise) about using opencode in your organization. diff --git a/packages/web/src/content/docs/th/cli.mdx b/packages/web/src/content/docs/th/cli.mdx index 4128caa4776b..49df515c81e1 100644 --- a/packages/web/src/content/docs/th/cli.mdx +++ b/packages/web/src/content/docs/th/cli.mdx @@ -346,6 +346,7 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | ดำเนินการต่อจากเซสชันล่าสุด | | {"--session"} | `-s` | ID เซสชันเพื่อดำเนินการต่อ | | {"--fork"} | | แยกเซสชันเมื่อทำต่อ (ใช้กับ `--continue` หรือ `--session`) | +| {"--share"} | | สร้างลิงก์แชร์สำหรับเซสชัน | | {"--model"} | `-m` | โมเดลที่จะใช้ในรูปแบบ provider/model | | {"--agent"} | | เอเจนต์ที่จะใช้ | | {"--file"} | `-f` | แนบไฟล์ไปกับข้อความ | @@ -442,14 +443,17 @@ opencode export [sessionID] ### import -นำเข้าเซสชันจากไฟล์ JSON +นำเข้าเซสชันจากไฟล์ JSON หรือ URL ที่แชร์ของ OpenCode ```bash opencode import ``` +คุณสามารถนำเข้าไฟล์ในเครื่องหรือ URL ที่แชร์ + ```bash opencode import session.json +opencode import https://opncd.ai/s/abc123 ``` --- @@ -561,6 +565,7 @@ OpenCode สามารถกำหนดค่าโดยใช้ตัว | ตัวแปร | ชนิด | คำอธิบาย | | ------------------------------------- | ------- | ---------------------------------------------------------------- | +| `OPENCODE_AUTO_SHARE` | Boolean | แชร์เซสชันอัตโนมัติเมื่อสร้าง | | `OPENCODE_GIT_BASH_PATH` | String | เส้นทางไปยัง Git Bash บน Windows | | `OPENCODE_CONFIG` | String | เส้นทางไปยังไฟล์การกำหนดค่า | | `OPENCODE_TUI_CONFIG` | String | เส้นทางไปยังไฟล์การกำหนดค่า TUI | diff --git a/packages/web/src/content/docs/th/commands.mdx b/packages/web/src/content/docs/th/commands.mdx index 8fd432215841..0ef947e05fba 100644 --- a/packages/web/src/content/docs/th/commands.mdx +++ b/packages/web/src/content/docs/th/commands.mdx @@ -9,7 +9,7 @@ description: คำสั่งที่กำหนดเองสำหรั /my-command ``` -คำสั่งแบบกำหนดเองเป็นส่วนเพิ่มเติมจากคำสั่งในตัว เช่น `/init`, `/undo`, `/redo`, `/help` [เรียนรู้เพิ่มเติม](/docs/tui#คำสั่ง) +คำสั่งแบบกำหนดเองเป็นส่วนเพิ่มเติมจากคำสั่งในตัว เช่น `/init`, `/undo`, `/redo`, `/share`, `/help` [เรียนรู้เพิ่มเติม](/docs/tui#คำสั่ง) --- @@ -311,7 +311,7 @@ Check for performance issues and suggest improvements. ### Built-ins (ในตัว) -OpenCode มีคำสั่งในตัวหลายคำสั่ง เช่น `/init`, `/undo`, `/redo`, `/help` [เรียนรู้เพิ่มเติม](/docs/tui#คำสั่ง) +OpenCode มีคำสั่งในตัวหลายคำสั่ง เช่น `/init`, `/undo`, `/redo`, `/share`, `/help` [เรียนรู้เพิ่มเติม](/docs/tui#คำสั่ง) :::note คุณสามารถเขียนทับคำสั่งในตัวได้โดยกำหนดคำสั่งที่กำหนดเองด้วยชื่อเดียวกัน diff --git a/packages/web/src/content/docs/th/config.mdx b/packages/web/src/content/docs/th/config.mdx index f2c9f5c6eb4f..e323d8f299a2 100644 --- a/packages/web/src/content/docs/th/config.mdx +++ b/packages/web/src/content/docs/th/config.mdx @@ -360,6 +360,27 @@ Bearer Token (`AWS_BEARER_TOKEN_BEDROCK` หรือ `/connect`) มีคว --- +### Sharing + +คุณสามารถกำหนดค่าคุณสมบัติ [แบ่งปัน](/docs/share) ได้ผ่านทางตัวเลือก `share` + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +ใช้เวลา: + +- `"manual"` - ​​อนุญาตให้แชร์ด้วยตนเองผ่านคำสั่ง (ค่าเริ่มต้น) +- `"auto"` - ​​แบ่งปันการสนทนาใหม่โดยอัตโนมัติ +- `"disabled"` - ​​ปิดการใช้งานการแชร์ทั้งหมด + +ตามค่าเริ่มต้น การแชร์จะถูกตั้งค่าเป็นโหมดกำหนดเอง ซึ่งคุณต้องแชร์การสนทนาอย่างชัดเจนโดยใช้คำสั่ง `/share` + +--- + ### คำสั่ง คุณสามารถกำหนดค่าคำสั่งที่กำหนดเองสำหรับงานซ้ำๆ ได้ผ่านตัวเลือก `command` diff --git a/packages/web/src/content/docs/th/enterprise.mdx b/packages/web/src/content/docs/th/enterprise.mdx index bab9a07f1239..9bc041fa7c3d 100644 --- a/packages/web/src/content/docs/th/enterprise.mdx +++ b/packages/web/src/content/docs/th/enterprise.mdx @@ -32,6 +32,27 @@ OpenCode เป็นโอเพ่นซอร์สและไม่ได ซึ่งหมายความว่าตราบใดที่คุณใช้ผู้ให้บริการที่คุณเชื่อถือหรือผู้ให้บริการภายใน เกตเวย์ AI คุณสามารถใช้ OpenCode ได้อย่างปลอดภัย +ข้อแม้เดียวที่นี่คือคุณสมบัติเสริม `/share` + +--- + +#### การแบ่งปันการสนทนา + +หากผู้ใช้เปิดใช้งานคุณสมบัติ `/share` การสนทนาและข้อมูลที่เกี่ยวข้องกับการสนทนาจะถูกส่งไปยังบริการที่เราใช้เพื่อโฮสต์เพจแชร์เหล่านี้ที่ opencode.ai + +ขณะนี้ข้อมูลให้บริการผ่านเครือข่าย Edge ของ CDN ของเรา และถูกแคชไว้ที่ Edge ใกล้ผู้ใช้ของคุณ + +เราขอแนะนำให้คุณปิดการใช้งานนี้สำหรับการทดลองใช้ของคุณ + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +[เรียนรู้เพิ่มเติมเกี่ยวกับการแชร์](/docs/share) + --- ### ความเป็นเจ้าของรหัส diff --git a/packages/web/src/content/docs/th/github.mdx b/packages/web/src/content/docs/th/github.mdx index 9f516b68331c..40816d78413f 100644 --- a/packages/web/src/content/docs/th/github.mdx +++ b/packages/web/src/content/docs/th/github.mdx @@ -69,6 +69,7 @@ opencode github install ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 + # share: true # github_token: xxxx ``` @@ -82,6 +83,7 @@ opencode github install - `model`: โมเดลที่จะใช้กับ OpenCode ใช้รูปแบบของ `provider/model` นี่คือ **จำเป็น** - `agent`: ตัวแทนที่จะใช้ จะต้องเป็นตัวแทนหลัก ย้อนกลับไปที่ `default_agent` จาก config หรือ `"build"` หากไม่พบ +- `share`: ไม่ว่าจะแชร์เซสชัน OpenCode หรือไม่ ค่าเริ่มต้นเป็น **จริง** สำหรับที่เก็บข้อมูลสาธารณะ - `prompt`: ตัวเลือกที่กำหนดเองพร้อมท์เพื่อแทนที่การทำงานเริ่มต้น ใช้สิ่งนี้เพื่อปรับแต่งวิธีที่ OpenCode ประมวลผลคำขอ - `token`: GitHub Access Token เสริมสำหรับการดำเนินการ เช่น การสร้างความคิดเห็น การยอมรับการเปลี่ยนแปลง และการเปิดคำขอดึง ตามค่าเริ่มต้น OpenCode จะใช้โทเค็นการเข้าถึงการติดตั้งจาก OpenCode GitHub App ดังนั้นคอมมิต แสดงความคิดเห็น และคำขอดึงข้อมูลจะปรากฏว่ามาจากแอป diff --git a/packages/web/src/content/docs/th/index.mdx b/packages/web/src/content/docs/th/index.mdx index 68deccf06388..5336db3c9ee5 100644 --- a/packages/web/src/content/docs/th/index.mdx +++ b/packages/web/src/content/docs/th/index.mdx @@ -334,6 +334,25 @@ Can you refactor the function in @packages/functions/src/api/index.ts? --- +## แบ่งปัน + +การสนทนาที่คุณมีกับ OpenCode สามารถ [แชร์กับคุณได้ +ทีมงาน](/docs/share) + +```bash frame="none" +/share +``` + +การดำเนินการนี้จะสร้างลิงก์ไปยังการสนทนาปัจจุบันและคัดลอกไปยังคลิปบอร์ดของคุณ + +:::note +การสนทนาจะไม่ถูกแชร์โดยค่าเริ่มต้น +::: + +นี่คือ [ตัวอย่างการสนทนา](https://opencode.ai/s/4XP1fce5) กับ OpenCode + +--- + ## ปรับแต่ง แค่นั้นแหละ! ตอนนี้คุณเป็นมืออาชีพในการใช้ OpenCode แล้ว diff --git a/packages/web/src/content/docs/th/keybinds.mdx b/packages/web/src/content/docs/th/keybinds.mdx index 611d5d855cac..2f5bcc5d7425 100644 --- a/packages/web/src/content/docs/th/keybinds.mdx +++ b/packages/web/src/content/docs/th/keybinds.mdx @@ -24,6 +24,8 @@ OpenCode มีรายการปุ่มลัดที่คุณปร "session_timeline": "g", "session_fork": "none", "session_rename": "none", + "session_share": "none", + "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/th/providers.mdx b/packages/web/src/content/docs/th/providers.mdx index d5a5b5c28edb..07008de218e2 100644 --- a/packages/web/src/content/docs/th/providers.mdx +++ b/packages/web/src/content/docs/th/providers.mdx @@ -758,12 +758,13 @@ GitLab Duo ให้การแชทแบบเอเจนต์ที่ข OpenCode ใช้โมเดลขนาดเล็กสำหรับงาน AI บางอย่าง เช่น การสร้างชื่อเซสชัน มีการกำหนดค่าให้ใช้ gpt-5-nano ตามค่าเริ่มต้น ซึ่งโฮสต์โดย Zen เพื่อล็อค OpenCode หากต้องการใช้เฉพาะอินสแตนซ์ที่โฮสต์บน GitLab ของคุณเอง ให้เพิ่มสิ่งต่อไปนี้ในของคุณ -`opencode.json` ไฟล์. +`opencode.json` ไฟล์. ขอแนะนำให้ปิดใช้งานการแชร์เซสชันด้วย ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5" + "small_model": "gitlab/duo-chat-haiku-4-5", + "share": "disabled" } ``` diff --git a/packages/web/src/content/docs/th/server.mdx b/packages/web/src/content/docs/th/server.mdx index 3806b242c059..13302cf5780a 100644 --- a/packages/web/src/content/docs/th/server.mdx +++ b/packages/web/src/content/docs/th/server.mdx @@ -158,6 +158,8 @@ http://:/doc | `POST` | `/session/:id/init` | วิเคราะห์แอปและสร้าง `AGENTS.md` | เนื้อความ: `{ messageID, providerID, modelID }` ส่งคืน `boolean` | | `POST` | `/session/:id/fork` | แยกเซสชันที่มีอยู่ไปที่ข้อความ | body: `{ messageID? }` ส่งคืน เซสชัน | | `POST` | `/session/:id/abort` | ยกเลิกเซสชันที่ทำงานอยู่ | ส่งคืน `boolean` | +| `POST` | `/session/:id/share` | แบ่งปันเซสชั่น | ส่งคืน เซสชัน | +| `DELETE` | `/session/:id/share` | ยกเลิกการแชร์เซสชัน | ส่งคืน เซสชัน | | `GET` | `/session/:id/diff` | รับความแตกต่างสำหรับเซสชั่นนี้ | ข้อความค้นหา: `messageID?` ส่งคืน FileDiff[] | | `POST` | `/session/:id/summarize` | สรุปเซสชัน | เนื้อความ: `{ providerID, modelID }` ส่งคืน `boolean` | | `POST` | `/session/:id/revert` | คืนค่าข้อความ | เนื้อความ: `{ messageID, partID? }` ส่งคืน `boolean` | diff --git a/packages/web/src/content/docs/th/share.mdx b/packages/web/src/content/docs/th/share.mdx new file mode 100644 index 000000000000..91bfce44172c --- /dev/null +++ b/packages/web/src/content/docs/th/share.mdx @@ -0,0 +1,128 @@ +--- +title: แบ่งปัน +description: แบ่งปันการสนทนา OpenCode ของคุณ +--- + +คุณลักษณะการแชร์ของ OpenCode ช่วยให้คุณสร้างลิงก์สาธารณะไปยังการสนทนา OpenCode ของคุณ เพื่อให้คุณสามารถทำงานร่วมกับเพื่อนร่วมทีมหรือรับความช่วยเหลือจากผู้อื่นได้ + +:::note +ทุกคนที่มีลิงก์สามารถเข้าถึงการสนทนาที่แชร์ได้แบบสาธารณะ +::: + +--- + +## มันทำงานอย่างไร + +เมื่อคุณแบ่งปันการสนทนา OpenCode: + +1. สร้าง URL สาธารณะที่ไม่ซ้ำสำหรับเซสชันของคุณ +2. ซิงค์ประวัติการสนทนาของคุณกับเซิร์ฟเวอร์ของเรา +3. ทำให้สามารถเข้าถึงการสนทนาผ่านลิงก์ที่แชร์ได้ — `opncd.ai/s/` + +--- + +## การแบ่งปัน + +OpenCode รองรับโหมดการแชร์สามโหมดที่ควบคุมวิธีการแชร์การสนทนา: + +--- + +### Manual (ค่าเริ่มต้น) + +ตามค่าเริ่มต้น OpenCode จะใช้โหมดการแชร์ด้วยตนเอง เซสชันจะไม่ถูกแชร์โดยอัตโนมัติ แต่คุณสามารถแชร์ได้ด้วยตนเองโดยใช้คำสั่ง `/share`: + +``` +/share +``` + +สิ่งนี้จะสร้าง URL ที่ไม่ซ้ำกันซึ่งจะถูกคัดลอกไปยังคลิปบอร์ดของคุณ + +หากต้องการตั้งค่าโหมดแมนนวลอย่างชัดเจนใน [ไฟล์ปรับแต่ง](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +--- + +### แชร์อัตโนมัติ + +คุณสามารถเปิดใช้งานการแบ่งปันอัตโนมัติสำหรับการสนทนาใหม่ทั้งหมดโดยตั้งค่าตัวเลือก `share` เป็น `"auto"` ใน [ไฟล์กำหนดค่า](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "auto" +} +``` + +เมื่อเปิดใช้งานการแชร์อัตโนมัติ ทุกการสนทนาใหม่จะถูกแชร์โดยอัตโนมัติและลิงก์จะถูกสร้างขึ้น + +--- + +### ปิดการใช้งาน + +คุณสามารถปิดการแชร์ทั้งหมดได้โดยตั้งค่าตัวเลือก `share` เป็น `"disabled"` ใน [ไฟล์กำหนดค่า](/docs/config): + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +หากต้องการบังคับใช้สิ่งนี้กับทีมของคุณสำหรับโปรเจ็กต์ที่กำหนด ให้เพิ่มลงใน `opencode.json` ในโปรเจ็กต์ของคุณและตรวจสอบใน Git + +--- + +## ยกเลิกการแชร์ + +หากต้องการหยุดแชร์การสนทนาและลบออกจากการเข้าถึงแบบสาธารณะ: + +``` +/unshare +``` + +การดำเนินการนี้จะลบลิงก์แชร์และลบข้อมูลที่เกี่ยวข้องกับการสนทนา + +--- + +## ความเป็นส่วนตัว + +มีบางสิ่งที่ต้องคำนึงถึงเมื่อแบ่งปันการสนทนา + +--- + +### การเก็บรักษาข้อมูล + +การสนทนาที่แชร์จะยังสามารถเข้าถึงได้จนกว่าคุณจะยกเลิกการแชร์อย่างชัดเจน นี้ +รวมถึง: + +- ประวัติการสนทนาแบบเต็ม +- ทุกข้อความและการตอบกลับ +- ข้อมูลเมตาของเซสชัน + +--- + +### ข้อแนะนำ + +- แชร์การสนทนาที่ไม่มีข้อมูลที่ละเอียดอ่อนเท่านั้น +- ตรวจสอบเนื้อหาการสนทนาก่อนที่จะแบ่งปัน +- ยกเลิกการแชร์การสนทนาเมื่อการทำงานร่วมกันเสร็จสมบูรณ์ +- หลีกเลี่ยงการแบ่งปันการสนทนาด้วยรหัสที่เป็นกรรมสิทธิ์หรือข้อมูลที่เป็นความลับ +- สำหรับโปรเจ็กต์ที่มีความละเอียดอ่อน ให้ปิดการแชร์ทั้งหมด + +--- + +## สำหรับสถานประกอบการ + +สำหรับการปรับใช้ระดับองค์กร คุณสมบัติการแชร์อาจเป็น: + +- **ปิดการใช้งาน** ทั้งหมดเพื่อความปลอดภัย +- **จำกัด** สำหรับผู้ใช้ที่ผ่านการรับรองความถูกต้องผ่าน SSO เท่านั้น +- **โฮสต์เอง** บนโครงสร้างพื้นฐานของคุณเอง + +[เรียนรู้เพิ่มเติม](/docs/enterprise) เกี่ยวกับการใช้ opencode ในองค์กรของคุณ diff --git a/packages/web/src/content/docs/th/tui.mdx b/packages/web/src/content/docs/th/tui.mdx index 4d90dcf151d5..e3c5203ece32 100644 --- a/packages/web/src/content/docs/th/tui.mdx +++ b/packages/web/src/content/docs/th/tui.mdx @@ -218,6 +218,18 @@ How is auth handled in @packages/functions/src/api/index.ts? --- +### share + +แบ่งปันเซสชั่นปัจจุบัน [เรียนรู้เพิ่มเติม](/docs/share) + +```bash frame="none" +/share +``` + +**ผูกปุ่ม:** `ctrl+x s` + +--- + ### themes แสดงรายการธีมที่มีอยู่ @@ -263,6 +275,16 @@ How is auth handled in @packages/functions/src/api/index.ts? --- +### unshare + +ยกเลิกการแชร์เซสชันปัจจุบัน [เรียนรู้เพิ่มเติม](/docs/share#un-sharing) + +```bash frame="none" +/unshare +``` + +--- + ## การตั้งค่าตัวแก้ไข ทั้งคำสั่ง `/editor` และ `/export` ใช้ตัวแก้ไขที่ระบุในตัวแปรสภาพแวดล้อม `EDITOR` ของคุณ diff --git a/packages/web/src/content/docs/tr/cli.mdx b/packages/web/src/content/docs/tr/cli.mdx index 5fbc060307dd..4f28122bd95c 100644 --- a/packages/web/src/content/docs/tr/cli.mdx +++ b/packages/web/src/content/docs/tr/cli.mdx @@ -345,6 +345,7 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | Son oturuma devam et | | {"--session"} | `-s` | Devam edecek oturum kimliği | | {"--fork"} | | Devam ederken oturumu fork'lar (`--continue` veya `--session` ile kullanın) | +| {"--share"} | | Oturumu paylaşın | | {"--model"} | `-m` | provider/model biçiminde kullanılacak model | | {"--agent"} | | Kullanılacak temsilci | | {"--file"} | `-f` | Mesaja eklenecek dosya(lar) | @@ -441,14 +442,17 @@ Bir oturum kimliği sağlamazsanız mevcut oturumlar arasından seçim yapmanız ### import -Bir JSON dosyasından oturum verilerini içe aktarın. +Bir JSON dosyasından veya opencode paylaşımından URL oturum verilerini içe aktarın. ```bash opencode import ``` +Yerel bir dosyadan veya opencode paylaşımından (URL) içe aktarabilirsiniz. + ```bash opencode import session.json +opencode import https://opncd.ai/s/abc123 ``` --- @@ -560,6 +564,7 @@ opencode ortam değişkenleri kullanılarak yapılandırılabilir. | Değişken | Tip | Açıklama | | ------------------------------------- | ------- | --------------------------------------------------------------------------- | +| `OPENCODE_AUTO_SHARE` | boolean | Oturumları otomatik olarak paylaş | | `OPENCODE_GIT_BASH_PATH` | string | Windows'ta yürütülebilir Git Bash'in Yolu | | `OPENCODE_CONFIG` | string | Yapılandırma dosyasının yolu | | `OPENCODE_TUI_CONFIG` | string | TUI yapılandırma dosyasının yolu | diff --git a/packages/web/src/content/docs/tr/commands.mdx b/packages/web/src/content/docs/tr/commands.mdx index 6d2f114c8529..a37e98f4ecce 100644 --- a/packages/web/src/content/docs/tr/commands.mdx +++ b/packages/web/src/content/docs/tr/commands.mdx @@ -9,7 +9,7 @@ description: Tekrarlanan görevler için özel komutlar oluşturulur. /my-command ``` -Özel komutlar, `/init`, `/undo`, `/redo`, `/help` gibi komutlara ek olarak sunulur. [Daha fazla bilgi](/docs/tui#commands). +Özel komutlar, `/init`, `/undo`, `/redo`, `/share`, `/help` gibi komutlara ek olarak sunulur. [Daha fazla bilgi](/docs/tui#commands). --- @@ -314,7 +314,7 @@ Bu **isteğe bağlı** bir yapılandırma seçeneğidir. ## Yerleşik -opencode, `/init`, `/undo`, `/redo`, `/help` gibi çeşitli yerleşik komutlar içerir; [learn more](/docs/tui#commands). +opencode, `/init`, `/undo`, `/redo`, `/share`, `/help` gibi çeşitli yerleşik komutlar içerir; [learn more](/docs/tui#commands). :::note Özel komutlar yerleşik komutları geçersiz kılabilir. diff --git a/packages/web/src/content/docs/tr/config.mdx b/packages/web/src/content/docs/tr/config.mdx index 0326f637ea9c..a30b2ca312cf 100644 --- a/packages/web/src/content/docs/tr/config.mdx +++ b/packages/web/src/content/docs/tr/config.mdx @@ -358,6 +358,27 @@ Bu ayar tüm arayüzler için geçerlidir: TUI, CLI (`opencode run`), masaüstü --- +### Paylaşma + +[share](/docs/share) özelliğini `share` seçeneği aracılığıyla yapılandırabilirsiniz. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +Bu şunları gerektirir: + +- `"manual"` - Komutlar aracılığıyla manuel paylaşıma izin ver (varsayılan) +- `"auto"` - Yeni konuşmaları otomatik olarak paylaş +- `"disabled"` - Paylaşımı tamamen devre dışı bırak + +Varsayılan olarak paylaşım, `/share` komutunu kullanarak konuşmaları açıkça paylaşmanız gereken manuel moda ayarlanmıştır. + +--- + ### Komutlar `command` seçeneği aracılığıyla tekrarlanan görevler için özel komutlar yapılandırabilirsiniz. diff --git a/packages/web/src/content/docs/tr/enterprise.mdx b/packages/web/src/content/docs/tr/enterprise.mdx index edf439279d8d..af2a0360bbbf 100644 --- a/packages/web/src/content/docs/tr/enterprise.mdx +++ b/packages/web/src/content/docs/tr/enterprise.mdx @@ -32,6 +32,27 @@ opencode açık kaynaktır ve herhangi bir kodunuzu veya içerik verilerinizi sa Bu, güvendiğiniz bir sağlayıcıyı veya dahili bir sağlayıcıyı kullandığınız sürece AI ağ geçidi, opencode'u güvenli bir şekilde kullanabilirsiniz. +saklama alanının tek izolasyonuna bağlı `/share` özelliğidir. + +--- + +#### Konuşmaları paylaşma + +Bir kullanıcı `/share` özelliğini etkinleştirirse, görüşme ve onunla ilişkili veriler, bu paylaşım sayfalarını opencode.ai'de barındırmak için kullandığımız hizmete gönderilir. + +Veriler şu anda CDN uç ağımız üzerinden sunuluyor ve kullanıcılarınızın yakınındaki uçta önbelleğe alınıyor. + +Deneme süreniz için bunu devre dışı bırakmanızı öneririz. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +[Paylaşım hakkında daha fazla bilgi](/docs/share). + --- ### Kod sahipliği diff --git a/packages/web/src/content/docs/tr/github.mdx b/packages/web/src/content/docs/tr/github.mdx index 0216c15ea90b..8a5ea203fbbe 100644 --- a/packages/web/src/content/docs/tr/github.mdx +++ b/packages/web/src/content/docs/tr/github.mdx @@ -69,6 +69,7 @@ Veya manuel olarak ayarlayabilirsiniz. ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 + # share: true # github_token: xxxx ``` @@ -82,6 +83,7 @@ Veya manuel olarak ayarlayabilirsiniz. - `model`: opencode ile kullanılacak model. `provider/model` biçimini alır. Bu **gerekli**. - `agent`: Kullanılacak aracı. Birincil ajan olmalı. Yapılandırmadan `default_agent`'ye veya bulunamazsa `"build"`'ye geri döner. +- `share`: opencode hesabının paylaşılıp paylaşılmayacağı. Genel depolar için varsayılan olarak **true** olur. - `prompt`: Varsayılan çalışma geçersiz olduğundan dolayı özel istem. opencode'un işleme biçimini kişiselleştirmek için bunu kullanın. - `token`: Yorum oluşturma, değişiklik yapma ve çekme isteklerini açma gibi işlemleri gerçekleştirmek için isteğe bağlı GitHub erişim belirteci. Varsayılan olarak opencode, opencode GitHub Uygulamasındaki kurulum erişim belirtecini kullanır, bu nedenle taahhütler, yorumlar ve çekme istekleri uygulamadan geliyormuş gibi görünür. diff --git a/packages/web/src/content/docs/tr/index.mdx b/packages/web/src/content/docs/tr/index.mdx index 907362c0596c..696eddc3a106 100644 --- a/packages/web/src/content/docs/tr/index.mdx +++ b/packages/web/src/content/docs/tr/index.mdx @@ -322,6 +322,24 @@ Veya `/redo` komutunu kullanarak değişiklikleri **yeniden yapabilirsiniz**. --- +## Paylaşma + +OpenCode ile yaptığınız görüşmeleri [ekibinizle paylaşabilirsiniz](/docs/share). + +```bash frame="none" +/share +``` + +Bu, mevcut konuşmaya bir bağlantı oluşturacak ve bunu panonuza kopyalayacaktır. + +:::note +Konuşmalar varsayılan olarak paylaşılmaz. +::: + +İşte OpenCode ile bir [örnek konuşma](https://opencode.ai/s/4XP1fce5). + +--- + ## Özelleştirme İşte bu kadar! Artık OpenCode'u kullanma konusunda profesyonelsiniz. diff --git a/packages/web/src/content/docs/tr/keybinds.mdx b/packages/web/src/content/docs/tr/keybinds.mdx index 3e999446e899..bbf8c3bfa9f6 100644 --- a/packages/web/src/content/docs/tr/keybinds.mdx +++ b/packages/web/src/content/docs/tr/keybinds.mdx @@ -24,6 +24,8 @@ opencode, `tui.json` aracılığıyla özelleştirebileceğiniz bir tuş bağlan "session_timeline": "g", "session_fork": "none", "session_rename": "none", + "session_share": "none", + "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/tr/providers.mdx b/packages/web/src/content/docs/tr/providers.mdx index 93c525295825..8c6ef23fee31 100644 --- a/packages/web/src/content/docs/tr/providers.mdx +++ b/packages/web/src/content/docs/tr/providers.mdx @@ -759,12 +759,13 @@ to store token in opencode auth storage. opencode, oturum başlığını oluşturmak gibi bazı AI görevleri için küçük bir model kullanır. Varsayılan olarak Zen tarafından barındırılan gpt-5-nano'yu kullanacak şekilde yapılandırılmıştır. opencode'u kilitlemek için yalnızca kendi GitLab tarafından barındırılan örneğinizi kullanmak için aşağıdakileri ekleyin: -`opencode.json` dosyası. +`opencode.json` dosyası. Ayrıca oturum paylaşımını devre dışı bırakmanız da önerilir. ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5" + "small_model": "gitlab/duo-chat-haiku-4-5", + "share": "disabled" } ``` diff --git a/packages/web/src/content/docs/tr/server.mdx b/packages/web/src/content/docs/tr/server.mdx index f92e017ee6db..e9af6afd05dd 100644 --- a/packages/web/src/content/docs/tr/server.mdx +++ b/packages/web/src/content/docs/tr/server.mdx @@ -156,6 +156,8 @@ opencode sunucusu aşağıdaki API'leri sunar. | `POST` | `/session/:id/init` | Uygulamayı analiz et ve `AGENTS.md` oluştur | gövde: `{ messageID, providerID, modelID }`, `boolean` döndürür | | `POST` | `/session/:id/fork` | Mevcut bir oturumu bir mesajda çatalla | gövde: `{ messageID? }`, Session döndürür | | `POST` | `/session/:id/abort` | Çalışan bir oturumu iptal et | `boolean` döndürür | +| `POST` | `/session/:id/share` | Bir oturumu paylaş | Session döndürür | +| `DELETE` | `/session/:id/share` | Bir oturumun paylaşımını kaldır | Session döndürür | | `GET` | `/session/:id/diff` | Bu oturum için farkı (diff) al | sorgu: `messageID?`, FileDiff[] döndürür | | `POST` | `/session/:id/summarize` | Oturumu özetle | gövde: `{ providerID, modelID }`, `boolean` döndürür | | `POST` | `/session/:id/revert` | Bir mesajı geri al | gövde: `{ messageID, partID? }`, `boolean` döndürür | diff --git a/packages/web/src/content/docs/tr/share.mdx b/packages/web/src/content/docs/tr/share.mdx new file mode 100644 index 000000000000..a0544eb02aa8 --- /dev/null +++ b/packages/web/src/content/docs/tr/share.mdx @@ -0,0 +1,127 @@ +--- +title: Paylasim +description: opencode konusmalarini genel baglantilarla paylasin. +--- + +opencode'un paylasim ozelligi, konusmalariniz icin genel baglantilar olusturmanizi saglar. Boylece ekip arkadaslarinizla birlikte calisabilir veya diger kisilerden yardim alabilirsiniz. + +:::note +Paylasilan konusmalar, baglantiya sahip herkes tarafindan gorulebilir. +::: + +--- + +## Nasil calisir + +Bir konusmayi paylastiginizda opencode: + +1. Oturumunuz icin benzersiz bir genel URL olusturur +2. Konusma gecmisinizi sunucularimiza senkronize eder +3. Konusmayi paylasim baglantisiyla erisilebilir hale getirir - `opncd.ai/s/` + +--- + +## Paylasim + +opencode, konusmalarin nasil paylasilacagini kontrol eden uc farkli paylasim modu sunar: + +--- + +### Manuel (varsayilan) + +Varsayilan olarak opencode manuel paylasim modunu kullanir. Oturumlar otomatik paylasilmaz, ancak `/share` komutuyla manuel olarak paylasabilirsiniz: + +``` +/share +``` + +Bu komut benzersiz bir URL uretir ve panoya kopyalar. + +Manuel modu acikca ayarlamak icin [config dosyaniza](/docs/config) sunu ekleyin: + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +--- + +### Otomatik paylasim + +Tum yeni konusmalar icin otomatik paylasimi acmak isterseniz, [config dosyanizda](/docs/config) `share` degerini `"auto"` yapin: + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "auto" +} +``` + +Otomatik paylasim acikken her yeni konusma otomatik olarak paylasilir ve bir baglanti olusturulur. + +--- + +### Devre disi + +Paylasimi tamamen kapatmak icin [config dosyanizda](/docs/config) `share` degerini `"disabled"` yapin: + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +Bunu belirli bir projede tum ekip icin zorunlu kilmak icin proje icindeki `opencode.json` dosyasina ekleyip Git'e commit edin. + +--- + +## Paylasimi kaldirma + +Bir konusmanin paylasimini durdurmak ve genel erisimi kaldirmak icin: + +``` +/unshare +``` + +Bu komut paylasim baglantisini kaldirir ve konusmaya ait verileri siler. + +--- + +## Gizlilik + +Bir konusmayi paylasirken akilda tutulmasi gereken bazi noktalar vardir. + +--- + +### Veri saklama + +Paylasilan konusmalar, siz acikca paylasimi kaldirana kadar erisilebilir kalir. Buna sunlar dahildir: + +- Tum konusma gecmisi +- Tum mesajlar ve yanitlar +- Oturum metaverisi + +--- + +### Oneriler + +- Hassas bilgi icermeyen konusmalari paylasin. +- Paylasmadan once konusma icerigini gozden gecirin. +- Is birligi bittiginde paylasimi kaldirin. +- Tescilli kod veya gizli veri iceren konusmalari paylasmayin. +- Hassas projelerde paylasimi tamamen kapatin. + +--- + +## Kurumsal kullanim + +Kurumsal kurulumlarda paylasim ozelligi su sekillerde yapilandirilabilir: + +- Guvenlik uyumu icin tamamen **devre disi** birakilabilir +- Sadece SSO ile dogrulanan kullanicilarla **sinirlandirilabilir** +- Kendi altyapinizda **self-hosted** olarak calistirilabilir + +Kurulusunuzda opencode kullanimi icin [daha fazla bilgi alin](/docs/enterprise). diff --git a/packages/web/src/content/docs/tr/tui.mdx b/packages/web/src/content/docs/tr/tui.mdx index cdf9b48e1efc..91611a2de15f 100644 --- a/packages/web/src/content/docs/tr/tui.mdx +++ b/packages/web/src/content/docs/tr/tui.mdx @@ -217,6 +217,18 @@ Oturumları listeler ve aralarında geçiş yapar. _Takma adlar_: `/resume`, `/c --- +### share + +Mevcut oturumu paylaşır. [Daha fazla bilgi](/docs/share). + +```bash frame="none" +/share +``` + +**Kısayol:** `ctrl+x s` + +--- + ### themes Kullanılabilir temaları listeler. @@ -261,6 +273,16 @@ Dahili olarak bu işlem dosya değişikliklerini yönetmek için Git kullanır. --- +### unshare + +Mevcut oturumun paylaşımını kaldırır. [Daha fazla bilgi](/docs/share#un-sharing). + +```bash frame="none" +/unshare +``` + +--- + ## Editör kurulumu Hem `/editor` hem de `/export` komutları, `EDITOR` ortam değişkeninde belirtilen editörü kullanır. diff --git a/packages/web/src/content/docs/tui.mdx b/packages/web/src/content/docs/tui.mdx index 3b04bfcbc807..0351c46cde10 100644 --- a/packages/web/src/content/docs/tui.mdx +++ b/packages/web/src/content/docs/tui.mdx @@ -218,6 +218,16 @@ List and switch between sessions. _Aliases_: `/resume`, `/continue` --- +### share + +Share current session. [Learn more](/docs/share). + +```bash frame="none" +/share +``` + +--- + ### themes List available themes. @@ -263,6 +273,16 @@ be a Git repository**. --- +### unshare + +Unshare current session. [Learn more](/docs/share#un-sharing). + +```bash frame="none" +/unshare +``` + +--- + ### update Check for a new version of OpenCode and install it. If a newer OpenCode 1 release is available, the dialog installs it. If OpenCode 1 is up to date, it offers to upgrade you to OpenCode 2.0 instead. OpenCode never installs updates on its own, so a notice on the home screen tells you when one is available. Choosing **Skip** on an OpenCode 1 update hides the notice until a newer version is released, and choosing **Dismiss** on the OpenCode 2.0 offer hides it for a week. diff --git a/packages/web/src/content/docs/zh-cn/cli.mdx b/packages/web/src/content/docs/zh-cn/cli.mdx index 586e08e47226..46f090bb72ab 100644 --- a/packages/web/src/content/docs/zh-cn/cli.mdx +++ b/packages/web/src/content/docs/zh-cn/cli.mdx @@ -345,6 +345,7 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | 继续上一个会话 | | {"--session"} | `-s` | 要继续的会话 ID | | {"--fork"} | | 继续时分叉会话(与 `--continue` 或 `--session` 配合使用) | +| {"--share"} | | 分享会话 | | {"--model"} | `-m` | 要使用的模型,格式为 provider/model | | {"--agent"} | | 要使用的代理 | | {"--file"} | `-f` | 附加到消息的文件 | @@ -441,14 +442,17 @@ opencode export [sessionID] ### import -从 JSON 文件导入会话数据。 +从 JSON 文件或 OpenCode 分享链接导入会话数据。 ```bash opencode import ``` +您可以从本地文件或 OpenCode 分享链接导入。 + ```bash opencode import session.json +opencode import https://opncd.ai/s/abc123 ``` --- @@ -560,6 +564,7 @@ OpenCode 可以通过环境变量进行配置。 | 变量 | 类型 | 描述 | | ------------------------------------- | ------- | --------------------------------------- | +| `OPENCODE_AUTO_SHARE` | boolean | 自动分享会话 | | `OPENCODE_GIT_BASH_PATH` | string | Windows 上 Git Bash 可执行文件的路径 | | `OPENCODE_CONFIG` | string | 配置文件路径 | | `OPENCODE_TUI_CONFIG` | string | TUI 配置文件路径 | diff --git a/packages/web/src/content/docs/zh-cn/commands.mdx b/packages/web/src/content/docs/zh-cn/commands.mdx index cd9a797a43f7..751a9ff27b18 100644 --- a/packages/web/src/content/docs/zh-cn/commands.mdx +++ b/packages/web/src/content/docs/zh-cn/commands.mdx @@ -9,7 +9,7 @@ description: 为重复任务创建自定义命令。 /my-command ``` -自定义命令是 `/init`、`/undo`、`/redo`、`/help` 等内置命令之外的补充。[了解更多](/docs/tui#commands)。 +自定义命令是 `/init`、`/undo`、`/redo`、`/share`、`/help` 等内置命令之外的补充。[了解更多](/docs/tui#commands)。 --- @@ -313,7 +313,7 @@ Check for performance issues and suggest improvements. ## 内置命令 -opencode 包含多个内置命令,如 `/init`、`/undo`、`/redo`、`/help`;[了解更多](/docs/tui#commands)。 +opencode 包含多个内置命令,如 `/init`、`/undo`、`/redo`、`/share`、`/help`;[了解更多](/docs/tui#commands)。 :::note 自定义命令可以覆盖内置命令。 diff --git a/packages/web/src/content/docs/zh-cn/config.mdx b/packages/web/src/content/docs/zh-cn/config.mdx index 16200b8fc1c7..ffae7966f308 100644 --- a/packages/web/src/content/docs/zh-cn/config.mdx +++ b/packages/web/src/content/docs/zh-cn/config.mdx @@ -354,6 +354,27 @@ Bearer Token(`AWS_BEARER_TOKEN_BEDROCK` 或 `/connect`)优先于基于配置 --- +### 分享 + +您可以通过 `share` 选项配置[分享](/docs/share)功能。 + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +该选项接受: + +- `"manual"` - 允许通过命令手动分享(默认) +- `"auto"` - 自动分享新会话 +- `"disabled"` - 完全禁用分享 + +默认情况下,分享设置为手动模式,您需要使用 `/share` 命令显式分享会话。 + +--- + ### 命令 您可以通过 `command` 选项为重复任务配置自定义命令。 diff --git a/packages/web/src/content/docs/zh-cn/enterprise.mdx b/packages/web/src/content/docs/zh-cn/enterprise.mdx index 60984e9474e3..7a70323c7302 100644 --- a/packages/web/src/content/docs/zh-cn/enterprise.mdx +++ b/packages/web/src/content/docs/zh-cn/enterprise.mdx @@ -31,6 +31,27 @@ OpenCode 是开源的,不会存储您的任何代码或上下文数据,因 这意味着,只要您使用的是信任的提供商或内部 AI 网关,就可以安全地使用 OpenCode。 +唯一需要注意的是可选的 `/share` 功能。 + +--- + +#### 分享对话 + +如果用户启用了 `/share` 功能,对话及其关联数据将被发送到我们用于在 opencode.ai 上托管共享页面的服务。 + +数据目前通过我们 CDN 的边缘网络提供服务,并缓存在靠近用户的边缘节点上。 + +我们建议您在试用期间禁用此功能。 + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +[了解更多关于分享的信息](/docs/share)。 + --- ### 代码所有权 diff --git a/packages/web/src/content/docs/zh-cn/github.mdx b/packages/web/src/content/docs/zh-cn/github.mdx index 18ea50a80b67..01847f193820 100644 --- a/packages/web/src/content/docs/zh-cn/github.mdx +++ b/packages/web/src/content/docs/zh-cn/github.mdx @@ -69,6 +69,7 @@ opencode github install ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 + # share: true # github_token: xxxx ``` @@ -82,6 +83,7 @@ opencode github install - `model`:OpenCode 使用的模型,格式为 `provider/model`。此项为**必填**。 - `agent`:要使用的代理,必须是主代理。如果未找到,则回退到配置中的 `default_agent`,若仍未找到则使用 `"build"`。 +- `share`:是否共享 OpenCode 会话。对于公开仓库,默认为 **true**。 - `prompt`:可选的自定义提示词,用于覆盖默认行为。可通过此项自定义 OpenCode 处理请求的方式。 - `token`:可选的 GitHub 访问 Token,用于执行创建评论、提交变更和创建 Pull Request 等操作。默认情况下,OpenCode 使用 OpenCode GitHub App 的安装访问 Token,因此提交、评论和 Pull Request 会显示为来自该应用。 diff --git a/packages/web/src/content/docs/zh-cn/index.mdx b/packages/web/src/content/docs/zh-cn/index.mdx index 51e5352bb0a8..ed278e2397dc 100644 --- a/packages/web/src/content/docs/zh-cn/index.mdx +++ b/packages/web/src/content/docs/zh-cn/index.mdx @@ -318,6 +318,24 @@ Can you refactor the function in @packages/functions/src/api/index.ts? --- +## 分享 + +你与 OpenCode 的对话可以[与团队分享](/docs/share)。 + +```bash frame="none" +/share +``` + +这会生成当前对话的链接并复制到剪贴板。 + +:::note +对话默认不会被分享。 +::: + +这是一个与 OpenCode 的[示例对话](https://opencode.ai/s/4XP1fce5)。 + +--- + ## 个性化 以上就是全部内容!你现在已经是 OpenCode 的使用高手了。 diff --git a/packages/web/src/content/docs/zh-cn/keybinds.mdx b/packages/web/src/content/docs/zh-cn/keybinds.mdx index e672502e4dae..0989a30f570b 100644 --- a/packages/web/src/content/docs/zh-cn/keybinds.mdx +++ b/packages/web/src/content/docs/zh-cn/keybinds.mdx @@ -24,6 +24,8 @@ OpenCode 提供了一系列快捷键,您可以通过 `tui.json` 进行自定 "session_timeline": "g", "session_fork": "none", "session_rename": "none", + "session_share": "none", + "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/zh-cn/providers.mdx b/packages/web/src/content/docs/zh-cn/providers.mdx index 187f61c78181..9c0a5d8a3bd5 100644 --- a/packages/web/src/content/docs/zh-cn/providers.mdx +++ b/packages/web/src/content/docs/zh-cn/providers.mdx @@ -727,12 +727,13 @@ GitLab Duo 通过 GitLab 的 Anthropic 代理提供具有原生工具调用能 ##### 自托管 GitLab :::note[合规说明] -OpenCode 会使用一个小模型来执行部分 AI 任务,例如生成会话标题。默认情况下使用由 Zen 托管的 gpt-5-nano。如果你需要让 OpenCode 仅使用你自己的 GitLab 托管实例,请在 `opencode.json` 文件中添加以下内容。 +OpenCode 会使用一个小模型来执行部分 AI 任务,例如生成会话标题。默认情况下使用由 Zen 托管的 gpt-5-nano。如果你需要让 OpenCode 仅使用你自己的 GitLab 托管实例,请在 `opencode.json` 文件中添加以下内容。同时建议禁用会话共享。 ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5" + "small_model": "gitlab/duo-chat-haiku-4-5", + "share": "disabled" } ``` diff --git a/packages/web/src/content/docs/zh-cn/server.mdx b/packages/web/src/content/docs/zh-cn/server.mdx index 8de7522b9258..d28342ecc69a 100644 --- a/packages/web/src/content/docs/zh-cn/server.mdx +++ b/packages/web/src/content/docs/zh-cn/server.mdx @@ -155,6 +155,8 @@ opencode 服务器暴露以下 API。 | `POST` | `/session/:id/init` | 分析应用并创建 `AGENTS.md` | 请求体:`{ messageID, providerID, modelID }`,返回 `boolean` | | `POST` | `/session/:id/fork` | 在某条消息处分叉现有会话 | 请求体:`{ messageID? }`,返回 Session | | `POST` | `/session/:id/abort` | 中止正在运行的会话 | 返回 `boolean` | +| `POST` | `/session/:id/share` | 分享会话 | 返回 Session | +| `DELETE` | `/session/:id/share` | 取消分享会话 | 返回 Session | | `GET` | `/session/:id/diff` | 获取本次会话的差异 | 查询参数:`messageID?`,返回 FileDiff[] | | `POST` | `/session/:id/summarize` | 总结会话 | 请求体:`{ providerID, modelID }`,返回 `boolean` | | `POST` | `/session/:id/revert` | 回退消息 | 请求体:`{ messageID, partID? }`,返回 `boolean` | diff --git a/packages/web/src/content/docs/zh-cn/share.mdx b/packages/web/src/content/docs/zh-cn/share.mdx new file mode 100644 index 000000000000..a2b34688e4dc --- /dev/null +++ b/packages/web/src/content/docs/zh-cn/share.mdx @@ -0,0 +1,127 @@ +--- +title: 分享 +description: 分享您的 OpenCode 对话。 +--- + +OpenCode 的分享功能允许您创建指向 OpenCode 对话的公开链接,方便与团队成员协作或向他人寻求帮助。 + +:::note +共享的对话对任何拥有链接的人都是公开可访问的。 +::: + +--- + +## 工作原理 + +当您分享一段对话时,OpenCode 会: + +1. 为您的会话创建一个唯一的公开 URL +2. 将您的对话历史同步到我们的服务器 +3. 通过可分享的链接使对话可访问 — `opncd.ai/s/` + +--- + +## 分享模式 + +OpenCode 支持三种分享模式,用于控制对话的共享方式: + +--- + +### 手动模式(默认) + +默认情况下,OpenCode 使用手动分享模式。会话不会自动共享,但您可以使用 `/share` 命令手动分享: + +``` +/share +``` + +这将生成一个唯一的 URL 并复制到您的剪贴板。 + +要在[配置文件](/docs/config)中显式设置手动模式: + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +--- + +### 自动分享 + +您可以在[配置文件](/docs/config)中将 `share` 选项设置为 `"auto"`,为所有新对话启用自动分享: + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "auto" +} +``` + +启用自动分享后,每个新对话都会自动共享并生成链接。 + +--- + +### 禁用 + +您可以在[配置文件](/docs/config)中将 `share` 选项设置为 `"disabled"`,完全禁用分享功能: + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +要在团队中对特定项目强制执行此设置,请将其添加到项目的 `opencode.json` 文件中并提交到 Git。 + +--- + +## 取消分享 + +要停止分享对话并将其从公开访问中移除: + +``` +/unshare +``` + +这将移除分享链接并删除与该对话相关的数据。 + +--- + +## 隐私 + +分享对话时需要注意以下几点。 + +--- + +### 数据留存 + +共享的对话在您明确取消分享之前将一直保持可访问状态。这包括: + +- 完整的对话历史 +- 所有消息和回复 +- 会话元数据 + +--- + +### 建议 + +- 仅分享不包含敏感信息的对话。 +- 分享前请检查对话内容。 +- 协作完成后请取消分享。 +- 避免分享包含专有代码或机密数据的对话。 +- 对于敏感项目,请完全禁用分享功能。 + +--- + +## 企业版 + +对于企业部署,分享功能可以: + +- 出于安全合规考虑**完全禁用** +- **限制**为仅通过 SSO 身份验证的用户可用 +- **自托管**在您自己的基础设施上 + +[了解更多](/docs/enterprise)关于在您的组织中使用 OpenCode 的信息。 diff --git a/packages/web/src/content/docs/zh-cn/tui.mdx b/packages/web/src/content/docs/zh-cn/tui.mdx index 4aecee161b29..8b0a4085b004 100644 --- a/packages/web/src/content/docs/zh-cn/tui.mdx +++ b/packages/web/src/content/docs/zh-cn/tui.mdx @@ -217,6 +217,18 @@ How is auth handled in @packages/functions/src/api/index.ts? --- +### share + +分享当前会话。[了解更多](/docs/share)。 + +```bash frame="none" +/share +``` + +**快捷键:** `ctrl+x s` + +--- + ### themes 列出可用主题。 @@ -261,6 +273,16 @@ How is auth handled in @packages/functions/src/api/index.ts? --- +### unshare + +取消分享当前会话。[了解更多](/docs/share#un-sharing)。 + +```bash frame="none" +/unshare +``` + +--- + ## 编辑器设置 `/editor` 和 `/export` 命令都使用 `EDITOR` 环境变量中指定的编辑器。 diff --git a/packages/web/src/content/docs/zh-tw/cli.mdx b/packages/web/src/content/docs/zh-tw/cli.mdx index 04005516866c..25e7bce88e41 100644 --- a/packages/web/src/content/docs/zh-tw/cli.mdx +++ b/packages/web/src/content/docs/zh-tw/cli.mdx @@ -345,6 +345,7 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" | {"--continue"} | `-c` | 繼續上一個工作階段 | | {"--session"} | `-s` | 要繼續的工作階段 ID | | {"--fork"} | | 繼續時分岔工作階段(與 `--continue` 或 `--session` 搭配使用) | +| {"--share"} | | 分享工作階段 | | {"--model"} | `-m` | 要使用的模型,格式為 provider/model | | {"--agent"} | | 要使用的代理 | | {"--file"} | `-f` | 附加到訊息的檔案 | @@ -441,14 +442,17 @@ opencode export [sessionID] ### import -從 JSON 檔案匯入工作階段資料。 +從 JSON 檔案或 OpenCode 分享連結匯入工作階段資料。 ```bash opencode import ``` +您可以從本地檔案或 OpenCode 分享連結匯入。 + ```bash opencode import session.json +opencode import https://opncd.ai/s/abc123 ``` --- @@ -560,6 +564,7 @@ OpenCode 可以透過環境變數進行設定。 | 變數 | 類型 | 說明 | | ------------------------------------- | ------- | ------------------------------------------- | +| `OPENCODE_AUTO_SHARE` | boolean | 自動分享工作階段 | | `OPENCODE_GIT_BASH_PATH` | string | Windows 上 Git Bash 可執行檔的路徑 | | `OPENCODE_CONFIG` | string | 設定檔路徑 | | `OPENCODE_TUI_CONFIG` | string | TUI 設定檔路徑 | diff --git a/packages/web/src/content/docs/zh-tw/commands.mdx b/packages/web/src/content/docs/zh-tw/commands.mdx index 33f88cad08e8..ede5a7081ddc 100644 --- a/packages/web/src/content/docs/zh-tw/commands.mdx +++ b/packages/web/src/content/docs/zh-tw/commands.mdx @@ -9,7 +9,7 @@ description: 為重複任務建立自訂指令。 /my-command ``` -自訂指令是 `/init`、`/undo`、`/redo`、`/help` 等內建指令之外的補充。[了解更多](/docs/tui#commands)。 +自訂指令是 `/init`、`/undo`、`/redo`、`/share`、`/help` 等內建指令之外的補充。[了解更多](/docs/tui#commands)。 --- @@ -313,7 +313,7 @@ Check for performance issues and suggest improvements. ## 內建指令 -OpenCode 包含多個內建指令,如 `/init`、`/undo`、`/redo`、`/help`;[了解更多](/docs/tui#commands)。 +OpenCode 包含多個內建指令,如 `/init`、`/undo`、`/redo`、`/share`、`/help`;[了解更多](/docs/tui#commands)。 :::note 自訂指令可以覆寫內建指令。 diff --git a/packages/web/src/content/docs/zh-tw/config.mdx b/packages/web/src/content/docs/zh-tw/config.mdx index bccb2d4bebba..6a670f2cf851 100644 --- a/packages/web/src/content/docs/zh-tw/config.mdx +++ b/packages/web/src/content/docs/zh-tw/config.mdx @@ -358,6 +358,27 @@ Bearer Token(`AWS_BEARER_TOKEN_BEDROCK` 或 `/connect`)優先於基於設定 --- +### 分享 + +您可以透過 `share` 選項設定[分享](/docs/share)功能。 + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +該選項接受: + +- `"manual"` - 允許透過指令手動分享(預設) +- `"auto"` - 自動分享新工作階段 +- `"disabled"` - 完全停用分享 + +預設情況下,分享設定為手動模式,您需要使用 `/share` 指令明確分享工作階段。 + +--- + ### 指令 您可以透過 `command` 選項為重複任務設定自訂指令。 diff --git a/packages/web/src/content/docs/zh-tw/enterprise.mdx b/packages/web/src/content/docs/zh-tw/enterprise.mdx index ec97bef2a346..386cae21c55c 100644 --- a/packages/web/src/content/docs/zh-tw/enterprise.mdx +++ b/packages/web/src/content/docs/zh-tw/enterprise.mdx @@ -31,6 +31,27 @@ OpenCode 是開源的,不會儲存您的任何程式碼或上下文資料, 這意味著,只要您使用的是信任的供應商或內部 AI 閘道,就可以安全地使用 OpenCode。 +唯一需要注意的是可選的 `/share` 功能。 + +--- + +#### 分享對話 + +如果使用者啟用了 `/share` 功能,對話及其關聯資料將被傳送到我們用於在 opencode.ai 上託管共享頁面的服務。 + +資料目前透過我們 CDN 的邊緣網路提供服務,並快取在靠近使用者的邊緣節點上。 + +我們建議您在試用期間停用此功能。 + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +[了解更多關於分享的資訊](/docs/share)。 + --- ### 程式碼所有權 diff --git a/packages/web/src/content/docs/zh-tw/github.mdx b/packages/web/src/content/docs/zh-tw/github.mdx index 88f34f5cd9fa..f12de2907755 100644 --- a/packages/web/src/content/docs/zh-tw/github.mdx +++ b/packages/web/src/content/docs/zh-tw/github.mdx @@ -69,6 +69,7 @@ opencode github install ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 + # share: true # github_token: xxxx ``` @@ -82,6 +83,7 @@ opencode github install - `model`:OpenCode 使用的模型,格式為 `provider/model`。此項為**必填**。 - `agent`:要使用的代理,必須是主代理。如果未找到,則回退到設定中的 `default_agent`,若仍未找到則使用 `"build"`。 +- `share`:是否共享 OpenCode 工作階段。對於公開儲存庫,預設為 **true**。 - `prompt`:可選的自訂提示詞,用於覆寫預設行為。可透過此項自訂 OpenCode 處理請求的方式。 - `token`:可選的 GitHub 存取權杖,用於執行建立評論、提交變更和建立 Pull Request 等操作。預設情況下,OpenCode 使用 OpenCode GitHub App 的安裝存取權杖,因此提交、評論和 Pull Request 會顯示為來自該應用程式。 diff --git a/packages/web/src/content/docs/zh-tw/index.mdx b/packages/web/src/content/docs/zh-tw/index.mdx index c18fa443c524..89649c3dae1a 100644 --- a/packages/web/src/content/docs/zh-tw/index.mdx +++ b/packages/web/src/content/docs/zh-tw/index.mdx @@ -318,6 +318,24 @@ Can you refactor the function in @packages/functions/src/api/index.ts? --- +## 分享 + +您與 OpenCode 的對話可以[與團隊分享](/docs/share)。 + +```bash frame="none" +/share +``` + +這會生成當前對話的連結並複製到剪貼簿。 + +:::note +對話預設不會被分享。 +::: + +這是一個與 OpenCode 的[範例對話](https://opencode.ai/s/4XP1fce5)。 + +--- + ## 個人化 以上就是全部內容!您現在已經是 OpenCode 的使用高手了。 diff --git a/packages/web/src/content/docs/zh-tw/keybinds.mdx b/packages/web/src/content/docs/zh-tw/keybinds.mdx index 68d54540eaae..61d902141a93 100644 --- a/packages/web/src/content/docs/zh-tw/keybinds.mdx +++ b/packages/web/src/content/docs/zh-tw/keybinds.mdx @@ -24,6 +24,8 @@ OpenCode 提供了一系列快捷鍵,您可以透過 `tui.json` 進行自訂 "session_timeline": "g", "session_fork": "none", "session_rename": "none", + "session_share": "none", + "session_unshare": "none", "session_interrupt": "escape", "session_compact": "c", "session_child_first": "down", diff --git a/packages/web/src/content/docs/zh-tw/providers.mdx b/packages/web/src/content/docs/zh-tw/providers.mdx index 4639ca596437..d4e55ed712e2 100644 --- a/packages/web/src/content/docs/zh-tw/providers.mdx +++ b/packages/web/src/content/docs/zh-tw/providers.mdx @@ -748,12 +748,13 @@ GitLab Duo 透過 GitLab 的 Anthropic 代理提供具有原生工具呼叫能 ##### 自架 GitLab :::note[合規說明] -OpenCode 會使用一個小模型來執行部分 AI 任務,例如產生工作階段標題。預設情況下使用由 Zen 託管的 gpt-5-nano。如果您需要讓 OpenCode 僅使用您自己的 GitLab 託管實例,請在 `opencode.json` 檔案中新增以下內容。 +OpenCode 會使用一個小模型來執行部分 AI 任務,例如產生工作階段標題。預設情況下使用由 Zen 託管的 gpt-5-nano。如果您需要讓 OpenCode 僅使用您自己的 GitLab 託管實例,請在 `opencode.json` 檔案中新增以下內容。同時建議停用工作階段分享。 ```json { "$schema": "https://opencode.ai/config.json", - "small_model": "gitlab/duo-chat-haiku-4-5" + "small_model": "gitlab/duo-chat-haiku-4-5", + "share": "disabled" } ``` diff --git a/packages/web/src/content/docs/zh-tw/server.mdx b/packages/web/src/content/docs/zh-tw/server.mdx index d59db0fa6535..411bc0eb7264 100644 --- a/packages/web/src/content/docs/zh-tw/server.mdx +++ b/packages/web/src/content/docs/zh-tw/server.mdx @@ -155,6 +155,8 @@ opencode 伺服器暴露以下 API。 | `POST` | `/session/:id/init` | 分析應用程式並建立 `AGENTS.md` | 請求主體:`{ messageID, providerID, modelID }`,回傳 `boolean` | | `POST` | `/session/:id/fork` | 在某條訊息處分岔現有工作階段 | 請求主體:`{ messageID? }`,回傳 Session | | `POST` | `/session/:id/abort` | 中止正在執行的工作階段 | 回傳 `boolean` | +| `POST` | `/session/:id/share` | 分享工作階段 | 回傳 Session | +| `DELETE` | `/session/:id/share` | 取消分享工作階段 | 回傳 Session | | `GET` | `/session/:id/diff` | 取得本次工作階段的差異 | 查詢參數:`messageID?`,回傳 FileDiff[] | | `POST` | `/session/:id/summarize` | 摘要工作階段 | 請求主體:`{ providerID, modelID }`,回傳 `boolean` | | `POST` | `/session/:id/revert` | 還原訊息 | 請求主體:`{ messageID, partID? }`,回傳 `boolean` | diff --git a/packages/web/src/content/docs/zh-tw/share.mdx b/packages/web/src/content/docs/zh-tw/share.mdx new file mode 100644 index 000000000000..58365035b640 --- /dev/null +++ b/packages/web/src/content/docs/zh-tw/share.mdx @@ -0,0 +1,127 @@ +--- +title: 分享 +description: 分享您的 OpenCode 對話。 +--- + +OpenCode 的分享功能允許您建立指向 OpenCode 對話的公開連結,方便與團隊成員協作或向他人尋求幫助。 + +:::note +共享的對話對任何擁有連結的人都是公開可存取的。 +::: + +--- + +## 工作原理 + +當您分享一段對話時,OpenCode 會: + +1. 為您的工作階段建立一個唯一的公開 URL +2. 將您的對話歷史同步到我們的伺服器 +3. 透過可分享的連結使對話可存取 — `opncd.ai/s/` + +--- + +## 分享模式 + +OpenCode 支援三種分享模式,用於控制對話的共享方式: + +--- + +### 手動模式(預設) + +預設情況下,OpenCode 使用手動分享模式。工作階段不會自動共享,但您可以使用 `/share` 指令手動分享: + +``` +/share +``` + +這將產生一個唯一的 URL 並複製到您的剪貼簿。 + +要在[設定檔](/docs/config)中明確設定手動模式: + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "manual" +} +``` + +--- + +### 自動分享 + +您可以在[設定檔](/docs/config)中將 `share` 選項設定為 `"auto"`,為所有新對話啟用自動分享: + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "auto" +} +``` + +啟用自動分享後,每個新對話都會自動共享並產生連結。 + +--- + +### 停用 + +您可以在[設定檔](/docs/config)中將 `share` 選項設定為 `"disabled"`,完全停用分享功能: + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "share": "disabled" +} +``` + +要在團隊中對特定專案強制執行此設定,請將其新增到專案的 `opencode.json` 檔案中並提交到 Git。 + +--- + +## 取消分享 + +要停止分享對話並將其從公開存取中移除: + +``` +/unshare +``` + +這將移除分享連結並刪除與該對話相關的資料。 + +--- + +## 隱私 + +分享對話時需要注意以下幾點。 + +--- + +### 資料保留 + +共享的對話在您明確取消分享之前將一直保持可存取狀態。這包括: + +- 完整的對話歷史 +- 所有訊息和回覆 +- 工作階段中繼資料 + +--- + +### 建議 + +- 僅分享不包含敏感資訊的對話。 +- 分享前請檢查對話內容。 +- 協作完成後請取消分享。 +- 避免分享包含專有程式碼或機密資料的對話。 +- 對於敏感專案,請完全停用分享功能。 + +--- + +## 企業版 + +對於企業部署,分享功能可以: + +- 出於安全合規考量**完全停用** +- **限制**為僅通過 SSO 身分驗證的使用者可用 +- **自行託管**在您自己的基礎架構上 + +[了解更多](/docs/enterprise)關於在您的組織中使用 OpenCode 的資訊。 diff --git a/packages/web/src/content/docs/zh-tw/tui.mdx b/packages/web/src/content/docs/zh-tw/tui.mdx index fcce892d25e9..f2f7b09cc5f1 100644 --- a/packages/web/src/content/docs/zh-tw/tui.mdx +++ b/packages/web/src/content/docs/zh-tw/tui.mdx @@ -217,6 +217,18 @@ How is auth handled in @packages/functions/src/api/index.ts? --- +### share + +分享當前工作階段。[了解更多](/docs/share)。 + +```bash frame="none" +/share +``` + +**快速鍵:** `ctrl+x s` + +--- + ### themes 列出可用主題。 @@ -261,6 +273,16 @@ How is auth handled in @packages/functions/src/api/index.ts? --- +### unshare + +取消分享當前工作階段。[了解更多](/docs/share#un-sharing)。 + +```bash frame="none" +/unshare +``` + +--- + ## 編輯器設定 `/editor` 和 `/export` 指令都使用 `EDITOR` 環境變數中指定的編輯器。