Compare commits

...

14 Commits

Author SHA1 Message Date
Ryan Vogel
fb1ae386ba feat: update to not post comment on workflows when no duplicates found 2026-02-11 20:05:02 -05:00
Adam
aea68c386a fix(docs): locale translations for nav elements and headings 2026-02-11 18:51:50 -06:00
Adam
8eea53a41e docs(ar): second-pass localization cleanup 2026-02-11 18:51:50 -06:00
Aiden Cline
3befd0c6c5 tweak: use promise all for mcp listTools calls (#13229) 2026-02-12 00:19:53 +00:00
opencode-agent[bot]
8577eb8ec9 chore: update nix node_modules hashes 2026-02-11 23:39:24 +00:00
Luke Parker
c856f875a1 chore: upgrade bun to 1.3.9 (#13223) 2026-02-12 09:27:58 +10:00
opencode-agent[bot]
264dd213f9 chore: update nix node_modules hashes 2026-02-11 23:22:01 +00:00
Sebastian
125727d09c upgrade opentui to 0.1.79 (#13036) 2026-02-12 00:13:11 +01:00
Aiden Cline
8c7b35ad05 tweak: compaction check (#13214) 2026-02-11 21:43:04 +00:00
github-actions[bot]
e2a33f75e1 Update VOUCHED list
https://github.com/anomalyco/opencode/issues/13204#issuecomment-3887062726
2026-02-11 20:40:39 +00:00
Aiden Cline
006d673ed2 tweak: make read tool offset 1 indexed instead of 0 to avoid confusion that could be caused by line #s being 1 based (#13198) 2026-02-11 14:02:30 -06:00
Aiden Cline
6b4d617df0 feat: adjust read tool so that it can handle dirs too (#13090) 2026-02-11 13:23:00 -06:00
Dax Raad
e3471526f4 add square logo variants to brand page 2026-02-11 13:47:54 -05:00
Adam
6b30e0b752 chore: update docs sync workflow 2026-02-11 11:47:32 -06:00
519 changed files with 13289 additions and 11324 deletions

1
.github/VOUCHED.td vendored
View File

@@ -8,6 +8,7 @@
# - Denounce with minus prefix: -username or -platform:username.
# - Optional details after a space following the handle.
adamdotdevin
-florianleibert
fwang
iamdavidhill
jayair

View File

@@ -64,10 +64,13 @@ jobs:
Requirements:
1. Update all relevant locale docs under packages/web/src/content/docs/<locale>/ so they reflect these English page changes.
2. Preserve frontmatter keys, internal links, code blocks, and existing locale-specific metadata unless the English change requires an update.
3. Keep locale docs structure aligned with their corresponding English pages.
4. Do not modify English source docs in packages/web/src/content/docs/*.mdx.
5. If no locale updates are needed, make no changes.
2. You MUST use the Task tool for translation work and launch subagents with subagent_type `translator` (defined in .opencode/agent/translator.md).
3. Do not translate directly in the primary agent. Use translator subagent output as the source for locale text updates.
4. Run translator subagent Task calls in parallel whenever file/locale translation work is independent.
5. Preserve frontmatter keys, internal links, code blocks, and existing locale-specific metadata unless the English change requires an update.
6. Keep locale docs structure aligned with their corresponding English pages.
7. Do not modify English source docs in packages/web/src/content/docs/*.mdx.
8. If no locale updates are needed, make no changes.
- name: Commit and push locale docs updates
if: steps.changes.outputs.has_changes == 'true'

View File

@@ -60,9 +60,11 @@ jobs:
run: |
COMMENT=$(bun script/duplicate-pr.ts -f pr_info.txt "Check the attached file for PR details and search for duplicates")
gh pr comment "$PR_NUMBER" --body "_The following comment was made by an LLM, it may be inaccurate:_
if [ "$COMMENT" != "No duplicate PRs found" ]; then
gh pr comment "$PR_NUMBER" --body "_The following comment was made by an LLM, it may be inaccurate:_
$COMMENT"
fi
add-contributor-label:
runs-on: ubuntu-latest

View File

@@ -32,6 +32,9 @@ description: Use this when you are working on file operations like reading, writ
- Decode tool stderr with `Bun.readableStreamToText`.
- For large writes, use `Bun.write(Bun.file(path), text)`.
NOTE: Bun.file(...).exists() will return `false` if the value is a directory.
Use Filesystem.exists(...) instead if path can be file or directory
## Quick checklist
- Use Bun APIs first.

View File

@@ -301,8 +301,8 @@
"@opencode-ai/sdk": "workspace:*",
"@opencode-ai/util": "workspace:*",
"@openrouter/ai-sdk-provider": "1.5.4",
"@opentui/core": "0.1.77",
"@opentui/solid": "0.1.77",
"@opentui/core": "0.1.79",
"@opentui/solid": "0.1.79",
"@parcel/watcher": "2.5.1",
"@pierre/diffs": "catalog:",
"@solid-primitives/event-bus": "1.1.2",
@@ -522,7 +522,7 @@
"@tailwindcss/vite": "4.1.11",
"@tsconfig/bun": "1.0.9",
"@tsconfig/node22": "22.0.2",
"@types/bun": "1.3.8",
"@types/bun": "1.3.9",
"@types/luxon": "3.7.1",
"@types/node": "22.13.9",
"@types/semver": "7.7.1",
@@ -1279,21 +1279,21 @@
"@opentelemetry/api": ["@opentelemetry/api@1.9.0", "", {}, "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg=="],
"@opentui/core": ["@opentui/core@0.1.77", "", { "dependencies": { "bun-ffi-structs": "0.1.2", "diff": "8.0.2", "jimp": "1.6.0", "marked": "17.0.1", "yoga-layout": "3.2.1" }, "optionalDependencies": { "@dimforge/rapier2d-simd-compat": "^0.17.3", "@opentui/core-darwin-arm64": "0.1.77", "@opentui/core-darwin-x64": "0.1.77", "@opentui/core-linux-arm64": "0.1.77", "@opentui/core-linux-x64": "0.1.77", "@opentui/core-win32-arm64": "0.1.77", "@opentui/core-win32-x64": "0.1.77", "bun-webgpu": "0.1.4", "planck": "^1.4.2", "three": "0.177.0" }, "peerDependencies": { "web-tree-sitter": "0.25.10" } }, "sha512-lE3kabm6jdqK3AuBq+O0zZrXdxt6ulmibTc57sf+AsPny6cmwYHnWI4wD6hcreFiYoQVNVvdiJchVgPtowMlEg=="],
"@opentui/core": ["@opentui/core@0.1.79", "", { "dependencies": { "bun-ffi-structs": "0.1.2", "diff": "8.0.2", "jimp": "1.6.0", "marked": "17.0.1", "yoga-layout": "3.2.1" }, "optionalDependencies": { "@dimforge/rapier2d-simd-compat": "^0.17.3", "@opentui/core-darwin-arm64": "0.1.79", "@opentui/core-darwin-x64": "0.1.79", "@opentui/core-linux-arm64": "0.1.79", "@opentui/core-linux-x64": "0.1.79", "@opentui/core-win32-arm64": "0.1.79", "@opentui/core-win32-x64": "0.1.79", "bun-webgpu": "0.1.4", "planck": "^1.4.2", "three": "0.177.0" }, "peerDependencies": { "web-tree-sitter": "0.25.10" } }, "sha512-job/t09w8A/aHb/WuaVbimu5fIffyN+PCuVO5cYhXEg/NkOkC/WdFi80B8bwncR/DBPyLAh6oJ3EG86grOVo5g=="],
"@opentui/core-darwin-arm64": ["@opentui/core-darwin-arm64@0.1.77", "", { "os": "darwin", "cpu": "arm64" }, "sha512-SNqmygCMEsPCW7xWjzCZ5caBf36xaprwVdAnFijGDOuIzLA4iaDa6um8cj3TJh7awenN3NTRsuRc7OuH42UH+g=="],
"@opentui/core-darwin-arm64": ["@opentui/core-darwin-arm64@0.1.79", "", { "os": "darwin", "cpu": "arm64" }, "sha512-kgsGniV+DM5G1P3GideyJhvfnthNKcVCAm2mPTIr9InQ3L0gS/Feh7zgwOS/jxDvdlQbOWGKMk2Z3JApeC1MLw=="],
"@opentui/core-darwin-x64": ["@opentui/core-darwin-x64@0.1.77", "", { "os": "darwin", "cpu": "x64" }, "sha512-/8fsa03swEHTQt/9NrGm98kemlU+VuTURI/OFZiH53vPDRrOYIYoa4Jyga/H7ZMcG+iFhkq97zIe+0Kw95LGmA=="],
"@opentui/core-darwin-x64": ["@opentui/core-darwin-x64@0.1.79", "", { "os": "darwin", "cpu": "x64" }, "sha512-OpyAmFqAAKQ2CeFmf/oLWcNksmP6Ryx/3R5dbKXThOudMCeQvfvInJTRbc2jTn9VFpf+Qj4BgHkJg1h90tf/EA=="],
"@opentui/core-linux-arm64": ["@opentui/core-linux-arm64@0.1.77", "", { "os": "linux", "cpu": "arm64" }, "sha512-QfUXZJPc69OvqoMu+AlLgjqXrwu4IeqcBuUWYMuH8nPTeLsVUc3CBbXdV2lv9UDxWzxzrxdS4ALPaxvmEv9lsQ=="],
"@opentui/core-linux-arm64": ["@opentui/core-linux-arm64@0.1.79", "", { "os": "linux", "cpu": "arm64" }, "sha512-DCa5YaknS4bWhFt8TMEGH+qmTinyzuY8hoZbO4crtWXAxofPP7Pas76Cwxlvis/PyLffA+pPxAl1l5sUZpsvqw=="],
"@opentui/core-linux-x64": ["@opentui/core-linux-x64@0.1.77", "", { "os": "linux", "cpu": "x64" }, "sha512-Kmfx0yUKnPj67AoXYIgL7qQo0QVsUG5Iw8aRtv6XFzXqa5SzBPhaKkKZ9yHPjOmTalZquUs+9zcCRNKpYYuL7A=="],
"@opentui/core-linux-x64": ["@opentui/core-linux-x64@0.1.79", "", { "os": "linux", "cpu": "x64" }, "sha512-V6xjvFfHh3NGvsuuDae1KHPRZXHMEE8XL0A/GM6v4I4OCC23kDmkK60Vn6OptQwAzwwbz0X0IX+Ut/GQU9qGgA=="],
"@opentui/core-win32-arm64": ["@opentui/core-win32-arm64@0.1.77", "", { "os": "win32", "cpu": "arm64" }, "sha512-HGTscPXc7gdd23Nh1DbzUNjog1I+5IZp95XPtLftGTpjrWs60VcetXcyJqK2rQcXNxewJK5yDyaa5QyMjfEhCQ=="],
"@opentui/core-win32-arm64": ["@opentui/core-win32-arm64@0.1.79", "", { "os": "win32", "cpu": "arm64" }, "sha512-sPRKnVzOdT5szI59tte7pxwwkYA+07EQN+6miFAvkFuiLmRUngONUD8HVjL7nCnxcPFqxaU4Rvl1y40ST86g8g=="],
"@opentui/core-win32-x64": ["@opentui/core-win32-x64@0.1.77", "", { "os": "win32", "cpu": "x64" }, "sha512-c7GijsbvVgnlzd2murIbwuwrGbcv76KdUw6WlVv7a0vex50z6xJCpv1keGzpe0QfxrZ/6fFEFX7JnwGLno0wjA=="],
"@opentui/core-win32-x64": ["@opentui/core-win32-x64@0.1.79", "", { "os": "win32", "cpu": "x64" }, "sha512-vmQcFTvKf9fqajnDtgU6/uAsiTGwx8//khqHVBmiTEXUsiT792Ki9l8sgNughbuldqG5iZOiF6IaAWU1H67UpA=="],
"@opentui/solid": ["@opentui/solid@0.1.77", "", { "dependencies": { "@babel/core": "7.28.0", "@babel/preset-typescript": "7.27.1", "@opentui/core": "0.1.77", "babel-plugin-module-resolver": "5.0.2", "babel-preset-solid": "1.9.9", "s-js": "^0.4.9" }, "peerDependencies": { "solid-js": "1.9.9" } }, "sha512-JY+hUbXVV+XCk6bC8dvcwawWCEmC3Gid6GDs23AJWBgHZ3TU2kRKrgwTdltm45DOq2cZXrYCt690/yE8bP+Gxg=="],
"@opentui/solid": ["@opentui/solid@0.1.79", "", { "dependencies": { "@babel/core": "7.28.0", "@babel/preset-typescript": "7.27.1", "@opentui/core": "0.1.79", "babel-plugin-module-resolver": "5.0.2", "babel-preset-solid": "1.9.9", "s-js": "^0.4.9" }, "peerDependencies": { "solid-js": "1.9.9" } }, "sha512-c5+0jexKxb8GwRDDkQ/U6isZZqClAzHccXmYiLYmSnqdoQQp2lIGHLartL+K8lfIQrsKClzP2ZHumN6nexRfRg=="],
"@oslojs/asn1": ["@oslojs/asn1@1.0.0", "", { "dependencies": { "@oslojs/binary": "1.0.0" } }, "sha512-zw/wn0sj0j0QKbIXfIlnEcTviaCzYOY3V5rAyjR6YtOByFtJiT574+8p9Wlach0lZH9fddD4yb9laEAIl4vXQA=="],
@@ -1853,7 +1853,7 @@
"@types/braces": ["@types/braces@3.0.5", "", {}, "sha512-SQFof9H+LXeWNz8wDe7oN5zu7ket0qwMu5vZubW4GCJ8Kkeh6nBWUz87+KTz/G3Kqsrp0j/W253XJb3KMEeg3w=="],
"@types/bun": ["@types/bun@1.3.8", "", { "dependencies": { "bun-types": "1.3.8" } }, "sha512-3LvWJ2q5GerAXYxO2mffLTqOzEu5qnhEAlh48Vnu8WQfnmSwbgagjGZV6BoHKJztENYEDn6QmVd949W4uESRJA=="],
"@types/bun": ["@types/bun@1.3.9", "", { "dependencies": { "bun-types": "1.3.9" } }, "sha512-KQ571yULOdWJiMH+RIWIOZ7B2RXQGpL1YQrBtLIV3FqDcCu6FsbFUBwhdKUlCKUpS3PJDsHlJ1QKlpxoVR+xtw=="],
"@types/chai": ["@types/chai@5.2.3", "", { "dependencies": { "@types/deep-eql": "*", "assertion-error": "^2.0.1" } }, "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA=="],
@@ -2181,7 +2181,7 @@
"bun-pty": ["bun-pty@0.4.8", "", {}, "sha512-rO70Mrbr13+jxHHHu2YBkk2pNqrJE5cJn29WE++PUr+GFA0hq/VgtQPZANJ8dJo6d7XImvBk37Innt8GM7O28w=="],
"bun-types": ["bun-types@1.3.8", "", { "dependencies": { "@types/node": "*" } }, "sha512-fL99nxdOWvV4LqjmC+8Q9kW3M4QTtTR1eePs94v5ctGqU8OeceWrSUaRw3JYb7tU3FkMIAjkueehrHPPPGKi5Q=="],
"bun-types": ["bun-types@1.3.9", "", { "dependencies": { "@types/node": "*" } }, "sha512-+UBWWOakIP4Tswh0Bt0QD0alpTY8cb5hvgiYeWCMet9YukHbzuruIEeXC2D7nMJPB12kbh8C7XJykSexEqGKJg=="],
"bun-webgpu": ["bun-webgpu@0.1.4", "", { "dependencies": { "@webgpu/types": "^0.1.60" }, "optionalDependencies": { "bun-webgpu-darwin-arm64": "^0.1.4", "bun-webgpu-darwin-x64": "^0.1.4", "bun-webgpu-linux-x64": "^0.1.4", "bun-webgpu-win32-x64": "^0.1.4" } }, "sha512-Kw+HoXl1PMWJTh9wvh63SSRofTA8vYBFCw0XEP1V1fFdQEDhI8Sgf73sdndE/oDpN/7CMx0Yv/q8FCvO39ROMQ=="],

View File

@@ -1,8 +1,8 @@
{
"nodeModules": {
"x86_64-linux": "sha256-cvRBvHRuunNjF07c4GVHl5rRgoTn1qfI/HdJWtOV63M=",
"aarch64-linux": "sha256-DJUI4pMZ7wQTnyOiuDHALmZz7FZtrTbzRzCuNOShmWE=",
"aarch64-darwin": "sha256-JnkqDwuC7lNsjafV+jOGfvs8K1xC8rk5CTOW+spjiCA=",
"x86_64-darwin": "sha256-GBeTqq2vDn/mXplYNglrAT2xajjFVzB4ATHnMS0j7z4="
"x86_64-linux": "sha256-pp2gb4nxiIT3VltB6Xli2wZPH32JfnMsI+BbihyU1+E=",
"aarch64-linux": "sha256-hJwxhBICZz/pbIxQsF/sIpZTlFIgLpcAyF44O8wxMdU=",
"aarch64-darwin": "sha256-DPONXP52XOg/ApdSnLp32a+K5XCOnDGhbTUto2Rme0g=",
"x86_64-darwin": "sha256-KX1h5LRJSgthpbOPqWlbM/sPf8cvQrdRJvxtrz/FzBQ="
}
}

View File

@@ -4,7 +4,7 @@
"description": "AI-powered development tool",
"private": true,
"type": "module",
"packageManager": "bun@1.3.8",
"packageManager": "bun@1.3.9",
"scripts": {
"dev": "bun run --cwd packages/opencode --conditions=browser src/index.ts",
"dev:desktop": "bun --cwd packages/desktop tauri dev",
@@ -23,7 +23,7 @@
"packages/slack"
],
"catalog": {
"@types/bun": "1.3.8",
"@types/bun": "1.3.9",
"@octokit/rest": "22.0.0",
"@hono/zod-validator": "0.4.2",
"ulid": "3.0.1",

Binary file not shown.

After

Width:  |  Height:  |  Size: 697 B

View File

@@ -0,0 +1,18 @@
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
<g transform="translate(30, 0)">
<g clip-path="url(#clip0_1401_86283)">
<mask id="mask0_1401_86283" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="240" height="300">
<path d="M240 0H0V300H240V0Z" fill="white"/>
</mask>
<g mask="url(#mask0_1401_86283)">
<path d="M180 240H60V120H180V240Z" fill="#4B4646"/>
<path d="M180 60H60V240H180V60ZM240 300H0V0H240V300Z" fill="#F1ECEC"/>
</g>
</g>
</g>
<defs>
<clipPath id="clip0_1401_86283">
<rect width="240" height="300" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 631 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 697 B

View File

@@ -0,0 +1,18 @@
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
<g transform="translate(30, 0)">
<g clip-path="url(#clip0_1401_86274)">
<mask id="mask0_1401_86274" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="240" height="300">
<path d="M240 0H0V300H240V0Z" fill="white"/>
</mask>
<g mask="url(#mask0_1401_86274)">
<path d="M180 240H60V120H180V240Z" fill="#CFCECD"/>
<path d="M180 60H60V240H180V60ZM240 300H0V0H240V300Z" fill="#211E1E"/>
</g>
</g>
</g>
<defs>
<clipPath id="clip0_1401_86274">
<rect width="240" height="300" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 631 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -7,18 +7,24 @@ import { useI18n } from "~/context/i18n"
import { LocaleLinks } from "~/component/locale-links"
import previewLogoLight from "../../asset/brand/preview-opencode-logo-light.png"
import previewLogoDark from "../../asset/brand/preview-opencode-logo-dark.png"
import previewLogoLightSquare from "../../asset/brand/preview-opencode-logo-light-square.png"
import previewLogoDarkSquare from "../../asset/brand/preview-opencode-logo-dark-square.png"
import previewWordmarkLight from "../../asset/brand/preview-opencode-wordmark-light.png"
import previewWordmarkDark from "../../asset/brand/preview-opencode-wordmark-dark.png"
import previewWordmarkSimpleLight from "../../asset/brand/preview-opencode-wordmark-simple-light.png"
import previewWordmarkSimpleDark from "../../asset/brand/preview-opencode-wordmark-simple-dark.png"
import logoLightPng from "../../asset/brand/opencode-logo-light.png"
import logoDarkPng from "../../asset/brand/opencode-logo-dark.png"
import logoLightSquarePng from "../../asset/brand/opencode-logo-light-square.png"
import logoDarkSquarePng from "../../asset/brand/opencode-logo-dark-square.png"
import wordmarkLightPng from "../../asset/brand/opencode-wordmark-light.png"
import wordmarkDarkPng from "../../asset/brand/opencode-wordmark-dark.png"
import wordmarkSimpleLightPng from "../../asset/brand/opencode-wordmark-simple-light.png"
import wordmarkSimpleDarkPng from "../../asset/brand/opencode-wordmark-simple-dark.png"
import logoLightSvg from "../../asset/brand/opencode-logo-light.svg"
import logoDarkSvg from "../../asset/brand/opencode-logo-dark.svg"
import logoLightSquareSvg from "../../asset/brand/opencode-logo-light-square.svg"
import logoDarkSquareSvg from "../../asset/brand/opencode-logo-dark-square.svg"
import wordmarkLightSvg from "../../asset/brand/opencode-wordmark-light.svg"
import wordmarkDarkSvg from "../../asset/brand/opencode-wordmark-dark.svg"
import wordmarkSimpleLightSvg from "../../asset/brand/opencode-wordmark-simple-light.svg"
@@ -135,6 +141,60 @@ export default function Brand() {
</button>
</div>
</div>
<div>
<img src={previewLogoLightSquare} alt="OpenCode brand guidelines" />
<div data-component="actions">
<button onClick={() => downloadFile(logoLightSquarePng, "opencode-logo-light-square.png")}>
PNG
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M13.9583 10.6247L10 14.583L6.04167 10.6247M10 2.08301V13.958M16.25 17.9163H3.75"
stroke="currentColor"
stroke-width="1.5"
stroke-linecap="square"
/>
</svg>
</button>
<button onClick={() => downloadFile(logoLightSquareSvg, "opencode-logo-light-square.svg")}>
SVG
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M13.9583 10.6247L10 14.583L6.04167 10.6247M10 2.08301V13.958M16.25 17.9163H3.75"
stroke="currentColor"
stroke-width="1.5"
stroke-linecap="square"
/>
</svg>
</button>
</div>
</div>
<div>
<img src={previewLogoDarkSquare} alt="OpenCode brand guidelines" />
<div data-component="actions">
<button onClick={() => downloadFile(logoDarkSquarePng, "opencode-logo-dark-square.png")}>
PNG
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M13.9583 10.6247L10 14.583L6.04167 10.6247M10 2.08301V13.958M16.25 17.9163H3.75"
stroke="currentColor"
stroke-width="1.5"
stroke-linecap="square"
/>
</svg>
</button>
<button onClick={() => downloadFile(logoDarkSquareSvg, "opencode-logo-dark-square.svg")}>
SVG
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M13.9583 10.6247L10 14.583L6.04167 10.6247M10 2.08301V13.958M16.25 17.9163H3.75"
stroke="currentColor"
stroke-width="1.5"
stroke-linecap="square"
/>
</svg>
</button>
</div>
</div>
<div>
<img src={previewWordmarkLight} alt="OpenCode brand guidelines" />
<div data-component="actions">

View File

@@ -84,8 +84,8 @@
"@opencode-ai/sdk": "workspace:*",
"@opencode-ai/util": "workspace:*",
"@openrouter/ai-sdk-provider": "1.5.4",
"@opentui/core": "0.1.77",
"@opentui/solid": "0.1.77",
"@opentui/core": "0.1.79",
"@opentui/solid": "0.1.79",
"@parcel/watcher": "2.5.1",
"@pierre/diffs": "catalog:",
"@solid-primitives/event-bus": "1.1.2",

View File

@@ -571,25 +571,28 @@ export namespace MCP {
const clientsSnapshot = await clients()
const defaultTimeout = cfg.experimental?.mcp_timeout
for (const [clientName, client] of Object.entries(clientsSnapshot)) {
// Only include tools from connected MCPs (skip disabled ones)
if (s.status[clientName]?.status !== "connected") {
continue
}
const connectedClients = Object.entries(clientsSnapshot).filter(
([clientName]) => s.status[clientName]?.status === "connected",
)
const toolsResult = await client.listTools().catch((e) => {
log.error("failed to get tools", { clientName, error: e.message })
const failedStatus = {
status: "failed" as const,
error: e instanceof Error ? e.message : String(e),
}
s.status[clientName] = failedStatus
delete s.clients[clientName]
return undefined
})
if (!toolsResult) {
continue
}
const toolsResults = await Promise.all(
connectedClients.map(async ([clientName, client]) => {
const toolsResult = await client.listTools().catch((e) => {
log.error("failed to get tools", { clientName, error: e.message })
const failedStatus = {
status: "failed" as const,
error: e instanceof Error ? e.message : String(e),
}
s.status[clientName] = failedStatus
delete s.clients[clientName]
return undefined
})
return { clientName, client, toolsResult }
}),
)
for (const { clientName, client, toolsResult } of toolsResults) {
if (!toolsResult) continue
const mcpConfig = config[clientName]
const entry = isMcpConfigured(mcpConfig) ? mcpConfig : undefined
const timeout = entry?.timeout ?? defaultTimeout

View File

@@ -41,7 +41,9 @@ export namespace SessionCompaction {
const reserved =
config.compaction?.reserved ?? Math.min(COMPACTION_BUFFER, ProviderTransform.maxOutputTokens(input.model))
const usable = input.model.limit.input ? input.model.limit.input - reserved : context - reserved
const usable = input.model.limit.input
? input.model.limit.input - reserved
: context - ProviderTransform.maxOutputTokens(input.model)
return count >= usable
}

View File

@@ -1022,9 +1022,9 @@ export namespace SessionPrompt {
}
}
}
offset = Math.max(start - 1, 0)
offset = Math.max(start, 1)
if (end) {
limit = end - offset
limit = end - (offset - 1)
}
}
const args = { filePath: filepath, offset, limit }

View File

@@ -2,9 +2,9 @@ Performs exact string replacements in files.
Usage:
- You must use your `Read` tool at least once in the conversation before editing. This tool will error if you attempt an edit without reading the file.
- When editing text from Read tool output, ensure you preserve the exact indentation (tabs/spaces) as it appears AFTER the line number prefix. The line number prefix format is: spaces + line number + tab. Everything after that tab is the actual file content to match. Never include any part of the line number prefix in the oldString or newString.
- When editing text from Read tool output, ensure you preserve the exact indentation (tabs/spaces) as it appears AFTER the line number prefix. The line number prefix format is: line number + colon + space (e.g., `1: `). Everything after that space is the actual file content to match. Never include any part of the line number prefix in the oldString or newString.
- ALWAYS prefer editing existing files in the codebase. NEVER write new files unless explicitly required.
- Only use emojis if the user explicitly requests it. Avoid adding emojis to files unless asked.
- The edit will FAIL if `oldString` is not found in the file with an error "oldString not found in content".
- The edit will FAIL if `oldString` is found multiple times in the file with an error "oldString found multiple times and requires more code context to uniquely identify the intended match". Either provide a larger string with more surrounding context to make it unique or use `replaceAll` to change every instance of `oldString`.
- The edit will FAIL if `oldString` is found multiple times in the file with an error "Found multiple matches for oldString. Provide more surrounding lines in oldString to identify the correct match." Either provide a larger string with more surrounding context to make it unique or use `replaceAll` to change every instance of `oldString`.
- Use `replaceAll` for replacing and renaming strings across the file. This parameter is useful if you want to rename a variable for instance.

View File

@@ -17,19 +17,26 @@ const MAX_BYTES = 50 * 1024
export const ReadTool = Tool.define("read", {
description: DESCRIPTION,
parameters: z.object({
filePath: z.string().describe("The path to the file to read"),
offset: z.coerce.number().describe("The line number to start reading from (0-based)").optional(),
limit: z.coerce.number().describe("The number of lines to read (defaults to 2000)").optional(),
filePath: z.string().describe("The absolute path to the file or directory to read"),
offset: z.coerce.number().describe("The line number to start reading from (1-indexed)").optional(),
limit: z.coerce.number().describe("The maximum number of lines to read (defaults to 2000)").optional(),
}),
async execute(params, ctx) {
if (params.offset !== undefined && params.offset < 1) {
throw new Error("offset must be greater than or equal to 1")
}
let filepath = params.filePath
if (!path.isAbsolute(filepath)) {
filepath = path.resolve(Instance.directory, filepath)
}
const title = path.relative(Instance.worktree, filepath)
const file = Bun.file(filepath)
const stat = await file.stat().catch(() => undefined)
await assertExternalDirectory(ctx, filepath, {
bypass: Boolean(ctx.extra?.["bypassCwdCheck"]),
kind: stat?.isDirectory() ? "directory" : "file",
})
await ctx.ask({
@@ -39,8 +46,7 @@ export const ReadTool = Tool.define("read", {
metadata: {},
})
const file = Bun.file(filepath)
if (!(await file.exists())) {
if (!stat) {
const dir = path.dirname(filepath)
const base = path.basename(filepath)
@@ -60,6 +66,48 @@ export const ReadTool = Tool.define("read", {
throw new Error(`File not found: ${filepath}`)
}
if (stat.isDirectory()) {
const dirents = await fs.promises.readdir(filepath, { withFileTypes: true })
const entries = await Promise.all(
dirents.map(async (dirent) => {
if (dirent.isDirectory()) return dirent.name + "/"
if (dirent.isSymbolicLink()) {
const target = await fs.promises.stat(path.join(filepath, dirent.name)).catch(() => undefined)
if (target?.isDirectory()) return dirent.name + "/"
}
return dirent.name
}),
)
entries.sort((a, b) => a.localeCompare(b))
const limit = params.limit ?? DEFAULT_READ_LIMIT
const offset = params.offset ?? 1
const start = offset - 1
const sliced = entries.slice(start, start + limit)
const truncated = start + sliced.length < entries.length
const output = [
`<path>${filepath}</path>`,
`<type>directory</type>`,
`<entries>`,
sliced.join("\n"),
truncated
? `\n(Showing ${sliced.length} of ${entries.length} entries. Use 'offset' parameter to read beyond entry ${offset + sliced.length})`
: `\n(${entries.length} entries)`,
`</entries>`,
].join("\n")
return {
title,
output,
metadata: {
preview: sliced.slice(0, 20).join("\n"),
truncated,
loaded: [] as string[],
},
}
}
const instructions = await InstructionPrompt.resolve(ctx.messages, filepath, ctx.messageID)
// Exclude SVG (XML-based) and vnd.fastbidsheet (.fbs extension, commonly FlatBuffers schema files)
@@ -75,7 +123,7 @@ export const ReadTool = Tool.define("read", {
metadata: {
preview: msg,
truncated: false,
...(instructions.length > 0 && { loaded: instructions.map((i) => i.filepath) }),
loaded: instructions.map((i) => i.filepath),
},
attachments: [
{
@@ -94,13 +142,15 @@ export const ReadTool = Tool.define("read", {
if (isBinary) throw new Error(`Cannot read binary file: ${filepath}`)
const limit = params.limit ?? DEFAULT_READ_LIMIT
const offset = params.offset || 0
const offset = params.offset ?? 1
const start = offset - 1
const lines = await file.text().then((text) => text.split("\n"))
if (start >= lines.length) throw new Error(`Offset ${offset} is out of range for this file (${lines.length} lines)`)
const raw: string[] = []
let bytes = 0
let truncatedByBytes = false
for (let i = offset; i < Math.min(lines.length, offset + limit); i++) {
for (let i = start; i < Math.min(lines.length, start + limit); i++) {
const line = lines[i].length > MAX_LINE_LENGTH ? lines[i].substring(0, MAX_LINE_LENGTH) + "..." : lines[i]
const size = Buffer.byteLength(line, "utf-8") + (raw.length > 0 ? 1 : 0)
if (bytes + size > MAX_BYTES) {
@@ -112,15 +162,15 @@ export const ReadTool = Tool.define("read", {
}
const content = raw.map((line, index) => {
return `${(index + offset + 1).toString().padStart(5, "0")}| ${line}`
return `${index + offset}: ${line}`
})
const preview = raw.slice(0, 20).join("\n")
let output = "<file>\n"
let output = [`<path>${filepath}</path>`, `<type>file</type>`, "<content>"].join("\n")
output += content.join("\n")
const totalLines = lines.length
const lastReadLine = offset + raw.length
const lastReadLine = offset + raw.length - 1
const hasMoreLines = totalLines > lastReadLine
const truncated = hasMoreLines || truncatedByBytes
@@ -131,7 +181,7 @@ export const ReadTool = Tool.define("read", {
} else {
output += `\n\n(End of file - total ${totalLines} lines)`
}
output += "\n</file>"
output += "\n</content>"
// just warms the lsp client
LSP.touchFile(filepath, false)
@@ -147,7 +197,7 @@ export const ReadTool = Tool.define("read", {
metadata: {
preview,
truncated,
...(instructions.length > 0 && { loaded: instructions.map((i) => i.filepath) }),
loaded: instructions.map((i) => i.filepath),
},
}
},

View File

@@ -1,12 +1,14 @@
Reads a file from the local filesystem. You can access any file directly by using this tool.
Assume this tool is able to read all files on the machine. If the User provides a path to a file assume that path is valid. It is okay to read a file that does not exist; an error will be returned.
Read a file or directory from the local filesystem. If the path does not exist, an error is returned.
Usage:
- The filePath parameter must be an absolute path, not a relative path
- By default, it reads up to 2000 lines starting from the beginning of the file
- You can optionally specify a line offset and limit (especially handy for long files), but it's recommended to read the whole file by not providing these parameters
- Any lines longer than 2000 characters will be truncated
- Results are returned using cat -n format, with line numbers starting at 1
- You have the capability to call multiple tools in a single response. It is always better to speculatively read multiple files as a batch that are potentially useful.
- If you read a file that exists but has empty contents you will receive a system reminder warning in place of file contents.
- You can read image files using this tool.
- The filePath parameter should be an absolute path.
- By default, this tool returns up to 2000 lines from the start of the file.
- The offset parameter is the line number to start from (1-indexed).
- To read later sections, call this tool again with a larger offset.
- Use the grep tool to find specific content in large files or files with long lines.
- If you are unsure of the correct file path, use the glob tool to look up filenames by glob pattern.
- Contents are returned with each line prefixed by its line number as `<line>: <content>`. For example, if a file has contents "foo\n", you will receive "1: foo\n". For directories, entries are returned one per line (without line numbers) with a trailing `/` for subdirectories.
- Any line longer than 2000 characters is truncated.
- Call this tool in parallel when you know there are multiple files you want to read.
- Avoid tiny repeated slices (30 line chunks). If you need more context, read a larger window.
- This tool can read image files and PDFs and return them as file attachments.

View File

@@ -78,6 +78,32 @@ describe("tool.read external_directory permission", () => {
})
})
test("asks for directory-scoped external_directory permission when reading external directory", async () => {
await using outerTmp = await tmpdir({
init: async (dir) => {
await Bun.write(path.join(dir, "external", "a.txt"), "a")
},
})
await using tmp = await tmpdir({ git: true })
await Instance.provide({
directory: tmp.path,
fn: async () => {
const read = await ReadTool.init()
const requests: Array<Omit<PermissionNext.Request, "id" | "sessionID" | "tool">> = []
const testCtx = {
...ctx,
ask: async (req: Omit<PermissionNext.Request, "id" | "sessionID" | "tool">) => {
requests.push(req)
},
}
await read.execute({ filePath: path.join(outerTmp.path, "external") }, testCtx)
const extDirReq = requests.find((r) => r.permission === "external_directory")
expect(extDirReq).toBeDefined()
expect(extDirReq!.patterns).toContain(path.join(outerTmp.path, "external", "*"))
},
})
})
test("asks for external_directory permission when reading relative path outside project", async () => {
await using tmp = await tmpdir({ git: true })
await Instance.provide({
@@ -232,7 +258,7 @@ describe("tool.read truncation", () => {
test("respects offset parameter", async () => {
await using tmp = await tmpdir({
init: async (dir) => {
const lines = Array.from({ length: 20 }, (_, i) => `line${i}`).join("\n")
const lines = Array.from({ length: 20 }, (_, i) => `line${i + 1}`).join("\n")
await Bun.write(path.join(dir, "offset.txt"), lines)
},
})
@@ -249,6 +275,43 @@ describe("tool.read truncation", () => {
})
})
test("throws when offset is beyond end of file", async () => {
await using tmp = await tmpdir({
init: async (dir) => {
const lines = Array.from({ length: 3 }, (_, i) => `line${i + 1}`).join("\n")
await Bun.write(path.join(dir, "short.txt"), lines)
},
})
await Instance.provide({
directory: tmp.path,
fn: async () => {
const read = await ReadTool.init()
await expect(
read.execute({ filePath: path.join(tmp.path, "short.txt"), offset: 4, limit: 5 }, ctx),
).rejects.toThrow("Offset 4 is out of range for this file (3 lines)")
},
})
})
test("does not mark final directory page as truncated", async () => {
await using tmp = await tmpdir({
init: async (dir) => {
await Promise.all(
Array.from({ length: 10 }, (_, i) => Bun.write(path.join(dir, "dir", `file-${i + 1}.txt`), `line${i}`)),
)
},
})
await Instance.provide({
directory: tmp.path,
fn: async () => {
const read = await ReadTool.init()
const result = await read.execute({ filePath: path.join(tmp.path, "dir"), offset: 6, limit: 5 }, ctx)
expect(result.metadata.truncated).toBe(false)
expect(result.output).not.toContain("Showing 5 of 10 entries")
},
})
})
test("truncates long lines", async () => {
await using tmp = await tmpdir({
init: async (dir) => {

View File

@@ -45,7 +45,7 @@ description: هيّئ الوكلاء المتخصصين واستخدمهم.
---
### استخدام build
### استخدام Build
_الوضع_: `primary`
@@ -53,7 +53,7 @@ Build هو الوكيل الأساسي **الافتراضي** مع تفعيل ج
---
### استخدام plan
### استخدام Plan
_الوضع_: `primary`
@@ -67,7 +67,7 @@ _الوضع_: `primary`
---
### استخدام general
### استخدام General
_الوضع_: `subagent`
@@ -75,7 +75,7 @@ _الوضع_: `subagent`
---
### استخدام explore
### استخدام Explore
_الوضع_: `subagent`
@@ -83,7 +83,7 @@ _الوضع_: `subagent`
---
### استخدام compaction
### استخدام Compaction
_الوضع_: `primary`
@@ -91,7 +91,7 @@ _الوضع_: `primary`
---
### استخدام title
### استخدام Title
_الوضع_: `primary`
@@ -99,7 +99,7 @@ _الوضع_: `primary`
---
### استخدام summary
### استخدام Summary
_الوضع_: `primary`

View File

@@ -69,10 +69,10 @@ opencode attach [url]
يتيح ذلك استخدام واجهة TUI مع واجهة خلفية لـ OpenCode تعمل عن بعد. على سبيل المثال:
```bash
# Start the backend server for web/mobile access
# ابدأ خادم الواجهة الخلفية للوصول عبر الويب/الجوال
opencode web --port 4096 --hostname 0.0.0.0
# In another terminal, attach the TUI to the running backend
# في محطة طرفية (terminal) أخرى، اربط TUI بالواجهة الخلفية قيد التشغيل
opencode attach http://10.20.30.40:4096
```
@@ -326,10 +326,10 @@ opencode run Explain the use of context in Go
يمكنك أيضا الإرفاق بمثيل `opencode serve` قيد التشغيل لتجنّب زمن الإقلاع البارد لخوادم MCP في كل تشغيل:
```bash
# Start a headless server in one terminal
# ابدأ خادمًا بلا واجهة في محطة طرفية واحدة
opencode serve
# In another terminal, run commands that attach to it
# في محطة طرفية أخرى، شغّل الأوامر التي ترتبط به
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
```

View File

@@ -54,11 +54,11 @@ Focus on the failing tests and suggest fixes.
{
"$schema": "https://opencode.ai/config.json",
"command": {
// This becomes the name of the command
// يصبح هذا اسم الأمر
"test": {
// This is the prompt that will be sent to the LLM
// هذه هي المطالبة التي ستُرسل إلى LLM
"template": "Run the full test suite with coverage report and show any failures.\nFocus on the failing tests and suggest fixes.",
// This is shown as the description in the TUI
// يظهر هذا كوصف في TUI
"description": "Run tests with coverage",
"agent": "build",
"model": "anthropic/claude-3-5-sonnet-20241022"

View File

@@ -14,7 +14,7 @@ description: استخدام ملف إعدادات OpenCode بصيغة JSON.
```jsonc title="opencode.jsonc"
{
"$schema": "https://opencode.ai/config.json",
// Theme configuration
// إعدادات السمة
"theme": "opencode",
"model": "anthropic/claude-sonnet-4-5",
"autoupdate": true,
@@ -326,7 +326,7 @@ opencode run "Hello world"
"model": "anthropic/claude-sonnet-4-5",
"prompt": "You are a code reviewer. Focus on security, performance, and maintainability.",
"tools": {
// Disable file modification tools for review-only agent
// تعطيل أدوات تعديل الملفات لوكيل المراجعة فقط
"write": false,
"edit": false,
},

View File

@@ -221,7 +221,7 @@ How is authentication handled in @packages/functions/src/api/index.ts
انتقل إليه باستخدام مفتاح **Tab**. سترى مؤشرا لذلك في الزاوية السفلية اليمنى.
```bash frame="none" title="Switch to Plan mode"
```bash frame="none" title="التبديل إلى وضع Plan"
<TAB>
```

View File

@@ -278,10 +278,10 @@ opencode mcp logout my-oauth-server
إذا فشل خادم MCP بعيد في المصادقة، يمكنك تشخيص المشكلة باستخدام:
```bash
# View auth status for all OAuth-capable servers
# عرض حالة المصادقة لجميع الخوادم القادرة على OAuth
opencode mcp auth list
# Debug connection and OAuth flow for a specific server
# تصحيح الاتصال وتدفق OAuth لخادم محدد
opencode mcp debug my-oauth-server
```

View File

@@ -12,13 +12,13 @@ description: إعداد الوكلاء والشهادات المخصصة.
يتبع OpenCode متغيرات بيئة الوكيل القياسية.
```bash
# HTTPS proxy (recommended)
# وكيل HTTPS (موصى به)
export HTTPS_PROXY=https://proxy.example.com:8080
# HTTP proxy (if HTTPS not available)
# وكيل HTTP (إذا لم يتوفر HTTPS)
export HTTP_PROXY=http://proxy.example.com:8080
# Bypass proxy for local server (required)
# تجاوز الوكيل للخادم المحلي (مطلوب)
export NO_PROXY=localhost,127.0.0.1
```

View File

@@ -89,7 +89,7 @@ OpenCode Zen هي قائمة نماذج يوفّرها فريق OpenCode وقد
فلا تتردد في فتح PR.
:::note
ألا ترى مزوّدا هنا؟ أرسل PR.
لم تجد المزوّد الذي تبحث عنه؟ أرسل PR.
:::
---
@@ -139,13 +139,13 @@ OpenCode Zen هي قائمة نماذج يوفّرها فريق OpenCode وقد
عيّن أحد متغيرات البيئة التالية أثناء تشغيل opencode:
```bash
# Option 1: Using AWS access keys
# الخيار 1: استخدام مفاتيح وصول AWS
AWS_ACCESS_KEY_ID=XXX AWS_SECRET_ACCESS_KEY=YYY opencode
# Option 2: Using named AWS profile
# الخيار 2: استخدام ملف تعريف AWS مسمّى
AWS_PROFILE=my-profile opencode
# Option 3: Using Bedrock bearer token
# الخيار 3: استخدام رمز Bedrock المميز (bearer token)
AWS_BEARER_TOKEN_BEDROCK=XXX opencode
```

View File

@@ -366,7 +366,7 @@ OPENCODE_ENABLE_EXA=1 opencode
---
### Ignore patterns
### أنماط التجاهل
لتضمين ملفات يتم تجاهلها عادة، أنشئ ملف `.ignore` في جذر المشروع. يمكن لهذا الملف السماح صراحة بمسارات محددة.

View File

@@ -290,12 +290,12 @@ How is auth handled in @packages/functions/src/api/index.ts?
<Tabs>
<TabItem label="Linux/macOS">
```bash
# Example for nano or vim
# مثال لـ nano أو vim
export EDITOR=nano
export EDITOR=vim
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
# include --wait
# للمحررات الرسومية، VS Code، Cursor، VSCodium، Windsurf، Zed، إلخ.
# قم بتضمين --wait
export EDITOR="code --wait"
```
@@ -308,8 +308,8 @@ How is auth handled in @packages/functions/src/api/index.ts?
```bash
set EDITOR=notepad
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
# include --wait
# للمحررات الرسومية، VS Code، Cursor، VSCodium، Windsurf، Zed، إلخ.
# قم بتضمين --wait
set EDITOR=code --wait
```
@@ -321,8 +321,8 @@ How is auth handled in @packages/functions/src/api/index.ts?
```powershell
$env:EDITOR = "notepad"
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
# include --wait
# للمحررات الرسومية، VS Code، Cursor، VSCodium، Windsurf، Zed، إلخ.
# قم بتضمين --wait
$env:EDITOR = "code --wait"
```

View File

@@ -113,10 +113,10 @@ OPENCODE_SERVER_PASSWORD=secret opencode web
يمكنك إرفاق واجهة terminal (TUI) بخادم ويب قيد التشغيل:
```bash
# Start the web server
# ابدأ خادم الويب
opencode web --port 4096
# In another terminal, attach the TUI
# في محطة طرفية أخرى، اربط TUI
opencode attach http://localhost:4096
```

View File

@@ -13,7 +13,7 @@ ACP je otvoreni protokol koji standardizira komunikaciju između uređivača kod
---
## Konfiguriši
## Konfiguracija
Da biste koristili OpenCode putem ACP-a, konfigurirajte svoj uređivač da pokrene naredbu `opencode acp`.
@@ -140,7 +140,7 @@ Ova konfiguracija postavlja CodeCompanion da koristi OpenCode kao ACP chat agent
Ako trebate proslijediti varijable okruženja (kao što je `OPENCODE_API_KEY`), pogledajte [Configuring Adapters: Environment Variables](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key) u dokumentaciji CodeCompanion.nvim.
## Podrška
## Podržane funkcije
OpenCode radi isto kroz ACP kao i u terminalu. Podržane su sve funkcije:

View File

@@ -15,7 +15,7 @@ Možete se prebacivati između agenata tokom sesije ili ih pozvati spominj
## Vrste
Postoje dvije vrste agenata u OpenCode; primarni agenti i podagenti.
Postoje dvije vrste agenata u OpenCode: primarni agenti i podagenti.
---
@@ -45,17 +45,17 @@ OpenCode dolazi sa dva ugrađena primarna agenta i dva ugrađena subagenta.
---
### Koristi build
### Build agent
_Mode_: `primary`
_Režim_: `primary`
Build je **podrazumevani** primarni agent sa svim omogućenim alatima. Ovo je standardni agent za razvojni rad gdje vam je potreban pun pristup operacijama datoteka i sistemskim komandama.
---
### Koristi plan
### Plan agent
_Mode_: `primary`
_Režim_: `primary`
Ograničeni agent dizajniran za planiranje i analizu. Koristimo sistem dozvola kako bismo vam pružili veću kontrolu i spriječili neželjene promjene.
Prema zadanim postavkama, sve sljedeće je postavljeno na `ask`:
@@ -67,47 +67,47 @@ Ovaj agent je koristan kada želite da LLM analizira kod, predloži promjene ili
---
### Koristi general
### General agent
_Mode_: `subagent`
_Režim_: `subagent`
Agent opće namjene za istraživanje složenih pitanja i izvršavanje zadataka u više koraka. Ima potpuni pristup alatima (osim todo), tako da može mijenjati fajlove kada je to potrebno. Koristite ovo za paralelno pokretanje više jedinica rada.
---
### Koristi explore
### Explore agent
_Mode_: `subagent`
_Režim_: `subagent`
Brzi agent samo za čitanje za istraživanje kodnih baza. Nije moguće mijenjati fajlove. Koristite ovo kada trebate brzo pronaći datoteke po uzorku, pretražiti kod za ključne riječi ili odgovoriti na pitanja o bazi kodova.
---
### Koristi compaction
### Compaction agent
_Mode_: `primary`
_Režim_: `primary`
Skriveni sistemski agent koji sažima dugi kontekst u manji sažetak. Pokreće se automatski kada je potrebno i ne može se odabrati u korisničkom interfejsu.
---
### Koristi title
### Title agent
_Mode_: `primary`
_Režim_: `primary`
Skriveni sistemski agent koji generiše kratke naslove sesija. Pokreće se automatski i ne može se odabrati u korisničkom interfejsu.
---
### Koristi summary
### Summary agent
_Mode_: `primary`
_Režim_: `primary`
Skriveni sistemski agent koji kreira sažetke sesije. Pokreće se automatski i ne može se odabrati u korisničkom interfejsu.
---
## Upotreba
## Korištenje
1. Za primarne agente, koristite taster **Tab** za kretanje kroz njih tokom sesije. Također možete koristiti svoju konfiguriranu vezu tipke `switch_agent`.
@@ -215,7 +215,7 @@ Pogledajmo ove opcije konfiguracije detaljno.
---
### Description
### Opis
Koristite opciju `description` da pružite kratak opis onoga što agent radi i kada ga koristiti.
@@ -233,7 +233,7 @@ Ovo je **obavezna** opcija konfiguracije.
---
### Temperature
### Temperatura
Kontrolišite slučajnost i kreativnost odgovora LLM-a pomoću `temperature` konfiguracije.
@@ -280,7 +280,7 @@ Ako temperatura nije navedena, OpenCode koristi standardne postavke specifične
---
### Max steps
### Maksimalan broj koraka
Kontrolirajte maksimalni broj iteracija agenta koje agent može izvesti prije nego što bude prisiljen da odgovori samo tekstom. Ovo omogućava korisnicima koji žele kontrolirati troškove da postave ograničenje na akcije agenta.
@@ -306,7 +306,7 @@ Naslijeđeno polje `maxSteps` je zastarjelo. Umjesto toga koristite `steps`.
---
### Disable
### Onemogućavanje
Postavite na `true` da onemogućite agenta.
@@ -322,7 +322,7 @@ Postavite na `true` da onemogućite agenta.
---
### Prompt
### Upit
Navedite prilagođenu sistemsku prompt datoteku za ovog agenta sa `prompt` konfiguracijom. Datoteka s promptom treba da sadrži upute specifične za svrhu agenta.
@@ -362,7 +362,7 @@ ID modela u vašoj OpenCode konfiguraciji koristi format `provider/model-id`. Na
---
### Tools
### Alati
Kontrolirajte koji su alati dostupni u ovom agentu koristeći konfiguraciju `tools`. Možete omogućiti ili onemogućiti određene alate tako što ćete ih postaviti na `true` ili `false`.
@@ -409,7 +409,7 @@ Također možete koristiti zamjenske znakove za kontrolu više alata odjednom. N
---
### Permissions
### Dozvole
Možete konfigurirati dozvole za upravljanje radnjama koje agent može poduzeti. Trenutno se dozvole za alate `edit`, `bash` i `webfetch` mogu konfigurirati na:
@@ -521,7 +521,7 @@ Budući da posljednje podudarno pravilo ima prednost, prvo postavite zamjenski z
---
### Mode
### Način rada
Kontrolirajte način rada agenta koristeći konfiguraciju `mode`. Opcija `mode` se koristi da specificira kako se agent može koristiti.
@@ -539,7 +539,7 @@ Opcija `mode` se može postaviti na `primary`, `subagent` ili `all`. Ako `mode`
---
### Hidden
### Skriveno
Sakrij podagenta iz `@` menija za automatsko dovršavanje sa `hidden: true`. Korisno za interne podagente koje bi drugi agenti trebali programski pozvati samo preko Task alata.
@@ -562,7 +562,7 @@ Odnosi se samo na `mode: subagent` agente.
---
### Task permissions
### Dozvole zadataka
Kontrolirajte koje podagente agent može pozvati preko Task alata sa `permission.task`. Koristi glob uzorke za fleksibilno uparivanje.
@@ -595,7 +595,7 @@ Korisnici uvijek mogu pozvati bilo kojeg subagenta direktno preko `@` menija za
---
### Color
### Boja
Prilagodite vizualni izgled agenta u korisničkom sučelju s opcijom `color`. Ovo utiče na to kako se agent pojavljuje u interfejsu.
@@ -634,7 +634,7 @@ Vrijednosti se kreću od 0.0 do 1.0. Niže vrijednosti su više fokusirane, viš
---
### Additional
### Dodatno
Sve druge opcije koje navedete u konfiguraciji agenta će biti **direktno proslijeđene** dobavljaču kao opcije modela. Ovo vam omogućava da koristite karakteristike i parametre specifične za provajdera.
@@ -661,7 +661,7 @@ Pokrenite `opencode models` da vidite listu dostupnih modela.
---
## Kreirajte agente
## Kreiranje agenata
Možete kreirati nove agente koristeći sljedeću naredbu:
@@ -679,7 +679,7 @@ Ova interaktivna komanda će:
---
## Slučajevi upotrebe
## Primjeri upotrebe
Evo nekoliko uobičajenih slučajeva upotrebe različitih agenata.

View File

@@ -11,7 +11,7 @@ OpenCode CLI po defaultu pokreće [TUI](/docs/tui) kada se pokrene bez ikakvih a
opencode
```
Ali takođe prihvata komande kao što je dokumentovano na ovoj stranici. Ovo vam omogućava programsku interakciju sa OpenCode.
Ali takođe prihvata naredbe kao što je dokumentovano na ovoj stranici. Ovo vam omogućava programsku interakciju sa OpenCode.
```bash
opencode run "Explain how closures work in JavaScript"
@@ -21,36 +21,36 @@ opencode run "Explain how closures work in JavaScript"
### tui
Pokrenite korisnički interfejs OpenCode terminala.
Pokrenite OpenCode terminalski korisnički interfejs.
```bash
opencode [project]
```
#### Zastave
#### Opcije
| Zastava | Kratko | Opis |
| Opcija | Kratko | Opis |
| ------------ | ------ | ------------------------------------------------------------------------ |
| `--continue` | `-c` | Nastavite posljednju sesiju |
| `--session` | `-s` | ID sesije za nastavak |
| `--fork` | | Forkujte sesiju pri nastavku (koristiti sa `--continue` ili `--session`) |
| `--prompt` | | Uputstvo za upotrebu |
| `--model` | `-m` | Model za korištenje u obliku dobavljača/modela |
| `--prompt` | | Prompt za upotrebu |
| `--model` | `-m` | Model za korištenje u obliku provider/model |
| `--agent` | | Agent za korištenje |
| `--port` | | Port za slušanje na |
| `--hostname` | | Slušajte ime hosta |
| `--port` | | Port na kojem treba slušati |
| `--hostname` | | Hostname na kojem treba slušati |
---
## Commands
## Naredbe
OpenCode CLI takođe ima sledeće komande.
OpenCode CLI takođe ima sljedeće naredbe.
---
### agent
Upravljajte agentima za OpenCode.
Upravljajte OpenCode agentima.
```bash
opencode agent [command]
@@ -60,13 +60,13 @@ opencode agent [command]
### attach
Priključite terminal na već pokrenut OpenCode backend server pokrenut putem `serve` ili `web` komandi.
Priključite terminal na već pokrenut OpenCode backend server pokrenut putem `serve` ili `web` naredbi.
```bash
opencode attach [url]
```
Ovo omogućava korištenje TUI-ja sa udaljenim OpenCode backend-om. na primjer:
Ovo omogućava korištenje TUI-ja sa udaljenim OpenCode backend-om. Na primjer:
```bash
# Start the backend server for web/mobile access
@@ -76,11 +76,11 @@ opencode web --port 4096 --hostname 0.0.0.0
opencode attach http://10.20.30.40:4096
```
#### Zastave
#### Opcije
| Zastava | Kratko | Opis |
| Opcija | Kratko | Opis |
| ----------- | ------ | ------------------------------------ |
| `--dir` | | Radni direktorij za pokretanje TUI u |
| `--dir` | | Radni direktorij za pokretanje TUI-a |
| `--session` | `-s` | ID sesije za nastavak |
---
@@ -93,7 +93,7 @@ Kreirajte novog agenta s prilagođenom konfiguracijom.
opencode agent create
```
Ova komanda će vas voditi kroz kreiranje novog agenta sa prilagođenim sistemskim promptom i konfiguracijom alata.
Ova naredba će vas voditi kroz kreiranje novog agenta sa prilagođenim sistemskim promptom i konfiguracijom alata.
---
@@ -131,7 +131,7 @@ Kada se OpenCode pokrene, učitava dobavljače iz datoteke vjerodajnica. I ako p
#### list
Navodi sve autentifikovane dobavljače pohranjene u datoteci akreditiva.
Navodi sve autentifikovane dobavljače pohranjene u datoteci vjerodajnica.
```bash
opencode auth list
@@ -157,7 +157,7 @@ opencode auth logout
### github
Upravljajte GitHub agentom za automatizaciju spremišta.
Upravljajte GitHub agentom za automatizaciju repozitorija.
```bash
opencode github [command]
@@ -167,7 +167,7 @@ opencode github [command]
#### install
Instalirajte GitHub agenta u svoje spremište.
Instalirajte GitHub agenta u svoj repozitorij.
```bash
opencode github install
@@ -179,24 +179,24 @@ Ovo postavlja neophodni tok rada GitHub Actions i vodi vas kroz proces konfigura
#### run
Pokrenite GitHub agent. Ovo se obično koristi u GitHub akcijama.
Pokrenite GitHub agent. Ovo se obično koristi u GitHub Actions.
```bash
opencode github run
```
##### Zastave
##### Opcije
| Zastava | Opis |
| --------- | -------------------------------------------- |
| `--event` | GitHub lažni događaj za pokretanje agenta za |
| `--token` | GitHub token ličnog pristupa |
| Opcija | Opis |
| --------- | -------------------------------------- |
| `--event` | GitHub mock event za pokretanje agenta |
| `--token` | GitHub Personal Access Token |
---
### mcp
Upravljajte serverima protokola konteksta modela.
Upravljajte Model Context Protocol (MCP) serverima.
```bash
opencode mcp [command]
@@ -212,7 +212,7 @@ Dodajte MCP server svojoj konfiguraciji.
opencode mcp add
```
Ova komanda će vas voditi kroz dodavanje lokalnog ili udaljenog MCP servera.
Ova naredba će vas voditi kroz dodavanje lokalnog ili udaljenog MCP servera.
---
@@ -241,7 +241,7 @@ opencode mcp auth [name]
```
Ako ne navedete ime servera, od vas će biti zatraženo da izaberete neki od dostupnih servera koji podržavaju OAuth.
Također možete navesti servere koji podržavaju OAuth i njihov status provjere autentičnosti.
Također možete navesti servere koji podržavaju OAuth i njihov status autentifikacije.
```bash
opencode mcp auth list
@@ -267,7 +267,7 @@ opencode mcp logout [name]
#### debug
Otklanjanje grešaka OAuth veze sa MCP serverom.
Otklanjanje grešaka (debug) OAuth veze sa MCP serverom.
```bash
opencode mcp debug <name>
@@ -291,11 +291,11 @@ Opciono možete proslijediti ID provajdera za filtriranje modela po tom dobavlja
opencode models anthropic
```
#### Zastave
#### Opcije
| Zastava | Opis |
| Opcija | Opis |
| ----------- | ------------------------------------------------------------------------ |
| `--refresh` | Osvježite predmemoriju modela sa models.dev |
| `--refresh` | Osvježite keš modela sa models.dev |
| `--verbose` | Koristite detaljniji izlaz modela (uključuje metapodatke poput troškova) |
Koristite `--refresh` zastavicu da ažurirate keširanu listu modela. Ovo je korisno kada su novi modeli dodani provajderu i želite da ih vidite u OpenCode.
@@ -308,13 +308,13 @@ opencode models --refresh
### run
Pokrenite opencode u neinteraktivnom modu tako što ćete direktno proslijediti prompt.
Pokrenite OpenCode u neinteraktivnom modu tako što ćete direktno proslijediti prompt.
```bash
opencode run [message..]
```
Ovo je korisno za skriptiranje, automatizaciju ili kada želite brz odgovor bez pokretanja punog TUI-ja. Na primjer.
Ovo je korisno za skriptiranje, automatizaciju ili kada želite brz odgovor bez pokretanja punog TUI-ja. Na primjer:
```bash "opencode run"
opencode run Explain the use of context in Go
@@ -330,11 +330,11 @@ opencode serve
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
```
#### Zastave
#### Opcije
| Zastava | Kratko | Opis |
| Opcija | Kratko | Opis |
| ------------ | ------ | ------------------------------------------------------------------------ |
| `--command` | | Naredba za pokretanje, koristite poruku za args |
| `--command` | | Naredba za pokretanje, koristite poruku za argumente |
| `--continue` | `-c` | Nastavite posljednju sesiju |
| `--session` | `-s` | ID sesije za nastavak |
| `--fork` | | Forkujte sesiju pri nastavku (koristiti sa `--continue` ili `--session`) |
@@ -344,29 +344,29 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
| `--file` | `-f` | Fajlovi koje treba priložiti poruci |
| `--format` | | Format: default (formatiran) ili json (sirovi JSON događaji) |
| `--title` | | Naslov sesije (koristi skraćeni prompt ako nije navedena vrijednost) |
| `--attach` | | Priključite na pokrenuti opencode server (npr. http://localhost:4096) |
| `--attach` | | Priključite na pokrenuti OpenCode server (npr. http://localhost:4096) |
| `--port` | | Port za lokalni server (zadano na nasumični port) |
---
### serve
Pokrenite OpenCode server bez glave za pristup API-ju. Pogledajte [server docs](/docs/server) za kompletan HTTP interfejs.
Pokrenite OpenCode headless server za API pristup. Pogledajte [server docs](/docs/server) za kompletan HTTP interfejs.
```bash
opencode serve
```
Ovo pokreće HTTP server koji pruža API pristup funkcionalnosti otvorenog koda bez TUI interfejsa. Postavite `OPENCODE_SERVER_PASSWORD` da omogućite HTTP osnovnu auth (korisničko ime je zadano na `opencode`).
Ovo pokreće HTTP server koji pruža API pristup funkcionalnosti OpenCode-a bez TUI interfejsa. Postavite `OPENCODE_SERVER_PASSWORD` da omogućite HTTP osnovnu auth (korisničko ime je zadano na `opencode`).
#### Zastave
#### Opcije
| Zastava | Opis |
| ------------ | ---------------------------------------------------- |
| `--port` | Port za slušanje na |
| `--hostname` | Ime hosta za slušanje |
| `--mdns` | Omogući mDNS otkrivanje |
| `--cors` | Dodatni izvor(a) pretraživača koji dozvoljavaju CORS |
| Opcija | Opis |
| ------------ | ----------------------------------------------------- |
| `--port` | Port na kojem treba slušati |
| `--hostname` | Hostname na kojem treba slušati |
| `--mdns` | Omogući mDNS otkrivanje |
| `--cors` | Dodatni origin(i) pretraživača koji dozvoljavaju CORS |
---
@@ -388,12 +388,12 @@ Navedite sve OpenCode sesije.
opencode session list
```
##### Zastave
##### Opcije
| Zastava | Kratko | Opis |
| ------------- | ------ | ----------------------------------------- |
| `--max-count` | `-n` | Ograničenje na N najnovijih sesija |
| `--format` | | Izlazni format: tablica ili json (tabela) |
| Opcija | Kratko | Opis |
| ------------- | ------ | -------------------------------------- |
| `--max-count` | `-n` | Ograničenje na N najnovijih sesija |
| `--format` | | Izlazni format: table ili json (table) |
---
@@ -405,14 +405,14 @@ Prikaži statistiku upotrebe tokena i troškova za vaše OpenCode sesije.
opencode stats
```
#### Zastave
#### Opcije
| Zastava | Opis |
| ----------- | ----------------------------------------------------------------------------------------------------------- |
| `--days` | Prikaži statistiku za zadnjih N dana (sva vremena) |
| `--tools` | Broj alata za prikaz (svi) |
| `--models` | Prikaži raščlambu korištenja modela (skriveno prema zadanim postavkama). Proslijedite broj za prikaz vrha N |
| `--project` | Filtriraj po projektu (svi projekti, prazan niz: trenutni projekt) |
| Opcija | Opis |
| ----------- | ---------------------------------------------------------------------------------------------------------- |
| `--days` | Prikaži statistiku za zadnjih N dana (sva vremena) |
| `--tools` | Broj alata za prikaz (svi) |
| `--models` | Prikaži raščlambu korištenja modela (skriveno prema zadanim postavkama). Proslijedite broj za prikaz top N |
| `--project` | Filtriraj po projektu (svi projekti, prazan niz: trenutni projekt) |
---
@@ -447,22 +447,22 @@ opencode import https://opncd.ai/s/abc123
### web
Pokrenite OpenCode server bez glave sa web interfejsom.
Pokrenite OpenCode headless server sa web interfejsom.
```bash
opencode web
```
Ovo pokreće HTTP server i otvara web pretraživač za pristup OpenCode preko web interfejsa. Postavite `OPENCODE_SERVER_PASSWORD` da omogućite HTTP osnovnu auth (korisničko ime je zadano na `opencode`).
Ovo pokreće HTTP server i otvara web pretraživač za pristup OpenCode-u preko web interfejsa. Postavite `OPENCODE_SERVER_PASSWORD` da omogućite HTTP osnovnu auth (korisničko ime je zadano na `opencode`).
#### Zastave
#### Opcije
| Zastava | Opis |
| ------------ | ---------------------------------------------------- |
| `--port` | Port za slušanje na |
| `--hostname` | Ime hosta za slušanje |
| `--mdns` | Omogući mDNS otkrivanje |
| `--cors` | Dodatni izvor(a) pretraživača koji dozvoljavaju CORS |
| Opcija | Opis |
| ------------ | ----------------------------------------------------- |
| `--port` | Port na kojem treba slušati |
| `--hostname` | Hostname na kojem treba slušati |
| `--mdns` | Omogući mDNS otkrivanje |
| `--cors` | Dodatni origin(i) pretraživača koji dozvoljavaju CORS |
---
@@ -474,15 +474,15 @@ Pokrenite ACP (Agent Client Protocol) server.
opencode acp
```
Ova komanda pokreće ACP server koji komunicira preko stdin/stdout koristeći nd-JSON.
Ova naredba pokreće ACP server koji komunicira preko stdin/stdout koristeći nd-JSON.
#### Zastave
#### Opcije
| Zastava | Opis |
| ------------ | ------------------- |
| `--cwd` | Radni imenik |
| `--port` | Port za slušanje na |
| `--hostname` | Slušajte ime hosta |
| Opcija | Opis |
| ------------ | --------------------------- |
| `--cwd` | Radni direktorij |
| `--port` | Port na kojem treba slušati |
| `--hostname` | Hostname na kojem slušati |
---
@@ -494,12 +494,12 @@ Deinstalirajte OpenCode i uklonite sve povezane datoteke.
opencode uninstall
```
#### Zastave
#### Opcije
| Zastava | Kratko | Opis |
| Opcija | Kratko | Opis |
| --------------- | ------ | --------------------------------------------- |
| `--keep-config` | `-c` | Čuvajte konfiguracijske datoteke |
| `--keep-data` | `-d` | Čuvajte podatke i snimke sesije |
| `--keep-config` | `-c` | Sačuvajte konfiguracijske datoteke |
| `--keep-data` | `-d` | Sačuvajte podatke i snimke sesije |
| `--dry-run` | | Pokažite šta bi bilo uklonjeno bez uklanjanja |
| `--force` | `-f` | Preskoči upite za potvrdu |
@@ -507,7 +507,7 @@ opencode uninstall
### upgrade
Ažurira opencode na najnoviju verziju ili određenu verziju.
Ažurira OpenCode na najnoviju verziju ili određenu verziju.
```bash
opencode upgrade [target]
@@ -525,73 +525,76 @@ Za nadogradnju na određenu verziju.
opencode upgrade v0.1.48
```
#### Zastave
#### Opcije
| Zastava | Kratko | Opis |
| Opcija | Kratko | Opis |
| ---------- | ------ | ------------------------------------------------------- |
| `--method` | `-m` | Korišteni način instalacije; curl, npm, pnpm, bun, brew |
---
## Globalne zastave
## Globalne opcije
CLI otvorenog koda uzima sljedeće globalne zastavice.
| Zastava | Kratko | Opis
|-------------- | ----- | ------------------------------------ |
| `--help` | `-h` | Prikaži pomoć |
| `--version` | `-v` | Odštampaj broj verzije |
| `--print-logs` | | Ispis zapisnika u stderr |
| `--log-level` | | Nivo dnevnika (DEBUG, INFO, WARN, ERROR) |
OpenCode CLI prihvata sljedeće globalne zastavice.
| Opcija | Kratko | Opis |
| -------------- | ------ | ----------------------------------------- |
| `--help` | `-h` | Prikaži pomoć |
| `--version` | `-v` | Ispiši broj verzije |
| `--print-logs` | | Ispis logova u stderr |
| `--log-level` | | Nivo logovanja (DEBUG, INFO, WARN, ERROR) |
---
## Varijable okruženja
OpenCode se može konfigurirati pomoću varijabli okruženja.
| Varijabilna | Vrsta | Opis
|------------------------------------- | ------- | ------------------------------------------------- |
| `OPENCODE_AUTO_SHARE` | boolean | Automatski dijeli sesije |
| `OPENCODE_GIT_BASH_PATH` | string | Putanja do Git Bash izvršne datoteke na Windows |
| `OPENCODE_CONFIG` | string | Put do konfiguracionog fajla |
| `OPENCODE_CONFIG_DIR` | string | Put do konfiguracijskog direktorija |
| `OPENCODE_CONFIG_CONTENT` | string | Inline json konfiguracijski sadržaj |
| `OPENCODE_DISABLE_AUTOUPDATE` | boolean | Onemogući automatske provjere ažuriranja |
| `OPENCODE_DISABLE_PRUNE` | boolean | Onemogući orezivanje starih podataka |
| `OPENCODE_DISABLE_TERMINAL_TITLE` | boolean | Onemogući automatsko ažuriranje naslova terminala |
| `OPENCODE_PERMISSION` | string | Umetnuta json konfiguracija dozvola |
| `OPENCODE_DISABLE_DEFAULT_PLUGINS` | boolean | Onemogući podrazumevane dodatke |
| `OPENCODE_DISABLE_LSP_DOWNLOAD` | boolean | Onemogući automatsko preuzimanje LSP servera |
| `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | boolean | Omogući eksperimentalne modele |
| `OPENCODE_DISABLE_AUTOCOMPACT` | boolean | Onemogući automatsko sažimanje konteksta |
| `OPENCODE_DISABLE_CLAUDE_CODE` | boolean | Onemogući čitanje sa `.claude` (prompt + vještine) |
| `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | boolean | Onemogući čitanje `~/.claude/CLAUDE.md` |
| `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | boolean | Onemogući učitavanje `.claude/skills` |
| `OPENCODE_DISABLE_MODELS_FETCH` | boolean | Onemogući dohvaćanje modela iz udaljenih izvora |
| `OPENCODE_FAKE_VCS` | string | Lažni VCS provajder za potrebe testiranja |
| `OPENCODE_DISABLE_FILETIME_CHECK` | boolean | Onemogući provjeru vremena datoteke radi optimizacije |
| `OPENCODE_CLIENT` | string | Identifikator klijenta (zadano na `cli`) |
| `OPENCODE_ENABLE_EXA` | boolean | Omogući Exa alate za web pretraživanje |
| `OPENCODE_SERVER_PASSWORD` | string | Omogući osnovnu autorizaciju za `serve`/`web` |
| `OPENCODE_SERVER_USERNAME` | string | Poništi osnovno korisničko ime autentifikacije (zadano `opencode`) |
| `OPENCODE_MODELS_URL` | string | Prilagođeni URL za dohvaćanje konfiguracije modela |
| 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_CONFIG_DIR` | string | Putanja do konfiguracijskog direktorija |
| `OPENCODE_CONFIG_CONTENT` | string | Inline json konfiguracijski sadržaj |
| `OPENCODE_DISABLE_AUTOUPDATE` | boolean | Onemogući automatske provjere ažuriranja |
| `OPENCODE_DISABLE_PRUNE` | boolean | Onemogući brisanje (pruning) starih podataka |
| `OPENCODE_DISABLE_TERMINAL_TITLE` | boolean | Onemogući automatsko ažuriranje naslova terminala |
| `OPENCODE_PERMISSION` | string | Inline json konfiguracija dozvola |
| `OPENCODE_DISABLE_DEFAULT_PLUGINS` | boolean | Onemogući podrazumijevane dodatke (plugins) |
| `OPENCODE_DISABLE_LSP_DOWNLOAD` | boolean | Onemogući automatsko preuzimanje LSP servera |
| `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | boolean | Omogući eksperimentalne modele |
| `OPENCODE_DISABLE_AUTOCOMPACT` | boolean | Onemogući automatsko sažimanje konteksta |
| `OPENCODE_DISABLE_CLAUDE_CODE` | boolean | Onemogući čitanje iz `.claude` (prompt + vještine) |
| `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | boolean | Onemogući čitanje `~/.claude/CLAUDE.md` |
| `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | boolean | Onemogući učitavanje `.claude/skills` |
| `OPENCODE_DISABLE_MODELS_FETCH` | boolean | Onemogući dohvaćanje modela iz udaljenih izvora |
| `OPENCODE_FAKE_VCS` | string | Lažni VCS provajder za potrebe testiranja |
| `OPENCODE_DISABLE_FILETIME_CHECK` | boolean | Onemogući provjeru vremena datoteke radi optimizacije |
| `OPENCODE_CLIENT` | string | Identifikator klijenta (zadano na `cli`) |
| `OPENCODE_ENABLE_EXA` | boolean | Omogući Exa alate za web pretraživanje |
| `OPENCODE_SERVER_PASSWORD` | string | Omogući osnovnu autentifikaciju za `serve`/`web` |
| `OPENCODE_SERVER_USERNAME` | string | Poništi osnovno korisničko ime autentifikacije (zadano `opencode`) |
| `OPENCODE_MODELS_URL` | string | Prilagođeni URL za dohvaćanje konfiguracije modela |
---
### Eksperimentalno
Ove varijable okruženja omogućavaju eksperimentalne karakteristike koje se mogu promijeniti ili ukloniti.
| Varijabilna | Vrsta | Opis
|----------------------------------------------- | ------- | --------------------------------------- |
| `OPENCODE_EXPERIMENTAL` | boolean | Omogući sve eksperimentalne funkcije |
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | boolean | Omogući otkrivanje ikona |
| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | boolean | Onemogući kopiranje pri odabiru u TUI |
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | broj | Zadano vremensko ograničenje za bash komande u ms |
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | broj | Maksimalni izlazni tokeni za LLM odgovore |
| `OPENCODE_EXPERIMENTAL_FILEWATCHER` | boolean | Omogući praćenje datoteka za cijeli dir |
| `OPENCODE_EXPERIMENTAL_OXFMT` | boolean | Omogući oxfmt formatter |
| `OPENCODE_EXPERIMENTAL_LSP_TOOL` | boolean | Omogući eksperimentalni LSP alat |
| `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | boolean | Onemogući praćenje datoteka |
| `OPENCODE_EXPERIMENTAL_EXA` | boolean | Omogući eksperimentalne Exa funkcije |
| `OPENCODE_EXPERIMENTAL_LSP_TY` | boolean | Omogući eksperimentalnu provjeru tipa LSP |
| `OPENCODE_EXPERIMENTAL_MARKDOWN` | boolean | Omogući eksperimentalne Markdown funkcije |
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | boolean | Omogući režim plana |
| Varijabla | Tip | Opis |
| ----------------------------------------------- | ------- | ------------------------------------------------- |
| `OPENCODE_EXPERIMENTAL` | boolean | Omogući sve eksperimentalne funkcije |
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | boolean | Omogući otkrivanje ikona |
| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | boolean | Onemogući kopiranje pri odabiru u TUI |
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | number | Zadano vremensko ograničenje za bash naredbe u ms |
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | number | Maksimalni izlazni tokeni za LLM odgovore |
| `OPENCODE_EXPERIMENTAL_FILEWATCHER` | boolean | Omogući praćenje datoteka za cijeli direktorij |
| `OPENCODE_EXPERIMENTAL_OXFMT` | boolean | Omogući oxfmt formatter |
| `OPENCODE_EXPERIMENTAL_LSP_TOOL` | boolean | Omogući eksperimentalni LSP alat |
| `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | boolean | Onemogući praćenje datoteka |
| `OPENCODE_EXPERIMENTAL_EXA` | boolean | Omogući eksperimentalne Exa funkcije |
| `OPENCODE_EXPERIMENTAL_LSP_TY` | boolean | Omogući eksperimentalnu provjeru tipa LSP |
| `OPENCODE_EXPERIMENTAL_MARKDOWN` | boolean | Omogući eksperimentalne Markdown funkcije |
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | boolean | Omogući Plan mod |

View File

@@ -13,7 +13,7 @@ Prilagođene komande su dodatak ugrađenim komandama kao što su `/init`, `/undo
---
## Kreirajte komandne fajlove
## Kreiranje datoteka naredbi
Kreirajte markdown fajlove u direktorijumu `commands/` da definišete prilagođene komande.
Kreiraj `.opencode/commands/test.md`:
@@ -38,7 +38,7 @@ Koristite komandu tako što ćete upisati `/` nakon čega slijedi naziv komande.
---
## Konfiguriši
## Konfiguracija
Možete dodati prilagođene komande kroz OpenCode konfiguraciju ili kreiranjem markdown datoteka u direktoriju `commands/`.
@@ -99,7 +99,7 @@ Ime markdown datoteke postaje ime naredbe. Na primjer, `test.md` vam omogućava
---
## Prompt config
## Konfiguracija upita
Promptovi za prilagođene komande podržavaju nekoliko posebnih čuvara mjesta i sintakse.
@@ -190,7 +190,7 @@ Naredbe se pokreću u korijenskom direktoriju vašeg projekta i njihov izlaz pos
---
### Reference fajlova
### Reference datoteka
Uključite datoteke u svoju naredbu koristeći `@` nakon čega slijedi naziv datoteke.
@@ -213,7 +213,7 @@ Pogledajmo detaljno opcije konfiguracije.
---
### Template
### Šablon
Opcija `template` definira prompt koji će biti poslan LLM-u kada se naredba izvrši.
@@ -269,7 +269,7 @@ Ovo je **opciona** opcija konfiguracije. Ako nije navedeno, podrazumevano je va
---
### Subtask
### Podzadatak
Koristite `subtask` boolean da prisilite naredbu da pokrene [subagent](/docs/agents/#subagents) pozivanje.
Ovo je korisno ako želite da naredba ne zagađuje vaš primarni kontekst i da će **primorati** agenta da djeluje kao subagent,
@@ -307,9 +307,9 @@ Ovo je **opciona** opcija konfiguracije.
---
## Ugrađene
## 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`, `/share`, `/help`; [saznaj više](/docs/tui#commands).
:::note
Prilagođene komande mogu nadjačati ugrađene komande.
:::

View File

@@ -1,5 +1,5 @@
---
title: Config
title: Konfiguracija
description: Korištenje OpenCode JSON konfiguracije.
---
@@ -25,10 +25,10 @@ OpenCode podržava i **JSON** i **JSONC** (JSON sa komentarima) formate.
## Lokacije
Možete postaviti svoju konfiguraciju na nekoliko različitih lokacija i one imaju a
drugačiji redosled prioriteta.
Možete postaviti svoju konfiguraciju na nekoliko različitih lokacija i one imaju drugačiji redoslijed prioriteta.
:::note
Konfiguracijski fajlovi su **spojeni zajedno**, a ne zamijenjeni.
Konfiguracijski fajlovi se **spajaju**, ne zamjenjuju.
:::
Konfiguracijski fajlovi se spajaju, ne zamjenjuju. Kombiniraju se postavke sa sljedećih konfiguracijskih lokacija. Kasnije konfiguracije poništavaju prethodne samo za konfliktne ključeve. Nekonfliktne postavke iz svih konfiguracija su sačuvane.
Na primjer, ako vaša globalna konfiguracija postavlja `theme: "opencode"` i `autoupdate: true`, a vaša projektna konfiguracija postavlja `model: "anthropic/claude-sonnet-4-5"`, konačna konfiguracija će uključivati sve tri postavke.
@@ -39,12 +39,13 @@ Na primjer, ako vaša globalna konfiguracija postavlja `theme: "opencode"` i `au
Izvori konfiguracije se učitavaju ovim redoslijedom (kasniji izvori poništavaju ranije):
1. **Udaljena konfiguracija** (od `.well-known/opencode`) - organizacione postavke
1. **Udaljena konfiguracija** (od `.well-known/opencode`) - organizacijske postavke
2. **Globalna konfiguracija** (`~/.config/opencode/opencode.json`) - korisničke postavke
3. **Prilagođena konfiguracija** (`OPENCODE_CONFIG` env var) - prilagođena zaobilaženja
3. **Prilagođena konfiguracija** (`OPENCODE_CONFIG` env var) - prilagođena preinačenja
4. **Konfiguracija projekta** (`opencode.json` u projektu) - postavke specifične za projekat
5. **`.opencode` direktoriji** - agenti, komande, dodaci
6. **Inline config** (`OPENCODE_CONFIG_CONTENT` env var) - runtime nadjačava
6. **Inline konfiguracija** (`OPENCODE_CONFIG_CONTENT` env var) - runtime preinačenja
To znači da konfiguracije projekta mogu nadjačati globalne zadane postavke, a globalne konfiguracije mogu nadjačati postavke udaljene organizacije.
:::note
Direktoriji `.opencode` i `~/.config/opencode` koriste **imena u množini** za poddirektorije: `agents/`, `commands/`, `modes/`, `plugins/`, `skills/`, `tools/` i `themes/`. Pojedinačna imena (npr. `agent/`) su također podržana za kompatibilnost unatrag.
@@ -52,9 +53,9 @@ Izvori konfiguracije se učitavaju ovim redoslijedom (kasniji izvori poništavaj
---
### Daljinski
### Udaljeno (Remote)
Organizacije mogu pružiti zadanu konfiguraciju preko `.well-known/opencode` krajnje točke. Ovo se automatski preuzima kada se autentifikujete kod provajdera koji to podržava.
Organizacije mogu pružiti zadanu konfiguraciju preko `.well-known/opencode` krajnje tačke. Ovo se automatski preuzima kada se autentifikujete kod provajdera koji to podržava.
Prvo se učitava udaljena konfiguracija koja služi kao osnovni sloj. Svi ostali izvori konfiguracije (globalni, projektni) mogu nadjačati ove zadane postavke.
Na primjer, ako vaša organizacija nudi MCP servere koji su po defaultu onemogućeni:
@@ -86,14 +87,14 @@ Možete omogućiti određene servere u vašoj lokalnoj konfiguraciji:
---
### Global
### Globalno
Postavite svoju globalnu OpenCode konfiguraciju u `~/.config/opencode/opencode.json`. Koristite globalnu konfiguraciju za korisničke preferencije kao što su teme, provajderi ili veze tipki.
Globalna konfiguracija poništava zadane postavke udaljene organizacije.
---
### Project
### Projekt
Dodajte `opencode.json` u korijen projekta. Konfiguracija projekta ima najveći prioritet među standardnim konfiguracijskim datotekama - ona nadjačava globalne i udaljene konfiguracije.
:::tip
@@ -104,7 +105,7 @@ Ovo je također sigurno provjeriti u Git i koristi istu shemu kao globalna.
---
### Custom config
### Prilagođena konfiguracija
Navedite prilagođenu putanju konfiguracijske datoteke koristeći varijablu okruženja `OPENCODE_CONFIG`.
@@ -117,12 +118,9 @@ Prilagođena konfiguracija se učitava između globalne i projektne konfiguracij
---
### Custom directory
### Prilagođeni direktorij
Navedite prilagođeni konfiguracijski direktorij koristeći `OPENCODE_CONFIG_DIR`
varijabla okruženja. U ovom direktoriju će se tražiti agenti, komande,
modove i dodatke baš kao standardni `.opencode` direktorij, i trebali bi
prate istu strukturu.
Navedite prilagođeni konfiguracijski direktorij koristeći `OPENCODE_CONFIG_DIR` varijablu okruženja. U ovom direktoriju će se tražiti agenti, komande, modovi i dodaci baš kao standardni `.opencode` direktorij, i trebali bi pratiti istu strukturu.
```bash
export OPENCODE_CONFIG_DIR=/path/to/my/config-directory
@@ -133,10 +131,10 @@ Prilagođeni direktorij se učitava nakon direktorija globalne konfiguracije i `
---
## Shema
## Šema
Konfiguracijski fajl ima šemu koja je definirana u [**`opencode.ai/config.json`**](https://opencode.ai/config.json).
Vaš uređivač bi trebao biti u mogućnosti da potvrdi i autodovršava na osnovu šeme.
Vaš editor bi trebao biti u mogućnosti da validira i autodovršava na osnovu šeme.
---
@@ -162,13 +160,13 @@ Dostupne opcije:
- `scroll_acceleration.enabled` - Omogući ubrzanje skrolovanja u macOS stilu. **Ima prednost nad `scroll_speed`.**
- `scroll_speed` - Prilagođeni množitelj brzine pomicanja (podrazumevano: `3`, minimalno: `1`). Zanemareno ako je `scroll_acceleration.enabled` `true`.
- `diff_style` - Kontrola prikaza razlike. `"auto"` se prilagođava širini terminala, `"stacked"` uvijek prikazuje jednu kolonu.
[Ovdje saznajte više o korištenju TUI](/docs/tui).
[Saznajte više o korištenju TUI](/docs/tui) ovdje.
---
### Server
Možete konfigurirati postavke servera za komande `opencode serve` i `opencode web` putem opcije `server`.
Možete konfigurirati postavke servera za naredbe `opencode serve` i `opencode web` putem opcije `server`.
```json title="opencode.json"
{
@@ -186,15 +184,15 @@ Možete konfigurirati postavke servera za komande `opencode serve` i `opencode w
Dostupne opcije:
- `port` - Port za slušanje.
- `hostname` - Ime hosta za slušanje. Kada je `mdns` omogućen i nije postavljeno ime hosta, podrazumevano je `0.0.0.0`.
- `mdns` - Omogući otkrivanje mDNS usluge. Ovo omogućava drugim uređajima na mreži da otkriju vaš OpenCode server.
- `mdnsDomain` - Prilagođeno ime domene za mDNS uslugu. Zadano je `opencode.local`. Korisno za pokretanje više instanci na istoj mreži.
- `cors` - Dodatni izvori koji omogućavaju CORS kada koristite HTTP server iz klijenta baziranog na pretraživaču. Vrijednosti moraju biti punog porijekla (šema + host + opcijski port), npr. `https://app.example.com`.
- `hostname` - Hostname za slušanje. Kada je `mdns` omogućen i nije postavljeno ime hosta, podrazumevano je `0.0.0.0`.
- `mdns` - Omogući mDNS otkrivanje servisa. Ovo omogućava drugim uređajima na mreži da otkriju vaš OpenCode server.
- `mdnsDomain` - Prilagođeno ime domene za mDNS servis. Zadano je `opencode.local`. Korisno za pokretanje više instanci na istoj mreži.
- `cors` - Dodatni origini koji omogućavaju CORS kada koristite HTTP server iz klijenta baziranog na pretraživaču. Vrijednosti moraju biti puni origin (shema + host + opcijski port), npr. `https://app.example.com`.
[Saznajte više o serveru](/docs/server) ovdje.
---
### Tools
### Alati
Možete upravljati alatima koje LLM može koristiti putem opcije `tools`.
@@ -244,7 +242,7 @@ Opcije provajdera mogu uključivati `timeout` i `setCacheKey`:
- `timeout` - Vrijeme čekanja zahtjeva u milisekundama (podrazumevano: 300000). Postavite na `false` da onemogućite.
- `setCacheKey` - Osigurajte da je ključ keš memorije uvijek postavljen za određenog provajdera.
Također možete konfigurirati [lokalni modeli](/docs/models#local). [Saznajte više](/docs/models).
Također možete konfigurirati [lokalne modele](/docs/models#local). [Saznajte više](/docs/models).
---
@@ -272,8 +270,8 @@ Amazon Bedrock podržava konfiguraciju specifičnu za AWS:
```
- `region` - AWS regija za Bedrock (zadano na `AWS_REGION` env var ili `us-east-1`)
- `profile` - AWS imenovan profil od `~/.aws/credentials` (podrazumevano na `AWS_PROFILE` env var)
- `endpoint` - URL prilagođene krajnje tačke za VPC krajnje tačke. Ovo je pseudonim za generičku opciju `baseURL` koristeći terminologiju specifičnu za AWS. Ako su oba navedena, `endpoint` ima prednost.
- `profile` - AWS imenovani profil iz `~/.aws/credentials` (zadano na `AWS_PROFILE` env var)
- `endpoint` - URL prilagođene krajnje tačke za VPC krajnje tačke. Ovo je alias za generičku opciju `baseURL` koristeći terminologiju specifičnu za AWS. Ako su oba navedena, `endpoint` ima prednost.
:::note
Tokeni nosioca (`AWS_BEARER_TOKEN_BEDROCK` ili `/connect`) imaju prednost nad autentifikacijom zasnovanom na profilu. Pogledajte [prednost autentifikacije](/docs/providers#authentication-precedence) za detalje.
:::
@@ -281,7 +279,7 @@ Amazon Bedrock podržava konfiguraciju specifičnu za AWS:
---
### Theme
### Tema
Možete konfigurirati temu koju želite koristiti u svojoj OpenCode konfiguraciji putem opcije `theme`.
@@ -333,7 +331,7 @@ Možete postaviti zadanog agenta koristeći opciju `default_agent`. Ovo određuj
}
```
Zadani agent mora biti primarni agent (ne podagent). Ovo može biti ugrađeni agent kao što je `"build"` ili `"plan"`, ili [prilagođeni agent](/docs/agents) koji ste definirali. Ako navedeni agent ne postoji ili je subagent, OpenCode će se vratiti na `"build"` s upozorenjem.
Zadani agent mora biti primarni agent (ne podagent). Ovo može biti ugrađeni agent kao što je `"build"` ili `"plan"`, ili [prilagođeni agent](/docs/agents) koji ste definirali. Ako navedeni agent ne postoji ili je podagent, OpenCode će se vratiti na `"build"` s upozorenjem.
Ova postavka se primjenjuje na sva sučelja: TUI, CLI (`opencode run`), desktop aplikaciju i GitHub Action.
---
@@ -349,18 +347,18 @@ Možete konfigurirati funkciju [share](/docs/share) putem opcije `share`.
}
```
Ovo traje:
Ovo prihvata:
- `"manual"` - Dozvoli ručno dijeljenje putem komandi (podrazumevano)
- `"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`.
---
### Command
### Naredbe
Možete konfigurirati prilagođene komande za ponavljanje zadataka putem opcije `command`.
Možete konfigurirati prilagođene naredbe za ponavljanje zadataka putem opcije `command`.
```jsonc title="opencode.jsonc"
{
@@ -380,13 +378,13 @@ Možete konfigurirati prilagođene komande za ponavljanje zadataka putem opcije
}
```
Također možete definirati komande koristeći markdown fajlove u `~/.config/opencode/commands/` ili `.opencode/commands/`. [Saznajte više ovdje](/docs/commands).
Također možete definirati naredbe koristeći markdown fajlove u `~/.config/opencode/commands/` ili `.opencode/commands/`. [Saznajte više ovdje](/docs/commands).
---
### Keybinds
### Prečice tipki
Možete prilagoditi svoje veze ključeva putem opcije `keybinds`.
Možete prilagoditi svoje veze tipki putem opcije `keybinds`.
```json title="opencode.json"
{
@@ -415,7 +413,7 @@ Imajte na umu da ovo funkcionira samo ako nije instalirano pomoću upravitelja p
---
### Formatters
### Formateri
Možete konfigurirati formatere koda putem opcije `formatter`.
@@ -437,13 +435,13 @@ Možete konfigurirati formatere koda putem opcije `formatter`.
}
```
[Saznajte više o formatterima](/docs/formatters) ovdje.
[Saznajte više o formaterima](/docs/formatters) ovdje.
---
### Dozvole
Prema zadanim postavkama, opencode **dopušta sve operacije** bez potrebe za eksplicitnim dopuštenjem. Ovo možete promijeniti koristeći opciju `permission`.
Prema zadanim postavkama, OpenCode **dopušta sve operacije** bez potrebe za eksplicitnim dopuštenjem. Ovo možete promijeniti koristeći opciju `permission`.
Na primjer, da osigurate da alati `edit` i `bash` zahtijevaju odobrenje korisnika:
```json title="opencode.json"
@@ -456,11 +454,11 @@ Na primjer, da osigurate da alati `edit` i `bash` zahtijevaju odobrenje korisnik
}
```
[Ovdje saznajte više o ](/docs/permissions) dozvolama.
[Saznajte više o dozvolama](/docs/permissions) ovdje.
---
### Compaction
### Sažimanje
Možete kontrolirati ponašanje sažimanja konteksta putem opcije `compaction`.
@@ -479,7 +477,7 @@ Možete kontrolirati ponašanje sažimanja konteksta putem opcije `compaction`.
---
### Watcher
### Promatrač (Watcher)
Možete konfigurirati obrasce ignoriranja promatrača datoteka putem opcije `watcher`.
@@ -511,7 +509,7 @@ Možete konfigurirati MCP servere koje želite koristiti putem opcije `mcp`.
---
### Extras
### Dodaci
[Plugins](/docs/plugins) proširuju OpenCode sa prilagođenim alatima, kukicama i integracijama.
Postavite datoteke dodataka u `.opencode/plugins/` ili `~/.config/opencode/plugins/`. Također možete učitati dodatke iz npm-a preko opcije `plugin`.
@@ -538,8 +536,7 @@ Možete konfigurirati upute za model koji koristite putem opcije `instructions`.
}
```
Ovo uzima niz putanja i uzoraka globusa do datoteka instrukcija. [Saznajte više
o pravilima ovdje](/docs/rules).
Ovo uzima niz putanja i glob uzoraka do datoteka instrukcija. [Saznajte više o pravilima ovdje](/docs/rules).
---
@@ -560,7 +557,7 @@ Možete onemogućiti dobavljače koji se automatski učitavaju preko opcije `dis
Opcija `disabled_providers` prihvata niz ID-ova provajdera. Kada je provajder onemogućen:
- Neće se učitati čak i ako su varijable okruženja postavljene.
- Neće se učitati čak i ako su API ključevi konfigurirani putem `/connect` komande.
- Neće se učitati čak i ako su API ključevi konfigurirani putem `/connect` naredbe.
- Modeli dobavljača se neće pojaviti na listi za odabir modela.
---
@@ -576,7 +573,7 @@ Možete odrediti listu dozvoljenih dobavljača putem opcije `enabled_providers`.
}
```
Ovo je korisno kada želite da ograničite OpenCode da koristi samo određene provajdere umesto da ih onemogućavate jednog po jednog.
Ovo je korisno kada želite da ograničite OpenCode da koristi samo određene provajdere umjesto da ih onemogućavate jednog po jednog.
:::note
`disabled_providers` ima prioritet nad `enabled_providers`.
:::
@@ -607,7 +604,7 @@ Možete koristiti zamjenu varijabli u vašim konfiguracijskim datotekama da bist
---
### Env vars
### Varijable okruženja
Koristite `{env:VARIABLE_NAME}` za zamjenu varijabli okruženja:
@@ -630,7 +627,7 @@ Ako varijabla okruženja nije postavljena, bit će zamijenjena praznim nizom.
---
### Fajlovi
### Datoteke
Koristite `{file:path/to/file}` da zamijenite sadržaj fajla:

View File

@@ -1,5 +1,5 @@
---
title: Custom Tools
title: Prilagođeni alati
description: Kreirajte alate koje LLM može pozvati u otvorenom kodu.
---
@@ -133,7 +133,7 @@ Koristite `context.worktree` za korijen git radnog stabla.
## Primjeri
### Napišite alat u Python-u
### Pisanje alata u Python-u
Možete pisati svoje alate na bilo kom jeziku koji želite. Evo primjera koji zbraja dva broja koristeći Python.
Prvo kreirajte alat kao Python skriptu:

View File

@@ -1,5 +1,5 @@
---
title: Enterprise
title: Za preduzeća
description: Sigurno korištenje OpenCode u vašoj organizaciji.
---
@@ -19,7 +19,7 @@ Da započnete s OpenCode Enterprise:
---
## Trial
## Proba
OpenCode je otvorenog koda i ne pohranjuje vaš kod niti kontekstualne podatke, tako da vaši developeri mogu jednostavno [započeti](/docs/) i provesti probu.
@@ -60,19 +60,19 @@ Preporučujemo da ovo onemogućite tokom probe.
---
## Pricing
## Cijene
Koristimo model naplate po sjedištu za OpenCode Enterprise. Ako imate vlastiti LLM gateway, ne naplaćujemo korištene tokene. Za više detalja o cijenama i opcijama implementacije, **<a href={email}>kontaktirajte nas</a>**.
---
## Deployment
## Postavljanje
Nakon što završite probni period i spremni ste koristiti OpenCode u svojoj organizaciji, možete **<a href={email}>kontaktirati nas</a>** da razgovaramo o cijenama i opcijama implementacije.
---
### Central Config
### Centralna konfiguracija
Možemo postaviti OpenCode da koristi jednu centralnu konfiguraciju za cijelu organizaciju.
@@ -96,7 +96,7 @@ Također možete onemogućiti sve druge AI provajdere, čime osiguravate da svi
---
### Self-hosting
### Samostalno hostovanje
Iako preporučujemo onemogućavanje share stranica kako biste osigurali da podaci nikada ne napuštaju vašu organizaciju, možemo vam pomoći i da ih samostalno hostujete na vlastitoj infrastrukturi.
@@ -104,17 +104,17 @@ Ovo je trenutno na našoj mapi puta. Ako ste zainteresovani, **<a href={email}>j
---
## FAQ
## Često postavljana pitanja
<details>
<summary>What is OpenCode Enterprise?</summary>
<summary>Šta je OpenCode Enterprise?</summary>
OpenCode Enterprise je za organizacije koje žele osigurati da njihov kod i podaci nikada ne napuštaju njihovu infrastrukturu. To omogućava centralizovana konfiguracija koja se integriše s vašim SSO-om i internim AI gateway-om.
</details>
<details>
<summary>How do I get started with OpenCode Enterprise?</summary>
<summary>Kako započeti s OpenCode Enterprise?</summary>
Jednostavno započnite internu probu sa svojim timom. OpenCode po defaultu ne pohranjuje vaš kod ni kontekstualne podatke, što olakšava početak.
@@ -123,21 +123,21 @@ Zatim **<a href={email}>kontaktirajte nas</a>** da razgovaramo o cijenama i opci
</details>
<details>
<summary>How does enterprise pricing work?</summary>
<summary>Kako funkcionišu enterprise cijene?</summary>
Nudimo enterprise cijene po sjedištu. Ako imate vlastiti LLM gateway, ne naplaćujemo korištene tokene. Za više detalja, **<a href={email}>kontaktirajte nas</a>** za prilagođenu ponudu prema potrebama vaše organizacije.
</details>
<details>
<summary>Is my data secure with OpenCode Enterprise?</summary>
<summary>Jesu li moji podaci sigurni uz OpenCode Enterprise?</summary>
Da. OpenCode ne pohranjuje vaš kod niti kontekstualne podatke. Sva obrada se odvija lokalno ili putem direktnih API poziva vašem AI provajderu. Uz centralnu konfiguraciju i SSO integraciju, vaši podaci ostaju sigurni unutar infrastrukture vaše organizacije.
</details>
<details>
<summary>Can we use our own private NPM registry?</summary>
<summary>Možemo li koristiti vlastiti privatni NPM registar?</summary>
OpenCode podržava privatne npm registre kroz Bunovu izvornu podršku za `.npmrc` datoteku. Ako vaša organizacija koristi privatni registar, kao što je JFrog Artifactory, Nexus ili slično, osigurajte da su developeri autentifikovani prije pokretanja OpenCode.

View File

@@ -1,5 +1,5 @@
---
title: Formatters
title: Formateri
description: OpenCode koristi formatere specifične za jezik.
---
@@ -7,7 +7,7 @@ OpenCode automatski formatira datoteke nakon što su napisane ili uređene pomo
---
## Ugrađeno
## Ugrađeni
OpenCode dolazi sa nekoliko ugrađenih formatera za popularne jezike i okvire. Ispod je lista formatera, podržanih ekstenzija datoteka i naredbi ili opcija konfiguracije koje su mu potrebne.
| Formatter | Ekstenzije | Zahtjevi
@@ -49,7 +49,7 @@ Kada OpenCode piše ili uređuje datoteku, on:
---
## Konfiguriši
## Konfiguracija
Možete prilagoditi formatere kroz `formatter` odjeljak u vašoj OpenCode konfiguraciji.

View File

@@ -7,7 +7,7 @@ OpenCode se integriše sa vašim GitHub tokovom rada. Spomenite `/opencode` ili
---
## Karakteristike
## Funkcije
- **Problemi trijaže**: Zamolite OpenCode da ispita problem i objasni vam ga.
- **Popravi i implementiraj**: Zamolite OpenCode da popravi problem ili implementira funkciju. I radit će u novoj poslovnici i dostavljati PR sa svim promjenama.
@@ -244,7 +244,7 @@ Za `issues` događaje, `prompt` unos je **potreban** jer nema komentara za izvla
---
## Prilagođene upite
## Prilagođeni upiti
Zaobiđite zadani prompt da biste prilagodili ponašanje OpenCode za vaš tok posla.

View File

@@ -15,7 +15,7 @@ Ovdje koristimo CI/CD komponentu kreiranu u zajednici za OpenCode — [nagyv/git
---
### Karakteristike
### Funkcije
- **Koristite prilagođenu konfiguraciju po poslu**: Konfigurirajte OpenCode s prilagođenim konfiguracijskim direktorijem, na primjer `./config/#custom-directory` da omogućite ili onemogućite funkcionalnost po OpenCode pozivanju.
- **Minimalno podešavanje**: CI komponenta postavlja OpenCode u pozadini, samo trebate kreirati OpenCode konfiguraciju i početnu prompt.
@@ -49,7 +49,7 @@ Spomenite `@opencode` u komentaru i OpenCode će izvršiti zadatke unutar vašeg
---
### Karakteristike
### Funkcije
- **Problemi trijaže**: Zamolite OpenCode da ispita problem i objasni vam ga.
- **Popravi i implementiraj**: Zamolite OpenCode da popravi problem ili implementira funkciju.
@@ -74,7 +74,7 @@ Pogledajte [**GitLab dokumente**](https://docs.gitlab.com/user/duo_agent_platfor
<details>
<summary>Flow configuration</summary>
<summary>Konfiguracija toka</summary>
```yaml
image: node:22-slim

View File

@@ -7,7 +7,7 @@ OpenCode se integriše sa VS kodom, Cursor-om ili bilo kojim IDE-om koji podrža
---
## Upotreba
## Korištenje
- **Brzo pokretanje**: Koristite `Cmd+Esc` (Mac) ili `Ctrl+Esc` (Windows/Linux) da otvorite OpenCode u prikazu podijeljenog terminala ili fokusirajte postojeću terminalsku sesiju ako je već pokrenuta.
- **Nova sesija**: Koristite `Cmd+Shift+Esc` (Mac) ili `Ctrl+Shift+Esc` (Windows/Linux) da započnete novu OpenCode terminalsku sesiju, čak i ako je ona već otvorena. Takođe možete kliknuti na dugme OpenCode u korisničkom sučelju.

View File

@@ -1,13 +1,13 @@
---
title: Intro
description: Započnite s OpenCode.
title: Uvod
description: Započnite sa OpenCode.
---
import { Tabs, TabItem } from "@astrojs/starlight/components"
import config from "../../../../config.mjs"
export const console = config.console
[**OpenCode**](/) je agent za AI kodiranje otvorenog koda. Dostupan je kao interfejs baziran na terminalu, desktop aplikacija ili IDE ekstenzija.
[**OpenCode**](/) je AI agent za kodiranje otvorenog koda. Dostupan je kao interfejs baziran na terminalu, desktop aplikacija ili IDE ekstenzija.
![OpenCode TUI sa opencode temom](../../../assets/lander/screenshot.png)
Hajde da počnemo.
@@ -18,17 +18,17 @@ Hajde da počnemo.
Da biste koristili OpenCode u svom terminalu, trebat će vam:
1. Moderan emulator terminala kao što su:
- [WezTerm](https://wezterm.org), multi-platforma
- [Alacritty](https://alacritty.org), više platforma
- [WezTerm](https://wezterm.org), više platformi
- [Alacritty](https://alacritty.org), više platformi
- [Ghostty](https://ghostty.org), Linux i macOS
- [Kitty](https://sw.kovidgoyal.net/kitty/), Linux i macOS
2. API ključevi za LLM provajdere koje želite koristiti.
---
## Instaliraj
## Instalacija
Najlakši način za instaliranje OpenCode je putem instalacione skripte.
Najlakši način za instaliranje OpenCode je putem instalacijske skripte.
```bash
curl -fsSL https://opencode.ai/install | bash
@@ -36,7 +36,7 @@ curl -fsSL https://opencode.ai/install | bash
Također ga možete instalirati pomoću sljedećih naredbi:
- **Korišćenje Node.js**
- **Korištenje Node.js**
<Tabs>
@@ -70,7 +70,7 @@ Također ga možete instalirati pomoću sljedećih naredbi:
</Tabs>
- **Korišćenje Homebrew-a na macOS-u i Linux-u**
- **Korištenje Homebrew-a na macOS-u i Linux-u**
```bash
brew install anomalyco/tap/opencode
@@ -78,7 +78,7 @@ Također ga možete instalirati pomoću sljedećih naredbi:
> Preporučujemo korištenje OpenCode tap za najnovija izdanja. Službenu formulu `brew install opencode` održava Homebrew tim i ažurira se rjeđe.
- **Korišćenje Parua na Arch Linuxu**
- **Korištenje Parua na Arch Linuxu**
```bash
paru -S opencode-bin
@@ -87,16 +87,16 @@ Također ga možete instalirati pomoću sljedećih naredbi:
#### Windows
:::tip[Preporučeno: Koristite WSL]
Za najbolje iskustvo na Windows-u preporučujemo korištenje [Windows Subsystem for Linux (WSL)](/docs/windows-wsl). Pruža bolje performanse i potpunu kompatibilnost sa OpenCode karakteristikama.
Za najbolje iskustvo na Windows-u preporučujemo korištenje [Windows Subsystem for Linux (WSL)](/docs/windows-wsl). Pruža bolje performanse i potpunu kompatibilnost sa OpenCode funkcijama.
:::
- **Upotreba Chocolatey-a**
- **Korištenje Chocolatey-a**
```bash
choco install opencode
```
- **Upotreba Scoop-a**
- **Korištenje Scoop-a**
```bash
scoop install opencode
@@ -108,13 +108,13 @@ Za najbolje iskustvo na Windows-u preporučujemo korištenje [Windows Subsystem
npm install -g opencode-ai
```
- **Korišćenje Mise**
- **Korištenje Mise**
```bash
mise use -g github:anomalyco/opencode
```
- **Korišćenje Dockera**
- **Korištenje Dockera**
```bash
docker run -it --rm ghcr.io/anomalyco/opencode
@@ -125,12 +125,11 @@ Također možete preuzeti binarnu datoteku iz [Releases](https://github.com/anom
---
## Konfiguriši
## Konfiguracija
Uz OpenCode možete koristiti bilo kojeg LLM provajdera tako što ćete konfigurirati njihove API ključeve.
Ako ste tek počeli koristiti LLM provajdere, preporučujemo korištenje [OpenCode Zen](/docs/zen).
To je kurirana lista modela koji su testirani i verifikovani od strane OpenCode
tim.
To je kurirana lista modela koji su testirani i verifikovani od strane OpenCode tima.
1. Pokrenite naredbu `/connect` u TUI-u, odaberite opencode i idite na [opencode.ai/auth](https://opencode.ai/auth).
@@ -152,10 +151,9 @@ Alternativno, možete odabrati jednog od drugih provajdera. [Saznajte više](/do
---
## Inicijaliziraj
## Inicijalizacija
Sada kada ste konfigurisali provajdera, možete se kretati do projekta koji
na čemu želite da radite.
Sada kada ste konfigurisali provajdera, možete se kretati do projekta na kojem želite raditi.
```bash
cd /path/to/project
@@ -173,26 +171,22 @@ Zatim inicijalizirajte OpenCode za projekat pokretanjem sljedeće naredbe.
/init
```
Ovo će omogućiti OpenCode da analizira vaš projekat i kreira `AGENTS.md` fajl u njemu
korijen projekta.
Ovo će omogućiti OpenCode da analizira vaš projekat i kreira `AGENTS.md` fajl u korijenu projekta.
:::tip
Trebali biste urezati datoteku `AGENTS.md` vašeg projekta u Git.
Trebali biste komitovati datoteku `AGENTS.md` vašeg projekta u Git.
:::
Ovo pomaže OpenCode da razumije strukturu projekta i obrasce kodiranja
korišteno.
Ovo pomaže OpenCode da razumije strukturu projekta i obrasce kodiranja koji se koriste.
---
## Upotreba
## Korištenje
Sada ste spremni da koristite OpenCode za rad na svom projektu. Slobodno pitajte
bilo šta!
Ako ste novi u korištenju agenta za AI kodiranje, evo nekoliko primjera koji bi mogli
pomoć.
Sada ste spremni da koristite OpenCode za rad na svom projektu. Slobodno pitajte bilo šta!
Ako ste novi u korištenju agenta za AI kodiranje, evo nekoliko primjera koji bi mogli pomoći.
---
### Postavljajte pitanja
### Postavljanje pitanja
Možete zamoliti OpenCode da vam objasni kodnu bazu.
:::tip
@@ -207,13 +201,12 @@ Ovo je korisno ako postoji dio kodne baze na kojem niste radili.
---
### Dodajte karakteristike
### Dodavanje funkcija
Možete zamoliti OpenCode da vašem projektu doda nove funkcije. Iako preporučujemo da ga prvo zamolite da napravi plan.
1. **Kreirajte plan**
OpenCode ima _Plan mod_ koji onemogućuje njegovu sposobnost da pravi promjene i
umjesto toga predložite _kako_ će implementirati ovu funkciju.
OpenCode ima _Plan mod_ koji onemogućuje njegovu sposobnost da pravi promjene i umjesto toga predlaže _kako_ će implementirati ovu funkciju.
Prebacite se na njega pomoću tipke **Tab**. Vidjet ćete indikator za ovo u donjem desnom uglu.
```bash frame="none" title="Switch to Plan mode"
@@ -223,35 +216,31 @@ Možete zamoliti OpenCode da vašem projektu doda nove funkcije. Iako preporuču
Hajde sada da opišemo šta želimo da uradi.
```txt frame="none"
When a user deletes a note, we'd like to flag it as deleted in the database.
Then create a screen that shows all the recently deleted notes.
From this screen, the user can undelete a note or permanently delete it.
When a user deletes a note, we'd like to flag it as deleted in the database.
Then create a screen that shows all the recently deleted notes.
From this screen, the user can undelete a note or permanently delete it.
```
Želite da date OpenCode dovoljno detalja da razumete šta želite. Pomaže
da razgovarate s njim kao da razgovarate sa mlađim programerom u svom timu.
Želite da date OpenCode dovoljno detalja da razumije šta želite. Pomaže da razgovarate s njim kao da razgovarate sa mlađim programerom u svom timu.
:::tip
Dajte OpenCode dosta konteksta i primjera koji će mu pomoći da razumije šta vi
želim.
Dajte OpenCode dosta konteksta i primjera koji će mu pomoći da razumije šta vi želite.
:::
2. **Ponovite plan**
Kada vam da plan, možete mu dati povratne informacije ili dodati više detalja.
```txt frame="none"
We'd like to design this new screen using a design I've used before.
[Image #1] Take a look at this image and use it as a reference.
We'd like to design this new screen using a design I've used before.
[Image #1] Take a look at this image and use it as a reference.
```
:::tip
Prevucite i ispustite slike u terminal da biste ih dodali u prompt.
:::
OpenCode može skenirati sve slike koje mu date i dodati ih u prompt. Možeš
učinite to povlačenjem i ispuštanjem slike u terminal.
OpenCode može skenirati sve slike koje mu date i dodati ih u prompt. Možete to učiniti povlačenjem i ispuštanjem slike u terminal.
3. **Izgradite funkciju**
Kada se osjećate ugodno s planom, vratite se na _Build mode_ do
ponovnim pritiskom na taster **Tab**.
Kada se osjećate ugodno s planom, vratite se na _Build mode_ ponovnim pritiskom na taster **Tab**.
```bash frame="none"
<TAB>
@@ -265,10 +254,9 @@ I tražeći od njega da napravi promjene.
---
### Napravite promjene
### Pravljenje izmjena
Za jednostavnije promjene, možete zamoliti OpenCode da ga direktno izgradi
bez potrebe da prvo pregledate plan.
Za jednostavnije promjene, možete zamoliti OpenCode da ga direktno izgradi bez potrebe da prvo pregledate plan.
```txt frame="none" "@packages/functions/src/settings.ts" "@packages/functions/src/notes.ts"
We need to add authentication to the /settings route. Take a look at how this is
@@ -276,12 +264,11 @@ handled in the /notes route in @packages/functions/src/notes.ts and implement
the same logic in @packages/functions/src/settings.ts
```
Želite da budete sigurni da ste pružili dobru količinu detalja kako bi OpenCode bio ispravan
promjene.
Želite da budete sigurni da ste pružili dobru količinu detalja kako bi OpenCode napravio ispravne promjene.
---
### Poništi promjene
### Poništavanje izmjena
Recimo da tražite od OpenCode da izvrši neke promjene.
@@ -289,15 +276,13 @@ Recimo da tražite od OpenCode da izvrši neke promjene.
Can you refactor the function in @packages/functions/src/api/index.ts?
```
Ali shvatate da to nije ono što ste želeli. Možete **poništiti** promjene
koristeći naredbu `/undo`.
Ali shvatate da to nije ono što ste željeli. Možete **poništiti** promjene koristeći naredbu `/undo`.
```bash frame="none"
/undo
```
OpenCode će sada poništiti promjene koje ste napravili i prikazati vašu originalnu poruku
opet.
OpenCode će sada poništiti promjene koje ste napravili i ponovo prikazati vašu originalnu poruku.
```txt frame="none" "@packages/functions/src/api/index.ts"
Can you refactor the function in @packages/functions/src/api/index.ts?
@@ -315,10 +300,9 @@ Ili **možete ponoviti** promjene koristeći naredbu `/redo`.
---
## Dijeli
## Dijeljenje
Razgovore koje imate sa OpenCode možete [dijeliti sa vašim
tim](/docs/share).
Razgovore koje imate sa OpenCode možete [dijeliti sa vašim timom](/docs/share).
```bash frame="none"
/share
@@ -332,7 +316,7 @@ Evo [primjer razgovora](https://opencode.ai/s/4XP1fce5) sa OpenCode.
---
## Prilagodi
## Prilagođavanje
I to je to! Sada ste profesionalac u korištenju OpenCode.
Da biste to učinili svojim, preporučujemo [odabir teme](/docs/themes), [prilagođavanje povezivanja tipki](/docs/keybinds), [konfiguriranje formatera koda](/docs/formatters), [kreiranje prilagođenih komandi](/docs/commands), ili igranje sa [OpenCode config](/docs/config).

View File

@@ -1,9 +1,9 @@
---
title: Keybinds
description: Prilagodite svoje veze dugmadi.
title: Prečice tipki
description: Prilagodite svoje veze tipki.
---
OpenCode ima listu veza ključeva koje možete prilagoditi preko OpenCode konfiguracije.
OpenCode ima listu veza tipki koje možete prilagoditi preko OpenCode konfiguracije.
```json title="opencode.json"
{
@@ -105,15 +105,15 @@ OpenCode ima listu veza ključeva koje možete prilagoditi preko OpenCode konfig
---
## Leader key
## Leader tipka
OpenCode koristi `leader` ključ za većinu povezivanja tipki. Ovo izbjegava sukobe u vašem terminalu.
Prema zadanim postavkama, `ctrl+x` je vodeći taster i većina radnji zahtijeva da prvo pritisnete vodeći taster, a zatim i prečicu. Na primjer, da biste započeli novu sesiju, prvo pritisnite `ctrl+x`, a zatim pritisnite `n`.
Ne morate koristiti vodeći ključ za svoje veze tipki, ali preporučujemo da to učinite.
OpenCode koristi `leader` (vodeću) tipku za većinu povezivanja tipki. Ovo izbjegava sukobe u vašem terminalu.
Prema zadanim postavkama, `ctrl+x` je vodeća tipka i većina radnji zahtijeva da prvo pritisnete vodeću tipku, a zatim i prečicu. Na primjer, da biste započeli novu sesiju, prvo pritisnite `ctrl+x`, a zatim pritisnite `n`.
Ne morate koristiti vodeću tipku za svoje veze tipki, ali preporučujemo da to učinite.
---
## Onemogući povezivanje tastera
## Onemogućavanje prečica tipki
Možete onemogućiti spajanje tipki dodavanjem ključa u svoju konfiguraciju s vrijednošću "none".
@@ -130,21 +130,22 @@ Možete onemogućiti spajanje tipki dodavanjem ključa u svoju konfiguraciju s v
## Prečice za radnu površinu
Unos prompta aplikacije OpenCode za desktop podržava uobičajene prečice u stilu Readline/Emacs za uređivanje teksta. Oni su ugrađeni i trenutno se ne mogu konfigurirati putem `opencode.json`.
| Prečica | Akcija
|-------- | ---------------------------------------- |
| `ctrl+a` | Prelazak na početak tekućeg reda |
| `ctrl+e` | Prelazak na kraj trenutnog reda |
| `ctrl+b` | Pomeri kursor za jedan znak unazad |
| `ctrl+f` | Pomicanje kursora naprijed za jedan znak |
| `alt+b` | Pomeri kursor za jednu reč unazad |
| `alt+f` | Pomeri kursor za jednu reč unapred |
| `ctrl+d` | Izbriši znak ispod kursora |
| `ctrl+k` | Kill do kraja reda |
| `ctrl+u` | Kill do početka reda |
| `ctrl+w` | Kill prethodnu riječ |
| `alt+d` | Kill sljedeću riječ |
| `ctrl+t` | Transponirajte znakove |
Unos prompta aplikacije OpenCode za desktop podržava uobičajene prečice u stilu Readline/Emacs za uređivanje teksta. One su ugrađene i trenutno se ne mogu konfigurirati putem `opencode.json`.
| Prečica | Akcija |
| -------- | ------------------------------------------------ |
| `ctrl+a` | Prelazak na početak trenutnog reda |
| `ctrl+e` | Prelazak na kraj trenutnog reda |
| `ctrl+b` | Pomjeri kursor za jedan znak unazad |
| `ctrl+f` | Pomicanje kursora naprijed za jedan znak |
| `alt+b` | Pomjeri kursor za jednu riječ unazad |
| `alt+f` | Pomjeri kursor za jednu riječ unaprijed |
| `ctrl+d` | Izbriši znak ispod kursora |
| `ctrl+k` | Kill do kraja reda |
| `ctrl+u` | Kill do početka reda |
| `ctrl+w` | Kill prethodnu riječ |
| `alt+d` | Kill sljedeću riječ |
| `ctrl+t` | Transponirajte znakove |
| `ctrl+g` | Otkaži iskakanje / poništi odgovor na pokretanje |
---
@@ -153,7 +154,7 @@ Unos prompta aplikacije OpenCode za desktop podržava uobičajene prečice u sti
Neki terminali ne šalju modifikatorske tipke sa Enter prema zadanim postavkama. Možda ćete trebati konfigurirati svoj terminal da pošalje `Shift+Enter` kao escape sekvencu.
### Windows terminal
### Windows Terminal
Otvorite svoj `settings.json` na:

View File

@@ -5,7 +5,7 @@ description: OpenCode se integriše sa vašim LSP serverima.
OpenCode se integriše sa vašim Language Server Protocol (LSP) serverima kako bi pomogao LLM-u u interakciji s kodnom bazom. Koristi dijagnostiku za slanje povratnih informacija modelu.
## Ugrađeno
## Ugrađeni
OpenCode dolazi sa nekoliko ugrađenih LSP servera za popularne jezike:
| LSP server | Ekstenzije | Zahtjevi
@@ -58,7 +58,7 @@ Kada opencode otvori fajl, on:
---
## Konfiguriši
## Konfiguracija
Možete prilagoditi LSP servere kroz `lsp` odjeljak u vašoj opencode konfiguraciji.

View File

@@ -8,7 +8,7 @@ Jednom dodani, MCP alati su automatski dostupni LLM-u zajedno sa ugrađenim alat
---
#### Upozorenja
#### Upozorenje
Kada koristite MCP server, on dodaje u kontekst. Ovo se može brzo zbrojiti ako imate puno alata. Stoga preporučujemo da pazite koje MCP servere koristite.
:::tip
@@ -17,7 +17,7 @@ MCP serveri dodaju vaš kontekst, tako da želite da budete pažljivi s tim koje
Određeni MCP serveri, poput GitHub MCP servera, mogu dodati mnogo tokena i lako premašiti limit konteksta.
## Omogući
## Omogućavanje
Možete definirati MCP servere u vašoj [OpenCode Config](https://opencode.ai/docs/config/) pod `mcp`. Dodajte svaki MCP sa jedinstvenim imenom. Možete se pozvati na taj MCP po imenu kada tražite LLM.
@@ -38,7 +38,7 @@ Možete definirati MCP servere u vašoj [OpenCode Config](https://opencode.ai/do
Također možete onemogućiti server postavljanjem `enabled` na `false`. To je korisno kada ga želite privremeno isključiti bez uklanjanja iz konfiguracije.
### Poništavanje daljinskih zadanih postavki
### Poništavanje udaljenih zadanih postavki
Organizacije mogu obezbijediti zadane MCP servere preko svoje krajnje tačke `.well-known/opencode`. Ovi serveri mogu biti onemogućeni prema zadanim postavkama, omogućavajući korisnicima da se odluče za one koji su im potrebni.
Da omogućite određeni server iz udaljene konfiguracije vaše organizacije, dodajte ga u svoju lokalnu konfiguraciju sa `enabled: true`:
@@ -115,7 +115,7 @@ Ovdje su sve opcije za konfiguriranje lokalnog MCP servera.
---
## Daljinski
## Udaljeno
Dodajte udaljene MCP servere postavljanjem `type` na `"remote"`.
@@ -178,7 +178,7 @@ Za većinu MCP servera sa omogućenim OAuthom nije potrebna posebna konfiguracij
Ako server zahtijeva autentifikaciju, OpenCode će vas tražiti prijavu pri prvom korištenju. Ako se to ne desi, možete [ručno pokrenuti tok](#authenticating) naredbom `opencode mcp auth <server-name>`.
### Prethodno registrovano
### Prethodno registrirano
Ako imate klijentske vjerodajnice od dobavljača MCP servera, možete ih konfigurirati:
@@ -269,11 +269,11 @@ opencode mcp debug my-oauth-server
Komanda `mcp debug` prikazuje trenutni auth status, testira HTTP povezanost i pokušava OAuth discovery flow.
## Manage
## Upravljanje
Vaši MCP serveri su dostupni kao alati u OpenCode, zajedno s ugrađenim alatima. Možete njima upravljati kroz OpenCode konfiguraciju kao i bilo kojim drugim alatom.
### Global
### Globalno
To znači da ih možete omogućiti ili onemogućiti globalno.

View File

@@ -12,7 +12,7 @@ Saznajte više o [providers](/docs/providers).
---
## Odaberite model
## Odabir modela
Nakon što konfigurirate svog provajdera, možete odabrati model koji želite upisivanjem:
@@ -41,7 +41,7 @@ Evo nekoliko modela koji dobro rade sa OpenCode, bez posebnog redosleda. (Ovo ni
---
## Postavite zadano
## Postavljanje zadanog
Da postavite jedan od ovih kao zadani model, možete postaviti ključ `model` u svom
OpenCode config.
@@ -58,7 +58,7 @@ Ako ste konfigurirali [prilagođenog provajdera](/docs/providers#custom), `provi
---
## Konfigurišite modele
## Konfiguracija modela
Možete globalno konfigurirati opcije modela kroz config.
@@ -180,7 +180,7 @@ Možete nadjačati postojeće varijante ili dodati svoje:
}
```
### Cycle variants
### Kruženje kroz varijante
Koristite keybind `variant_cycle` za brzo prebacivanje između varijanti. [Saznajte više](/docs/keybinds).

View File

@@ -15,7 +15,7 @@ Možete se prebacivati između režima tokom sesije ili ih konfigurisati u
---
## Ugrađeno
## Ugrađeni
opencode dolazi sa dva ugrađena načina rada.
@@ -42,7 +42,7 @@ Vidi također: [Formatters](/docs/formatters) za informacije o konfiguraciji for
---
## Konfiguriši
## Konfiguracija
Možete prilagoditi ugrađene načine rada ili kreirati vlastite kroz konfiguraciju. Modovi se mogu konfigurirati na dva načina:
@@ -166,7 +166,7 @@ Vrijednosti temperature obično se kreću od 0,0 do 1,0:
Ako temperatura nije navedena, opencode koristi podrazumijevane postavke specifične za model (obično 0 za većinu modela i 0.55 za Qwen modele).
### Prompt
### Upit
Navedite prilagođenu sistemsku datoteku prompta za ovaj način rada s konfiguracijom `prompt`. Datoteka s promptom treba da sadrži upute specifične za svrhu načina rada.

View File

@@ -5,7 +5,7 @@ description: Konfigurirajte proksije i prilagođene certifikate.
OpenCode podržava standardne proxy varijable okruženja i prilagođene certifikate za enterprise mrežna okruženja.
## Proxy
## Proksi
OpenCode poštuje standardne varijable proxy okruženja.

View File

@@ -141,7 +141,7 @@ Dozvole OpenCode su označene imenom alata, plus nekoliko sigurnosnih mjera:
---
## Defaults
## Zadane postavke
Ako ništa ne navedete, OpenCode počinje od dozvoljenih zadanih vrijednosti:
@@ -164,7 +164,7 @@ Ako ništa ne navedete, OpenCode počinje od dozvoljenih zadanih vrijednosti:
---
## Šta radi “Ask”.
## Šta radi “Ask”
Kada OpenCode zatraži odobrenje, korisničko sučelje nudi tri ishoda:

View File

@@ -1,5 +1,5 @@
---
title: Plugins
title: Dodaci
description: Napišite vlastite dodatke za proširenje OpenCode.
---
@@ -8,7 +8,7 @@ Za primjere, pogledajte [plugins](/docs/ecosystem#plugins) kreirane od strane za
---
## Koristite dodatak
## Korištenje dodatka
Postoje dva načina za učitavanje dodataka.
@@ -22,7 +22,7 @@ Postavite JavaScript ili TypeScript datoteke u direktorij dodataka.
---
### Od npm
### Iz npm-a
Navedite npm pakete u vašoj konfiguracijskoj datoteci.
@@ -45,7 +45,7 @@ Pregledajte dostupne dodatke u [ecosystem](/docs/ecosystem#plugins).
---
### Učitaj redoslijed
### Redoslijed učitavanja
Dodaci se učitavaju iz svih izvora i svi zakačnjaci rade u nizu. Redoslijed učitavanja je:
@@ -57,7 +57,7 @@ Dodaci se učitavaju iz svih izvora i svi zakačnjaci rade u nizu. Redoslijed u
---
## Kreirajte dodatak
## Kreiranje dodatka
Dodatak je **JavaScript/TypeScript modul** koji izvozi jedan ili više dodataka
funkcije. Svaka funkcija prima objekt konteksta i vraća hooks objekt.
@@ -154,14 +154,14 @@ Dodaci se mogu pretplatiti na događaje kao što je prikazano ispod u odjeljku P
- `lsp.client.diagnostics`
- `lsp.updated`
#### Poruka Događaji
#### Događaji poruka
- `message.part.removed`
- `message.part.updated`
- `message.removed`
- `message.updated`
#### Događaji dozvole
#### Događaji dozvola
- `permission.asked`
- `permission.replied`
@@ -189,7 +189,7 @@ Dodaci se mogu pretplatiti na događaje kao što je prikazano ispod u odjeljku P
- `shell.env`
#### Alat Događaji
#### Događaji alata
- `tool.execute.after`
- `tool.execute.before`
@@ -206,7 +206,7 @@ Dodaci se mogu pretplatiti na događaje kao što je prikazano ispod u odjeljku P
Evo nekoliko primjera dodataka koje možete koristiti za proširenje OpenCode.
### Šalji obavještenja
### Slanje obavještenja
Pošaljite obavještenja kada se dogode određeni događaji:
@@ -248,7 +248,7 @@ export const EnvProtection = async ({ project, client, $, directory, worktree })
---
### Ubacite varijable okruženja
### Ubacivanje varijabli okruženja
Ubacite varijable okruženja u sva izvršavanja ljuske (AI alati i korisnički terminali):
@@ -299,7 +299,7 @@ Pomoćnik `tool` kreira prilagođeni alat koji opencode može pozvati. Uzima fun
---
### Logging
### Bilježenje
Koristite `client.app.log()` umjesto `console.log` za strukturirano bilježenje:
@@ -318,7 +318,7 @@ export const MyPlugin = async ({ client }) => {
Nivoi su: `debug`, `info`, `warn`, `error`. Pogledajte [SDK dokumentaciju](https://opencode.ai/docs/sdk) za detalje.
### Kuke za sabijanje
### Kuke za sažimanje
Prilagodite kontekst uključen kada se sesija zbije:

View File

@@ -15,14 +15,14 @@ Za dodavanje provajdera potrebno je:
---
### Akreditacije
### Vjerodajnice
Kada dodate API ključeve dobavljača sa naredbom `/connect`, oni se pohranjuju
u `~/.local/share/opencode/auth.json`.
---
### Config
### Konfiguracija
Možete prilagoditi dobavljače putem odjeljka `provider` u vašem OpenCode
config.
@@ -84,7 +84,7 @@ Radi kao i svaki drugi provajder u OpenCode i potpuno je opcionalan za korišten
---
## Directory
## Direktorij
Pogledajmo neke od provajdera detaljno. Ako želite dodati provajdera na
listu, slobodno otvori PR.
@@ -135,7 +135,7 @@ Da biste koristili Amazon Bedrock s OpenCode:
2. **Konfigurirajte autentifikaciju** koristeći jedan od sljedećih metoda:
#### Varijable okruženja (brzi početak)
#### Varijable okruženja (Brzi početak)
Postavite jednu od ovih varijabli okruženja dok pokrećete opencode:
@@ -157,7 +157,7 @@ Ili ih dodajte na svoj bash profil:
export AWS_REGION=us-east-1
```
#### Konfiguracijski fajl (preporučeno)
#### Konfiguracijski fajl (Preporučeno)
Za konfiguraciju specifičnu za projekat ili trajnu konfiguraciju, koristite `opencode.json`:
@@ -689,7 +689,7 @@ da pohrani token u opencode auth memoriju.
##### Samostalni GitLab
:::note[compliance note]
:::note[Napomena o usklađenosti]
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
@@ -1889,7 +1889,7 @@ Ako imate problema s konfiguracijom provajdera, provjerite sljedeće:
Ovo se ne odnosi na dobavljače kao što je Amazon Bedrock, koji se oslanjaju na varijable okruženja za svoju autentifikaciju.
2. Za prilagođene provajdere, provjerite konfiguraciju otvorenog koda i:
2. Za prilagođene provajdere, provjerite OpenCode konfiguraciju i:
- Uvjerite se da ID provajdera korišten u naredbi `/connect` odgovara ID-u u vašoj opencode konfiguraciji.
- Za provajdera se koristi pravi npm paket. Na primjer, koristite `@ai-sdk/cerebras` za Cerebras. A za sve ostale OpenAI kompatibilne provajdere, koristite `@ai-sdk/openai-compatible`.
- Provjerite da li se ispravna krajnja tačka API-ja koristi u polju `options.baseURL`.

View File

@@ -96,7 +96,7 @@ Prva pronadena datoteka pobjeduje u svakoj kategoriji. Na primjer, ako imate i `
---
## Prilagodena uputstva
## Prilagođena uputstva
Mozete navesti prilagodene datoteke uputstava u `opencode.json` ili globalnom `~/.config/opencode/opencode.json`. Tako vi i tim ponovo koristite postojeca pravila bez dupliranja u AGENTS.md.
@@ -128,7 +128,7 @@ Sve datoteke uputstava se kombinuju sa vasim `AGENTS.md` datotekama.
Iako opencode ne parsira automatski reference datoteka u `AGENTS.md`, slicno ponasanje mozete dobiti na dva nacina:
### Koristenje opencode.json
### Korištenje opencode.json
Preporuceni pristup je da koristite `instructions` polje u `opencode.json`:
@@ -139,7 +139,7 @@ Preporuceni pristup je da koristite `instructions` polje u `opencode.json`:
}
```
### Rucna uputstva u AGENTS.md
### Ručna uputstva u AGENTS.md
Mozete nauciti opencode da cita eksterne datoteke tako sto cete dati eksplicitna uputstva u `AGENTS.md`. Evo prakticnog primjera:

View File

@@ -13,7 +13,7 @@ Koristite ga za izradu integracija i programsko upravljanje opencode-om.
---
## Install
## Instalacija
Instalirajte SDK sa npm-a:
@@ -23,7 +23,7 @@ npm install @opencode-ai/sdk
---
## Create client
## Kreiranje klijenta
Kreirajte instancu opencode:
@@ -35,7 +35,7 @@ const { client } = await createOpencode()
Ovo pokrece i server i klijent
#### Options
#### Opcije
| Opcija | Tip | Opis | Default |
| ---------- | ------------- | ----------------------------- | ----------- |
@@ -47,7 +47,7 @@ Ovo pokrece i server i klijent
---
## Config
## Konfiguracija
Mozete proslijediti konfiguracijski objekat za prilagodavanje ponasanja. Instanca i dalje ucitava `opencode.json`, ali konfiguraciju mozete nadjacati ili dodati inline:
@@ -67,7 +67,7 @@ console.log(`Server running at ${opencode.server.url}`)
opencode.server.close()
```
## Client only
## Samo klijent
Ako vec imate pokrenutu opencode instancu, mozete napraviti klijentsku instancu i povezati se na nju:
@@ -79,7 +79,7 @@ const client = createOpencodeClient({
})
```
#### Options
#### Opcije
| Opcija | Tip | Opis | Default |
| --------------- | ---------- | --------------------------------- | ----------------------- |
@@ -91,7 +91,7 @@ const client = createOpencodeClient({
---
## Types
## Tipovi
SDK ukljucuje TypeScript definicije za sve API tipove. Uvezite ih direktno:
@@ -103,7 +103,7 @@ Svi tipovi su generisani iz OpenAPI specifikacije servera i dostupni u <a href={
---
## Errors
## Greške
SDK moze baciti greske koje mozete uhvatiti i obraditi:
@@ -117,7 +117,7 @@ try {
---
## APIs
## API-ji
SDK izlaže sve server API-je kroz type-safe klijent.
@@ -131,7 +131,7 @@ SDK izlaže sve server API-je kroz type-safe klijent.
---
#### Examples
#### Primjeri
```javascript
const health = await client.global.health()
@@ -149,7 +149,7 @@ console.log(health.data.version)
---
#### Examples
#### Primjeri
```javascript
// Write a log entry
@@ -176,7 +176,7 @@ const agents = await client.app.agents()
---
#### Examples
#### Primjeri
```javascript
// List all projects
@@ -196,7 +196,7 @@ const currentProject = await client.project.current()
---
#### Examples
#### Primjeri
```javascript
// Get current path information
@@ -205,7 +205,7 @@ const pathInfo = await client.path.get()
---
### Config
### Konfiguracija
| Metoda | Opis | Odgovor |
| -------------------- | --------------------------------- | ----------------------------------------------------------------------------------------------------- |
@@ -214,7 +214,7 @@ const pathInfo = await client.path.get()
---
#### Examples
#### Primjeri
```javascript
const config = await client.config.get()
@@ -224,7 +224,7 @@ const { providers, default: defaults } = await client.config.providers()
---
### Sessions
### Sesije
| Metoda | Opis | Napomene |
| ---------------------------------------------------------- | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -250,7 +250,7 @@ const { providers, default: defaults } = await client.config.providers()
---
#### Examples
#### Primjeri
```javascript
// Create and manage sessions
@@ -281,7 +281,7 @@ await client.session.prompt({
---
### Files
### Datoteke
| Metoda | Opis | Odgovor |
| ------------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------- |
@@ -299,7 +299,7 @@ await client.session.prompt({
---
#### Examples
#### Primjeri
```javascript
// Search and read files
@@ -338,7 +338,7 @@ const content = await client.file.read({
---
#### Examples
#### Primjeri
```javascript
// Control TUI interface
@@ -361,7 +361,7 @@ await client.tui.showToast({
---
#### Examples
#### Primjeri
```javascript
await client.auth.set({
@@ -372,7 +372,7 @@ await client.auth.set({
---
### Events
### Događaji
| Metoda | Opis | Odgovor |
| ------------------- | ------------------------- | ------------------------- |
@@ -380,7 +380,7 @@ await client.auth.set({
---
#### Examples
#### Primjeri
```javascript
// Listen to real-time events

View File

@@ -10,13 +10,13 @@ Komanda `opencode serve` pokrece headless HTTP server koji izlaže OpenAPI endpo
---
### Usage
### Korištenje
```bash
opencode serve [--port <number>] [--hostname <string>] [--cors <origin>]
```
#### Options
#### Opcije
| Zastava | Opis | Default |
| --------------- | ----------------------------------- | ---------------- |
@@ -34,7 +34,7 @@ opencode serve --cors http://localhost:5173 --cors https://app.example.com
---
### Authentication
### Autentifikacija
Postavite `OPENCODE_SERVER_PASSWORD` da zastitite server HTTP basic auth mehanizmom. Korisnicko ime je po defaultu `opencode`, ili postavite `OPENCODE_SERVER_USERNAME` za nadjacavanje. Ovo vazi i za `opencode serve` i za `opencode web`.
@@ -44,7 +44,7 @@ OPENCODE_SERVER_PASSWORD=your-password opencode serve
---
### How it works
### Kako radi
Kada pokrenete `opencode`, pokrecu se TUI i server. TUI je klijent koji komunicira sa serverom. Server izlaže OpenAPI 3.1 spec endpoint koji se koristi i za generisanje [SDK-a](/docs/sdk).
@@ -58,7 +58,7 @@ Mozete pokrenuti `opencode serve` da startate standalone server. Ako je opencode
---
#### Connect to an existing server
#### Povezivanje na postojeći server
Kada pokrenete TUI, port i hostname se nasumicno dodijele. Umjesto toga, mozete zadati `--hostname` i `--port` [zastave](/docs/cli), pa se povezati na taj server.
@@ -66,7 +66,7 @@ Endpoint [`/tui`](#tui) mozete koristiti za upravljanje TUI-jem kroz server. Na
---
## Spec
## Specifikacija
Server objavljuje OpenAPI 3.1 specifikaciju koju mozete vidjeti na:
@@ -78,13 +78,13 @@ Na primjer, `http://localhost:4096/doc`. Koristite specifikaciju da generisete k
---
## APIs
## API-ji
opencode server izlaže sljedece API-je.
---
### Global
### Globalno
| Metoda | Putanja | Opis | Odgovor |
| ------ | ---------------- | ------------------------------ | ------------------------------------ |
@@ -93,7 +93,7 @@ opencode server izlaže sljedece API-je.
---
### Project
### Projekt
| Metoda | Putanja | Opis | Odgovor |
| ------ | ------------------ | ----------------------- | --------------------------------------------- |
@@ -102,7 +102,7 @@ opencode server izlaže sljedece API-je.
---
### Path & VCS
### Putanja i VCS
| Metoda | Putanja | Opis | Odgovor |
| ------ | ------- | ------------------------------------ | ------------------------------------------- |
@@ -111,7 +111,7 @@ opencode server izlaže sljedece API-je.
---
### Instance
### Instanca
| Metoda | Putanja | Opis | Odgovor |
| ------ | ------------------- | ---------------------------- | --------- |
@@ -119,7 +119,7 @@ opencode server izlaže sljedece API-je.
---
### Config
### Konfiguracija
| Metoda | Putanja | Opis | Odgovor |
| ------- | ------------------- | --------------------------------- | ---------------------------------------------------------------------------------------- |
@@ -129,7 +129,7 @@ opencode server izlaže sljedece API-je.
---
### Provider
### Provajder
| Metoda | Putanja | Opis | Odgovor |
| ------ | -------------------------------- | ------------------------------------ | ----------------------------------------------------------------------------------- |
@@ -140,7 +140,7 @@ opencode server izlaže sljedece API-je.
---
### Sessions
### Sesije
| Metoda | Putanja | Opis | Napomene |
| -------- | ---------------------------------------- | ------------------------------------- | ---------------------------------------------------------------------------------- |
@@ -165,7 +165,7 @@ opencode server izlaže sljedece API-je.
---
### Messages
### Poruke
| Metoda | Putanja | Opis | Napomene |
| ------ | --------------------------------- | --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -178,7 +178,7 @@ opencode server izlaže sljedece API-je.
---
### Commands
### Naredbe
| Metoda | Putanja | Opis | Odgovor |
| ------ | ---------- | ----------------- | --------------------------------------------- |
@@ -186,7 +186,7 @@ opencode server izlaže sljedece API-je.
---
### Files
### Datoteke
| Metoda | Putanja | Opis | Odgovor |
| ------ | ------------------------ | ---------------------------------- | ------------------------------------------------------------------------------------------- |
@@ -197,17 +197,17 @@ opencode server izlaže sljedece API-je.
| `GET` | `/file/content?path=<p>` | Read a file | <a href={typesUrl}><code>FileContent</code></a> |
| `GET` | `/file/status` | Get status for tracked files | <a href={typesUrl}><code>File[]</code></a> |
#### `/find/file` query parameters
#### `/find/file` parametri upita
- `query` (required) — search string (fuzzy match)
- `type` (optional) — limit results to `"file"` or `"directory"`
- `directory` (optional) — override the project root for the search
- `limit` (optional) — max results (1200)
- `dirs` (optional) — legacy flag (`"false"` returns only files)
- `query` (obavezno) — niz za pretragu (fuzzy podudaranje)
- `type` (opcionalno) — ograniči rezultate na `"file"` ili `"directory"`
- `directory` (opcionalno) — nadjačaj korijen projekta za pretragu
- `limit` (opcionalno) — maksimalni rezultati (1200)
- `dirs` (opcionalno) — zastarjela zastavica (`"false"` vraća samo datoteke)
---
### Tools (Experimental)
### Alati (Eksperimentalno)
| Metoda | Putanja | Opis | Odgovor |
| ------ | ------------------------------------------- | ---------------------------------------- | -------------------------------------------- |
@@ -216,7 +216,7 @@ opencode server izlaže sljedece API-je.
---
### LSP, Formatters & MCP
### LSP, Formateri & MCP
| Metoda | Putanja | Opis | Odgovor |
| ------ | ------------ | -------------------------- | -------------------------------------------------------- |
@@ -227,7 +227,7 @@ opencode server izlaže sljedece API-je.
---
### Agents
### Agenti
| Metoda | Putanja | Opis | Odgovor |
| ------ | -------- | ------------------------- | ------------------------------------------- |
@@ -235,7 +235,7 @@ opencode server izlaže sljedece API-je.
---
### Logging
### Bilježenje
| Metoda | Putanja | Opis | Odgovor |
| ------ | ------- | ------------------------------------------------------------ | --------- |
@@ -261,7 +261,7 @@ opencode server izlaže sljedece API-je.
---
### Auth
### Autentifikacija
| Metoda | Putanja | Opis | Odgovor |
| ------ | ----------- | --------------------------------------------------------------- | --------- |
@@ -269,7 +269,7 @@ opencode server izlaže sljedece API-je.
---
### Events
### Događaji
| Metoda | Putanja | Opis | Odgovor |
| ------ | -------- | ----------------------------------------------------------------------------- | ------------------------- |
@@ -277,7 +277,7 @@ opencode server izlaže sljedece API-je.
---
### Docs
### Dokumentacija
| Metoda | Putanja | Opis | Odgovor |
| ------ | ------- | ------------------------- | --------------------------- |

View File

@@ -21,13 +21,13 @@ Kada podijelite razgovor, OpenCode:
---
## Sharing
## Dijeljenje
OpenCode podrzava tri nacina dijeljenja koji odreduju kako se razgovori dijele:
---
### Manual (default)
### Ručno (zadano)
Po defaultu, OpenCode koristi rucni nacin dijeljenja. Sesije se ne dijele automatski, ali ih mozete rucno podijeliti komandom `/share`:
@@ -48,7 +48,7 @@ Da eksplicitno postavite rucni nacin u [config datoteci](/docs/config):
---
### Auto-share
### Automatsko dijeljenje
Mozete ukljuciti automatsko dijeljenje za sve nove razgovore tako sto `share` postavite na `"auto"` u [config datoteci](/docs/config):
@@ -63,7 +63,7 @@ Kada je auto-share ukljucen, svaki novi razgovor se automatski dijeli i kreira s
---
### Disabled
### Onemogućeno
Dijeljenje mozete potpuno iskljuciti tako sto `share` postavite na `"disabled"` u [config datoteci](/docs/config):
@@ -96,7 +96,7 @@ Imajte na umu nekoliko stvari prije dijeljenja razgovora.
---
### Cuvanje podataka
### Čuvanje podataka
Dijeljeni razgovori ostaju dostupni dok ih eksplicitno ne uklonite iz dijeljenja. Ovo ukljucuje:

View File

@@ -1,5 +1,5 @@
---
title: "Skills agenata"
title: Vještine agenata
description: "Definisite ponasanje koje se moze ponovo koristiti"
---
@@ -31,7 +31,7 @@ Globalne definicije se takoder ucitavaju iz `~/.config/opencode/skills/*/SKILL.m
---
## Napisite frontmatter
## Pisanje frontmatter-a
Svaki `SKILL.md` mora poceti YAML frontmatter-om.
Prepoznaju se samo ova polja:
@@ -64,14 +64,14 @@ Ekvivalentni regex:
---
## Pratite pravila duzine
## Pravila dužine
`description` mora imati 1-1024 karaktera.
Neka bude dovoljno precizan da agent moze pravilno odabrati.
---
## Koristite primjer
## Primjer
Kreirajte `.opencode/skills/git-release/SKILL.md` ovako:
@@ -100,7 +100,7 @@ Ask clarifying questions if the target versioning scheme is unclear.
---
## Prepoznajte opis alata
## Opis alata
OpenCode navodi dostupne skills u opisu `skill` alata.
Svaki unos sadrzi naziv i opis skill-a:
@@ -122,7 +122,7 @@ skill({ name: "git-release" })
---
## Konfigurisite dozvole
## Konfiguracija dozvola
Kontrolisite kojim skills agenti mogu pristupiti pomocu dozvola baziranih na obrascima u `opencode.json`:
@@ -149,7 +149,7 @@ Obrasci podrzavaju wildcard znakove: `internal-*` poklapa `internal-docs`, `inte
---
## Nadjacajte po agentu
## Nadjačavanje po agentu
Dajte odredenim agentima drugacije dozvole od globalnih defaulta.
@@ -181,7 +181,7 @@ permission:
---
## Iskljucite skill alat
## Isključivanje skill alata
Potpuno iskljucite skills za agente koji ih ne bi trebali koristiti:
@@ -212,7 +212,7 @@ Kada je iskljuceno, sekcija `<available_skills>` se potpuno izostavlja.
---
## Rjesavanje problema s ucitavanjem
## Rješavanje problema s učitavanjem
Ako se skill ne pojavi:

View File

@@ -21,7 +21,7 @@ Bez truecolor podrske, teme mogu imati slabiju preciznost boja ili pasti na najb
---
## Ugradene teme
## Ugrađene teme
OpenCode dolazi sa vise ugradenih tema.
@@ -59,7 +59,7 @@ System tema je za korisnike koji:
---
## Koristenje teme
## Korištenje teme
Temu mozete izabrati preko selektora tema komandom `/theme`. Mozete je navesti i u [configu](/docs/config).
@@ -72,7 +72,7 @@ Temu mozete izabrati preko selektora tema komandom `/theme`. Mozete je navesti i
---
## Prilagodene teme
## Prilagođene teme
OpenCode podrzava fleksibilan sistem tema baziran na JSON-u koji olaksava kreiranje i prilagodavanje tema.
@@ -111,7 +111,7 @@ vim .opencode/themes/my-theme.json
---
### JSON format
### JSON struktura
Teme koriste fleksibilan JSON format koji podrzava:
@@ -129,7 +129,7 @@ Sekcija `defs` je opcionalna i omogucava da definisete boje koje se mogu ponovo
---
### Terminalski defaulti
### Terminalske zadane vrijednosti
Specijalna vrijednost `"none"` moze se koristiti za bilo koju boju da naslijedi defaultnu boju terminala. Ovo je korisno za teme koje se prirodno uklapaju u semu boja terminala:
@@ -138,7 +138,7 @@ Specijalna vrijednost `"none"` moze se koristiti za bilo koju boju da naslijedi
---
### Example
### Primjer
Evo primjera prilagodene teme:

View File

@@ -9,7 +9,7 @@ Po defaultu su svi alati **ukljuceni** i ne traze dozvolu za pokretanje. Ponasan
---
## Configure
## Konfiguracija
Koristite polje `permission` za kontrolu ponasanja alata. Za svaki alat mozete postaviti allow, deny ili ask.
@@ -39,7 +39,7 @@ Mozete koristiti i wildcard obrasce da kontrolisete vise alata odjednom. Na prim
---
## Built-in
## Ugrađeni
Ovo su svi ugradeni alati dostupni u OpenCode.
@@ -168,7 +168,7 @@ Ovaj alat ispisuje sadrzaj direktorija. Prihvata glob obrasce za filtriranje rez
---
### lsp (experimental)
### lsp (eksperimentalno)
Komunicira sa konfigurisanim LSP serverima za funkcije inteligencije koda kao definicije, reference, hover info i hijerarhija poziva.
@@ -344,7 +344,7 @@ Svako pitanje ukljucuje naslov, tekst pitanja i listu opcija. Korisnici mogu iza
---
## Custom tools
## Prilagođeni alati
Custom tools vam omogucavaju da definisete vlastite funkcije koje LLM moze pozivati. Definisu se u config datoteci i mogu izvrsavati proizvoljan kod.
@@ -352,7 +352,7 @@ Custom tools vam omogucavaju da definisete vlastite funkcije koje LLM moze poziv
---
## MCP servers
## MCP serveri
MCP (Model Context Protocol) serveri omogucavaju integraciju eksternih alata i servisa. Ovo ukljucuje pristup bazama, API integracije i third-party servise.
@@ -360,13 +360,13 @@ MCP (Model Context Protocol) serveri omogucavaju integraciju eksternih alata i s
---
## Internals
## Interno
Interno, alati kao `grep`, `glob` i `list` koriste [ripgrep](https://github.com/BurntSushi/ripgrep). Po defaultu, ripgrep postuje `.gitignore` obrasce, pa se fajlovi i direktoriji iz `.gitignore` izostavljaju iz pretraga i listinga.
---
### Ignore patterns
### Obrasci ignorisanja
Da ukljucite fajlove koji bi inace bili ignorisani, kreirajte `.ignore` datoteku u korijenu projekta. Ova datoteka moze eksplicitno dozvoliti odredene putanje.

View File

@@ -7,7 +7,7 @@ Da biste otklonili probleme s OpenCode, počnite provjeravanjem dnevnika i lokal
---
## Logovi
## Dnevnici
Log fajlovi se pišu na:
@@ -20,9 +20,9 @@ Možete postaviti nivo dnevnika pomoću opcije komandne linije `--log-level` da
---
## Skladištenje
## Pohrana
opencode pohranjuje podatke o sesiji i druge podatke aplikacije na disku na:
OpenCode pohranjuje podatke o sesiji i druge podatke aplikacije na disku na:
- **macOS/Linux**: `~/.local/share/opencode/`
- **Windows**: Pritisnite `WIN+R` i zalijepite `%USERPROFILE%\.local\share\opencode`
@@ -49,7 +49,7 @@ OpenCode Desktop pokreće lokalni OpenCode server (`opencode-cli` sidecar) u poz
---
### Onemogući dodatke
### Onemogućavanje dodataka
Ako se desktop aplikacija ruši pri pokretanju, visi ili se čudno ponaša, počnite s onemogućavanjem dodataka.
@@ -70,7 +70,7 @@ Ako imate konfigurirane dodatke, privremeno ih onemogućite uklanjanjem ključa
}
```
#### Provjerite imenike dodataka
#### Provjera direktorija dodataka
OpenCode također može učitati lokalne dodatke s diska. Privremeno ih maknite s puta (ili preimenujte folder) i ponovo pokrenite desktop aplikaciju:
@@ -84,7 +84,7 @@ Ako aplikacija ponovo počne raditi, ponovo omogućite dodatke jedan po jedan ka
---
### Očisti keš memoriju
### Brisanje keš memorije
Ako onemogućavanje dodataka ne pomogne (ili se instalacija dodatka zaglavila), obrišite keš memoriju kako bi ga OpenCode mogao ponovo izgraditi.
@@ -99,7 +99,7 @@ Ako onemogućavanje dodataka ne pomogne (ili se instalacija dodatka zaglavila),
---
### Popravite probleme sa vezom na serveru
### Rješavanje problema sa vezom na serveru
OpenCode Desktop može ili pokrenuti svoj lokalni server (podrazumevano) ili se povezati na URL servera koji ste konfigurisali.
@@ -130,7 +130,7 @@ Na Linuxu, neka podešavanja Waylanda mogu uzrokovati prazne prozore ili greške
---
### Windows: WebView2 runtime
### Windows: WebView2 izvršno okruženje
Na Windows-u, OpenCode Desktop zahtijeva Microsoft Edge **WebView2 Runtime**. Ako se aplikacija otvori u praznom prozoru ili se ne pokrene, instalirajte/ažurirajte WebView2 i pokušajte ponovo.
@@ -151,7 +151,7 @@ OpenCode Desktop prikazuje sistemska obavještenja samo kada:
---
### Poništi pohranu desktop aplikacija (posljednje rješenje)
### Resetovanje pohrane desktop aplikacije
Ako se aplikacija ne pokrene i ne možete izbrisati postavke unutar korisničkog sučelja, resetirajte spremljeno stanje desktop aplikacije.
@@ -169,7 +169,7 @@ Da brzo pronađete direktorij:
---
## Dobivanje pomoći
## Traženje pomoći
Ako imate problema s OpenCode:
@@ -195,7 +195,7 @@ Evo nekih uobičajenih problema i kako ih riješiti.
---
### OpenCode se neće pokrenuti
### OpenCode se ne pokreće
1. Provjerite dnevnike za poruke o greškama
2. Pokušajte pokrenuti sa `--print-logs` da vidite izlaz u terminalu
@@ -252,7 +252,7 @@ Na Windows-u pritisnite `WIN+R` i izbrišite: `%USERPROFILE%\.local\share\openco
### AI_APICallError i problemi sa paketom dobavljača
Ako naiđete na greške API poziva, to može biti zbog zastarjelih paketa dobavljača. opencode dinamički instalira pakete dobavljača (OpenAI, Anthropic, Google, itd.) po potrebi i kešira ih lokalno.
Ako naiđete na greške API poziva, to može biti zbog zastarjelih paketa dobavljača. OpenCode dinamički instalira pakete dobavljača (OpenAI, Anthropic, Google, itd.) po potrebi i kešira ih lokalno.
Da biste riješili probleme s paketom dobavljača:
@@ -264,9 +264,9 @@ Da biste riješili probleme s paketom dobavljača:
Na Windows-u pritisnite `WIN+R` i izbrišite: `%USERPROFILE%\.cache\opencode`
2. Ponovo pokrenite opencode da ponovo instalirate najnovije pakete dobavljača
2. Ponovo pokrenite OpenCode da ponovo instalirate najnovije pakete dobavljača
Ovo će prisiliti opencode da preuzme najnovije verzije paketa dobavljača, što često rješava probleme kompatibilnosti s parametrima modela i promjenama API-ja.
Ovo će prisiliti OpenCode da preuzme najnovije verzije paketa dobavljača, što često rješava probleme kompatibilnosti s parametrima modela i promjenama API-ja.
---
@@ -297,4 +297,4 @@ Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
export DISPLAY=:99.0
```
opencode će otkriti da li koristite Wayland i preferirate `wl-clipboard`, u suprotnom će pokušati pronaći alate međuspremnika po redoslijedu: `xclip` i `xsel`.
OpenCode će otkriti da li koristite Wayland i preferirate `wl-clipboard`, u suprotnom će pokušati pronaći alate međuspremnika po redoslijedu: `xclip` i `xsel`.

View File

@@ -27,7 +27,7 @@ Give me a quick summary of the codebase.
---
## Reference fajlova
## Reference datoteka
Možete referencirati datoteke u svojim porukama koristeći `@`. Ovo vrši nejasnu pretragu datoteka u trenutnom radnom direktoriju.
@@ -43,7 +43,7 @@ Sadržaj datoteke se automatski dodaje u razgovor.
---
## Bash komande
## Bash naredbe
Započnite poruku sa `!` da pokrenete komandu ljuske.
@@ -55,7 +55,7 @@ Izlaz naredbe se dodaje u razgovor kao rezultat alata.
---
## Komande
## Naredbe
Kada koristite OpenCode TUI, možete upisati `/` nakon čega slijedi ime komande da biste brzo izvršili radnje. na primjer:
@@ -356,7 +356,7 @@ Nekim uređivačima su potrebni argumenti komandne linije da bi se pokrenuli u n
---
## Konfiguriši
## Konfiguracija
Možete prilagoditi TUI ponašanje putem vašeg OpenCode konfiguracionog fajla.

View File

@@ -21,7 +21,7 @@ Ovo pokreće lokalni server na `127.0.0.1` sa nasumičnim dostupnim portom i aut
Ako `OPENCODE_SERVER_PASSWORD` nije postavljen, server će biti nezaštićen. Ovo je u redu za lokalnu upotrebu, ali bi trebalo biti postavljeno za pristup mreži.
:::
:::tip[Windows Users]
:::tip[Windows korisnici]
Za najbolje iskustvo, pokrenite `opencode web` iz [WSL](/docs/windows-wsl) umjesto PowerShell-a. Ovo osigurava pravilan pristup sistemu datoteka i integraciju terminala.
:::
@@ -54,7 +54,7 @@ Kada koristite `0.0.0.0`, OpenCode će prikazati i lokalne i mrežne adrese:
Network access: http://192.168.1.100:4096
```
### mDNS Discovery
### mDNS Otkrivanje
Omogućite mDNS kako bi vaš server bio vidljiv na lokalnoj mreži:

View File

@@ -7,13 +7,13 @@ import { Steps } from "@astrojs/starlight/components"
Iako OpenCode moze raditi direktno na Windowsu, preporucujemo [Windows Subsystem for Linux (WSL)](https://learn.microsoft.com/en-us/windows/wsl/install) za najbolje iskustvo. WSL daje Linux okruzenje koje glatko radi sa OpenCode funkcijama.
:::tip[Why WSL?]
:::tip[Zašto WSL?]
WSL nudi bolje performanse fajl sistema, punu terminalsku podrsku i kompatibilnost s razvojnim alatima na koje se OpenCode oslanja.
:::
---
## Setup
## Postavljanje
<Steps>
@@ -42,7 +42,7 @@ WSL nudi bolje performanse fajl sistema, punu terminalsku podrsku i kompatibilno
---
## Desktop App + WSL Server
## Desktop aplikacija + WSL Server
Ako preferirate OpenCode Desktop aplikaciju, ali zelite da server radi u WSL-u:
@@ -69,7 +69,7 @@ OPENCODE_SERVER_PASSWORD=your-password opencode serve --hostname 0.0.0.0
---
## Web Client + WSL
## Web klijent + WSL
Za najbolje web iskustvo na Windowsu:
@@ -106,7 +106,7 @@ Za najgladje iskustvo, razmislite da klonirate/kopirate repo u WSL fajl sistem (
---
## Tips
## Savjeti
- Drzite OpenCode u WSL-u za projekte na Windows diskovima - pristup fajlovima je jednostavan
- Koristite VS Code [WSL ekstenziju](https://code.visualstudio.com/docs/remote/wsl) uz OpenCode za integrisan tok rada

View File

@@ -89,7 +89,7 @@ Nasim modelima mozete pristupiti i preko sljedecih API endpointa.
---
### Models
### Modeli
Pun spisak dostupnih modela i metapodataka mozete preuzeti na:

View File

@@ -1,5 +1,5 @@
---
title: ACP support
title: ACP-understøttelse
description: Brug OpenCode i enhver ACP-kompatibel editor.
---
@@ -13,7 +13,7 @@ ACP er en åben protokol, der standardiserer kommunikation mellem kodeeditorer o
---
## Konfigurer
## Konfiguration
For at bruge OpenCode via ACP, konfigurer din editor til at køre kommandoen `opencode acp`.
@@ -140,7 +140,7 @@ Denne konfiguration sætter CodeCompanion til at bruge OpenCode som ACP-agent ti
Hvis du har brug for at sende miljøvariabler (som `OPENCODE_API_KEY`), henvises til [Konfiguration af adaptere: Miljøvariabler](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key) i CodeCompanion.nvim-dokumentationen for alle detaljer.
## Support
## Understøttelse
OpenCode fungerer på samme måde via ACP som i terminalen. Alle funktioner understøtter:

View File

@@ -1,5 +1,5 @@
---
title: Agent
title: Agenter
description: Konfigurer og brug specialiserede agenter.
---
@@ -13,13 +13,13 @@ Du kan skifte mellem agenter under en session eller kalde dem med `@`-omtalen.
---
## Skriver
## Typer
Der er to typer agenter i OpenCode; primære agenter og subagenter.
---
### Primære agent
### Primær agent
Primære agenter er de vigtigste assistenter, du interagerer direkte med. Du kan bladre gennem dem ved at bruge **Tab**-tasten eller din konfigurerede `switch_agent`-tastebinding. Disse agenter håndterer din hovedsamtale. Værktøjsadgang konfigureres via tilladelser - for eksempel har Build alle aktiveret, mens Plan er begrænset.
@@ -40,13 +40,13 @@ OpenCode leveres med to indbyggede underagenter, **Generelt** og **Udforsk**. Vi
---
## Indbygget
## Indbyggede
OpenCode leveres med to indbyggede primære agenter og to indbyggede subagenter.
---
### Brug bygge
### Build-agenten
_Tilstand_: `primary`
@@ -54,7 +54,7 @@ Byg er den **standard** primære agent med alle aktiveret. Dette er standardagen
---
### Brug plan
### Plan-agenten
_Tilstand_: `primary`
@@ -68,7 +68,7 @@ Denne agent er nyttig, når du vil have LLM til at analysere kode, foreslå ænd
---
### Brug generelt
### General-agenten
_Tilstand_: `subagent`
@@ -76,7 +76,7 @@ En agent til generelt formål at undersøge komplekse spørgsmål og udføre opg
---
### Brug udforsk
### Explore-agenten
_Tilstand_: `subagent`
@@ -84,7 +84,7 @@ En hurtig, skrivebeskyttet agent til at udforske kodebaser. Kan ikke ændre file
---
### Brug komprimering
### Compact-agenten
_Tilstand_: `primary`
@@ -92,7 +92,7 @@ Skjult systemagent, der komprimerer lang kontekst til et mindre resumé. Det kø
---
### Brug titel
### Title-agenten
_Tilstand_: `primary`
@@ -100,7 +100,7 @@ Skjult systemagent, der genererer korte sessionstitler. Den kører automatisk og
---
### Brug CV
### Resume-agenten
_Tilstand_: `primary`
@@ -108,7 +108,7 @@ Skjult systemagent, der opretter sessionsoversigter. Den kører automatisk og ka
---
## Brug
## Anvendelse
1. For primære agenter skal du bruge tasten **Tab** til at bladre gennem dem under en session. Du kan også bruge din konfigurerede `switch_agent` nøglebinding.
@@ -128,7 +128,7 @@ Skjult systemagent, der opretter sessionsoversigter. Den kører automatisk og ka
---
## Konfigurer
## Konfiguration
Du kan tilpasse de indbyggede agenter eller oprette dine egne gennem konfiguration. Agenter kan konfigureres på følgende måder:
@@ -216,7 +216,7 @@ Lad os se nærmere på disse konfigurationsmuligheder.
---
### Beskrivelse
### Beskrivelse (`description`)
Brug indstillingen `description` til at give en kort beskrivelse af, hvad agenten gør, og hvornår den skal bruges.
@@ -234,7 +234,7 @@ Dette er en **påkrævet** konfigurationsindstilling.
---
### Temperatur
### Temperatur (`temperature`)
Styr tilfældigheden og kreativiteten af LLMs svar med `temperature`-konfigurationen.
@@ -281,7 +281,7 @@ Hvis ingen temperatur er angivet, bruger OpenCode modelspecifikke standardindsti
---
### Maks. skridt
### Trin (`steps`)
Kontrollerer det maksimale antal agent-gentagelser, som en agent kan udføre, før han bliver tvunget til kun at svare med tekst. Dette giver brugere, der ønsker at kontrollere, mulighed for at sætte en grænse for agenthandlinger.
@@ -307,7 +307,7 @@ Det gamle `maxSteps`-felt er forældet. Brug `steps` i stedet.
---
### Deaktiver
### Deaktivering (`disable`)
Indstil til `true` for at deaktivere agenten.
@@ -323,7 +323,7 @@ Indstil til `true` for at deaktivere agenten.
---
### Spørg
### Prompt (`prompt`)
Angiv en brugerdefineret systempromptfil for denne agent med `prompt`-konfigurationen. Promptfilen skal indeholde instruktioner, der er specifikke for agentens formål.
@@ -341,7 +341,7 @@ Denne sti er i forhold til, hvor konfigurationsfilen er placeret. Så dette virk
---
### Model
### Model (`model`)
Brug `model`-konfigurationen til at tilsidesætte modeller for denne agent. Nyttigt til brug af forskellige modeller optimeret til forskellige opgaver. For eksempel en hurtigere model til planlægning, en dygtig model til implementering.
@@ -363,7 +363,7 @@ Model-id'et i din OpenCode-konfiguration brugerformatet `provider/model-id`. For
---
### Værktøjer
### Værktøjer (`tools`)
Kontroller, hvilke værktøjer der er tilgængelige i denne agent med `tools`-konfigurationen. Du kan aktivere eller deaktivere specifikke redskaber ved at indstille dem til `true` eller `false`.
@@ -410,7 +410,7 @@ Du kan også bruge jokertegn til at styre flere værktøjer på én gang. For ek
---
### Tilladelser
### Tilladelser (`permission`)
Du kan konfigurere tilladelser til at administrere, hvilke handlinger og agenter kan udføre. I øjeblikket kan tilladelserne til værktøjerne `edit`, `bash` og `webfetch` konfigureres til:
@@ -522,7 +522,7 @@ Da den sidste matchningsregel har forrang, skal du sætte jokertegnet `*` først
---
### Tilstand
### Tilstand (`mode`)
Styr agentens tilstand med `mode`-konfigurationen. Indstillingen `mode` bruges til at bestemme, hvordan agenten kan bruges.
@@ -540,7 +540,7 @@ Indstillingen `mode` kan indstilles til `primary`, `subagent` eller `all`. Hvis
---
### Skjult
### Skjult (`hidden`)
Skjul en underagent fra `@` autofuldførelsesmenuen med `hidden: true`. Nyttigt for interne underagenter, der kun bør startes programmatisk af andre agenter via opgaveværktøjet.
@@ -563,7 +563,7 @@ Gælder kun for `mode: subagent`-agent.
---
### Opgavetilladelser
### Opgavetilladelser (`permission.task`)
Kontroller, hvilke subagenter en agent kan påkalde via opgaveværktøjet med `permission.task`. Bruger glob-mønstre til fleksibel matchning.
@@ -596,7 +596,7 @@ Brugere kan altid påkalde enhver underagent direkte via `@` autofuldførelsesme
---
### Farve
### Farve (`color`)
Tilpas agentens visuelle udseende i brugergrænsefladen med muligheden `color`. Dette påvirker, hvordan agenter vises i grænsefladen.
@@ -662,7 +662,7 @@ Kør `opencode models` for at se en liste over de tilgængelige modeller.
---
## Opret agent
## Oprettelse af agent
Du kan oprette nye agenter ved hjælp af følgende kommando:
@@ -680,7 +680,7 @@ Denne interaktive kommando vil:
---
## Use cases
## Anvendelsesmuligheder
Her er nogle almindelige use cases for forskellige agenter.
@@ -702,7 +702,7 @@ Har du en agent, du gerne vil dele? [Send en PR](https://github.com/anomalyco/op
---
### Dokumentationsagent
### Dokumentations-agent
```markdown title="~/.config/opencode/agents/docs-writer.md"
---
@@ -724,7 +724,7 @@ Focus on:
---
### Sikkerhedsrevisor
### Sikkerheds-agent
```markdown title="~/.config/opencode/agents/security-auditor.md"
---

View File

@@ -27,7 +27,7 @@ Start OpenCode terminalbrugergrænsefladen.
opencode [project]
```
#### Flags
#### Flag
| Flag | Kort | Beskrivelse |
| ------------ | ---- | ---------------------------------------------------------------------------- |
@@ -76,7 +76,7 @@ opencode web --port 4096 --hostname 0.0.0.0
opencode attach http://10.20.30.40:4096
```
#### Flags
#### Flag
| Flag | Kort | Beskrivelse |
| ----------- | ---- | -------------------------------- |
@@ -185,7 +185,7 @@ Kør GitHub-agenten. Dette bruges typisk i GitHub Actions.
opencode github run
```
##### Flags
##### Flag
| Flag | Beskrivelse |
| --------- | ---------------------------------------------- |
@@ -294,7 +294,7 @@ Du kan eventuelt videregive et udbyder-id for at filtrere modeller efter den udb
opencode models anthropic
```
#### Flags
#### Flag
| Flag | Beskrivelse |
| ----------- | ----------------------------------------------------------------------- |
@@ -333,7 +333,7 @@ opencode serve
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
```
#### Flags
#### Flag
| Flag | Kort | Beskrivelse |
| ------------ | ---- | ----------------------------------------------------------------------------------- |
@@ -362,7 +362,7 @@ opencode serve
Dette starter en HTTP-server, der giver API-adgang til opencode-funktionalitet uden TUI-grænsefladen. Indstil `OPENCODE_SERVER_PASSWORD` for at aktivere HTTP grundlæggende godkendelse (brugernavn er standard til `opencode`).
#### Flags
#### Flag
| Flag | Beskrivelse |
| ------------ | ------------------------------------------------ |
@@ -391,7 +391,7 @@ Liste over alle OpenCode sessioner.
opencode session list
```
##### Flags
##### Flag
| Flag | Kort | Beskrivelse |
| ------------- | ---- | -------------------------------------- |
@@ -408,7 +408,7 @@ Vis tokenbrug og omkostningsstatistikker for dine OpenCode-sessioner.
opencode stats
```
#### Flags
#### Flag
| Flag | Beskrivelse |
| ----------- | --------------------------------------------------------------------------- |
@@ -458,7 +458,7 @@ opencode web
Dette starter en HTTP-server og åbner en webbrowser for at få adgang til OpenCode via en webgrænseflade. Indstil `OPENCODE_SERVER_PASSWORD` for at aktivere HTTP grundlæggende godkendelse (brugernavn er standard til `opencode`).
#### Flags
#### Flag
| Flag | Beskrivelse |
| ------------ | ------------------------------------------------ |
@@ -479,7 +479,7 @@ opencode acp
Denne kommando starter en ACP-server, der kommunikerer via stdin/stdout ved hjælp af nd-JSON.
#### Flags
#### Flag
| Flag | Beskrivelse |
| ------------ | --------------------- |
@@ -497,7 +497,7 @@ Afinstaller OpenCode og fjern alle relaterede filer.
opencode uninstall
```
#### Flags
#### Flag
| Flag | Kort | Beskrivelse |
| --------------- | ---- | ------------------------------------------------ |
@@ -536,7 +536,7 @@ opencode upgrade v0.1.48
---
## Globalt flag
## Globale flag
opencode CLI tager følgende globale flag.
@@ -582,7 +582,7 @@ OpenCode kan konfigureres ved hjælp af miljøvariabler.
---
### Flags
### Flag
Disse miljøvariabler muliggør eksperimentelle funktioner, der kan ændres eller fjernes.

View File

@@ -13,7 +13,7 @@ Brugerdefinerede kommandoer er ud over de indbyggede kommandoer som `/init`, `/u
---
## Opret kommandofiler
## Oprettelse af kommandofiler
Opret markdown-filer i mappen `commands/` for at definere brugerdefinerede kommandoer.
@@ -40,7 +40,7 @@ Brug kommandoen ved at skrive `/` efterfulgt af kommandonavnet.
---
## Konfigurer
## Konfiguration
Du kan tilføje brugerdefinerede kommandoer gennem OpenCode-konfigurationen eller ved at oprette markdown-filer i `commands/`-mappen.
@@ -102,7 +102,7 @@ du løber:
---
## Spørg config
## Prompt-konfiguration
Spørgsmålene til de brugerdefinerede kommandoer understøtter flere specielle pladsholdere og syntaks.
@@ -195,7 +195,7 @@ Kommandoer kører i dit projekts rodmappe, og deres output bliver en del af prom
---
### Filreferencer
### Fil-referencer
Inkluder filer i din kommando ved hjælp af `@` efterfulgt af filnavnet.
@@ -218,7 +218,7 @@ Lad os se nærmere på konfigurationsmulighederne.
---
### Skabelon
### Skabelon (`template`)
Indstillingen `template` definerer den prompt, der sendes til LLM, når kommandoen udføres.
@@ -236,7 +236,7 @@ Dette er en **påkrævet** konfigurationsindstilling.
---
### Beskrivelse
### Beskrivelse (`description`)
Brug indstillingen `description` til at give en kort beskrivelse af, hvad kommandoen gør.
@@ -274,7 +274,7 @@ Dette er en **valgfri** konfigurationsindstilling. Hvis det ikke er angivet, er
---
### Underopgave
### Underopgave (`subtask`)
Brug `subtask` boolean til at tvinge kommandoen til at udløse en [subagent](/docs/agents/#subagents) påkaldelse.
Dette er nyttigt, hvis du ønsker, at kommandoen ikke skal forurene din primære kontekst og vil **tvinge** agenten til at fungere som en underagent,
@@ -312,7 +312,7 @@ Dette er en **valgfri** konfigurationsindstilling.
---
## Indbygget
## Indbyggede kommandoer
opencode indeholder flere indbyggede kommandoer som `/init`, `/undo`, `/redo`, `/share`, `/help`; [learn more](/docs/tui#commands).

View File

@@ -1,5 +1,5 @@
---
title: Konfig
title: Konfiguration
description: Ved at bruge OpenCode JSON konfig.
---
@@ -23,7 +23,7 @@ OpenCode understøtter både **JSON** og **JSONC** (JSON med kommentarer) format
---
## Steder
## Placeringer
Du kan placere din konfiguration et par forskellige steder, og de har en
forskellig rækkefølge.
@@ -101,7 +101,7 @@ Global config tilsidesætter eksterne organisatoriske standarder.
---
### Pr. projekt
### Projekt-niveau
Tilføj `opencode.json` i dit projektrod. Project config har den højeste forrang blandt standard config-filer - den tilsidesætter både globale og eksterne config.
@@ -128,7 +128,7 @@ Brugerdefineret konfigurationsindlæses mellem globale konfigurationer og projek
---
### Brugerdefineret bibliotek
### Brugerdefineret mappe
Angiv en brugerdefineret konfigurationsmappe ved hjælp af `OPENCODE_CONFIG_DIR`
miljøvariabel. Dette kort vil blive søgt efter agenter, kommandoer,
@@ -208,7 +208,7 @@ Tilgængelige muligheder:
---
### Værktøjer
### Værktøjer (`tools`)
Du kan administrere de værktøjer, en LLM kan bruge, gennem indstillingen `tools`.
@@ -226,7 +226,7 @@ Du kan administrere de værktøjer, en LLM kan bruge, gennem indstillingen `tool
---
### Modeller
### Modeller (`models`)
Du kan konfigurere de udbydere og modeller, du vil bruge i din OpenCode-konfiguration, gennem mulighederne `provider`, `model` og `small_model`.
@@ -299,7 +299,7 @@ Bearer tokens (`AWS_BEARER_TOKEN_BEDROCK` eller `/connect`) har forrang over pro
---
### Temaer
### Temaer (`themes`)
Du kan konfigurere det tema, du vil bruge i din OpenCode-konfiguration, gennem indstillingen `theme`.
@@ -340,7 +340,7 @@ Du kan også definere agenter ved at bruge markdown-filer i `~/.config/opencode/
---
### Standardagent
### Standardagent (`default_agent`)
Du kan indstille standardagenten ved at bruge indstillingen `default_agent`. Dette bestemmer, hvilken agent der bruges, når ingen er eksplicit angivet.
@@ -357,7 +357,7 @@ Denne indstilling gælder på tværs af alle grænseflader: TUI, CLI (`opencode
---
### Deling
### Deling (`share`)
Du kan konfigurere funktionen [share](/docs/share) gennem indstillingen `share`.
@@ -378,7 +378,7 @@ Som standard er deling indstillet til manuel tilstand, hvor du eksplicit skal de
---
### Kommandoer
### Kommandoer (`command`)
Du kan konfigurere brugerdefinerede kommandoer til gentagne opgaver gennem indstillingen `command`.
@@ -404,7 +404,7 @@ Du kan også definere kommandoer ved hjælp af markdown-filer i `~/.config/openc
---
### Nøglebindinger
### Tastebindinger (`keybinds`)
Du kan tilpasse dine nøglebindinger gennem indstillingen `keybinds`.
@@ -419,7 +419,7 @@ Du kan tilpasse dine nøglebindinger gennem indstillingen `keybinds`.
---
### Autoopdatering
### Auto-opdatering (`autoupdate`)
OpenCode vil automatisk downloade alle nye opdateringer, når den starter op. Du kan deaktivere dette med indstillingen `autoupdate`.
@@ -435,7 +435,7 @@ Bemærk, at dette kun virker, hvis det ikke blev installeret ved hjælp af en pa
---
### Formatere
### Formater (`formatter`)
Du kan konfigurere kodeformatere gennem indstillingen `formatter`.
@@ -461,7 +461,7 @@ Du kan konfigurere kodeformatere gennem indstillingen `formatter`.
---
### Tilladelser
### Tilladelse (`permission`)
Som standard opencode **tillader alle operationer** uden at kræve eksplicit godkendelse. Du kan ændre dette ved at bruge indstillingen `permission`.
@@ -481,7 +481,7 @@ For at sikre, at værktøjerne `edit` og `bash` for eksempel kræver brugergodke
---
### Komprimering
### Komprimering (`compaction`)
Du kan styre kontekstkomprimeringsadfærd gennem indstillingen `compaction`.
@@ -500,7 +500,7 @@ Du kan styre kontekstkomprimeringsadfærd gennem indstillingen `compaction`.
---
### Watcher
### Overvågning (`watcher`)
Du kan konfigurere ignoreringsmønstre for filovervåger gennem indstillingen `watcher`.
@@ -517,7 +517,7 @@ Mønstre følger glob-syntaks. Brug dette til at udelukke støjende mapper fra f
---
### MCP servere
### MCP
Du kan konfigurere MCP-servere, som du vil bruge, gennem indstillingen `mcp`.
@@ -532,7 +532,7 @@ Du kan konfigurere MCP-servere, som du vil bruge, gennem indstillingen `mcp`.
---
### Plugins
### Plugin
[Plugins](/docs/plugins) udvide OpenCode med brugerdefinerede værktøjer, kroge og integrationer.
@@ -549,7 +549,7 @@ Placer plugin-filer i `.opencode/plugins/` eller `~/.config/opencode/plugins/`.
---
### Instruktioner
### Instruktioner (`instructions`)
Du kan konfigurere brugervejledningen til den model, du kan gennem indstillingen `instructions`.
@@ -565,7 +565,7 @@ om regler her](/docs/rules).
---
### Deaktiverede udbydere
### Deaktiverede udbydere (`disabled_providers`)
Du kan deaktivere udbydere, der indlæses automatisk gennem `disabled_providers`-indstillingen. Dette er nyttigt, når du vil forhindre visse udbydere i at blive indlæst, deres legitimationsoplysninger er tilgængelige.
@@ -588,7 +588,7 @@ Indstillingen `disabled_providers` accepterer en række udbyder-id'er. Når en u
---
### Aktiverede udbydere
### Aktiverede udbydere (`enabled_providers`)
Du kan angive en tilladelsesliste over udbydere gennem muligheden `enabled_providers`. Når den er indstillet, vil kun de angivne udbydere blive aktiveret, og alle andre vil blive ignoreret.
@@ -609,7 +609,7 @@ Hvis en udbyder optræder i både `enabled_providers` og `disabled_providers`, h
---
### Eksperimentel
### Eksperimentel (`experimental`)
Nøglen `experimental` indeholder muligheder, der er under aktiv udvikling.
@@ -626,13 +626,13 @@ Eksperimentelle muligheder er ikke stabile. De kan ændres eller fjernes uden va
---
## Variabel
## Variabler
Du kan bruge variabelsubstitution i dine konfigurationsfiler til at referere til miljøvariabler og filindhold.
---
### Env vars
### Miljøvariabler
Brug `{env:VARIABLE_NAME}` til at erstatte miljøvariabler:

View File

@@ -68,7 +68,7 @@ Du kan også tjekke [awesome-opencode](https://github.com/awesome-opencode/aweso
---
## Agent
## Agenter
| Navn | Beskrivelse |
| ----------------------------------------------------------------- | ------------------------------------------------------------------------- |

View File

@@ -19,7 +19,7 @@ Sådan kommer du i gang med OpenCode Enterprise:
---
## Prøve
## Prøveperiode
OpenCode er open source og gemmer ingen af din kode eller kontekstdata, så dine udviklere kan simpelthen [get started](/docs/) og udføre en prøveversion.
@@ -75,7 +75,7 @@ prissætning og implementeringsmuligheder.
---
### Central Config
### Central konfiguration
Vi kan konfigurere OpenCode til at bruge en enkelt central konfiguration for hele din organisation.
@@ -99,7 +99,7 @@ Du kan også deaktivere alle andre AI-udbydere og sikre, at alle anmodninger gå
---
### Self-hosting
### Selv-hosting
Selvom vi anbefaler at deaktivere delesiderne for at sikre, at dine data aldrig forsvinder
din organisation, kan vi også hjælpe dig med at selv hoste dem på din infrastruktur.

View File

@@ -7,7 +7,7 @@ OpenCode formaterer automatisk filer, efter de er skrevet eller redigeret ved hj
---
## Indbygget
## Indbyggede
OpenCode leveres med flere indbyggede formatere til populære sprog og rammer. Nedenfor er en liste over de formatere, understøttede filtypenavne og kommandoer eller konfigurationsmuligheder, der har brug for.
@@ -54,7 +54,7 @@ Denne proces sker i baggrunden, hvilket sikrer, at dine kodestile vedligeholdes
---
## Konfigurer
## Konfiguration
Du kan tilpasse formatere gennem afsnittet `formatter` i din OpenCode-konfiguration.

View File

@@ -114,7 +114,7 @@ OpenCode kan udløses af følgende GitHub hændelser:
| `schedule` | Cron-baseret tidsplan | Kør OpenCode efter en tidsplan. Kræver `prompt` input. Output går til logfiler og PR'er (intet problem ved kommentere). |
| `workflow_dispatch` | Manuel trigger fra GitHub UI | Udløs OpenCode efter behov via fanen Handlinger. Kræver `prompt` input. Output går til logfiler og PR'er. |
### Skema Eksempel
### Tidsplan eksempel
Kør OpenCode efter en tidsplan for at udføre automatiske opgaver:
@@ -154,7 +154,7 @@ For planlagte begivenheder er `prompt` input **påkrævet**, da der ikke er noge
---
### Pull Request Eksempel
### Pull Request eksempel
Gennemgå automatisk PR'er, når de åbnes eller opdateres:
@@ -195,7 +195,7 @@ For `pull_request` hændelser, hvis der ikke er angivet nogen `prompt`, vil Open
---
### Issues Triage Eksempel
### Issues Triage eksempel
Triage automatisk nye problemer. Dette eksempel filtrerer til konti ældre end 30 dage for at reducere spam:

View File

@@ -1,5 +1,5 @@
---
title: Intro
title: Introduktion
description: Kom godt i gang med OpenCode.
---
@@ -29,7 +29,7 @@ For at bruge OpenCode i din terminal skal du bruge:
---
## Installationsprogram
## Installation
Den nemmeste måde at installere OpenCode på er gennem installationsscriptet.
@@ -129,7 +129,7 @@ Du kan også få fat i binæren fra [Releases](https://github.com/anomalyco/open
---
## Konfigurer
## Konfiguration
Med OpenCode kan du bruge enhver LLM udbyder ved at konfigurere deres API-nøgler.
@@ -158,7 +158,7 @@ Alternativt kan du vælge en af de andre udbydere. [Læs mere](/docs/provi
---
## Initialiser
## Initialisering
Nu hvor du har konfigureret en udbyder, kan du navigere til et projekt, der
du vil arbejde på.
@@ -333,7 +333,7 @@ Eller du **kan gentage** ændringerne ved hjælp af kommandoen `/redo`.
---
## Del
## Deling
De samtaler, du har med OpenCode, kan [deles med din
team](/docs/share).
@@ -352,7 +352,7 @@ Her er en [eksempelsamtale](https://opencode.ai/s/4XP1fce5) med OpenCode.
---
## Tilpas
## Tilpasning
Og det er det! Du er nu en professionel i at bruge OpenCode.

View File

@@ -1,5 +1,5 @@
---
title: Nøglebind
title: Tastebindinger
description: Tilpas dine nøglebindinger.
---
@@ -105,7 +105,7 @@ OpenCode har en liste over nøglebindinger, som du kan tilpasse gennem OpenCode-
---
## Ledernøgle
## Ledertast
OpenCode bruger en `leader` nøgle til de fleste smagsbindinger. Dette undgår konflikter i din terminal.
@@ -115,7 +115,7 @@ Du behøver ikke bruge en ledernøgle til dine nøglebindinger, men vi anbefaler
---
## Deaktiver smagsbinding
## Deaktiver tastebinding
Du kan deaktivere en nøglebinding ved at tilføje nøglen til din konfiguration med værdien "ingen".

View File

@@ -1,5 +1,5 @@
---
title: LSP Servere
title: LSP-servere
description: OpenCode integreres med dine LSP-servere.
---
@@ -7,7 +7,7 @@ OpenCode integreres med Language Server Protocol (LSP) for at hjælpe LLM med at
---
## Indbygget
## Indbyggede
OpenCode leveres med flere indbyggede LSP-servere til populære sprog:
@@ -63,7 +63,7 @@ Når opencode åbner en fil, vil den:
---
## Konfigurer
## Konfiguration
Du kan tilpasse LSP-servere gennem sektionen `lsp` i din opencode-konfiguration.

View File

@@ -1,5 +1,5 @@
---
title: MCP servere
title: MCP-servere
description: Tilføj lokale og eksterne MCP værktøjer.
---
@@ -9,7 +9,7 @@ Når de er tilføjet, er MCP automatisk tilgængelig for LLM sammen med indbygge
---
#### Caveats
#### Forbehold
Når du bruger en MCP-server, føjes den til konteksten. Dette kan hurtigt stige, hvis du har mange værktøjer. Så vi anbefaler at være forsigtig med hvilke MCP-servere du bruger.
@@ -21,7 +21,7 @@ Visse MCP-servere, som GitHub MCP-servere, har en tendens til at tilføje mange
---
## Aktiver
## Aktivering
Du kan definere MCP-servere i din [OpenCode Config](https://opencode.ai/docs/config/) under `mcp`. Tilføj hver MCP med et unikt navn. Du kan henvise til denne MCP ved navn, når du spørger LLM.
@@ -44,7 +44,7 @@ Du kan også deaktivere en server ved at indstille `enabled` til `false`. Dette
---
### Overriding remote defaults
### Tilsidesættelse af eksterne standarder
Organisationer kan levere standard MCP-servere via deres `.well-known/opencode`-slutpunkt. Disse servere kan være deaktiveret som standard, hvilket giver brugerne mulighed for at tilmelde sig dem, de har brug for.
@@ -112,7 +112,7 @@ use the mcp_everything tool to add the number 3 and 4
---
#### Options
#### Indstillinger
Her er alle muligheder for at konfigurere en lokal MCP-server.
@@ -126,7 +126,7 @@ Her er alle muligheder for at konfigurere en lokal MCP-server.
---
## Remote
## Ekstern
Tilføj ekstern MCP-server ved at indstille `type` til `"remote"`.
@@ -150,7 +150,7 @@ Tilføj ekstern MCP-server ved at indstille `type` til `"remote"`.
---
#### Options
#### Indstillinger
| Mulighed | Skriv | Påkrævet | Beskrivelse |
| --------- | ------- | -------- | ------------------------------------------------------------------------------------ |
@@ -173,7 +173,7 @@ OpenCode håndterer automatisk OAuth-godkendelse for eksterne MCP-servere. Når
---
### Automatic
### Automatisk
For de fleste OAuth-aktiverede MCP-servere kræver ingen speciel konfiguration. Bare konfigureret fjernserver:
@@ -193,7 +193,7 @@ Hvis serveren kræver godkendelse, vil OpenCode bede dig om at godkende, når du
---
### Pre-registered
### Forhåndsregistreret
Hvis du har klientlegitimationsoplysninger fra MCP-serverudbyderen, kan du konfigurere dem:
@@ -216,7 +216,7 @@ Hvis du har klientlegitimationsoplysninger fra MCP-serverudbyderen, kan du konfi
---
### Authenticating
### Godkendelse
Du kan manuelt udløse godkendelse eller administrere legitimationsoplysninger.
@@ -242,7 +242,7 @@ Kommandoen `mcp auth` åbner din browser for godkendelse. Når du har godkendt,
---
#### Disabling OAuth
#### Deaktivering af OAuth
Hvis du vil deaktivere automatisk OAuth for en server (f.eks. for servere, der bruger API-nøgler i stedet), skal du indstille `oauth` til `false`:
@@ -264,7 +264,7 @@ Hvis du vil deaktivere automatisk OAuth for en server (f.eks. for servere, der b
---
#### OAuth Options
#### OAuth-indstillinger
| Mulighed | Skriv | Beskrivelse |
| -------------- | --------------- | ----------------------------------------------------------------------------------------- |
@@ -273,7 +273,7 @@ Hvis du vil deaktivere automatisk OAuth for en server (f.eks. for servere, der b
| `clientSecret` | String | OAuth-klienthemmelighed, hvis det kræves af autorisationsserveren. |
| `scope` | String | OAuth-omfang at anmode om under godkendelse. |
#### Debugging
#### Fejlfinding
Hvis en ekstern MCP-server ikke kan godkendes, kan du diagnosticere problemer med:
@@ -289,7 +289,7 @@ Kommandoen `mcp debug` viser den aktuelle godkendelsesstatus, tester HTTP-forbin
---
## Administrator
## Administration
Dine MCPs er tilgængelige som værktøjer i **TK\_** sammen med indbyggede værktøjer. Så du kan administrere dem gennem OpenCode-konfigurationen som ethvert andet værktøj.
@@ -375,7 +375,7 @@ Hvis du har et stort antal MCP-servere, vil du måske kun aktivere dem pr. agent
---
#### Glob patterns
#### Glob-mønstre
Glob-mønsteret bruger simple regex-globing-mønstre:

View File

@@ -64,7 +64,7 @@ Hvis du har konfigureret en [custom provider](/docs/providers#custom), er `provi
---
## Konfigurer modeller
## Konfiguration af modeller
Du kan konfigurere en models muligheder globalt gennem konfigurationen.
@@ -195,13 +195,13 @@ Du kan tilsidesætte eksisterende varianter eller tilføje dine egne:
}
```
### Cyklusvarianter
### Skift varianter
Brug tastebindingen `variant_cycle` til hurtigt at skifte mellem varianter. [Learn more](/docs/keybinds).
---
## Indlæser modeller
## Indlæsning af modeller
Når OpenCode starter op, søger den efter modeller i følgende prioriterede rækkefølge:

View File

@@ -17,7 +17,7 @@ Du kan skifte mellem tilstande under en session eller konfigurere dem i din konf
---
## Indbygget
## Indbyggede
opencode leveres med to indbyggede tilstande.
@@ -42,7 +42,7 @@ Denne tilstand er nyttig, når du vil have AI til at analysere kode, foreslå æ
---
## Skifter
## Skift
Du kan skifte mellem tilstande under en session ved at bruge _Tab_-tasten. Eller din konfigurerede `switch_mode` nøglebinding.
@@ -50,11 +50,11 @@ Se også: [Formatters](/docs/formatters) for information om konfiguration af kod
---
## Konfigurer
## Konfiguration
Du kan tilpasse de indbyggede tilstande eller oprette dine egne gennem konfiguration. Tilstande kan konfigureres på to måder:
### JSON Konfiguration
### JSON-konfiguration
Konfigurer tilstande i din `opencode.json`-konfigurationsfil:
@@ -177,7 +177,7 @@ Hvis der ikke er angivet nogen temperatur, bruger opencode modelspecifikke stand
---
### Spørg
### Prompt
Angiv en brugerdefineret systempromptfil for denne tilstand med `prompt`-konfigurationen. Promptfilen skal indeholde instruktioner, der er specifikke for tilstandens formål.
@@ -245,7 +245,7 @@ Her er alle de værktøjer, der kan styres gennem tilstandskonfigurationen.
Du kan oprette dine egne brugerdefinerede tilstande ved at tilføje dem til konfigurationen. Her er eksempler, der bruger begge tilgange:
### Bruger JSON konfiguration
### Brug af JSON-konfiguration
```json title="opencode.json" {4-14}
{
@@ -318,7 +318,7 @@ Priorities:
---
### Use cases
### Brugsscenarier
Her er nogle almindelige brugstilfælde for forskellige tilstande.

View File

@@ -30,7 +30,7 @@ Du kan konfigurere serverens port og værtsnavn ved hjælp af [CLI flags](/docs/
---
### Godkend
### Godkendelse
Hvis din proxy kræver grundlæggende godkendelse, skal du inkludere legitimationsoplysninger i URL.

View File

@@ -9,7 +9,7 @@ For eksempler, tjek [plugins](/docs/ecosystem#plugins) oprettet af fællesskabet
---
## Brug et plugin
## Brug af plugin
Der er to måder at indlæse plugins på.
@@ -43,7 +43,7 @@ Gennemse tilgængelige plugins i [ecosystem](/docs/ecosystem#plugins).
---
### Hvordan plugins installeres
### Installation af plugins
**npm plugins** installeres automatisk ved hjælp af Bun ved opstart. Pakker og deres afhængigheder cachelagres i `~/.cache/opencode/node_modules/`.
@@ -51,7 +51,7 @@ Gennemse tilgængelige plugins i [ecosystem](/docs/ecosystem#plugins).
---
### Indlæs rækkefølge
### Indlæsningsrækkefølge
Plugins indlæses fra alle kilder, og alle hooks kører i rækkefølge. Indlæsningsrækkefølgen er:
@@ -64,7 +64,7 @@ Dublerede npm-pakker med samme navn og version indlæses én gang. Et lokalt plu
---
## Opret et plugin
## Oprettelse af plugin
Et plugin er et **JavaScript/TypeScript modul**, der eksporterer et eller flere plugin
funktioner. Hver funktion modtager et kontekstobjekt og returnerer et hooks-objekt.
@@ -156,7 +156,7 @@ Plugins kan abonnere på begivenheder som vist nedenfor i afsnittet Eksempler. H
- `installation.updated`
#### LSP Begivenheder
#### LSP-hændelser
- `lsp.client.diagnostics`
- `lsp.updated`
@@ -168,7 +168,7 @@ Plugins kan abonnere på begivenheder som vist nedenfor i afsnittet Eksempler. H
- `message.removed`
- `message.updated`
#### Tilladelsesbegivenheder
#### Tilladelseshændelser
- `permission.asked`
- `permission.replied`
@@ -177,7 +177,7 @@ Plugins kan abonnere på begivenheder som vist nedenfor i afsnittet Eksempler. H
- `server.connected`
#### Sessionsbegivenheder
#### Sessionshændelser
- `session.created`
- `session.compacted`
@@ -188,20 +188,20 @@ Plugins kan abonnere på begivenheder som vist nedenfor i afsnittet Eksempler. H
- `session.status`
- `session.updated`
#### Todo-begivenheder
#### Todo-hændelser
- `todo.updated`
#### Shell-begivenheder
#### Shell-hændelser
- `shell.env`
#### Værktøjsbegivenheder
#### Værktøjshændelser
- `tool.execute.after`
- `tool.execute.before`
#### TUI Begivenheder
#### TUI-hændelser
- `tui.prompt.append`
- `tui.command.execute`
@@ -240,7 +240,7 @@ Hvis du bruger OpenCode desktop-appen, kan den sende systemmeddelelser automatis
---
###.env-beskyttelse
### .env-beskyttelse
Undgå opencode i at læse `.env` filer:
@@ -331,7 +331,7 @@ Niveauer: `debug`, `info`, `warn`, `error`. Se [SDK documentation](https://openc
---
### Komprimeringskroge
### Komprimerings-hooks
Tilpas konteksten inkluderet, når en session komprimeres:

File diff suppressed because it is too large Load Diff

View File

@@ -1,13 +1,13 @@
---
title: Regler
description: Set custom instructions for opencode.
description: Angiv tilpassede instruktioner til opencode.
---
Du kan gi tilpassede instruksjoner for at OpenCode ved at oprete en `AGENTS.md`-fil. Dette ligner på Cursors regler. Den inneholder instruksjoner som vil bli inkludert i LLMs kontekst for at tilpasse oppførselen til ditt spesifikke prosjekt.
---
## Initialiser
## Initialisering
For at lage en ny `AGENTS.md` fil, kan du kjøre kommandoen `/init` i opencode.
@@ -56,7 +56,7 @@ Vi tilføjer til prosjektspesifikke instruksjoner her, og dette vil bli delt på
opencode støtter også lesing av `AGENTS.md`-filen fra flere steder. Og dette tjener forskjellige formål.
### Prosjekt
### Projekt
Plasser en `AGENTS.md` i prosjektroten for prosjektspesifikke regler. Disse gjelder kun når du arbeider i denne katalogen eller dens underkataloger.
@@ -66,7 +66,7 @@ Du kan også ha globale regler i en `~/.config/opencode/AGENTS.md`-fil. Dette bl
Siden dette ikke er forpliktet til Git eller delt med teamet ditt, anbefaler vi at bruge dette til at spesifisere eventuelle personlige regler som LLM bør følge.
### Claude-kodekompatibilitet
### Claude Code-kompatibilitet
For brugere som migrerer fra Claude Code, støtter OpenCode Claude Codes filkonvensjoner som fallbacks:
@@ -84,7 +84,7 @@ export OPENCODE_DISABLE_CLAUDE_CODE_SKILLS=1 # Disable only .claude/skills
---
## Forrang
## Prioritet
Når opencode starter, ser den etter regelfiler i denne rekkefølgen:
@@ -96,7 +96,7 @@ Den første matchende filen vinner i hver kategori. For eksempel, hvis du har b
---
## Egendefinerte instruksjoner
## Brugerdefinerede instruktioner
Du kan spesifisere egendefinerte instruksjonsfiler i din `opencode.json` eller den globale `~/.config/opencode/opencode.json`. Dette lar deg og teamet ditt gjenbruge eksisterende regler i stedet for at måtte duplisere dem til AGENTS.md.
@@ -124,11 +124,11 @@ Alle instruksjonsfilene er kombinert med `AGENTS.md`-filene dine.
---
## Refererer til eksterne filer
## Reference til eksterne filer
Selv om opencode ikke automatisk analyserer filreferanser i `AGENTS.md`, kan du oppnå lignende funksjonalitet på to måter:
### Bruger opencode.json
### Brug af opencode.json
Den anbefalte tilnærmingen er at bruge feltet `instructions` i `opencode.json`:
@@ -139,7 +139,7 @@ Den anbefalte tilnærmingen er at bruge feltet `instructions` i `opencode.json`:
}
```
### Manuelle instruksjoner i AGENTS.md
### Manuelle instruktioner i AGENTS.md
Du kan lære opencode at lese eksterne filer ved at gi eksplisitte instruksjoner i `AGENTS.md`. Her er et praktisk eksempel:

View File

@@ -13,7 +13,7 @@ Brug den til at bygge integrasjoner og kontrollere opencode programmatisk.
---
## Installer
## Installation
Installer SDK fra npm:
@@ -35,7 +35,7 @@ const { client } = await createOpencode()
Dette starter både en server og en klient
#### Alternativer
#### Indstillinger
| Alternativ | Skriv | Beskrivelse | Standard |
| ---------- | ------------- | -------------------------------- | ----------- |
@@ -79,7 +79,7 @@ const client = createOpencodeClient({
})
```
#### Alternativer
#### Indstillinger
| Alternativ | Skriv inn | Beskrivelse | Standard |
| --------------- | ---------- | ---------------------------------- | ----------------------- |
@@ -103,7 +103,7 @@ Alle typer er generert fra serverens OpenAPI-spesifikasjon og tilgængelig i <a
---
## Feil
## Fejl
SDK kan gi feil som du kan fange opp og håndtere:
@@ -117,7 +117,7 @@ try {
---
## APIer
## API'er
SDK avslører alle server-APIer gjennom en typesikker klient.
@@ -167,7 +167,7 @@ const agents = await client.app.agents()
---
### Prosjekt
### Projekt
| Metode | Beskrivelse | Svar |
| ------------------- | -------------------------- | ---------------------------------------------- |
@@ -205,7 +205,7 @@ const pathInfo = await client.path.get()
---
### Konfig
### Konfiguration
| Metode | Beskrivelse | Svar |
| -------------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------------- |
@@ -224,7 +224,7 @@ const { providers, default: defaults } = await client.config.providers()
---
### sessioner
### Sessioner
| Metode | Beskrivelse | Noter |
| ---------------------------------------------------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
@@ -353,7 +353,7 @@ await client.tui.showToast({
---
### Auth
### Godkendelse
| Metode | Beskrivelse | Svar |
| ------------------- | ------------------------------- | --------- |
@@ -372,7 +372,7 @@ await client.auth.set({
---
### Hendelser
### Hændelser
| Metode | Beskrivelse | Svar |
| ------------------- | ------------------------------ | ------------------------------ |

View File

@@ -1,12 +1,12 @@
---
title: Server
description: Samhandle med opencode-server over HTTP.
description: Interager med opencode-serveren over HTTP.
---
import config from "../../../../config.mjs"
export const typesUrl = `${config.github}/blob/dev/packages/sdk/js/src/gen/types.gen.ts`
Kommandoen `opencode serve` kjører en hodeløs HTTP-server som avslører et OpenAPI-endepunkt som en opencode-klient kan bruge.
Kommandoen `opencode serve` kører en hovedløs HTTP-server, som afslører et OpenAPI-endpoint, som en opencode-klient kan bruge.
---
@@ -16,17 +16,17 @@ Kommandoen `opencode serve` kjører en hodeløs HTTP-server som avslører et Ope
opencode serve [--port <number>] [--hostname <string>] [--cors <origin>]
```
#### Alternativer
#### Indstillinger
| Flagg | Beskrivelse | Standard |
| --------------- | ----------------------------------------------- | ---------------- |
| `--port` | Port at lytte på | `4096` |
| `--hostname` | Vertsnavn at lytte på | `127.0.0.1` |
| `--mdns` | Aktiver mDNS-oppdagelse | `false` |
| `--mdns-domain` | Egendefinert domenenavn for mDNS-tjeneste | `opencode.local` |
| `--cors` | Ytterligere nettleseropprinnelse for at tillate | `[]` |
| Flag | Beskrivelse | Standard |
| --------------- | -------------------------------------------- | ---------------- |
| `--port` | Port at lytte på | `4096` |
| `--hostname` | Værtsnavn at lytte på | `127.0.0.1` |
| `--mdns` | Aktiver mDNS-opdagelse | `false` |
| `--mdns-domain` | Brugerdefineret domænenavn for mDNS-tjeneste | `opencode.local` |
| `--cors` | Yderligere browseroprindelse for at tillade | `[]` |
`--cors` kan passeres flere ganger:
`--cors` kan angives flere gange:
```bash
opencode serve --cors http://localhost:5173 --cors https://app.example.com
@@ -34,9 +34,9 @@ opencode serve --cors http://localhost:5173 --cors https://app.example.com
---
### Autentisering
### Godkendelse
Sett `OPENCODE_SERVER_PASSWORD` for at beskytte serveren med HTTP grunntilføjende autentisering. Brugernavnet er standard til `opencode`, eller sett `OPENCODE_SERVER_USERNAME` for at overstyre det. Dette gjelder både `opencode serve` og `opencode web`.
Indstil `OPENCODE_SERVER_PASSWORD` for at beskytte serveren med HTTP grundlæggende godkendelse. Brugernavnet er som standard `opencode`, eller indstil `OPENCODE_SERVER_USERNAME` for at tilsidesætte det. Dette gælder både `opencode serve` og `opencode web`.
```bash
OPENCODE_SERVER_PASSWORD=your-password opencode serve
@@ -44,46 +44,46 @@ OPENCODE_SERVER_PASSWORD=your-password opencode serve
---
### Slik fungerer det
### Sådan fungerer det
Når du kjører `opencode` starter den en TUI og en server. Der TUI er
klient som snakker med serveren. Serveren viser en OpenAPI 3.1-spesifikasjon
endepunkt. Dette endepunktet bruges også til at generere en [SDK](/docs/sdk).
Når du kører `opencode` starter den en TUI og en server. Hvor TUI er
klient som taler med serveren. Serveren viser en OpenAPI 3.1-specifikation
endpoint. Dette endpoint bruges også til at generere en [SDK](/docs/sdk).
:::tip
Brug opencode-serveren til at samhandle med opencode programmatisk.
Brug opencode-serveren til at interagere med opencode programmatisk.
:::
Denne arkitekturen lar opencode støtte flere klienter og lar deg samhandle med opencode programmatisk.
Denne arkitektur lader opencode understøtte flere klienter og lader dig interagere med opencode programmatisk.
Du kan kjøre `opencode serve` for at starte en frittstående server. Hvis du har
opencode TUI kjører, vil `opencode serve` starte en ny server.
Du kan køre `opencode serve` for at starte en selvstændig server. Hvis du har
opencode TUI kørende, vil `opencode serve` starte en ny server.
---
#### Koble til en eksisterende server
#### Opret forbindelse til en eksisterende server
Når du starter TUI, tildeler den tilfeldig en port og vertsnavn. Du kan i stedet sende inn `--hostname` og `--port` [flagg](/docs/cli). Brug deretter denne til at koble til serveren.
Når du starter TUI, tildeler den tilfældigt en port og et værtsnavn. Du kan i stedet sende `--hostname` og `--port` [flagene](/docs/cli). Brug derefter disse til at forbinde til serveren.
[`/tui`](#tui) endepunktet kan bruges til at kjøre TUI gjennom serveren. Du kan for eksempel forhåndsutfylle eller kjøre en forespørsel. Dette oppsettet bruges av OpenCode [IDE](/docs/ide) plugins.
[`/tui`](#tui) endpointet kan bruges til at køre TUI gennem serveren. Du kan for eksempel forududfylde eller køre en forespørgsel. Denne opsætning bruges af OpenCode [IDE](/docs/ide) plugins.
---
## Spes
## Specifikation
Serveren publiserer en OpenAPI 3.1-spesifikasjon som kan vises på:
Serveren publicerer en OpenAPI 3.1-specifikation som kan vises på:
```
http://<hostname>:<port>/doc
```
For eksempel `http://localhost:4096/doc`. Brug spesifikasjonen til at generere klienter eller inspisere forespørsels- og svartyper. Eller se den i en Swagger-utforsker.
For eksempel `http://localhost:4096/doc`. Brug specifikationen til at generere klienter eller inspicere forespørgsels- og svartyper. Eller se den i en Swagger-utforsker.
---
## APIer
## API'er
OpenCode-serveren viser følgende APIer.
OpenCode-serveren viser følgende API'er.
---
@@ -91,142 +91,142 @@ OpenCode-serveren viser følgende APIer.
| Metode | Sti | Beskrivelse | Svar |
| ------ | ---------------- | -------------------------------- | ------------------------------------ |
| `GET` | `/global/health` | Få serverhelse og versjon | `{ healthy: true, version: string }` |
| `GET` | `/global/event` | Få globale hendelser (SSE strøm) | Eventstrøm |
| `GET` | `/global/health` | Få serverhelbred og version | `{ healthy: true, version: string }` |
| `GET` | `/global/event` | Få globale hændelser (SSE strøm) | Eventstrøm |
---
### Prosjekt
### Projekt
| Metode | Sti | Beskrivelse | Svar |
| ------ | ------------------ | --------------------------- | ---------------------------------------------- |
| `GET` | `/project` | Liste over alle prosjekter | <a href={typesUrl}><code>Prosjekt[]</code></a> |
| `GET` | `/project/current` | Få det nåværende prosjektet | <a href={typesUrl}><code>Prosjekt</code></a> |
| Metode | Sti | Beskrivelse | Svar |
| ------ | ------------------ | ------------------------- | --------------------------------------------- |
| `GET` | `/project` | Liste over alle projekter | <a href={typesUrl}><code>Project[]</code></a> |
| `GET` | `/project/current` | Få det nuværende projekt | <a href={typesUrl}><code>Project</code></a> |
---
### Bane og VCS
### Sti og VCS
| Metode | Sti | Beskrivelse | Svar |
| ------ | ------- | ---------------------------------- | ------------------------------------------- |
| `GET` | `/path` | Få nuværende bane | <a href={typesUrl}><code>Path</code></a> |
| `GET` | `/vcs` | Få VCS info for nuværende prosjekt | <a href={typesUrl}><code>VcsInfo</code></a> |
| Metode | Sti | Beskrivelse | Svar |
| ------ | ------- | --------------------------------- | ------------------------------------------- |
| `GET` | `/path` | Få nuværende sti | <a href={typesUrl}><code>Path</code></a> |
| `GET` | `/vcs` | Få VCS info for nuværende projekt | <a href={typesUrl}><code>VcsInfo</code></a> |
---
### Forekomst
### Instans
| Metode | Sti | Beskrivelse | Svar |
| ------ | ------------------- | ------------------------ | --------- |
| `POST` | `/instance/dispose` | Kast nuværende forekomst | `boolean` |
| `POST` | `/instance/dispose` | Kassér nuværende instans | `boolean` |
---
### Konfig
### Konfiguration
| Metode | Sti | Beskrivelse | Svar |
| ------- | ------------------- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
| `GET` | `/config` | Få konfigurasjonsinformasjon | <a href={typesUrl}><code>Config</code></a> |
| `PATCH` | `/config` | Opdater konfigurasjon | <a href={typesUrl}><code>Config</code></a> |
| `GET` | `/config/providers` | Liste leverandører og standardmodeller | `{ providers: `<a href={typesUrl}>Provider[]</a>`, default: { [key: string]: string } }` |
| Metode | Sti | Beskrivelse | Svar |
| ------- | ------------------- | ---------------------------------- | ---------------------------------------------------------------------------------------- |
| `GET` | `/config` | Få konfigurationsinformation | <a href={typesUrl}><code>Config</code></a> |
| `PATCH` | `/config` | Opdater konfiguration | <a href={typesUrl}><code>Config</code></a> |
| `GET` | `/config/providers` | Liste udbydere og standardmodeller | `{ providers: `<a href={typesUrl}>Provider[]</a>`, default: { [key: string]: string } }` |
---
### Leverandør
### Udbyder
| Metode | Sti | Beskrivelse | Svar |
| ------ | -------------------------------- | ------------------------------------------ | ----------------------------------------------------------------------------------- |
| `GET` | `/provider` | Liste alle leverandører | `{ all: `<a href={typesUrl}>Provider[]</a>`, default: {...}, connected: string[] }` |
| `GET` | `/provider/auth` | Få leverandørautentiseringsmetoder | `{ [providerID: string]: `<a href={typesUrl}>ProviderAuthMethod[]</a>` }` |
| `POST` | `/provider/{id}/oauth/authorize` | Autoriser en leverandør ved at bruge OAuth | <a href={typesUrl}><code>ProviderAuthAuthorization</code></a> |
| `POST` | `/provider/{id}/oauth/callback` | Håndtere OAuth-callback for en leverandør | `boolean` |
| Metode | Sti | Beskrivelse | Svar |
| ------ | -------------------------------- | --------------------------------------- | ----------------------------------------------------------------------------------- |
| `GET` | `/provider` | Liste alle udbydere | `{ all: `<a href={typesUrl}>Provider[]</a>`, default: {...}, connected: string[] }` |
| `GET` | `/provider/auth` | Få udbydergodkendelsesmetoder | `{ [providerID: string]: `<a href={typesUrl}>ProviderAuthMethod[]</a>` }` |
| `POST` | `/provider/{id}/oauth/authorize` | Autoriser en udbyder ved at bruge OAuth | <a href={typesUrl}><code>ProviderAuthAuthorization</code></a> |
| `POST` | `/provider/{id}/oauth/callback` | Håndter OAuth-callback for en udbyder | `boolean` |
---
### sessioner
### Sessioner
| Metode | Sti | Beskrivelse | Noter |
| -------- | ---------------------------------------- | ------------------------------------------- | ------------------------------------------------------------------------------------- |
| `GET` | `/session` | Liste alle sessioner | Returnerer <a href={typesUrl}><code>Session[]</code></a> |
| `POST` | `/session` | Opret en ny session | body: `{ parentID?, title? }`, returnerer <a href={typesUrl}><code>Session</code></a> |
| `GET` | `/session/status` | Få sessionstatus for alle sessioner | Returnerer `{ [sessionID: string]: `<a href={typesUrl}>SessionStatus</a>` }` |
| `GET` | `/session/:id` | Få sessiondetaljer | Returnerer <a href={typesUrl}><code>Session</code></a> |
| `DELETE` | `/session/:id` | Slett en session og alle dens data | Returnerer `boolean` |
| `PATCH` | `/session/:id` | Opdater sessionegenskaper | body: `{ title? }`, returnerer <a href={typesUrl}><code>Session</code></a> |
| `GET` | `/session/:id/children` | Få en sessions barnesessioner | Returnerer <a href={typesUrl}><code>Session[]</code></a> |
| `GET` | `/session/:id/todo` | Få to-doslisten for en session | Returnerer <a href={typesUrl}><code>Todo[]</code></a> |
| `POST` | `/session/:id/init` | Analyser appen og lag `AGENTS.md` | body: `{ messageID, providerID, modelID }`, returnerer `boolean` |
| `POST` | `/session/:id/fork` | Fork en eksisterende session ved en melding | body: `{ messageID? }`, returnerer <a href={typesUrl}><code>Session</code></a> |
| `POST` | `/session/:id/abort` | Avbryt en løpesession | Returnerer `boolean` |
| `POST` | `/session/:id/share` | Del en session | Returnerer <a href={typesUrl}><code>Session</code></a> |
| `DELETE` | `/session/:id/share` | Slutt at dele en session | Returnerer <a href={typesUrl}><code>Session</code></a> |
| `GET` | `/session/:id/diff` | Få diff for denne sessionen | spørring: `messageID?`, returnerer <a href={typesUrl}><code>FileDiff[]</code></a> |
| `POST` | `/session/:id/summarize` | Oppsummer sessionen | body: `{ providerID, modelID }`, returnerer `boolean` |
| `POST` | `/session/:id/revert` | Tilbakestill en melding | body: `{ messageID, partID? }`, returnerer `boolean` |
| `POST` | `/session/:id/unrevert` | Gjenopret alle nulstillete meldinger | Returnerer `boolean` |
| `POST` | `/session/:id/permissions/:permissionID` | Svar på en tillatelsesforespørsel | body: `{ response, remember? }`, returnerer `boolean` |
| Metode | Sti | Beskrivelse | Noter |
| -------- | ---------------------------------------- | ------------------------------------------ | ------------------------------------------------------------------------------------- |
| `GET` | `/session` | Liste alle sessioner | Returnerer <a href={typesUrl}><code>Session[]</code></a> |
| `POST` | `/session` | Opret en ny session | body: `{ parentID?, title? }`, returnerer <a href={typesUrl}><code>Session</code></a> |
| `GET` | `/session/status` | Få sessionstatus for alle sessioner | Returnerer `{ [sessionID: string]: `<a href={typesUrl}>SessionStatus</a>` }` |
| `GET` | `/session/:id` | Få sessiondetaljer | Returnerer <a href={typesUrl}><code>Session</code></a> |
| `DELETE` | `/session/:id` | Slet en session og alle dens data | Returnerer `boolean` |
| `PATCH` | `/session/:id` | Opdater sessionegenskaber | body: `{ title? }`, returnerer <a href={typesUrl}><code>Session</code></a> |
| `GET` | `/session/:id/children` | Få en sessions undersessioner | Returnerer <a href={typesUrl}><code>Session[]</code></a> |
| `GET` | `/session/:id/todo` | Få to-do-listen for en session | Returnerer <a href={typesUrl}><code>Todo[]</code></a> |
| `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 <a href={typesUrl}><code>Session</code></a> |
| `POST` | `/session/:id/abort` | Afbryd en kørende session | Returnerer `boolean` |
| `POST` | `/session/:id/share` | Del en session | Returnerer <a href={typesUrl}><code>Session</code></a> |
| `DELETE` | `/session/:id/share` | Stop med at dele en session | Returnerer <a href={typesUrl}><code>Session</code></a> |
| `GET` | `/session/:id/diff` | Få diff for denne session | query: `messageID?`, returnerer <a href={typesUrl}><code>FileDiff[]</code></a> |
| `POST` | `/session/:id/summarize` | Opsummér sessionen | body: `{ providerID, modelID }`, returnerer `boolean` |
| `POST` | `/session/:id/revert` | Tilbagestil en besked | body: `{ messageID, partID? }`, returnerer `boolean` |
| `POST` | `/session/:id/unrevert` | Gendan alle nulstillede beskeder | Returnerer `boolean` |
| `POST` | `/session/:id/permissions/:permissionID` | Svar på en tilladelsesforespørgsel | body: `{ response, remember? }`, returnerer `boolean` |
---
### Meldinger
### Beskeder
| Metode | Sti | Beskrivelse | Noter |
| ------ | --------------------------------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `GET` | `/session/:id/message` | Liste meldinger i en session | spørring: `limit?`, returnerer `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}[]` |
| `POST` | `/session/:id/message` | Send en melding og vent på svar | body: `{ messageID?, model?, agent?, noReply?, system?, tools?, parts }`, returnerer `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
| `GET` | `/session/:id/message/:messageID` | Få meldingsdetaljer | Returnerer `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
| `POST` | `/session/:id/prompt_async` | Send en melding asynkront (ingen vent) | body: samme som `/session/:id/message`, returnerer `204 No Content` |
| `POST` | `/session/:id/command` | Utfør en skråstrek-kommando | body: `{ messageID?, agent?, model?, command, arguments }`, returnerer `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
| `POST` | `/session/:id/shell` | Kjør en shell-kommando | body: `{ agent, model?, command }`, returnerer `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
| Metode | Sti | Beskrivelse | Noter |
| ------ | --------------------------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `GET` | `/session/:id/message` | Liste beskeder i en session | query: `limit?`, returnerer `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}[]` |
| `POST` | `/session/:id/message` | Send en besked og vent på svar | body: `{ messageID?, model?, agent?, noReply?, system?, tools?, parts }`, returnerer `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
| `GET` | `/session/:id/message/:messageID` | Få beskeddetaljer | Returnerer `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
| `POST` | `/session/:id/prompt_async` | Send en besked asynkront (ingen vent) | body: samme som `/session/:id/message`, returnerer `204 No Content` |
| `POST` | `/session/:id/command` | Udfør en skråstregskommando | body: `{ messageID?, agent?, model?, command, arguments }`, returnerer `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
| `POST` | `/session/:id/shell` | Kør en shell-kommando | body: `{ agent, model?, command }`, returnerer `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
---
### Kommandoer
| Metode | Sti | Beskrivelse | Svar |
| ------ | ---------- | --------------------- | ---------------------------------------------- |
| `GET` | `/command` | Liste alle kommandoer | <a href={typesUrl}><code>Kommando[]</code></a> |
| Metode | Sti | Beskrivelse | Svar |
| ------ | ---------- | --------------------- | --------------------------------------------- |
| `GET` | `/command` | Liste alle kommandoer | <a href={typesUrl}><code>Command[]</code></a> |
---
### Filer
| Metode | Sti | Beskrivelse | Svar |
| ------ | ------------------------ | ---------------------------------- | ------------------------------------------------------------------------------------------ |
| `GET` | `/find?pattern=<pat>` | Søk etter tekst i filer | En rekke matchobjekter med `path`, `lines`, `line_number`, `absolute_offset`, `submatches` |
| `GET` | `/find/file?query=<q>` | Finn filer og kataloger etter navn | `string[]` (baner) |
| `GET` | `/find/symbol?query=<q>` | Finn arbeidsområdesymboler | <a href={typesUrl}><code>Symbol[]</code></a> |
| `GET` | `/file?path=<path>` | Liste filer og kataloger | <a href={typesUrl}><code>FilNode[]</code></a> |
| `GET` | `/file/content?path=<p>` | Les en fil | <a href={typesUrl}><code>Filinnhold</code></a> |
| `GET` | `/file/status` | Få status for sporede filer | <a href={typesUrl}><code>Fil[]</code></a> |
| Metode | Sti | Beskrivelse | Svar |
| ------ | ------------------------ | ------------------------------- | ------------------------------------------------------------------------------------------ |
| `GET` | `/find?pattern=<pat>` | Søg efter tekst i filer | En række matchobjekter med `path`, `lines`, `line_number`, `absolute_offset`, `submatches` |
| `GET` | `/find/file?query=<q>` | Find filer og mapper efter navn | `string[]` (stier) |
| `GET` | `/find/symbol?query=<q>` | Find arbejdsområdesymboler | <a href={typesUrl}><code>Symbol[]</code></a> |
| `GET` | `/file?path=<path>` | Liste filer og mapper | <a href={typesUrl}><code>FileNode[]</code></a> |
| `GET` | `/file/content?path=<p>` | Læs en fil | <a href={typesUrl}><code>FileContent</code></a> |
| `GET` | `/file/status` | Få status for sporede filer | <a href={typesUrl}><code>File[]</code></a> |
#### `/find/file` spørringsparametere
#### /find/file forespørgselsparametre
- `query` (obligatorisk) - søkestreng (uklar samsvar)
- `type` (valgfritt) - begrense resultatene til `"file"` eller `"directory"`
- `directory` (valgfritt) — overstyr prosjektroten for søket
- `limit` (valgfritt) - maks. resultater (1200)
- `dirs` (valgfritt) - eldre flagg (`"false"` returnerer kun filer)
- `query` (obligatorisk) - søgestreng (fuzzy match)
- `type` (valgfrit) - begræns resultaterne til `"file"` eller `"directory"`
- `directory` (valgfrit) — overstyr projektroden for søget
- `limit` (valgfrit) - maks. resultater (1200)
- `dirs` (valgfrit) - ældre flag (`"false"` returnerer kun filer)
---
### Verktøy (eksperimentelt)
### Værktøjer (eksperimentelt)
| Metode | Sti | Beskrivelse | Svar |
| ------ | ------------------------------------------- | -------------------------------------------- | -------------------------------------------- |
| `GET` | `/experimental/tool/ids` | Vis alle verktøy-ID-er | <a href={typesUrl}><code>ToolIDs</code></a> |
| `GET` | `/experimental/tool?provider=<p>&model=<m>` | List verktøy med JSON-skjemaer for en modell | <a href={typesUrl}><code>ToolList</code></a> |
| Metode | Sti | Beskrivelse | Svar |
| ------ | ------------------------------------------- | --------------------------------------------- | -------------------------------------------- |
| `GET` | `/experimental/tool/ids` | Vis alle værktøjs-ID'er | <a href={typesUrl}><code>ToolIDs</code></a> |
| `GET` | `/experimental/tool?provider=<p>&model=<m>` | Liste værktøjer med JSON-skemaer for en model | <a href={typesUrl}><code>ToolList</code></a> |
---
### LSP, formattere og MCP
| Metode | Sti | Beskrivelse | Svar |
| ------ | ------------ | ---------------------------- | -------------------------------------------------------- |
| `GET` | `/lsp` | Få LSP serverstatus | <a href={typesUrl}><code>LSPStatus[]</code></a> |
| `GET` | `/formatter` | Få formateringsstatus | <a href={typesUrl}><code>FormatterStatus[]</code></a> |
| `GET` | `/mcp` | Få MCP serverstatus | `{ [name: string]: `<a href={typesUrl}>MCPStatus</a>` }` |
| `POST` | `/mcp` | Legg til MCP server dynamisk | body: `{ name, config }`, returnerer MCP statusobjekt |
| Metode | Sti | Beskrivelse | Svar |
| ------ | ------------ | -------------------------- | -------------------------------------------------------- |
| `GET` | `/lsp` | Få LSP serverstatus | <a href={typesUrl}><code>LSPStatus[]</code></a> |
| `GET` | `/formatter` | Få formateringsstatus | <a href={typesUrl}><code>FormatterStatus[]</code></a> |
| `GET` | `/mcp` | Få MCP serverstatus | `{ [name: string]: `<a href={typesUrl}>MCPStatus</a>` }` |
| `POST` | `/mcp` | Tilføj MCP server dynamisk | body: `{ name, config }`, returnerer MCP statusobjekt |
---
@@ -238,11 +238,11 @@ OpenCode-serveren viser følgende APIer.
---
### Logging
### Logning
| Metode | Sti | Beskrivelse | Svar |
| ------ | ------ | --------------------------------------------------------------------- | --------- |
| `POST` | `/log` | Skriv loggoppføring. Brødtekst: `{ service, level, message, extra? }` | `boolean` |
| Metode | Sti | Beskrivelse | Svar |
| ------ | ------ | ---------------------------------------------------------- | --------- |
| `POST` | `/log` | Skriv logpost. Body: `{ service, level, message, extra? }` | `boolean` |
---
@@ -250,38 +250,38 @@ OpenCode-serveren viser følgende APIer.
| Metode | Sti | Beskrivelse | Svar |
| ------ | ----------------------- | ------------------------------------------- | -------------------------- |
| `POST` | `/tui/append-prompt` | Legg til tekst i ledeteksten | `boolean` |
| `POST` | `/tui/open-help` | Åpne hjelpedialogen | `boolean` |
| `POST` | `/tui/open-sessions` | Åpne sessionvelgeren | `boolean` |
| `POST` | `/tui/open-themes` | Åpne temavelgeren | `boolean` |
| `POST` | `/tui/open-models` | Åpne modellvelgeren | `boolean` |
| `POST` | `/tui/submit-prompt` | Send inn nuværende ledetekst | `boolean` |
| `POST` | `/tui/clear-prompt` | Fjern ledeteksten | `boolean` |
| `POST` | `/tui/execute-command` | Utfør en kommando (`{ command }`) | `boolean` |
| `POST` | `/tui/append-prompt` | Tilføj tekst til prompten | `boolean` |
| `POST` | `/tui/open-help` | Åbn hjælp-dialogen | `boolean` |
| `POST` | `/tui/open-sessions` | Åbn sessionsvælgeren | `boolean` |
| `POST` | `/tui/open-themes` | Åbn temavælgeren | `boolean` |
| `POST` | `/tui/open-models` | Åbn modelvælgeren | `boolean` |
| `POST` | `/tui/submit-prompt` | Indsend nuværende prompt | `boolean` |
| `POST` | `/tui/clear-prompt` | Ryd prompten | `boolean` |
| `POST` | `/tui/execute-command` | Udfør en kommando (`{ command }`) | `boolean` |
| `POST` | `/tui/show-toast` | Vis toast (`{ title?, message, variant }`) | `boolean` |
| `GET` | `/tui/control/next` | Vent på neste kontrollforespørsel | Kontrollforespørselsobjekt |
| `POST` | `/tui/control/response` | Svar på en kontrollforespørsel (`{ body }`) | `boolean` |
| `GET` | `/tui/control/next` | Vent på næste kontrolforespørgsel | Kontrolforespørgselsobjekt |
| `POST` | `/tui/control/response` | Svar på en kontrolforespørgsel (`{ body }`) | `boolean` |
---
### Auth
### Godkendelse
| Metode | Sti | Beskrivelse | Svar |
| ------ | ----------- | --------------------------------------------------------------------------- | --------- |
| `PUT` | `/auth/:id` | Angi autentiseringslegitimasjon. Brødtekst må samsvare med leverandørskjema | `boolean` |
| Metode | Sti | Beskrivelse | Svar |
| ------ | ----------- | ------------------------------------------------------------ | --------- |
| `PUT` | `/auth/:id` | Angiv godkendelsesoplysninger. Body skal matche udbyderskema | `boolean` |
---
### Hendelser
### Hændelser
| Metode | Sti | Beskrivelse | Svar |
| ------ | -------- | -------------------------------------------------------------------------------------------------- | ------------------------------ |
| `GET` | `/event` | Server-sendte hendelsesstrøm. Første arrangement er `server.connected`, deretter bussarrangementer | Server-sendte hendelser stream |
| Metode | Sti | Beskrivelse | Svar |
| ------ | -------- | ----------------------------------------------------------------------------------------- | --------------------------- |
| `GET` | `/event` | Server-sendt hændelsesstrøm. Første hændelse er `server.connected`, derefter bushændelser | Server-sendt hændelsesstrøm |
---
### Dokumenter
### Dokumentation
| Metode | Sti | Beskrivelse | Svar |
| ------ | ------ | ------------------------- | ----------------------------------- |
| `GET` | `/doc` | OpenAPI 3.1-spesifikasjon | HTML side med OpenAPI-spesifikasjon |
| `GET` | `/doc` | OpenAPI 3.1-specifikation | HTML side med OpenAPI-specifikation |

View File

@@ -1,5 +1,5 @@
---
title: Dele
title: Deling
description: Del dine OpenCode-samtaler.
---
@@ -11,7 +11,7 @@ Delte samtaler er offentlig tilgængelige for alle med linken.
---
## Slik fungerer det
## Sådan fungerer det
Når du deler en samtale, OpenCode:
@@ -21,13 +21,13 @@ Når du deler en samtale, OpenCode:
---
## Deling
## Tilstande
OpenCode støtter tre delingsmoduser som kontrollerer hvordan samtaler deles:
---
### Manuell (standard)
### Manuel (standard)
Som standard bruger OpenCode manuell delingsmodus. Sessioner deles ikke automatisk, men du kan dele dem manuelt ved at bruge kommandoen `/share`:
@@ -63,7 +63,7 @@ Med automatisk deling aktivert, vil hver nye samtale automatisk bli delt og en k
---
### Deaktivert
### Deaktiveret
Du kan deaktivere deling helt ved at sette alternativet `share` til `"disabled"` i [konfigurasjonsfilen](/docs/config):
@@ -78,7 +78,7 @@ For at håndheve dette på tvers av teamet ditt for et gitt prosjekt, tilføj de
---
## Opphev deling
## Opv deling
Slik slutter du at dele en samtale og fjerner den fra offentlig tilgang:
@@ -90,7 +90,7 @@ Dette vil fjerne delelinken og slette dataene knyttet til samtalen.
---
## Personvern
## Privatliv
Det er et par ting du må huske på når du deler en samtale.
@@ -117,7 +117,7 @@ inkluderer:
---
## For bedrifter
## For virksomheder
For bedriftsimplementeringer kan delingsfunksjonen være:

View File

@@ -1,5 +1,5 @@
---
title: "Agentferdigheter"
title: "Agentfærdigheder"
description: "Definer gjenbrugbar atferd via SKILL.md-definisjoner"
---
@@ -8,7 +8,7 @@ Ferdigheter lastes inn på forespørsel via det opprinnelige `skill`-verktøyet
---
## Plasser filer
## Placer filer
Opret én mappe per ferdighetsnavn og tilføj inn en `SKILL.md` i den.
OpenCode søker etter disse stedene:
@@ -22,7 +22,7 @@ OpenCode søker etter disse stedene:
---
## Forstå oppdagelsen
## Forstå opdagelsen
For prosjektlokale stier går OpenCode opp fra din nåværende arbejdskatalog til den når git-arbeidstreet.
Den laster alle matchende `skills/*/SKILL.md` i `.opencode/` og alle matchende `.claude/skills/*/SKILL.md` eller `.agents/skills/*/SKILL.md` underveis.
@@ -31,7 +31,7 @@ Globale definisjoner lastes også inn fra `~/.config/opencode/skills/*/SKILL.md`
---
## Skriv frontmaterie
## Skriv frontmatter
Hver `SKILL.md` må starte med YAML frontmatter.
Bare disse feltene gjenkjennes:
@@ -46,7 +46,7 @@ Ukjente frontmatter-felter ignoreres.
---
## Bekreft navn
## Bekræft navn
`name` må:
@@ -64,7 +64,7 @@ Ekvivalent regulært uttrykk:
---
## Følg lengdereglene
## Følg længdereglerne
`description` må bestå av 1-1024 tegn.
Hold det spesifikt nok til at agenten kan velge riktig.
@@ -100,7 +100,7 @@ Ask clarifying questions if the target versioning scheme is unclear.
---
## Gjenkjenne verktøybeskrivelsen
## Genkend værktøjsbeskrivelsen
OpenCode viser tilgængelige ferdigheter i `skill` verktøybeskrivelsen.
Hver oppføring inneholder ferdighetsnavnet og beskrivelsen:
@@ -122,7 +122,7 @@ skill({ name: "git-release" })
---
## Konfigurer tillatelser
## Konfigurer tilladelser
Kontroller hvilke ferdigheter agenter har tilgang til ved at bruge mønsterbaserte tillatelser i `opencode.json`:
@@ -149,7 +149,7 @@ Mønstre støtter jokertegn: `internal-*` samsvarer med `internal-docs`, `intern
---
## Overstyring per agent
## Tilsidesættelse pr. agent
Gi spesifikke agenter andre tillatelser enn de globale standardinnstillingene.
@@ -181,7 +181,7 @@ permission:
---
## Deaktiver ferdighetsverktøyet
## Deaktiver færdighedsværktøjet
Deaktiver ferdigheter fullstendig for agenter som ikke bør bruge dem:
@@ -212,7 +212,7 @@ Når den er deaktivert, blir `<available_skills>`-delen utelatt helt.
---
## Feilsøk lasting
## Fejlfind indlæsning
Hvis en ferdighet ikke vises:

View File

@@ -21,7 +21,7 @@ Uden truecolor-støtte kan temaer vises med redusert farvenøjagtighed eller fal
---
## Innebygde temaer
## Indbyggede temaer
OpenCode kommer med flere innebygde temaer.
@@ -59,7 +59,7 @@ Systemtemaet er for brugere som:
---
## Bruge et tema
## Brug et tema
Du kan velge et tema ved at hente frem temavalg med kommandoen `/theme`. Eller du kan spesifisere det i [config](/docs/config).
@@ -72,7 +72,7 @@ Du kan velge et tema ved at hente frem temavalg med kommandoen `/theme`. Eller d
---
## Egendefinerte temaer
## Brugerdefinerede temaer
OpenCode støtter et fleksibelt JSON-basert temasystem som lar brugere enkelt lage og tilpasse temaer.
@@ -91,7 +91,7 @@ Hvis flere kataloger inneholder et tema med samme navn, vil temaet fra katalogen
---
### Oprete et tema
### Oprettelse af et tema
For at lage et brugerdefineret tema, lag en JSON-fil i en av temakatalogene.
@@ -111,7 +111,7 @@ vim .opencode/themes/my-theme.json
---
### JSON format
### JSON-format
Temaer bruger et fleksibelt JSON-format med støtte for:
@@ -123,7 +123,7 @@ Temaer bruger et fleksibelt JSON-format med støtte for:
---
### Farvedefinisjoner
### Farvedefinitioner
`defs`-delen er valgfri, og den lar deg definere gjenbrugbare farver som kan refereres til i temaet.

View File

@@ -1,6 +1,6 @@
---
title: Verktøy
description: Administrer verktøyene en LLM kan bruge.
title: Værktøjer
description: Administrer de værktøjer, en LLM kan bruge.
---
Verktøy lar LLM utføre handlinger i kodebasen din. OpenCode kommer med et sett med innebygde verktøy, men du kan utvide det med [egendefinerte verktøy](/docs/custom-tools) eller [MCP servere](/docs/mcp-servers).
@@ -9,7 +9,7 @@ Som standard er alle verktøy **aktivert** og trenger ikke tillatelse for at kj
---
## Konfigurer
## Konfiguration
Brug feltet `permission` for at kontrollere verktøyets oppførsel. Du kan tillate, avslå eller kreve godkjenning for hvert verktøy.
@@ -39,7 +39,7 @@ Du kan også bruge jokertegn for at kontrollere flere verktøy samtidig. For eks
---
## Innebygd
## Indbyggede
Her er alle de innebygde verktøyene som er tilgængelige i OpenCode.
@@ -344,7 +344,7 @@ Hvert spørsmål inkluderer en overskrift, spørsmålsteksten og en liste over a
---
## Egendefinerte verktøy
## Brugerdefinerede værktøjer
Egendefinerte verktøy lar deg definere dine egne funksjoner som LLM kan kalle. Disse er definert i konfigurasjonsfilen din og kan kjøre vilkårlig kode.
@@ -352,7 +352,7 @@ Egendefinerte verktøy lar deg definere dine egne funksjoner som LLM kan kalle.
---
## MCP servere
## MCP-servere
MCP (Model Context Protocol) servere lar deg integrere eksterne verktøy og tjenester. Dette inkluderer databasetilgang, API-integrasjoner og tredjepartstjenester.
@@ -360,13 +360,13 @@ MCP (Model Context Protocol) servere lar deg integrere eksterne verktøy og tjen
---
## Internaler
## Interne
Internt bruger verktøy som `grep`, `glob` og `list` [ripgrep](https://github.com/BurntSushi/ripgrep) under panseret. Som standard respekterer ripgrep `.gitignore`-mønstre, noe som betyr at filer og kataloger som er oppført i `.gitignore` vil bli ekskludert fra søk og lister.
---
### Ignore patterns
### Ignoreringsmønstre
For at inkludere filer som normalt vil bli ignorert, lag en `.ignore`-fil i prosjektroten. Denne filen kan eksplisitt tillate visse stier.

View File

@@ -1,67 +1,67 @@
---
title: Feilsøking
description: Vanlige problemer og hvordan de kan løses.
title: Fejlfinding
description: Almindelige problemer, og hvordan de løses.
---
For at feilsøke problemer med OpenCode, start med at tjeke loggene og lokale data den lagrer på disken.
For at fejlfinde problemer med OpenCode, start med at tjekke logfilerne og de lokale data, den gemmer på disken.
---
## Logger
## Logfiler
Loggfiler skrives til:
Logfiler skrives til:
- **macOS/Linux**: `~/.local/share/opencode/log/`
- **Windows**: Trykk `WIN+R` og lim inn `%USERPROFILE%\.local\share\opencode\log`
- **Windows**: Tryk `WIN+R` og indsæt `%USERPROFILE%\.local\share\opencode\log`
Loggfiler navngis med tidsstempler (f.eks. `2025-01-09T123456.log`) og de siste 10 loggfilene beholdes.
Logfiler navngives med tidsstempler (f.eks. `2025-01-09T123456.log`) og de sidste 10 logfiler beholdes.
Du kan angi loggnivået med kommandolinjealternativet `--log-level` for at få mer detaljert feilsøkingsinformasjon. For eksempel `opencode --log-level DEBUG`.
Du kan angive logniveauet med kommandolinjeflaget `--log-level` for at få mere detaljeret fejlfindingsinformation. For eksempel `opencode --log-level DEBUG`.
---
## Lagring
opencode lagrer sessiondata og andre applikasjonsdata på disken på:
opencode gemmer sessionsdata og andre applikationsdata på disken på:
- **macOS/Linux**: `~/.local/share/opencode/`
- **Windows**: Trykk `WIN+R` og lim inn `%USERPROFILE%\.local\share\opencode`
- **Windows**: Tryk `WIN+R` og indsæt `%USERPROFILE%\.local\share\opencode`
Denne katalogen inneholder:
Denne mappe indeholder:
- `auth.json` - Autentiseringsdata som API-nøkler, OAuth-tokens
- `log/` - Applikasjonslogger
- `project/` - Prosjektspesifikke data som session- og meldingsdata
- Hvis prosjektet er innenfor en Git-repo, lagres det i `./<project-slug>/storage/`
- Hvis det ikke er en Git-repo, lagres det i `./global/storage/`
- `auth.json` - Godkendelsesdata som API-nøgler, OAuth-tokens
- `log/` - Applikationslogs
- `project/` - Projektspecifikke data som sessions- og beskeddata
- Hvis projektet er inden for et Git-repo, gemmes det i `./<project-slug>/storage/`
- Hvis det ikke er et Git-repo, gemmes det i `./global/storage/`
---
## Desktop-app
OpenCode Desktop kjører en lokal OpenCode-server (`opencode-cli` sidevognen) i bakgrunnen. De fleste problemene er forårsaket av en plugin som fungerer dårlig, en ødelagt cache eller en dårlig serverinnstilling.
OpenCode Desktop kører en lokal OpenCode-server (`opencode-cli` sidevognen) i baggrunden. De fleste problemer er forårsaget af et plugin, der fungerer dårligt, en ødelagt cache eller en dårlig serverindstilling.
### Raske tjeker
### Hurtige tjek
- Avslutt og start appen på nytt.
- Hvis appen viser en feilskjerm, klikker du på **Start på nytt** og kopierer feildetaljene.
- Bare macOS: `OpenCode`-meny -> **Last nettvisning på nytt** (hjelper hvis UI er tom/frosset).
- Afslut og start appen på ny.
- Hvis appen viser en fejlskærm, klikker du på **Start på ny** og kopierer fejldetaljerne.
- Kun macOS: `OpenCode`-menu -> **Genindlæs webvisning** (hjælper hvis UI er tom/frosset).
---
### Deaktiver plugins
Hvis skrivebordsappen krasjer ved oppstart, henger eller oppfører seg merkelig, start med at deaktivere plugins.
Hvis skrivebordsappen går ned ved opstart, hænger eller opfører sig mærkeligt, start med at deaktivere plugins.
#### Tjek den globale konfigurasjonen
#### Tjek den globale konfiguration
Åpne den globale konfigurasjonsfilen og se etter en `plugin`-nøkkel.
Åbn den globale konfigurationsfil og se efter en `plugin`-nøgle.
- **macOS/Linux**: `~/.config/opencode/opencode.jsonc` (eller `~/.config/opencode/opencode.json`)
- **macOS/Linux** (eldre installasjoner): `~/.local/share/opencode/opencode.jsonc`
- **Windows**: Trykk `WIN+R` og lim inn `%USERPROFILE%\.config\opencode\opencode.jsonc`
- **macOS/Linux** (ældre installationer): `~/.local/share/opencode/opencode.jsonc`
- **Windows**: Tryk `WIN+R` og indsæt `%USERPROFILE%\.config\opencode\opencode.jsonc`
Hvis du har konfigurert plugins, deaktiver dem midlertidig ved at fjerne nøkkelen eller sette den til en tom matrise:
Hvis du har konfigureret plugins, deaktiver dem midlertidigt ved at fjerne nøglen eller sætte den til et tomt array:
```jsonc
{
@@ -70,156 +70,156 @@ Hvis du har konfigurert plugins, deaktiver dem midlertidig ved at fjerne nøkkel
}
```
#### Tjek plugin-kataloger
#### Tjek plugin-mapper
OpenCode kan også laste lokale plugins fra disken. Flytt disse midlertidig ut av veien (eller gi nytt navn til mappen) og start skrivebordsappen på nytt:
OpenCode kan også indlæse lokale plugins fra disken. Flyt disse midlertidigt væk (eller giv mappen nyt navn) og start skrivebordsappen på ny:
- **Globale plugins**
- **macOS/Linux**: `~/.config/opencode/plugins/`
- **Windows**: Trykk `WIN+R` og lim inn `%USERPROFILE%\.config\opencode\plugins`
- **Prosjektplugins** (bare hvis du bruger konfigurasjon per prosjekt)
- **Windows**: Tryk `WIN+R` og indsæt `%USERPROFILE%\.config\opencode\plugins`
- **Projektplugins** (kun hvis du bruger konfiguration per projekt)
- `<your-project>/.opencode/plugins/`
Hvis appen begynner at fungere igjen, aktiverer du plugins én om gangen for at finne ut hvilken som forårsaker problemet.
Hvis appen begynder at fungere igen, aktiverer du plugins én ad gangen for at finde ud af, hvilken som forårsager problemet.
---
### Tøm hurtigbufferen
### Ryd cachen
Hvis deaktivering av plugins ikke hjelper (eller en plugin-installasjon sitter fast), tøm hurtigbufferen slik at OpenCode kan gjenoppbygge den.
Hvis deaktivering af plugins ikke hjælper (eller en plugin-installation sidder fast), tøm cachen så OpenCode kan genopbygge den.
1. Avslutt OpenCode Desktop helt.
2. Slett hurtigbufferkatalogen:
1. Afslut OpenCode Desktop helt.
2. Slet cache-mappen:
- **macOS**: Finder -> `Cmd+Shift+G` -> lim inn `~/.cache/opencode`
- **Linux**: slett `~/.cache/opencode` (eller kjør `rm -rf ~/.cache/opencode`)
- **Windows**: Trykk `WIN+R` og lim inn `%USERPROFILE%\.cache\opencode`
- **macOS**: Finder -> `Cmd+Shift+G` -> indsæt `~/.cache/opencode`
- **Linux**: slet `~/.cache/opencode` (eller kør `rm -rf ~/.cache/opencode`)
- **Windows**: Tryk `WIN+R` og indsæt `%USERPROFILE%\.cache\opencode`
3. Start OpenCode Desktop på nytt.
3. Start OpenCode Desktop på ny.
---
### Løs problemer med servertilkobling
### Løs problemer med serverforbindelse
OpenCode Desktop kan enten starte sin egen lokale server (standard) eller koble til en server URL du har konfigurert.
OpenCode Desktop kan enten starte sin egen lokale server (standard) eller forbinde til en server URL, du har konfigureret.
Hvis du ser en **"Tilkobling mislyktes"**-dialogboks (eller appen kommer aldri forbi splash-skjermen), se etter en brugerdefineret server URL.
Hvis du ser en **"Forbindelse mislykkedes"**-dialogboks (eller appen kommer aldrig forbi splash-skærmen), se efter en brugerdefineret server URL.
#### Slett standardserveren for skrivebordet URL
#### Slet standardserveren for skrivebordet URL
Fra startskjermen klikker du på servernavnet (med statusprikken) for at åpne servervelgeren. I delen **Standardserver** klikker du på **Slett**.
Fra startskærmen klikker du på servernavnet (med statusprikken) for at åbne servervælgeren. I delen **Standardserver** klikker du på **Slet**.
#### Fjern `server.port` / `server.hostname` fra konfigurasjonen din
#### Fjern `server.port` / `server.hostname` fra din konfiguration
Hvis `opencode.json(c)` inneholder en `server`-del, fjern den midlertidig og start skrivebordsappen på nytt.
Hvis `opencode.json(c)` indeholder en `server`-del, fjern den midlertidigt og start skrivebordsappen på ny.
#### Tjek miljøvariabler
Hvis du har `OPENCODE_PORT` satt i miljøet ditt, vil skrivebordsappen prøve at bruge den porten for den lokale serveren.
Hvis du har `OPENCODE_PORT` sat i dit miljø, vil skrivebordsappen prøve at bruge den port for den lokale server.
- Deaktiver `OPENCODE_PORT` (eller velg en ledig port) og start på nytt.
- Deaktiver `OPENCODE_PORT` (eller vælg en ledig port) og start på ny.
---
### Linux: Wayland / X11 problemer
### Linux: Wayland / X11-problemer
På Linux kan nogle Wayland-oppsett forårsake tomme vinduer eller kompositorfeil.
På Linux kan nogle Wayland-opsætninger forårsage tomme vinduer eller kompositorfejl.
- Hvis du er på Wayland og appen er tom/krasj, prøv at starte med `OC_ALLOW_WAYLAND=1`.
- Hvis det gør ting verre, fjern det og prøv at starte under en X11-session i stedet.
- Hvis du er på Wayland og appen er tom/crasher, prøv at starte med `OC_ALLOW_WAYLAND=1`.
- Hvis det gør ting værre, fjern det og prøv at starte under en X11-session i stedet.
---
### Windows: WebView2 kjøretid
### Windows: WebView2-runtime
På Windows krever OpenCode Desktop Microsoft Edge **WebView2 Runtime**. Hvis appen åpnes i et tomt vindu eller ikke starter, installer/opdater WebView2 og prøv igjen.
På Windows kræver OpenCode Desktop Microsoft Edge **WebView2 Runtime**. Hvis appen åbnes i et tomt vindue eller ikke starter, installer/opdater WebView2 og prøv igen.
---
### Windows: Generelle ytelsesproblemer
### Windows: Generelle ydeevneproblemer
Hvis du opplever treg ytelse, problemer med filtilgang eller terminalproblemer på Windows, kan du prøve at bruge [WSL (Windows Subsystem for Linux)](/docs/windows-wsl). WSL gir et Linux-miljø som fungerer mer sømløst med funksjonene til OpenCode.
Hvis du oplever langsom ydeevne, problemer med filadgang eller terminalproblemer på Windows, kan du prøve at bruge [WSL (Windows Subsystem for Linux)](/docs/windows-wsl). WSL giver et Linux-miljø som fungerer mere sømløst med funktionerne i OpenCode.
---
### Varsler vises ikke
### Meddelelser vises ikke
OpenCode Desktop viser bare systemvarsler når:
OpenCode Desktop viser kun systemvarsler når:
- varsler er aktivert for OpenCode i OS-innstillingene dine, og
- appvinduet er ikke fokusert.
- varsler er aktiveret for OpenCode i dine OS-indstillinger, og
- appvinduet ikke er fokuseret.
---
### Tilbakestill skrivebordsapplagring (siste utvei)
### Nulstil desktop-applagring (sidste udvej)
Hvis appen ikke starter og du ikke kan slette innstillingene fra UI, nulstil skrivebordsappens lagrede tilstand.
Hvis appen ikke starter og du ikke kan slette indstillingerne fra UI, nulstil skrivebordsappens gemte tilstand.
1. Avslutt OpenCode Desktop.
2. Finn og slett disse filene (de finnes i OpenCode Desktop-appens datakatalog):
1. Afslut OpenCode Desktop.
2. Find og slet disse filer (de findes i OpenCode Desktop-appens datamappe):
- `opencode.settings.dat` (stasjonær standardserver URL)
- `opencode.global.dat` og `opencode.workspace.*.dat` (UI tilstand som nylige servere/prosjekter)
- `opencode.settings.dat` (skrivebordsstandardserver URL)
- `opencode.global.dat` og `opencode.workspace.*.dat` (UI tilstand som nylige servere/projekter)
Slik finner du katalogen raskt:
Sådan finder du mappen hurtigt:
- **macOS**: Finder -> `Cmd+Shift+G` -> `~/Library/Application Support` (søk deretter etter filnavnene ovenfor)
- **Linux**: søk under `~/.local/share` etter filnavnene ovenfor
- **Windows**: Trykk `WIN+R` -> `%APPDATA%` (søk deretter etter filnavnene ovenfor)
- **macOS**: Finder -> `Cmd+Shift+G` -> `~/Library/Application Support` (søg derefter efter filnavnene ovenfor)
- **Linux**: søg under `~/.local/share` efter filnavnene ovenfor
- **Windows**: Tryk `WIN+R` -> `%APPDATA%` (søg derefter efter filnavnene ovenfor)
---
## Får hjelp
## Få hjælp
Hvis du opplever problemer med OpenCode:
Hvis du oplever problemer med OpenCode:
1. **Rapporter problemer på GitHub**
Den beste måten at rapportere feil eller be om funksjoner på er gjennom vårt GitHub-lager:
Den bedste måde at rapportere fejl eller bede om funktioner på er gennem vores GitHub-repo:
[**github.com/anomalyco/opencode/issues**](https://github.com/anomalyco/opencode/issues)
Før du opreter et nytt problem, søk i eksisterende problemer for at se om problemet ditt allerede er rapportert.
Før du opretter et nyt issue, søg i eksisterende issues for at se om dit problem allerede er rapporteret.
2. **Bli med i vår Discord**
2. **Bliv en del af vores Discord**
For sanntidshjelp og fellesskapsdiskusjon, bli med i vår Discord-server:
For hjælp i realtid og fællesskabsdiskussion, bliv en del af vores Discord-server:
[**opencode.ai/discord**](https://opencode.ai/discord)
---
## Vanlige problemer
## Almindelige problemer
Her er nogle vanlige problemer og hvordan du kan løse dem.
Her er nogle almindelige problemer og hvordan du kan løse dem.
---
### OpenCode vil ikke starte
1. Tjek loggene for feilmeldinger
2. Prøv at kjøre med `--print-logs` for at se utdata i terminalen
3. Sørg for at du har den nyeste versjonen med `opencode upgrade`
1. Tjek logfilerne for fejlmeddelelser
2. Prøv at køre med `--print-logs` for at se output i terminalen
3. Sørg for at du har den nyeste version med `opencode upgrade`
---
### Autentiseringsproblemer
### Godkendelsesproblemer
1. Prøv at autentisere på nytt med kommandoen `/connect` i TUI
2. Tjek at API-nøklene dine er gyldige
3. Sørg for at nettverket ditt tillater tilkoblinger til leverandørens API
1. Prøv at godkende på ny med kommandoen `/connect` i TUI
2. Tjek at dine API-nøgler er gyldige
3. Sørg for at dit netværk tillader forbindelser til udbyderens API
---
### Modellen er ikke tilgængelig
1. Tjek at du har autentisert deg med leverandøren
2. Kontroller at modellnavnet i konfigurasjonen er riktig
3. Nogle modeller kan kreve spesifikk tilgang eller abonnement
1. Tjek at du har godkendt dig med udbyderen
2. Kontroller at modelnavnet i konfigurationen er rigtigt
3. Nogle modeller kan kræve specifik adgang eller abonnement
Hvis du støter på `ProviderModelNotFoundError` er du mest sannsynlig feil
refererer til en modell et sted.
Modeller skal refereres slik: `<providerId>/<modelId>`
Hvis du støder på `ProviderModelNotFoundError` refererer du mest sandsynligt forkert
til en model et sted.
Modeller skal refereres sådan: `<providerId>/<modelId>`
Eksempler:
@@ -227,52 +227,52 @@ Eksempler:
- `openrouter/google/gemini-2.5-flash`
- `opencode/kimi-k2`
For at finne ut hvilke modeller du har tilgang til, kjør `opencode models`
For at finde ud af hvilke modeller du har adgang til, kør `opencode models`
---
### ProviderInitError
Hvis du støter på en ProviderInitError, har du sannsynligvis en ugyldig eller ødelagt konfigurasjon.
Hvis du støder på en ProviderInitError, har du sandsynligvis en ugyldig eller ødelagt konfiguration.
For at løse dette:
1. Kontroller først at leverandøren din er riktig konfigurert ved at følge [leverandørveiledningen](/docs/providers)
2. Hvis problemet vedvarer, prøv at tømme den lagrede konfigurasjonen:
1. Kontroller først at din udbyder er rigtigt konfigureret ved at følge [udbydervejledningen](/docs/providers)
2. Hvis problemet vedvarer, prøv at tømme den gemte konfiguration:
```bash
rm -rf ~/.local/share/opencode
```
På Windows, trykk `WIN+R` og slett: `%USERPROFILE%\.local\share\opencode`
På Windows, tryk `WIN+R` og slet: `%USERPROFILE%\.local\share\opencode`
3. Autentiser på nytt med leverandøren din ved at bruge kommandoen `/connect` i TUI.
3. Godkend på ny med din udbyder ved at bruge kommandoen `/connect` i TUI.
---
### AI_APICallError og leverandørpakkeproblemer
### AI_APICallError og udbyderpakkeproblemer
Hvis du støter på API anropsfeil, kan dette skyldes utdaterte leverandørpakker. opencode installerer dynamisk leverandørpakker (OpenAI, Anthropic, Google, etc.) etter behov og cacher dem lokalt.
Hvis du støder på API-kaldsfejl, kan dette skyldes forældede udbyderpakker. opencode installerer dynamisk udbyderpakker (OpenAI, Anthropic, Google, etc.) efter behov og cacher dem lokalt.
For at løse problemer med leverandørpakke:
For at løse problemer med udbyderpakke:
1. Tøm leverandørens pakkebuffer:
1. Tøm udbyderens pakkecache:
```bash
rm -rf ~/.cache/opencode
```
På Windows, trykk `WIN+R` og slett: `%USERPROFILE%\.cache\opencode`
På Windows, tryk `WIN+R` og slet: `%USERPROFILE%\.cache\opencode`
2. Start opencode på nytt for at installere de nyeste leverandørpakkene på nytt
2. Start opencode på ny for at installere de nyeste udbyderpakker på ny
Dette vil tvinge opencode til at laste ned de nyeste versjonene av leverandørpakkene, som ofte løser kompatibilitetsproblemer med modellparametere og API endringer.
Dette vil tvinge opencode til at downloade de nyeste versioner af udbyderpakkerne, som ofte løser kompatibilitetsproblemer med modelparametre og APIndringer.
---
### Kopier/lim inn fungerer ikke på Linux
### Kopier/indsæt virker ikke på Linux
Linux-brugere ha ett av følgende utklippstavleverktøy installert for at kopier/lim inn-funksjonalitet skal fungere:
Linux-brugere skal have et af følgende udklipsholderværktøjer installeret for at kopier/indsæt-funktionalitet skal fungere:
**For X11-systemer:**
@@ -288,7 +288,7 @@ apt install -y xsel
apt install -y wl-clipboard
```
**For hodeløse miljøer:**
**For hovedløse miljøer:**
```bash
apt install -y xvfb
@@ -297,4 +297,4 @@ Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
export DISPLAY=:99.0
```
opencode vil oppdage om du bruger Wayland og foretrekker `wl-clipboard`, ellers vil den prøve at finne utklippstavleverktøy i rekkefølgen: `xclip` og `xsel`.
opencode vil opdage om du bruger Wayland og foretrække `wl-clipboard`, ellers vil den prøve at finde udklipsholderværktøjer i rækkefølgen: `xclip` og `xsel`.

View File

@@ -1,13 +1,13 @@
---
title: TUI
description: Bruge OpenCode-terminalbrugergrænsefladeet.
description: Brug af OpenCode-terminalbrugergrænsefladen.
---
import { Tabs, TabItem } from "@astrojs/starlight/components"
OpenCode gir et interaktivt terminalgrænseflade eller TUI for at jobbe med prosjektene dine med en LLM.
OpenCode giver en interaktiv terminalgrænseflade eller TUI til at arbejde med dine projekter med en LLM.
Å køre OpenCode starter TUI for nuværende mappe.
At køre OpenCode starter TUI for den nuværende mappe.
```bash
opencode
@@ -29,10 +29,10 @@ Give me a quick summary of the codebase.
## Filreferencer
Du kan referere til filer i dine meddelelser med `@`. Det laver en fuzzy filsøgning i det nuværende arbejdsmappe.
Du kan referere til filer i dine beskeder med `@`. Det laver en fuzzy filsøgning i den nuværende arbejdsmappe.
:::tip
Du kan også bruge `@` til at referere til filer i dine meddelelser.
Du kan også bruge `@` til at referere til filer i dine beskeder.
:::
```text "@packages/functions/src/api/index.ts"
@@ -51,19 +51,19 @@ Start en besked med `!` for at køre en shell-kommando.
!ls -la
```
Outputtet fra kommandoen tilføjes til samtalen som et værktøjresultat.
Outputtet fra kommandoen tilføjes til samtalen som et værktøjsresultat.
---
## Kommandoer
Når du bruger OpenCode TUI, kan du skrive `/` etterfulgt av et kommandonavn for raskt at utføre handlinger. For eksempel:
Når du bruger OpenCode TUI, kan du skrive `/` efterfulgt af et kommandonavn for hurtigt at udføre handlinger. For eksempel:
```bash frame="none"
/help
```
De fleste kommandoer har også genvejstast som bruger `ctrl+x` som Leader-tast, der `ctrl+x` er standard Leader-tast. [Læs mere](/docs/keybinds).
De fleste kommandoer har også genvejstaster som bruger `ctrl+x` som Leader-tast, hvor `ctrl+x` er standard Leader-tast. [Læs mere](/docs/keybinds).
Her er alle tilgængelige skråstregskommandoer:
@@ -71,7 +71,7 @@ Her er alle tilgængelige skråstregskommandoer:
### connect
Tilføj en leverandør til OpenCode. Lar deg velge fra tilgængelige leverandører og tilføje til deres API-nøgler.
Tilføj en udbyder til OpenCode. Lader dig vælge fra tilgængelige udbydere og tilføje deres API-nøgler.
```bash frame="none"
/connect
@@ -93,7 +93,7 @@ Komprimer nuværende session. _Alias_: `/summarize`
### details
Veksle værktøjutførelsesdetaljer.
Skift visning af værktøjsudførelsesdetaljer.
```bash frame="none"
/details
@@ -105,7 +105,7 @@ Veksle værktøjutførelsesdetaljer.
### editor
Åbn eksternt redigeringsprogram for at skrive beskeder. Bruger redigeringsprogrammet i miljøvariabelen `EDITOR`. [Læs mere](#editor-setup).
Åbn eksternt redigeringsprogram for at skrive beskeder. Bruger redigeringsprogrammet i miljøvariablen `EDITOR`. [Læs mere](#editor-setup).
```bash frame="none"
/editor
@@ -129,7 +129,7 @@ Afslut OpenCode. _Aliaser_: `/quit`, `/q`
### export
Eksporter nuværende samtale til Markdown og åpne i standardredigeringsprogrammet. Bruger redigeringsprogrammet i miljøvariabelen `EDITOR`. [Læs mere](#editor-setup).
Eksporter nuværende samtale til Markdown og åbn i standardredigeringsprogrammet. Bruger redigeringsprogrammet i miljøvariablen `EDITOR`. [Læs mere](#editor-setup).
```bash frame="none"
/export
@@ -189,14 +189,13 @@ Start en ny session. _Alias_: `/clear`
### redo
Gentag en tidligere fortrudt besked. Kun tilgængelig etter brug av `/undo`.
Gentag en tidligere fortrudt besked. Kun tilgængelig efter brug af `/undo`.
:::tip
Eventuelle filændringer vil også bli genoprettet.
Eventuelle filændringer vil også blive genoprettet.
:::
Internt bruger dette Git til at administrere filændringerne. Så dit prosjekt **
være et Git-depot**.
Internt bruger dette Git til at administrere filændringerne. Så dit projekt **skal være et Git-depot**.
```bash frame="none"
/redo
@@ -208,7 +207,7 @@ være et Git-depot**.
### sessions
List opp og bytt mellom sessioner. _Aliaser_: `/resume`, `/continue`
List og skift mellem sessioner. _Aliaser_: `/resume`, `/continue`
```bash frame="none"
/sessions
@@ -244,10 +243,10 @@ Liste over tilgængelige temaer.
### thinking
Veksle mellom synligheten av tenke-/resonneringsblokker i samtalen. Når den er aktiveret, kan du se modellens resonneringsprosess for modeller som støtter utvidet tenkning.
Skift synligheden af tænke-/ræsonneringsblokke i samtalen. Når den er aktiveret, kan du se modellens ræsonneringsproces for modeller, som understøtter udvidet tænkning.
:::note
Denne kommandoen kontrollerer bare om tenkeblokker **vises** - den aktiverer eller deaktiverer ikke modellens resonneringsmuligheter. For at veksle mellom faktiske resonneringsmuligheter, brug `ctrl+t` for at bla gennem modellvarianter.
Denne kommando kontrollerer bare om tænkeblokke **vises** - den aktiverer eller deaktiverer ikke modellens ræsonneringsmuligheder. For at skifte mellem faktiske ræsonneringsmuligheder, brug `ctrl+t` for at bladre gennem modelvarianter.
:::
```bash frame="none"
@@ -258,14 +257,13 @@ Denne kommandoen kontrollerer bare om tenkeblokker **vises** - den aktiverer ell
### undo
Angre siste besked i samtalen. Fjerner den siste brugerbeskeden, alle følgende svar og eventuelle filændringer.
Fortryd sidste besked i samtalen. Fjerner den sidste brugerbesked, alle efterfølgende svar og eventuelle filændringer.
:::tip
Eventuelle filændringer vil også bli nullstillet.
Eventuelle filændringer vil også blive nulstillet.
:::
Internt bruger dette Git til at administrere filændringerne. Så dit prosjekt **
være et Git-depot**.
Internt bruger dette Git til at administrere filændringerne. Så dit projekt **skal være et Git-depot**.
```bash frame="none"
/undo
@@ -277,7 +275,7 @@ være et Git-depot**.
### unshare
Ophæv deling av nuværende session. [Læs mere](/docs/share#un-sharing).
Ophæv deling af nuværende session. [Læs mere](/docs/share#un-sharing).
```bash frame="none"
/unshare
@@ -287,7 +285,7 @@ Ophæv deling av nuværende session. [Læs mere](/docs/share#un-sharing).
## Opsætning af editor
Både kommandoerne `/editor` og `/export` bruger editoren som er spesifisert i miljøvariabelen `EDITOR`.
Både kommandoerne `/editor` og `/export` bruger editoren som er specificeret i miljøvariablen `EDITOR`.
<Tabs>
<TabItem label="Linux/macOS">
@@ -301,7 +299,7 @@ Både kommandoerne `/editor` og `/export` bruger editoren som er spesifisert i m
export EDITOR="code --wait"
```
For at gøre det permanent, tilføj dette til i shellprofilen din;
For at gøre det permanent, tilføj dette til din shellprofil;
`~/.bashrc`, `~/.zshrc` osv.
</TabItem>
@@ -315,8 +313,7 @@ Både kommandoerne `/editor` og `/export` bruger editoren som er spesifisert i m
set EDITOR=code --wait
```
For at gøre det permanent, brug **Systemegenskaber** > **Miljø
Variabler**.
For at gøre det permanent, brug **Systemegenskaber** > **Miljøvariabler**.
</TabItem>
@@ -329,7 +326,7 @@ Både kommandoerne `/editor` og `/export` bruger editoren som er spesifisert i m
$env:EDITOR = "code --wait"
```
For at gøre det permanent, tilføj dette til i PowerShell-profilen din.
For at gøre det permanent, tilføj dette til din PowerShell-profil.
</TabItem>
</Tabs>
@@ -346,10 +343,10 @@ Populære redigeringsalternativer inkluderer:
- `subl` - Sublime Text
:::note
Nogle editorer som VS Code startes med flaget `--wait`.
Nogle editorer som VS Code skal startes med flaget `--wait`.
:::
Nogle editorer kræver kommandolinjeargumenter for at køre i blokeringstilstand. `--wait`-flaget gør at redigeringsprocessen blokeres til den lukkes.
Nogle editorer kræver kommandolinjeargumenter for at køre i blokeringstilstand. `--wait`-flaget gør at redigeringsprocessen blokeres indtil den lukkes.
---
@@ -371,20 +368,20 @@ Du kan tilpasse TUI-adfærden gennem OpenCode-konfigurationsfilen.
### Indstillinger
- `scroll_acceleration` - Aktiver rulleacceleration i macOS-stil for jævn, naturlig rulning. Når aktiveret, øger rullehastigheden med raske rullebevægelser og forblir presis for langsommere bevægelser. **Denne indstillingen har forrang over `scroll_speed` og tilsidesætter den når den er aktiveret.**
- `scroll_speed` - Styrer hvor raskt TUI ruller når du bruger rullekommandoer (minimum: `1`). Standard er `3`. **Bemærk: Dette ignoreres hvis `scroll_acceleration.enabled` er sat til `true`.**
- `scroll_acceleration` - Aktiver rulleacceleration i macOS-stil for jævn, naturlig rulning. Når aktiveret, øger rullehastigheden med hurtige rullebevægelser og forbliver præcis for langsommere bevægelser. **Denne indstilling har forrang over `scroll_speed` og tilsidesætter den, når den er aktiveret.**
- `scroll_speed` - Styrer hvor hurtigt TUI ruller, når du bruger rullekommandoer (minimum: `1`). Standard er `3`. **Bemærk: Dette ignoreres hvis `scroll_acceleration.enabled` er sat til `true`.**
---
## Tilpasning
Du kan tilpasse forskellige aspekter av TUI-visningen ved at bruge kommandopaletten (`ctrl+x h` eller `/help`). Disse indstillingene gemmes ved omstarter.
Du kan tilpasse forskellige aspekter af TUI-visningen ved at bruge kommandopaletten (`ctrl+x h` eller `/help`). Disse indstillinger gemmes ved genstart.
---
#### Username display
#### Visning af brugernavn
Veksle om brugernavnet dit vises i chat-beskeder. Få adgang til dette gennem:
Skift om dit brugernavn vises i chat-beskeder. Få adgang til dette gennem:
- Kommandopalet: Søg efter "brugernavn" eller "skjul brugernavn"
- Innstillingen gemmes automatisk og vil bli husket over TUI sessioner
- Indstillingen gemmes automatisk og vil blive husket over TUI-sessioner

View File

@@ -21,7 +21,7 @@ Dette starter en lokal server på `127.0.0.1` med en tilfældig tilgængelig por
Hvis `OPENCODE_SERVER_PASSWORD` ikke er indstillet, vil serveren være usikret. Dette er fint til lokal brug, men bør indstilles til netværksadgang.
:::
:::tip[Windows Users]
:::tip[Windows-brugere]
For den bedste oplevelse skal du køre `opencode web` fra [WSL](/docs/windows-wsl) i stedet for PowerShell. Dette sikrer korrekt filsystemadgang og terminalintegration.
:::

View File

@@ -1,77 +1,77 @@
---
title: Zen
description: Utvalgt liste over modeller levert av OpenCode.
description: Udvalgt liste over modeller leveret af OpenCode.
---
import config from "../../../../config.mjs"
export const console = config.console
export const email = `mailto:${config.email}`
OpenCode Zen er en liste over testede og verifiserte modeller levert av OpenCode-teamet.
OpenCode Zen er en liste over testede og verificerede modeller leveret af OpenCode-teamet.
:::note
OpenCode Zen er for øyeblikket i beta.
OpenCode Zen er i øjeblikket i beta.
:::
Zen fungerer som alle andre leverandører i OpenCode. Du logger på OpenCode Zen og får
din API-nøgle. Den er **helt valgfri** og du trenger ikke bruge den for at bruge den
Zen fungerer som alle andre udbydere i OpenCode. Du logger på OpenCode Zen og får
din API-nøgle. Den er **helt valgfri** og du behøver ikke bruge den for at bruge
OpenCode.
---
## Bakgrunn
## Baggrund
Det er et stort antall modeller der ute, men bare nogle få av dem
disse modellene fungerer godt som kodeagenter. I tiltilføj er de fleste tilbydere
konfigurert veldig annerledes; slik at du får veldig forskjellig ytelse og kvalitet.
Der er et stort antal modeller derude, men kun få af dem
fungerer godt som kodeagenter. Derudover er de fleste udbydere
konfigureret meget forskelligt, så du får meget forskellig ydeevne og kvalitet.
:::tip
Vi testet en utvalgt gruppe modeller og leverandører som fungerer godt med OpenCode.
Vi testede en udvalgt gruppe modeller og udbydere, der fungerer godt med OpenCode.
:::
Så hvis du bruger en modell gjennom noe som OpenRouter, kan du aldri bli det
sikker på om du får den beste versjonen av modellen du ønsker.
Så hvis du bruger en model gennem noget som OpenRouter, kan du aldrig være
sikker på, om du får den bedste version af modellen, du ønsker.
For at fikse dette gjorde vi et par ting:
1. Vi testet en utvalgt gruppe modeller og snakket med teamene deres om hvordan
best kjøre dem.
2. Vi samarbeidet deretter med nogle få leverandører for at sikre at disse ble servert
riktig.
3. Til slutt benchmarket vi kombinasjonen av modell/leverandør og kom frem
med en liste som vi har lyst til at anbefale.
1. Vi testede en udvalgt gruppe modeller og talte med deres teams om, hvordan
man bedst kører dem.
2. Vi samarbejdede derefter med nogle få udbydere for at sikre, at disse blev serveret
korrekt.
3. Til sidst benchmarkede vi kombinationen af model/udbyder og kom frem
til en liste, som vi har lyst til at anbefale.
OpenCode Zen er en AI gateway som gir deg tilgang til disse modellene.
OpenCode Zen er en AI gateway, der giver dig adgang til disse modeller.
---
## Slik fungerer det
## Sådan fungerer det
OpenCode Zen fungerer som alle andre leverandører i OpenCode.
OpenCode Zen fungerer som alle andre udbydere i OpenCode.
1. Du logger på **<a href={console}>OpenCode Zen</a>**, tilføj til fakturering
detaljer, og kopier API-nøgleen.
2. Du kjører kommandoen `/connect` i TUI, velger OpenCode Zen og limer inn API-nøgleen.
3. Kjør `/models` i TUI for at se listen over modeller vi anbefaler.
1. Du logger på **<a href={console}>OpenCode Zen</a>**, tilføjer faktureringsoplysninger
og kopierer API-nøglen.
2. Du kører kommandoen `/connect` i TUI, vælger OpenCode Zen og indsætter API-nøglen.
3. Kør `/models` i TUI for at se listen over modeller, vi anbefaler.
Du belastes per forespørsel, og du kan tilføje til kreditt på kontoen din.
Du opkræves per anmodning, og du kan tilføje kredit til din konto.
---
## Endepunkter
## Endpoints
Du kan også få tilgang til modellene våre gjennom følgende API-endepunkter.
Du kan også få adgang til vores modeller gennem følgende API-endpoints.
| Modell | Modell ID | Endepunkt | AI SDK Pakke |
| Model | Model ID | Endpoint | AI SDK Pakke |
| ------------------- | ------------------ | -------------------------------------------------- | --------------------------- |
| GPT 5.2 | gpt-5.2 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.2 Codex | gpt-5.2-kodeks | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.2 Codex | gpt-5.2-codex | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.1 | gpt-5.1 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.1 Codex | gpt-5.1-kodeks | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.1 Codex | gpt-5.1-codex | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.1 Codex Max | gpt-5.1-codex-max | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.1 Codex Mini | gpt-5.1-codex-mini | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5 | gpt-5 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5 Codex | gpt-5-kodeks | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5 Codex | gpt-5-codex | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5 Nano | gpt-5-nano | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| Claude Sonnet 4.5 | claude-sonnett-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4 | claude-sonnett-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
@@ -83,20 +83,20 @@ Du kan også få tilgang til modellene våre gjennom følgende API-endepunkter.
| Gemini 3 Pro | gemini-3-pro | `https://opencode.ai/zen/v1/models/gemini-3-pro` | `@ai-sdk/google` |
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
| MiniMax M2.1 | minimax-m2.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.1 Gratis | minimax-m2.1-fri | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| MiniMax M2.1 Gratis | minimax-m2.1-free | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| GLM 4.7 | glm-4.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 4.7 Gratis | glm-4.7-fri | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 4.7 Gratis | glm-4.7-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 4.6 | glm-4.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 Gratis | kimi-k2.5-fri | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2 Tenker | kimi-k2-tenking | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 Gratis | kimi-k2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2 Tenker | kimi-k2-thinking | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2 | kimi-k2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Qwen3-koder 480B | qwen3-koder | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Stor sylteagurk | stor sylteagurk | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Qwen3-koder 480B | qwen3-coder | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Stor sylteagurk | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
[modell-id](/docs/config/#models) i OpenCode-konfigurasjonen
[model-id](/docs/config/#models) i OpenCode-konfigurationen
bruger formatet `opencode/<model-id>`. For eksempel, for GPT 5.2 Codex, ville du
brug `opencode/gpt-5.2-codex` i konfigurasjonen din.
bruge `opencode/gpt-5.2-codex` i din konfiguration.
---
@@ -112,143 +112,143 @@ https://opencode.ai/zen/v1/models
## Priser
Vi støtter en pay-as-you-go-modell. Nedenfor er prisene **per 1 million tokens**.
Vi støtter en pay-as-you-go-model. Nedenfor er priserne **per 1 million tokens**.
| Modell | Inngang | Utgang | Bufret Les | Bufret skriv |
| --------------------------------- | ------- | ------ | ---------- | ------------ |
| Stor sylteagurk | Gratis | Gratis | Gratis | - |
| MiniMax M2.1 Gratis | Gratis | Gratis | Gratis | - |
| MiniMax M2.1 | $0,30 | $1,20 | $0,10 | - |
| GLM 4.7 Gratis | Gratis | Gratis | Gratis | - |
| GLM 4.7 | $0,60 | $2,20 | $0,10 | - |
| GLM 4.6 | $0,60 | $2,20 | $0,10 | - |
| Kimi K2.5 Gratis | Gratis | Gratis | Gratis | - |
| Kimi K2.5 | $0,60 | $3,00 | $0,08 | - |
| Kimi K2 Tenker | $0,40 | $2,50 | - | - |
| Kimi K2 | $0,40 | $2,50 | - | - |
| Qwen3-koder 480B | $0,45 | $1,50 | - | - |
| Claude Sonnet 4.5 (≤ 200K tokens) | $3,00 | $15,00 | $0,30 | $3,75 |
| Claude Sonnet 4.5 (> 200K tokens) | $6,00 | $22,50 | $0,60 | $7,50 |
| Claude Sonnet 4 (≤ 200K tokens) | $3,00 | $15,00 | $0,30 | $3,75 |
| Claude Sonnet 4 (> 200K tokens) | $6,00 | $22,50 | $0,60 | $7,50 |
| Claude Haiku 4.5 | $1,00 | $5,00 | $0,10 | $1,25 |
| Claude Haiku 3.5 | $0,80 | $4,00 | $0,08 | $1,00 |
| Claude Opus 4.6 (≤ 200K tokens) | $5,00 | $25,00 | $0,50 | $6,25 |
| Claude Opus 4.6 (> 200K tokens) | $10,00 | $37,50 | $1,00 | $12,50 |
| Claude Opus 4.5 | $5,00 | $25,00 | $0,50 | $6,25 |
| Claude Opus 4.1 | $15,00 | $75,00 | $1,50 | $18,75 |
| Gemini 3 Pro (≤ 200K tokens) | $2,00 | $12,00 | $0,20 | - |
| Gemini 3 Pro (> 200K tokens) | $4,00 | $18,00 | $0,40 | - |
| Gemini 3 Flash | $0,50 | $3,00 | $0,05 | - |
| GPT 5.2 | $1,75 | $14,00 | $0,175 | - |
| GPT 5.2 Codex | $1,75 | $14,00 | $0,175 | - |
| GPT 5.1 | $1,07 | $8,50 | $0,107 | - |
| GPT 5.1 Codex | $1,07 | $8,50 | $0,107 | - |
| GPT 5.1 Codex Max | $1,25 | $10,00 | $0,125 | - |
| GPT 5.1 Codex Mini | $0,25 | $2,00 | $0,025 | - |
| GPT 5 | $1,07 | $8,50 | $0,107 | - |
| GPT 5 Codex | $1,07 | $8,50 | $0,107 | - |
| GPT 5 Nano | Gratis | Gratis | Gratis | - |
| Model | Input | Output | Cached Læs | Cached Skriv |
| --------------------------------- | ------ | ------ | ---------- | ------------ |
| Stor sylteagurk | Gratis | Gratis | Gratis | - |
| MiniMax M2.1 Gratis | Gratis | Gratis | Gratis | - |
| MiniMax M2.1 | $0,30 | $1,20 | $0,10 | - |
| GLM 4.7 Gratis | Gratis | Gratis | Gratis | - |
| GLM 4.7 | $0,60 | $2,20 | $0,10 | - |
| GLM 4.6 | $0,60 | $2,20 | $0,10 | - |
| Kimi K2.5 Gratis | Gratis | Gratis | Gratis | - |
| Kimi K2.5 | $0,60 | $3,00 | $0,08 | - |
| Kimi K2 Tenker | $0,40 | $2,50 | - | - |
| Kimi K2 | $0,40 | $2,50 | - | - |
| Qwen3-koder 480B | $0,45 | $1,50 | - | - |
| Claude Sonnet 4.5 (≤ 200K tokens) | $3,00 | $15,00 | $0,30 | $3,75 |
| Claude Sonnet 4.5 (> 200K tokens) | $6,00 | $22,50 | $0,60 | $7,50 |
| Claude Sonnet 4 (≤ 200K tokens) | $3,00 | $15,00 | $0,30 | $3,75 |
| Claude Sonnet 4 (> 200K tokens) | $6,00 | $22,50 | $0,60 | $7,50 |
| Claude Haiku 4.5 | $1,00 | $5,00 | $0,10 | $1,25 |
| Claude Haiku 3.5 | $0,80 | $4,00 | $0,08 | $1,00 |
| Claude Opus 4.6 (≤ 200K tokens) | $5,00 | $25,00 | $0,50 | $6,25 |
| Claude Opus 4.6 (> 200K tokens) | $10,00 | $37,50 | $1,00 | $12,50 |
| Claude Opus 4.5 | $5,00 | $25,00 | $0,50 | $6,25 |
| Claude Opus 4.1 | $15,00 | $75,00 | $1,50 | $18,75 |
| Gemini 3 Pro (≤ 200K tokens) | $2,00 | $12,00 | $0,20 | - |
| Gemini 3 Pro (> 200K tokens) | $4,00 | $18,00 | $0,40 | - |
| Gemini 3 Flash | $0,50 | $3,00 | $0,05 | - |
| GPT 5.2 | $1,75 | $14,00 | $0,175 | - |
| GPT 5.2 Codex | $1,75 | $14,00 | $0,175 | - |
| GPT 5.1 | $1,07 | $8,50 | $0,107 | - |
| GPT 5.1 Codex | $1,07 | $8,50 | $0,107 | - |
| GPT 5.1 Codex Max | $1,25 | $10,00 | $0,125 | - |
| GPT 5.1 Codex Mini | $0,25 | $2,00 | $0,025 | - |
| GPT 5 | $1,07 | $8,50 | $0,107 | - |
| GPT 5 Codex | $1,07 | $8,50 | $0,107 | - |
| GPT 5 Nano | Gratis | Gratis | Gratis | - |
Du tilføjer kanskje merke til _Claude Haiku 3.5_ i brugshistorikken din. Dette er en [lavprismodell](/docs/config/#models) som bruges til at generere titlene på sessionene dine.
Du bemærker måske _Claude Haiku 3.5_ i din brugshistorik. Dette er en [lavprismodel](/docs/config/#models), som bruges til at generere titlerne på dine sessioner.
:::note
Kredittkortgebyrer overføres til kostpris (4,4 % + $0,30 per transaksjon); vi belaster ikke noe utover det.
Kreditkortgebyrer overføres til kostpris (4,4 % + $0,30 per transaktion); vi opkræver ikke noget udover det.
:::
De gratis modellene:
De gratis modeller:
- GLM 4.7 Free er tilgængelig på OpenCode i en begrænset periode. Teamet bruger denne tiden til at samle tilbagemeldinger og forbedre modellen.
- Kimi K2.5 Gratis er tilgængelig på OpenCode i en begrænset periode. Teamet bruger denne tiden til at samle tilbagemeldinger og forbedre modellen.
- MiniMax M2.1 Free er tilgængelig på OpenCode i en begrænset periode. Teamet bruger denne tiden til at samle tilbagemeldinger og forbedre modellen.
- Big Pickle er en stealth-modell som er gratis på OpenCode i en begrænset periode. Teamet bruger denne tiden til at samle tilbagemeldinger og forbedre modellen.
- GLM 4.7 Gratis er tilgængelig på OpenCode i en begrænset periode. Teamet bruger denne tid til at samle feedback og forbedre modellen.
- Kimi K2.5 Gratis er tilgængelig på OpenCode i en begrænset periode. Teamet bruger denne tid til at samle feedback og forbedre modellen.
- MiniMax M2.1 Gratis er tilgængelig på OpenCode i en begrænset periode. Teamet bruger denne tid til at samle feedback og forbedre modellen.
- Stor sylteagurk er en stealth-model som er gratis på OpenCode i en begrænset periode. Teamet bruger denne tid til at samle feedback og forbedre modellen.
<a href={email}>Contact us</a> if you have any questions.
<a href={email}>Kontakt os</a> hvis du har spørgsmål.
---
### Last inn automatisk
### Automatisk opfyldning
Hvis saldoen din går under $5, vil Zen automatisk laste inn $20 på nytt.
Hvis din saldo går under $5, vil Zen automatisk laste $20 ind på nytt.
Du kan endre beløpet for automatisk påfylling. Du kan også deaktivere automatisk reload helt.
Du kan ændre beløbet for automatisk påfyldning. Du kan også deaktivere automatisk genindlæsning helt.
---
### Månedlige grenser
### Månedlige grænser
Du kan også angi en månedlig brugsgrense for hele arbeidsområdet og for hver
medlem av teamet ditt.
Du kan også angive en månedlig brugsgrænse for hele arbejdsområdet og for hvert
medlem af dit team.
La oss for eksempel si at du setter en månedlig brugsgrense til $20, Zen vil ikke bruge
mer enn $20 på en måned. Men hvis du har automatisk reload aktivert, kan Zen ende opp
belaster deg mer enn $20 hvis saldoen din går under $5.
Lad os for eksempel sige, at du sætter en månedlig brugsgrænse til $20, Zen vil ikke bruge
mere end $20 på en måned. Men hvis du har automatisk genindlæsning aktiveret, kan Zen ende med
at opkræve dig mere end $20, hvis din saldo går under $5.
---
## Personvern
## Privatliv
Alle våre modeller er vert i US. Leverandørene våre følger en nulloppbevaringspolicy og bruger ikke dataene dine til modellopplæring, med følgende unntak:
Alle vores modeller er hostet i USA. Vores udbydere følger en nul-opbevaringspolitik og bruger ikke dine data til modeltræning, med følgende undtagelser:
- Big Pickle: I løpet av gratisperioden kan innsamlede data bruges til at forbedre modellen.
- GLM 4.7 Gratis: I løpet av gratisperioden kan innsamlede data bruges til at forbedre modellen.
- Kimi K2.5 Gratis: I løpet av gratisperioden kan innsamlede data bruges til at forbedre modellen.
- MiniMax M2.1 Gratis: I løpet av gratisperioden kan innsamlede data bruges til at forbedre modellen.
- OpenAI APIer: Forespørsler oppbevares i 30 dager i samsvar med [OpenAIs datapolicyer](https://platform.openai.com/docs/guides/your-data).
- Anthropic APIer: Forespørsler oppbevares i 30 dager i samsvar med [Anthropics datapolicyer](https://docs.anthropic.com/en/docs/claude-code/data-usage).
- Stor sylteagurk: I løbet af gratisperioden kan indsamlede data bruges til at forbedre modellen.
- GLM 4.7 Gratis: I løbet af gratisperioden kan indsamlede data bruges til at forbedre modellen.
- Kimi K2.5 Gratis: I løbet af gratisperioden kan indsamlede data bruges til at forbedre modellen.
- MiniMax M2.1 Gratis: I løbet af gratisperioden kan indsamlede data bruges til at forbedre modellen.
- OpenAI API'er: Anmodninger opbevares i 30 dage i overensstemmelse med [OpenAIs datapolitikker](https://platform.openai.com/docs/guides/your-data).
- Anthropic API'er: Anmodninger opbevares i 30 dage i overensstemmelse med [Anthropics datapolitikker](https://docs.anthropic.com/en/docs/claude-code/data-usage).
---
## For lag
## For teams
Zen fungerer også utmerket for team. Du kan invitere lagkamerater, tildele roller, kuratere
modellene laget ditt bruger, og mer.
Zen fungerer også fremragende for teams. Du kan invitere holdkammerater, tildele roller, kuratere
de modeller dit hold bruger, og mere.
:::note
Arbeidsområder er for øyeblikket gratis for team som en del av betaversjonen.
Arbejdsområder er i øjeblikket gratis for teams som en del af betaversionen.
:::
Å administrere arbeidsområdet ditt er for øyeblikket gratis for team som en del av betaversjonen. Det blir vi
deler mer informasjon om prisene snart.
At administrere dit arbejdsområde er i øjeblikket gratis for teams som en del af betaversionen. Vi vil
dele mere information om priserne snart.
---
### Roller
Du kan invitere lagkamerater til arbeidsområdet ditt og tildele roller:
Du kan invitere holdkammerater til dit arbejdsområde og tildele roller:
- **Admin**: Administrer modeller, medlemmer, API-nøkler og fakturering
- **Medlem**: Administrer kun sine egne API-nøkler
- **Admin**: Administrer modeller, medlemmer, API-nøgler og fakturering
- **Medlem**: Administrer kun sine egne API-nøgler
Administratorer kan også sette månedlige forbrugsgrenser for hvert medlem for at holde kostnadene under kontroll.
Administratorer kan også sætte månedlige forbrugsgrænser for hvert medlem for at holde omkostningerne under kontrol.
---
### Modelltilgang
### Modeladgang
Administratorer kan aktivere eller deaktivere spesifikke modeller for arbeidsområdet. Forespørsler til en deaktivert modell vil returnere en feil.
Administratorer kan aktivere eller deaktivere specifikke modeller for arbejdsområdet. Anmodninger til en deaktiveret model vil returnere en fejl.
Dette er nyttig for tilfeller der du ønsker at deaktivere brugen av en modell som
samler inn data.
Dette er nyttigt for tilfælde, hvor du ønsker at deaktivere brugen af en model, som
samler ind data.
---
### Ta med egen nøkkel
### Medbring din egen nøgle
Du kan bruge dine egne OpenAI- eller Anthropic API-nøkler mens du fortsatt har tilgang til andre modeller i Zen.
Du kan bruge dine egne OpenAI- eller Anthropic API-nøgler, mens du stadig har adgang til andre modeller i Zen.
Når du bruger dine egne nøkler, faktureres tokens direkte av leverandøren, ikke av Zen.
Når du bruger dine egne nøgler, faktureres tokens direkte af udbyderen, ikke af Zen.
For eksempel kan organisasjonen din allerede ha en nøkkel for OpenAI eller Anthropic
og du vil bruge det i stedet for det Zen gir.
For eksempel kan din organisation allerede have en nøgle for OpenAI eller Anthropic
og du vil bruge det i stedet for det Zen giver.
---
## Mål
Vi opretet OpenCode Zen for at:
Vi oprettede OpenCode Zen for at:
1. **Benchmark** de beste modellene/leverandørene for kodingsagenter.
2. Ha tilgang til alternativene for **høyeste kvalitet** og ikke nedgrader ytelsen eller rute til billigere leverandører.
3. Gi videre eventuelle **prisfall** ved at selge til kostpris; så den eneste markeringen er at dekke behandlingsgebyrene våre.
4. Ha **ingen låsing** ved at la deg bruge den med en hvilken som helst annen kodeagent. Og la deg alltid bruge en hvilken som helst annen leverandør med OpenCode også.
1. **Benchmarke** de bedste modeller/udbydere for kodningsagenter.
2. Have adgang til mulighederne for **højeste kvalitet** og ikke nedgradere ydeevnen eller rute til billigere udbydere.
3. Give videre eventuelle **prisfald** ved at sælge til kostpris; så den eneste mark-up er for at dække vores behandlingsgebyrer.
4. Have **ingen fastlåsning** ved at lade dig bruge den med en hvilken som helst anden kodeagent. Og lade dig altid bruge en hvilken som helst anden udbyder med OpenCode også.

View File

@@ -13,7 +13,7 @@ ACP ist ein offenes Protokoll, das die Kommunikation zwischen Code-Editoren und
---
## Konfigurieren
## Konfiguration
Um OpenCode über ACP zu verwenden, konfigurieren Sie Ihren Editor für die Ausführung des Befehls `opencode acp`.
@@ -69,7 +69,7 @@ Sie können auch eine Tastenkombination binden, indem Sie Ihren `keymap.json` be
### JetBrains IDEs
Fügen Sie zu Ihrem [JetBrains IDE](https://www.jetbrains.com/) acp.json gemäß [documentation](https://www.jetbrains.com/help/ai-assistant/acp.html) hinzu:
Fügen Sie zu Ihrem [JetBrains IDE](https://www.jetbrains.com/) acp.json gemäß [Dokumentation](https://www.jetbrains.com/help/ai-assistant/acp.html) hinzu:
```json title="acp.json"
{
@@ -140,7 +140,7 @@ Diese Konfiguration richtet CodeCompanion so ein, dass OpenCode als ACP-Agent f
Wenn Sie Umgebungsvariablen (wie `OPENCODE_API_KEY`) übergeben müssen, finden Sie ausführliche Informationen zu [Configuring Adapters: Environment Variables](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key) in der Dokumentation zu CodeCompanion.nvim.
## Support
## Unterstützung
OpenCode funktioniert über ACP genauso wie im Terminal. Alle Funktionen werden unterstützt:

View File

@@ -28,25 +28,11 @@ Sie können die **Tabulatortaste** verwenden, um während einer Sitzung zwischen
:::
OpenCode verfügt über zwei integrierte Primäragenten: **Build** und **Plan**. Auch
Schauen Sie sich diese unten an.
Schauen wir uns diese unten an.
---
### Subagenten
Unteragenten sind spezialisierte Assistenten, die Primäragenten für bestimmte Aufgaben aufrufen können. Sie können sie auch manuell aufrufen, indem Sie sie in Ihren Nachrichten **@erwähnen**.
OpenCode verfügt über zwei integrierte Subagenten: **General** und **Explore**. Wir werden uns das weiter unten ansehen.
---
## Eingebaut
OpenCode verfügt über zwei integrierte Primäragenten und zwei integrierte Subagenten.
---
### Use Build
### Build
_Modus_: `primary`
@@ -54,7 +40,7 @@ Build ist der **Standard**-Primäragent mit allen aktivierten Tools. Dies ist de
---
### Use Plan
### Plan
_Modus_: `primary`
@@ -68,7 +54,7 @@ Dieser Agent ist nützlich, wenn Sie möchten, dass LLM Code analysiert, Änderu
---
### Use General
### General
_Modus_: `subagent`
@@ -76,7 +62,7 @@ Ein Allzweckagent zur Recherche komplexerer Fragen und zur Ausführung mehrstufi
---
### Use Explore
### Explore
_Modus_: `subagent`
@@ -84,7 +70,7 @@ Ein schneller, schreibgeschützter Agent zum Erkunden von Codebasen. Dateien kö
---
### Use Compaction
### Compaction
_Modus_: `primary`
@@ -92,7 +78,7 @@ Versteckter Systemagent, der lange Kontext in einer kleineren Zusammenfassung ko
---
### Use Title
### Title
_Modus_: `primary`
@@ -100,7 +86,7 @@ Versteckter Systemagent, der kurze Sitzungstitel generiert. Es läuft automatisc
---
### Use Summary
### Summary
_Modus_: `primary`
@@ -121,14 +107,14 @@ Versteckter Systemagent, der Sitzungszusammenfassungen erstellt. Es läuft autom
```
3. **Navigation zwischen Sitzungen**: Wenn Subagenten ihre eigenen untergeordneten Sitzungen erstellen, können Sie zwischen der übergeordneten Sitzung und allen untergeordneten Sitzungen sorgfältig handeln, indem Sie Folgendes verwenden:
- **\<Leader>+Rechts** (oder Ihre konfigurierte `session_child_cycle`-Tastenkombination), um vorwärts durch Eltern → Kind1 → Kind2 → ... → Eltern zu blättern
- **\<Leader>+Links** (oder Ihre konfigurierte `session_child_cycle_reverse`-Tastenkombination), um rückwärts durch übergeordnetes Element ← untergeordnetes Element1 ← untergeordnetes Element2 ← ... ← übergeordnetes Element zu blättern
- **\<Leader>+Rechts** (oder Ihre konfigurierte `session_child_cycle`-Tastenkombination), um vorwärts durch Parent → Child1 → Child2 → ... → Parent zu blättern
- **\<Leader>+Links** (oder Ihre konfigurierte `session_child_cycle_reverse`-Tastenkombination), um rückwärts durch Parent ← Child1 ← Child2 ← ... ← Parent zu blättern
Dadurch können Sie nahtlos zwischen der Hauptkonversation und der spezialisierten Subagentenarbeit wechseln.
---
## Konfigurieren
## Konfiguration
Sie können die integrierten Agenten anpassen oder über die Konfiguration eigene erstellen. Agenten können auf zwei Arten konfiguriert werden:
@@ -210,9 +196,9 @@ Der Name der Markdown-Datei wird zum Agentennamen. Beispielsweise erstellte `rev
---
## Options
## Optionen
Schauen Sie sich diese Konfigurationsmöglichkeiten im Detail an.
Schauen wir uns diese Konfigurationsmöglichkeiten im Detail an.
---
@@ -234,7 +220,7 @@ Dies ist eine **erforderliche** Konfigurationsoption.
---
### Temperature
### Temperatur
Steuern Sie die Zufälligkeit und Kreativität der Antworten von LLM mit der `temperature`-Konfiguration.
@@ -281,7 +267,7 @@ Wenn keine Temperatur angegeben ist, verwendet OpenCode modellspezifische Standa
---
### Maximale Schritte
### Schritte
Steuern Sie die maximale Anzahl an Agenteniterationen, die ein Agent durchführen kann, bevor er gezwungen wird, nur mit Text zu antworten. Dadurch können Benutzer, die die Kosten kontrollieren möchten, ein Limit für Agentenaktionen festlegen.
@@ -307,7 +293,7 @@ Das alte Feld `maxSteps` ist veraltet. Verwenden Sie stattdessen `steps`.
---
### Disable
### Deaktivieren
Auf `true` setzen, um den Agenten zu deaktivieren.
@@ -363,7 +349,7 @@ Die Modell-ID in Ihrer OpenCode-Konfiguration verwendet das Format `provider/mod
---
### Tools
### Werkzeuge
Steuern Sie mit der `tools`-Konfiguration, welche Tools in diesem Agent verfügbar sind. Sie können bestimmte Tools aktivieren oder deaktivieren, indem Sie sie auf `true` oder `false` setzen.
@@ -410,7 +396,7 @@ Sie können Platzhalter auch verwenden, um mehrere Werkzeuge gleichzeitig zu ste
---
### Permissions
### Berechtigungen
Sie können Berechtigungen konfigurieren, um zu verwalten, welche Aktionen ein Agent ausführen kann. Derzeit können die Berechtigungen für die Tools `edit`, `bash` und `webfetch` wie folgt konfiguriert werden:
@@ -522,7 +508,7 @@ Da die letzte übereinstimmende Regel Vorrang hat, setzen Sie zuerst den Platzha
---
### Mode
### Modus
Steuern Sie den Modus des Agenten mit der `mode`-Konfiguration. Mit der Option `mode` wird festgelegt, wie der Agent verwendet werden kann.
@@ -540,7 +526,7 @@ Die Option `mode` kann auf `primary`, `subagent` oder `all` gesetzt werden. Wenn
---
### Hidden
### Versteckt
Verstecken Sie einen Subagenten im Autovervollständigungsmenü `@` mit `hidden: true`. Nützlich für interne Subagenten, die nur programmgesteuert von anderen Agenten über das Task-Tool aufgerufen werden sollten.
@@ -563,7 +549,7 @@ Gilt nur für `mode: subagent`-Agenten.
---
### Aufgabenberechtigungen
### Task-Berechtigungen
Steuern Sie, welche Subagenten ein Agent über das Task-Tool mit `permission.task` aufrufen kann. Verwendet Glob-Muster für eine flexible Zuordnung.
@@ -596,11 +582,11 @@ Benutzer können jeden Subagenten immer direkt über das Autovervollständigungs
---
### Color
### Farbe
Passen Sie das visuelle Erscheinungsbild des Agenten im UI mit der Option `color` an. Dies wirkt sich darauf aus, wie der Agent in der Benutzeroberfläche angezeigt wird.
Verwenden Sie eine gültige Hex-Farbe (e.g., `#FF5733`) oder Themenfarbe: `primary`, `secondary`, `accent`, `success`, `warning`, `error`, `info`.
Verwenden Sie eine gültige Hex-Farbe (z. B. `#FF5733`) oder Themenfarbe: `primary`, `secondary`, `accent`, `success`, `warning`, `error`, `info`.
```json title="opencode.json"
{
@@ -635,7 +621,7 @@ Die Werte reichen von 0.0 bis 1.0. Niedrigere Werte sind fokussierter, höhere W
---
### Additional
### Zusätzliche Optionen
Alle anderen Optionen, die Sie in Ihrer Agentenkonfiguration angeben, werden als Modelloptionen **direkt** an den Anbieter weitergeleitet. Dadurch können Sie anbieterspezifische Funktionen und Parameter nutzen.
@@ -662,7 +648,7 @@ Führen Sie `opencode models` aus, um eine Liste der verfügbaren Modelle anzubi
---
## Erstellen Sie Agenten
## Agenten erstellen
Mit dem folgenden Befehl können Sie neue Agenten erstellen:
@@ -692,12 +678,12 @@ Hier sind einige häufige Anwendungsfälle für verschiedene Agenten.
---
## Examples
## Beispiele
Hier sind einige Beispielagenten, die für Sie nützlich sein könnten.
:::tip
Haben Sie einen Agenten, den Sie gerne teilen möchten? [Submit a PR](https://github.com/anomalyco/opencode).
Haben Sie einen Agenten, den Sie gerne teilen möchten? [Reichen Sie einen PR ein](https://github.com/anomalyco/opencode).
:::
---

View File

@@ -27,7 +27,7 @@ Starten Sie die Terminalbenutzeroberfläche OpenCode.
opencode [project]
```
#### Flags
#### Optionen
| Flag | Kurz | Beschreibung |
| ------------ | ---- | ---------------------------------------------------------------------- |
@@ -76,7 +76,7 @@ opencode web --port 4096 --hostname 0.0.0.0
opencode attach http://10.20.30.40:4096
```
#### Flags
#### Optionen
| Flag | Kurz | Beschreibung |
| ----------- | ---- | ----------------------------------------- |
@@ -185,7 +185,7 @@ Führen Sie den GitHub-Agenten aus. Dies wird normalerweise in GitHub-Aktionen v
opencode github run
```
##### Flags
##### Optionen
| Flag | Beschreibung |
| --------- | --------------------------------------------------- |
@@ -294,7 +294,7 @@ Sie können optional eine Anbieter-ID übergeben, um Modelle nach diesem Anbiete
opencode models anthropic
```
#### Flags
#### Optionen
| Flag | Beschreibung |
| ----------- | ------------------------------------------------------------------------------------- |
@@ -317,7 +317,7 @@ Führen Sie OpenCode im nicht interaktiven Modus aus, indem Sie direkt eine Eing
opencode run [message..]
```
Dies ist nützlich für die Skripterstellung, die Automatisierung oder wenn Sie eine schnelle Antwort wünschen, ohne das vollständige TUI zu starten. Zum Beispiel.
Dies ist nützlich für die Skripterstellung, die Automatisierung oder wenn Sie eine schnelle Antwort wünschen, ohne das vollständige TUI zu starten. Zum Beispiel:
```bash "opencode run"
opencode run Explain the use of context in Go
@@ -333,11 +333,11 @@ opencode serve
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
```
#### Flags
#### Optionen
| Flag | Kurz | Beschreibung |
| ------------ | ---- | --------------------------------------------------------------------------------------------------- |
| `--command` | | Der auszuführende Befehl, Nachricht für Argumente verwenden |
| `--command` | | Der auszuführende Befehl, Argumente als Nachricht verwenden |
| `--continue` | `-c` | Setzen Sie die letzte Sitzung fort |
| `--session` | `-s` | Session-ID zum Fortfahren |
| `--fork` | | Sitzung beim Fortsetzen verzweigen (mit `--continue` oder `--session` verwenden) |
@@ -362,7 +362,7 @@ opencode serve
Dadurch wird ein HTTP-Server gestartet, der API-Zugriff auf OpenCode-Funktionalität ohne die TUI-Schnittstelle bietet. Legen Sie `OPENCODE_SERVER_PASSWORD` fest, um die HTTP-Basisauthentifizierung zu aktivieren (Benutzername ist standardmäßig `opencode`).
#### Flags
#### Optionen
| Flag | Beschreibung |
| ------------ | ----------------------------------------------- |
@@ -391,7 +391,7 @@ Listen Sie alle OpenCode-Sitzungen auf.
opencode session list
```
##### Flags
##### Optionen
| Flag | Kurz | Beschreibung |
| ------------- | ---- | ---------------------------------------- |
@@ -408,7 +408,7 @@ Zeigen Sie Token-Nutzungs- und Kostenstatistiken für Ihre OpenCode-Sitzungen an
opencode stats
```
#### Flags
#### Optionen
| Flag | Beschreibung |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------ |
@@ -458,7 +458,7 @@ opencode web
Dadurch wird ein HTTP-Server gestartet und ein Webbrowser geöffnet, um über eine Webschnittstelle auf OpenCode zuzugreifen. Legen Sie `OPENCODE_SERVER_PASSWORD` fest, um die HTTP-Basisauthentifizierung zu aktivieren (Benutzername ist standardmäßig `opencode`).
#### Flags
#### Optionen
| Flag | Beschreibung |
| ------------ | ----------------------------------------------- |
@@ -479,7 +479,7 @@ opencode acp
Dieser Befehl startet einen ACP-Server, der über stdin/stdout unter Verwendung von nd-JSON kommuniziert.
#### Flags
#### Optionen
| Flag | Beschreibung |
| ------------ | -------------------- |
@@ -497,7 +497,7 @@ Deinstallieren Sie OpenCode und entfernen Sie alle zugehörigen Dateien.
opencode uninstall
```
#### Flags
#### Optionen
| Flag | Kurz | Beschreibung |
| --------------- | ---- | --------------------------------------------------- |
@@ -516,7 +516,7 @@ Aktualisiert OpenCode auf die neueste Version oder eine bestimmte Version.
opencode upgrade [target]
```
Um auf die neueste Version zu aktualisieren.
Um auf die neueste Version zu aktualisieren:
```bash
opencode upgrade
@@ -528,11 +528,11 @@ Um auf eine bestimmte Version zu aktualisieren.
opencode upgrade v0.1.48
```
#### Flags
#### Optionen
| Flag | Kurz | Beschreibung |
| ---------- | ---- | --------------------------------------------------------------- |
| `--method` | `-m` | Die verwendete Installationsmethode; curl, npm, pnpm, bun, brew |
| Flag | Kurz | Beschreibung |
| ---------- | ---- | ------------------------------------------------------------------- |
| `--method` | `-m` | Die zu verwendende Installationsmethode; curl, npm, pnpm, bun, brew |
---
@@ -582,7 +582,7 @@ OpenCode kann mithilfe von Umgebungsvariablen konfiguriert werden.
---
### Experimental
### Experimentell
Diese Umgebungsvariablen ermöglichen experimentelle Funktionen, die sich ändern oder entfernt werden können.

View File

@@ -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`. [Learn more](/docs/tui#commands).
Benutzerdefinierte Befehle gibt es zusätzlich zu den integrierten Befehlen wie `/init`, `/undo`, `/redo`, `/share`, `/help`. [Mehr erfahren](/docs/tui#commands).
---
@@ -40,7 +40,7 @@ Verwenden Sie den Befehl, indem Sie `/` folgen vom Befehlsnamen eingeben.
---
## Konfigurieren
## Konfiguration
Sie können benutzerdefinierte Befehle über die OpenCode-Konfiguration hinzufügen oder indem Sie Markdown-Dateien im Verzeichnis `commands/` erstellen.
@@ -108,7 +108,7 @@ Die Eingabeaufforderungen für die benutzerdefinierten Befehle unterstützen meh
---
### Arguments
### Argumente
Übergeben Sie Argumente an Befehle mithilfe des Platzhalters `$ARGUMENTS`.
@@ -212,7 +212,7 @@ Der Dateiinhalt wird automatisch in die Eingabeaufforderung einbezogen.
---
## Options
## Optionen
Schauen wir uns die Konfigurationsmöglichkeiten im Detail an.
@@ -236,7 +236,7 @@ Dies ist eine **erforderliche** Konfigurationsoption.
---
### Beschreibung
### Description
Verwenden Sie die Option `description`, um eine kurze Beschreibung der Funktion des Befehls bereitzustellen.
@@ -294,7 +294,7 @@ Dies ist eine **optionale** Konfigurationsoption.
---
### Modell
### Model
Verwenden Sie die `model`-Konfiguration, um das Standardmodell für diesen Befehl zu überschreiben.
@@ -312,9 +312,9 @@ Dies ist eine **optionale** Konfigurationsoption.
---
## Eingebaut
## Integriert
OpenCode enthält mehrere integrierte Befehle wie `/init`, `/undo`, `/redo`, `/share`, `/help`; [learn more](/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.

View File

@@ -1,5 +1,5 @@
---
title: Konfig
title: Konfiguration
description: Verwenden Sie die Konfiguration OpenCode JSON.
---
@@ -23,7 +23,7 @@ OpenCode unterstützt die Formate **JSON** und **JSONC** (JSON mit Kommentaren).
---
## Locations
## Speicherorte
Sie können Ihre Konfiguration an verschiedenen Orten platzieren und sie haben eine
andere Rangfolge.
@@ -52,7 +52,7 @@ Konfigurationsquellen werden in dieser Reihenfolge geladen (spätere Quellen üb
Dies bedeutet, dass Projektkonfigurationen globale Standardeinstellungen überschreiben können und globale Konfigurationen Remote-Organisationsstandards überschreiben können.
:::note
Die Verzeichnisse `.opencode` und `~/.config/opencode` verwenden **Pluralnamen** für Unterverzeichnisse: `agents/`, `commands/`, `modes/`, `plugins/`, `skills/`, `tools/` und `themes/`. Aus Gründen der Abwärtskompatibilität werden auch einzelne Namen (e.g., `agent/`) unterstützt.
Die Verzeichnisse `.opencode` und `~/.config/opencode` verwenden **Pluralnamen** für Unterverzeichnisse: `agents/`, `commands/`, `modes/`, `plugins/`, `skills/`, `tools/` und `themes/`. Aus Gründen der Abwärtskompatibilität werden auch einzelne Namen (z. B. `agent/`) unterstützt.
:::
---
@@ -175,7 +175,7 @@ Verfügbare Optionen:
- `scroll_speed` Benutzerdefinierter Scrollgeschwindigkeitsmultiplikator (Standard: `3`, Minimum: `1`). Wird ignoriert, wenn `scroll_acceleration.enabled` gleich `true` ist.
- `diff_style` Steuern Sie das Diff-Rendering. `"auto"` passt sich der Terminalbreite an, `"stacked"` zeigt immer eine einzelne Spalte an.
[Learn more about using the TUI here](/docs/tui).
[Erfahren Sie hier mehr über die Verwendung der TUI](/docs/tui).
---
@@ -204,11 +204,11 @@ Verfügbare Optionen:
- `mdnsDomain` Benutzerdefinierter Domänenname für den mDNS-Dienst. Standardmäßig ist `opencode.local`. Nützlich für die Ausführung mehrerer Instanzen im selben Netzwerk.
- `cors` Zusätzliche Ursprünge, um CORS zu ermöglichen, wenn der HTTP-Server von einem browserbasierten Client aus verwendet wird. Die Werte müssen vollständige Ursprünge haben (Schema + Host + optionaler Port), z. B. `https://app.example.com`.
[Learn more about the server here](/docs/server).
[Erfahren Sie hier mehr über den Server](/docs/server).
---
### Tools
### Werkzeuge
Sie können die Tools, die ein LLM verwenden kann, über die Option `tools` verwalten.
@@ -222,11 +222,11 @@ Sie können die Tools, die ein LLM verwenden kann, über die Option `tools` verw
}
```
[Learn more about tools here](/docs/tools).
[Erfahren Sie hier mehr über Tools](/docs/tools).
---
### Models
### Modelle
Sie können die Anbieter und Modelle, die Sie in Ihrer OpenCode-Konfiguration verwenden möchten, über die Optionen `provider`, `model` und `small_model` konfigurieren.
@@ -260,7 +260,7 @@ Zu den Anbieteroptionen können `timeout` und `setCacheKey` gehören:
- `timeout` Anforderungszeitlimit in Millisekunden (Standard: 300000). Zum Deaktivieren auf `false` setzen.
- `setCacheKey` Stellen Sie sicher, dass immer ein Cache-Schlüssel für den angegebenen Anbieter festgelegt ist.
Sie können auch [local models](/docs/models#local) konfigurieren. [Learn more](/docs/models).
Sie können auch [lokale Modelle](/docs/models#local) konfigurieren. [Mehr erfahren](/docs/models).
---
@@ -292,14 +292,14 @@ Amazon Bedrock unterstützt AWS-spezifische Konfigurationen:
- `endpoint` Benutzerdefinierter Endpunkt URL für VPC-Endpunkte. Dies ist ein Alias für die generische Option `baseURL` unter Verwendung der AWS-spezifischen Terminologie. Wenn beide angegeben sind, hat `endpoint` Vorrang.
:::note
Inhabertoken (`AWS_BEARER_TOKEN_BEDROCK` oder `/connect`) haben Vorrang vor der profilbasierten Authentifizierung. Weitere Informationen finden Sie unter [authentication precedence](/docs/providers#authentication-precedence).
Inhabertoken (`AWS_BEARER_TOKEN_BEDROCK` oder `/connect`) haben Vorrang vor der profilbasierten Authentifizierung. Weitere Informationen finden Sie unter [Authentifizierungs-Rangfolge](/docs/providers#authentication-precedence).
:::
[Learn more about Amazon Bedrock configuration](/docs/providers#amazon-bedrock).
[Erfahren Sie mehr über die Amazon Bedrock-Konfiguration](/docs/providers#amazon-bedrock).
---
### Themes
### Themen
Sie können das Thema, das Sie in Ihrer OpenCode-Konfiguration verwenden möchten, über die Option `theme` konfigurieren.
@@ -310,11 +310,11 @@ Sie können das Thema, das Sie in Ihrer OpenCode-Konfiguration verwenden möchte
}
```
[Learn more here](/docs/themes).
[Mehr erfahren](/docs/themes).
---
### Agents
### Agenten
Über die Option `agent` können Sie spezielle Agenten für bestimmte Aufgaben konfigurieren.
@@ -336,7 +336,7 @@ Sie können das Thema, das Sie in Ihrer OpenCode-Konfiguration verwenden möchte
}
```
Sie können Agenten auch mithilfe von Markdown-Dateien in `~/.config/opencode/agents/` oder `.opencode/agents/` definieren. [Learn more here](/docs/agents).
Sie können Agenten auch mithilfe von Markdown-Dateien in `~/.config/opencode/agents/` oder `.opencode/agents/` definieren. [Mehr erfahren](/docs/agents).
---
@@ -357,7 +357,7 @@ Diese Einstellung gilt für alle Schnittstellen: TUI, CLI (`opencode run`), Desk
---
### Sharing
### Teilen
Sie können die Funktion [share](/docs/share) über die Option `share` konfigurieren.
@@ -400,11 +400,11 @@ Sie können benutzerdefinierte Befehle für sich wiederholende Aufgaben über di
}
```
Sie können Befehle auch mithilfe von Markdown-Dateien in `~/.config/opencode/commands/` oder `.opencode/commands/` definieren. [Learn more here](/docs/commands).
Sie können Befehle auch mithilfe von Markdown-Dateien in `~/.config/opencode/commands/` oder `.opencode/commands/` definieren. [Mehr erfahren](/docs/commands).
---
### Keybinds
### Tastenkombinationen
Sie können Ihre Tastenkombinationen über die Option `keybinds` anpassen.
@@ -415,11 +415,11 @@ Sie können Ihre Tastenkombinationen über die Option `keybinds` anpassen.
}
```
[Learn more here](/docs/keybinds).
[Mehr erfahren](/docs/keybinds).
---
### Autoupdate
### Automatisches Update
OpenCode lädt beim Start automatisch alle neuen Updates herunter. Sie können dies mit der Option `autoupdate` deaktivieren.
@@ -435,7 +435,7 @@ Beachten Sie, dass dies nur funktioniert, wenn es nicht mit einem Paketmanager w
---
### Formatters
### Formatierer
Sie können Codeformatierer über die Option `formatter` konfigurieren.
@@ -457,11 +457,11 @@ Sie können Codeformatierer über die Option `formatter` konfigurieren.
}
```
[Learn more about formatters here](/docs/formatters).
[Erfahren Sie hier mehr über Formatierer](/docs/formatters).
---
### Permissions
### Berechtigungen
OpenCode erlaubt standardmäßig alle Vorgänge, ohne dass eine ausdrückliche Genehmigung erforderlich ist. Sie können dies mit der Option `permission` ändern.
@@ -477,11 +477,11 @@ Um beispielsweise sicherzustellen, dass die Tools `edit` und `bash` eine Benutze
}
```
[Learn more about permissions here](/docs/permissions).
[Erfahren Sie hier mehr über Berechtigungen](/docs/permissions).
---
### Compaction
### Komprimierung
Sie können das Verhalten der Kontextkomprimierung über die Option `compaction` steuern.
@@ -500,7 +500,7 @@ Sie können das Verhalten der Kontextkomprimierung über die Option `compaction`
---
### Watcher
### Dateiüberwachung
Sie können Datei-Watcher-Ignoriermuster über die Option `watcher` konfigurieren.
@@ -517,7 +517,7 @@ Muster folgen der Glob-Syntax. Verwenden Sie diese Option, um verrauschte Verzei
---
### MCP Server
### MCP
Sie können den MCP-Server, den Sie verwenden möchten, über die Option `mcp` konfigurieren.
@@ -528,7 +528,7 @@ Sie können den MCP-Server, den Sie verwenden möchten, über die Option `mcp` k
}
```
[Learn more here](/docs/mcp-servers).
[Mehr erfahren](/docs/mcp-servers).
---
@@ -545,11 +545,11 @@ Platzieren Sie Ihre Plugin-Dateien in `.opencode/plugins/` oder `~/.config/openc
}
```
[Learn more here](/docs/plugins).
[Mehr erfahren](/docs/plugins).
---
### Instructions
### Anweisungen
Sie können die Anweisungen für das von Ihnen verwendete Modell über die Option `instructions` konfigurieren.
@@ -560,8 +560,7 @@ Sie können die Anweisungen für das von Ihnen verwendete Modell über die Optio
}
```
Dies erfordert eine Reihe von Pfaden und Glob-Mustern zu Anweisungsdateien. [Erfahren Sie mehr
über Regeln hier](/docs/rules).
Dies erfordert eine Reihe von Pfaden und Glob-Mustern zu Anweisungsdateien. [Erfahren Sie hier mehr über Regeln](/docs/rules).
---
@@ -609,7 +608,7 @@ Wenn ein Anbieter sowohl in `enabled_providers` als auch in `disabled_providers`
---
### Experimental
### Experimentell
Der Schlüssel `experimental` enthält Optionen, die sich in der aktiven Entwicklung befinden.

Some files were not shown because too many files have changed in this diff Show More