Merge pull request #6984 from Kilo-Org/fix/formatting-applied

Formatting
This commit is contained in:
Imanol Maiztegui
2026-03-12 12:21:35 +01:00
committed by GitHub
28 changed files with 57 additions and 65 deletions
+2 -1
View File
@@ -56,6 +56,7 @@ npx @kilocode/cli
Then run `kilo` in any project directory to start.
<!-- kilocode_change start -->
### npm Install Note: Hidden `.kilo` File
On some systems and npm versions, installing `@kilocode/cli` can create a hidden `.kilo` file near the installed `kilo` command (for example in a global npm bin directory). This file is an npm-generated launcher helper, not project data.
@@ -74,7 +75,7 @@ Download the latest binary or source code from the [Releases page](https://githu
- `x64` is standard 64-bit Intel/AMD CPUs.
- `x64-baseline` is a compatibility build for older x64 CPUs(do not support AVX Instruction).
- `arm64` is ARM-based Linux/MacOS.
- `musl` is statically linked Linux build for Alpine/minimal Docker without glibc. Alpine/minimal Docker users should prefer the matching *-musl asset.
- `musl` is statically linked Linux build for Alpine/minimal Docker without glibc. Alpine/minimal Docker users should prefer the matching \*-musl asset.
- `kilo-vscode-*.vsix` is the VS Code extension package and not the CLI binary.
- `Source code` releases are for building from source, not normal installation.
+1 -2
View File
@@ -137,8 +137,7 @@ export const dict = {
"provider.connect.oauth.code.invalid": "رمز التفويض غير صالح",
"provider.connect.oauth.auto.visit.prefix": "قم بزيارة ",
"provider.connect.oauth.auto.visit.link": "هذا الرابط",
"provider.connect.oauth.auto.visit.suffix":
" وأدخل الرمز أدناه لتوصيل حسابك واستخدام نماذج {{provider}} في Kilo.",
"provider.connect.oauth.auto.visit.suffix": " وأدخل الرمز أدناه لتوصيل حسابك واستخدام نماذج {{provider}} في Kilo.",
"provider.connect.oauth.auto.confirmationCode": "رمز التأكيد",
"provider.connect.toast.connected.title": "تم توصيل {{provider}}",
"provider.connect.toast.connected.description": "نماذج {{provider}} متاحة الآن للاستخدام.",
+2 -1
View File
@@ -623,7 +623,8 @@ export const dict = {
"settings.general.row.font.title": "Fuente",
"settings.general.row.font.description": "Personaliza la fuente monoespaciada usada en bloques de código",
"settings.general.row.reasoningSummaries.title": "Mostrar resúmenes de razonamiento",
"settings.general.row.reasoningSummaries.description": "Mostrar resúmenes de razonamiento del modelo en la línea de tiempo",
"settings.general.row.reasoningSummaries.description":
"Mostrar resúmenes de razonamiento del modelo en la línea de tiempo",
"settings.general.row.shellToolPartsExpanded.title": "Expandir partes de la herramienta shell",
"settings.general.row.shellToolPartsExpanded.description":
+4 -5
View File
@@ -390,8 +390,7 @@ export const dict = {
"toast.session.unshare.failed.description": "Une erreur s'est produite lors de l'annulation du partage de la session",
"toast.session.listFailed.title": "Échec du chargement des sessions pour {{project}}",
"toast.update.title": "Mise à jour disponible",
"toast.update.description":
"Une nouvelle version d'Kilo ({{version}}) est maintenant disponible pour installation.",
"toast.update.description": "Une nouvelle version d'Kilo ({{version}}) est maintenant disponible pour installation.",
"toast.update.action.installRestart": "Installer et redémarrer",
"toast.update.action.notYet": "Pas encore",
"error.page.title": "Quelque chose s'est mal passé",
@@ -530,8 +529,7 @@ export const dict = {
"sidebar.workspaces.enable": "Activer les espaces de travail",
"sidebar.workspaces.disable": "Désactiver les espaces de travail",
"sidebar.gettingStarted.title": "Commencer",
"sidebar.gettingStarted.line1":
"Kilo inclut des modèles gratuits pour que vous puissiez commencer immédiatement.",
"sidebar.gettingStarted.line1": "Kilo inclut des modèles gratuits pour que vous puissiez commencer immédiatement.",
"sidebar.gettingStarted.line2":
"Connectez n'importe quel fournisseur pour utiliser des modèles, y compris Claude, GPT, Gemini etc.",
"sidebar.project.recentSessions": "Sessions récentes",
@@ -560,7 +558,8 @@ export const dict = {
"settings.general.row.font.title": "Police",
"settings.general.row.font.description": "Personnaliser la police mono utilisée dans les blocs de code",
"settings.general.row.reasoningSummaries.title": "Afficher les résumés de raisonnement",
"settings.general.row.reasoningSummaries.description": "Afficher les résumés de raisonnement du modèle dans la chronologie",
"settings.general.row.reasoningSummaries.description":
"Afficher les résumés de raisonnement du modèle dans la chronologie",
"settings.general.row.shellToolPartsExpanded.title": "Développer les parties de l'outil shell",
"settings.general.row.shellToolPartsExpanded.description":
"Afficher les parties de l'outil shell développées par défaut dans la chronologie",
+1 -2
View File
@@ -149,8 +149,7 @@ export const dict = {
"provider.connect.oauth.code.invalid": "รหัสการอนุญาตไม่ถูกต้อง",
"provider.connect.oauth.auto.visit.prefix": "เยี่ยมชม ",
"provider.connect.oauth.auto.visit.link": "ลิงก์นี้",
"provider.connect.oauth.auto.visit.suffix":
" และป้อนรหัสด้านล่างเพื่อเชื่อมต่อบัญชีและใช้โมเดล {{provider}} ใน Kilo",
"provider.connect.oauth.auto.visit.suffix": " และป้อนรหัสด้านล่างเพื่อเชื่อมต่อบัญชีและใช้โมเดล {{provider}} ใน Kilo",
"provider.connect.oauth.auto.confirmationCode": "รหัสยืนยัน",
"provider.connect.toast.connected.title": "{{provider}} ที่เชื่อมต่อแล้ว",
"provider.connect.toast.connected.description": "โมเดล {{provider}} พร้อมใช้งานแล้ว",
+1 -2
View File
@@ -143,8 +143,7 @@ export const dict = {
"provider.connect.opencodeZen.visit.prefix": "",
"provider.connect.opencodeZen.visit.link": "opencode.ai/zen",
"provider.connect.opencodeZen.visit.suffix": " adresini ziyaret ederek API anahtarınızı alın.",
"provider.connect.oauth.code.visit.prefix":
"Hesabınızı bağlamak ve Kilo'da {{provider}} modellerini kullanmak için ",
"provider.connect.oauth.code.visit.prefix": "Hesabınızı bağlamak ve Kilo'da {{provider}} modellerini kullanmak için ",
"provider.connect.oauth.code.visit.link": "bu bağlantıya",
"provider.connect.oauth.code.visit.suffix": " tıklayarak yetkilendirme kodunuzu alın.",
"provider.connect.oauth.code.label": "{{method}} yetkilendirme kodu",
+1 -2
View File
@@ -150,8 +150,7 @@ export const dict = {
"provider.connect.oauth.code.invalid": "授權碼無效",
"provider.connect.oauth.auto.visit.prefix": "造訪 ",
"provider.connect.oauth.auto.visit.link": "此連結",
"provider.connect.oauth.auto.visit.suffix":
" 並輸入以下程式碼,以連線你的帳戶並在 Kilo 中使用 {{provider}} 模型。",
"provider.connect.oauth.auto.visit.suffix": " 並輸入以下程式碼,以連線你的帳戶並在 Kilo 中使用 {{provider}} 模型。",
"provider.connect.oauth.auto.confirmationCode": "確認碼",
"provider.connect.toast.connected.title": "{{provider}} 已連線",
"provider.connect.toast.connected.description": "現在可以使用 {{provider}} 模型了。",
@@ -44,9 +44,7 @@ export const ProjectIcon = (props: { project: LocalProject; class?: string; noti
<div class="size-full rounded overflow-clip">
<Avatar
fallback={name()}
src={
props.project.id === KILO_PROJECT_ID ? "https://kilo.ai/favicon.svg" : props.project.icon?.override
}
src={props.project.id === KILO_PROJECT_ID ? "https://kilo.ai/favicon.svg" : props.project.icon?.override}
{...getAvatarColors(props.project.icon?.color)}
class="size-full rounded"
classList={{ "badge-mask": notify() }}
+1 -2
View File
@@ -45,8 +45,7 @@ export const dict = {
"desktop.menu.help.shareFeedback": "Feedback teilen",
"desktop.menu.help.reportBug": "Einen Fehler melden",
"desktop.cli.error.unsupportedPlatform": "Die CLI-Installation wird nur unter macOS und Linux unterstützt.",
"desktop.cli.error.sidecarMissing":
"Das Kilo CLI-Binary fehlt. Versuchen Sie, die Desktop-App neu zu installieren.",
"desktop.cli.error.sidecarMissing": "Das Kilo CLI-Binary fehlt. Versuchen Sie, die Desktop-App neu zu installieren.",
"desktop.cli.error.scriptWriteFailed": "Das CLI-Installationsskript konnte nicht vorbereitet werden.",
"desktop.cli.error.scriptPermissionFailed": "Das CLI-Installationsskript konnte nicht ausführbar gemacht werden.",
"desktop.cli.error.scriptRunFailed": "Das CLI-Installationsskript konnte nicht ausgeführt werden.",
@@ -9,10 +9,10 @@ Kilo Integrations lets you connect your GitHub or GitLab account (soon Bitbucket
## Supported Platforms
| Platform | Integration Type | Details |
| -------- | ---------------- | --------------------------------- |
| GitHub | GitHub App | [GitHub Setup](#connecting-github)|
| GitLab | OAuth or PAT | [GitLab Setup](#connecting-gitlab)|
| Platform | Integration Type | Details |
| -------- | ---------------- | ---------------------------------- |
| GitHub | GitHub App | [GitHub Setup](#connecting-github) |
| GitLab | OAuth or PAT | [GitLab Setup](#connecting-gitlab) |
## What You Can Do With Integrations
@@ -21,7 +21,7 @@ Kilo for Slack brings the power of Kilo Code directly into your Slack workspace.
## Supported Platforms
| Platform | Integration Type | Details |
| -------- | ---------------- | --------------------------------------------------------------------|
| -------- | ---------------- | ------------------------------------------------------------------- |
| GitHub | GitHub App | [GitHub Setup Guide](/docs/automate/integrations#connecting-github) |
| GitLab | OAuth or PAT | [GitLab Setup Guide](/docs/automate/integrations#connecting-gitlab) |
@@ -29,6 +29,7 @@ You can remove or replace a configured token at any time.
### Discord
To connect Discord, you need a **Bot Token** from the [Discord Developer Portal](https://discord.com/developers/applications).
#### Enable Privileged Intents
Still on the **Bot** page, scroll down to **Privileged Gateway Intents** and enable:
@@ -36,6 +37,7 @@ Still on the **Bot** page, scroll down to **Privileged Gateway Intents** and ena
- **Message Content Intent** (required)
- **Server Members Intent** (recommended — needed for role allowlists and name matching)
- **Presence Intent** (optional)
#### Copy Your Bot Token
1. Scroll back up on the **Bot** page and click **Reset Token**
@@ -48,6 +50,7 @@ Still on the **Bot** page, scroll down to **Privileged Gateway Intents** and ena
{% image src="/docs/img/kiloclaw/discord.png" alt="Connect account screen" width="800" caption="Discord bot token entry" /%}
Enter the token in the Settings tab and click **Save**. You can remove or replace a configured token at any time.
#### Generate an Invite URL and Add the Bot to Your Server
1. Click **OAuth2** on the sidebar
@@ -117,7 +117,6 @@ Your files, workspace, and persistent data are not affected. Only the OpenClaw c
This action cannot be undone. Make sure you've saved any important changes to your configuration before restoring.
{% /callout %}
### Stop, Destroy & Restore
At the bottom of Settings:
@@ -91,7 +91,6 @@ For more information on use cases:
- [100 hours of OpenClaw in 35 Minutes](https://www.youtube.com/watch?v=_kZCoW-Qxnc)
- [Clawhub](https://clawhub.ai/): search for skills
## Related
- [Dashboard Reference](/docs/kiloclaw/dashboard)
@@ -41,11 +41,10 @@ The following packages are installed via `apt` on top of the base image:
## Browser
| Tool | Description |
|------|-------------|
| Tool | Description |
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Headless Chromium | Built-in browser for web browsing, screenshots, and CDP automation. Works with OpenClaw's browser tool out of the box. Requires the "full" tool profile. |
## Languages & Runtimes
| Language / Runtime | Version | Install Method |
@@ -72,7 +71,6 @@ These package managers are available for installing libraries and dependencies:
| GitHub CLI (`gh`) | Unpinned (GitHub apt repo) |
| 1Password CLI (`op`) | 2.32.1 (1Password apt repo) |
## npm Global Packages
The following packages are installed globally via `npm`:
@@ -85,15 +83,14 @@ The following packages are installed globally via `npm`:
## OpenClaw Skills & Integrations
| Tool | Description |
|------|-------------|
| Tool | Description |
| ------------ | --------------------------------------------------------------------- |
| gog (gogcli) | Google Workspace CLI — Gmail, Calendar, Drive, Contacts, Sheets, Docs |
| blogwatcher | Monitor blogs and RSS/Atom feeds for updates |
| xurl | Authenticated requests to the X (Twitter) API |
| gifgrep | Search GIF providers, download results, extract stills |
| summarize | Summarize or extract text/transcripts from URLs and files |
| goplaces | Location and places lookup |
| blogwatcher | Monitor blogs and RSS/Atom feeds for updates |
| xurl | Authenticated requests to the X (Twitter) API |
| gifgrep | Search GIF providers, download results, extract stills |
| summarize | Summarize or extract text/transcripts from URLs and files |
| goplaces | Location and places lookup |
## Installing Additional Tools
@@ -107,8 +104,6 @@ Your agent can install additional tools at runtime:
These tools receive updates when you **Upgrade & Redeploy** your instance from the [KiloClaw Dashboard](/docs/kiloclaw/dashboard#redeploy). Check the changelog for image update announcements.
{% /callout %}
## Related
- [KiloClaw Overview](/docs/kiloclaw/overview)
+1 -1
View File
@@ -34,4 +34,4 @@ See [Adding Credits](/docs/getting-started/adding-credits) and [Gateway Usage an
- [KiloClaw Overview](/docs/kiloclaw/overview)
- [Connecting Chat Platforms](/docs/kiloclaw/chat-platforms)
- [Gateway Usage and Billing](/docs/gateway/usage-and-billing)
- [Gateway Usage and Billing](/docs/gateway/usage-and-billing)
+1 -2
View File
@@ -25,8 +25,7 @@ export default defineConfig({
},
],
webServer: {
command:
"bunx storybook build -o ./storybook-static && bunx http-server ./storybook-static -p 6006 --silent",
command: "bunx storybook build -o ./storybook-static && bunx http-server ./storybook-static -p 6006 --silent",
url: "http://localhost:6006",
reuseExistingServer: !process.env["CI"],
timeout: 300_000,
+1 -1
View File
@@ -185,4 +185,4 @@ if (!resolved) {
process.exit(1)
}
run(resolved)
run(resolved)
@@ -30,11 +30,7 @@ export function DialogModel(props: { providerID?: string }) {
const kiloRank = createMemo(() => {
const provider = sync.data.provider.find((provider) => provider.id === "kilo")
const models = provider?.models ?? {}
return new Map(
Object.entries(models).map(
([id, info]) => [id, info.recommendedIndex ?? Infinity] as const,
),
)
return new Map(Object.entries(models).map(([id, info]) => [id, info.recommendedIndex ?? Infinity] as const))
})
// kilocode_change end
@@ -121,7 +117,7 @@ export function DialogModel(props: { providerID?: string }) {
}),
sortBy(
// kilocode_change start - Sort within Recommended / Kilo Gateway
(x) => (x.value.providerID === "kilo" ? kiloRank().get(x.value.modelID) ?? Infinity : 0),
(x) => (x.value.providerID === "kilo" ? (kiloRank().get(x.value.modelID) ?? Infinity) : 0),
// kilocode_change end
(x) => x.footer !== "Free",
(x) => x.title,
-1
View File
@@ -1,4 +1,3 @@
import { Installation } from "@/installation"
export const DEFAULT_HEADERS = {
@@ -24,7 +24,8 @@ export async function enhancePrompt(text: string): Promise<string> {
hidden: true,
options: {},
permission: [],
prompt: "Generate an enhanced version of this prompt (reply with only the enhanced prompt - no conversation, explanations, lead-in, bullet points, placeholders, or surrounding quotes):",
prompt:
"Generate an enhanced version of this prompt (reply with only the enhanced prompt - no conversation, explanations, lead-in, bullet points, placeholders, or surrounding quotes):",
temperature: 0.7,
}
@@ -1,4 +1,3 @@
import * as path from "path"
import os from "os"
import { Log } from "../util/log"
@@ -1,4 +1,3 @@
import * as fs from "fs/promises"
import * as path from "path"
import os from "os"
@@ -1,4 +1,3 @@
import * as fs from "fs/promises"
import * as path from "path"
import os from "os"
@@ -13,7 +13,7 @@ describe("npm install artifact behavior", () => {
const text = await fs.readFile(wrapper, "utf8")
expect(text.startsWith("#!/usr/bin/env node")).toBe(true)
expect(text).toContain("const envPath = process.env.KILO_BIN_PATH")
expect(text).toContain("const base = \"@kilocode/cli-\" + platform + \"-\" + arch")
expect(text).toContain('const base = "@kilocode/cli-" + platform + "-" + arch')
expect(text).toContain("function findBinary(startDir)")
})
@@ -47,6 +47,4 @@ describe("enhance-prompt", () => {
expect(clean("\"hello world'")).toBe("\"hello world'")
})
})
})
@@ -39,8 +39,22 @@ const mockProviders = [
]
let mockAgents = [
{ name: "code", mode: "primary" as const, hidden: false, model: undefined as any, color: undefined as any, permission: {} },
{ name: "plan", mode: "primary" as const, hidden: false, model: undefined as any, color: undefined as any, permission: {} },
{
name: "code",
mode: "primary" as const,
hidden: false,
model: undefined as any,
color: undefined as any,
permission: {},
},
{
name: "plan",
mode: "primary" as const,
hidden: false,
model: undefined as any,
color: undefined as any,
permission: {},
},
]
let mockConfig: { model?: string } = {}
@@ -142,9 +156,7 @@ function runInRoot(): { local: any; dispose: () => void } {
return { local: local!, dispose }
}
async function initLocal(options?: {
prewrite?: Record<string, any>
}): Promise<{ local: any; dispose: () => void }> {
async function initLocal(options?: { prewrite?: Record<string, any> }): Promise<{ local: any; dispose: () => void }> {
if (options?.prewrite) {
await fs.writeFile(modelJsonPath, JSON.stringify(options.prewrite))
}
+1 -1
View File
@@ -7,4 +7,4 @@
/// <reference path="../../sst-env.d.ts" />
import "sst"
export {}
export {}