diff --git a/README.md b/README.md index 013b68e07..5cb2b0d72 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,8 @@ # Codeg [![Release](https://img.shields.io/github/v/release/xintaofei/codeg)](https://github.com/xintaofei/codeg/releases) +[![Docs](https://img.shields.io/badge/docs-docs.codeg.app-3451b2)](https://docs.codeg.app) [![License](https://img.shields.io/github/license/xintaofei/codeg)](./LICENSE) -[![Tauri](https://img.shields.io/badge/Tauri-2.x-24C8DB)](https://tauri.app/) -[![Next.js](https://img.shields.io/badge/Next.js-16-black)](https://nextjs.org/) -[![Docker](https://img.shields.io/badge/Docker-ready-2496ED)](./Dockerfile)

English | @@ -19,11 +17,18 @@ العربية

-Codeg (Code Generation) is a multi-agent coding workspace. It brings multiple agents (Claude Code, Codex CLI, OpenCode, Gemini CLI, OpenClaw, Cline, Hermes Agent, CodeBuddy, Kimi Code, Pi, Grok Build, Cursor, etc.) into one workspace, supporting conversation aggregation and multi-agent collaboration, with desktop installation plus server/Docker deployment. +Codeg (Code Generation) is a multi-agent coding workspace: run every AI coding agent in one place — and let them work together. -![gallery](./docs/images/gallery.svg) +It aggregates your sessions from every supported agent CLI into one searchable workspace, lets a main agent delegate to sub-agents of other types within a single task, and runs as a desktop app, a standalone server, or a Docker container. -## Sponsors +![workspace](./docs/images/workspace-light.png#gh-light-mode-only) +![workspace](./docs/images/workspace-dark.png#gh-dark-mode-only) + +## 📖 Documentation + +**Full documentation lives at [docs.codeg.app](https://docs.codeg.app)** — [Getting Started](https://docs.codeg.app/getting-started/) · [Guide](https://docs.codeg.app/guide/) · [Reference](https://docs.codeg.app/reference/) + +## 💖 Sponsors @@ -58,385 +63,78 @@ Codeg (Code Generation) is a multi-agent coding workspace. It brings multiple ag > Want to become a Codeg sponsor? [Reach out to us by email.](mailto:itpkcn@gmail.com) -## Main Interface - -![Codeg Light](./docs/images/main-light.png#gh-light-mode-only) -![Codeg Dark](./docs/images/main-dark.png#gh-dark-mode-only) - -## Multi-Agent Collaboration - -![Codeg Light](./docs/images/collaboration-light.png#gh-light-mode-only) -![Codeg Dark](./docs/images/collaboration-dark.png#gh-dark-mode-only) - -## Office Workflow - -![Codeg Light](./docs/images/office-light.png#gh-light-mode-only) -![Codeg Dark](./docs/images/office-dark.png#gh-dark-mode-only) - -## Highlights - -- **Conversation Aggregation** — import sessions from all supported agents into one unified workspace -- **Multi-Agent Collaboration** — within a single session, the main agent delegates to sub-agents of different types (e.g. Claude Code calling Codex, Gemini) to jointly complete a task, each running as an independent session -- Parallel development with built-in `git worktree` flows -- **Project Boot** — visually scaffold new projects with live preview -- **Office Documents** — create, analyze, proofread, and edit `.docx` / `.xlsx` / `.pptx` through the bundled `officecli` toolset, with live in-tab preview that refreshes as the agent edits -- **Scientific Research** — bundled science skills (hypothesis generation, experimental design, statistics, visualization, critical appraisal, literature search) any agent can invoke, managed per-agent -- **Automations** — save a composer setup as a reusable automation that runs headlessly, on a cron schedule or on demand -- **Chat Channels** — connect Telegram, Lark (Feishu), iLink (Weixin) and more to your coding agents for real-time notifications, full session interaction, and remote task control -- MCP management (local scan + registry search/install) -- Skills management (global and project scope) -- Git remote account management (GitHub and other Git servers) -- Web service mode — access Codeg from any browser for remote work -- **Standalone server deployment** — run `codeg-server` on any Linux/macOS server, access via browser -- **Docker support** — `docker compose up` or `docker run`, with custom token, port, and volume mounts for data persistence and project directories -- Runtime Logs — a live in-app log viewer with filtering and per-module log levels -- Integrated engineering loop (file tree, diff, git changes, commit, terminal) - -## Supported Agents - -| Agent | Environment Variable Path | macOS / Linux Default | Windows Default | -| ------------ | ------------------------------------- | ------------------------------------- | ----------------------------------------------------- | -| Claude Code | `$CLAUDE_CONFIG_DIR/projects` | `~/.claude/projects` | `%USERPROFILE%\\.claude\\projects` | -| Codex CLI | `$CODEX_HOME/sessions` | `~/.codex/sessions` | `%USERPROFILE%\\.codex\\sessions` | -| OpenCode | `$XDG_DATA_HOME/opencode/opencode.db` | `~/.local/share/opencode/opencode.db` | `%USERPROFILE%\\.local\\share\\opencode\\opencode.db` | -| Gemini CLI | `$GEMINI_CLI_HOME/.gemini` | `~/.gemini` | `%USERPROFILE%\\.gemini` | -| OpenClaw | — | `~/.openclaw/agents` | `%USERPROFILE%\\.openclaw\\agents` | -| Cline | `$CLINE_DIR` | `~/.cline/data/tasks` | `%USERPROFILE%\\.cline\\data\\tasks` | -| Hermes Agent | `$HERMES_HOME/state.db` | `~/.hermes/state.db` | `%USERPROFILE%\\.hermes\\state.db` | -| CodeBuddy | `$CODEBUDDY_CONFIG_DIR/projects` | `~/.codebuddy/projects` | `%USERPROFILE%\\.codebuddy\\projects` | -| Kimi Code | `$KIMI_CODE_HOME/sessions` | `~/.kimi-code/sessions` | `%USERPROFILE%\\.kimi-code\\sessions` | -| Pi | `$PI_CODING_AGENT_SESSION_DIR` | `~/.pi/agent/sessions` | `%USERPROFILE%\\.pi\\agent\\sessions` | -| Grok Build | `$GROK_HOME/sessions` | `~/.grok/sessions` | `%USERPROFILE%\\.grok\\sessions` | -| Cursor | `$CURSOR_CONFIG_DIR/chats` | `~/.cursor/chats` | `%USERPROFILE%\\.cursor\\chats` | - -> Note: environment variables take precedence over fallback paths. - -
-

Project Boot

- -Create new projects visually with a split-pane interface: configure on the left, preview in real time on the right. - -![Project Boot Light](./docs/images/project-boot-light.png#gh-light-mode-only) -![Project Boot Dark](./docs/images/project-boot-dark.png#gh-dark-mode-only) - -### What it does - -- **Visual Configuration** — pick style, color theme, icon library, font, border radius, and more from dropdowns; the preview iframe updates instantly -- **Live Preview** — see your chosen look & feel rendered in real time before creating anything -- **One-Click Scaffolding** — hit "Create Project" and the launcher runs `shadcn init` with your preset, framework template (Next.js / Vite / React Router / Astro / Laravel), and package manager of choice (pnpm / npm / yarn / bun) -- **Package Manager Detection** — automatically checks which package managers are installed and shows their versions -- **Seamless Integration** — the newly created project opens in Codeg's workspace right away - -Currently supports **shadcn/ui** project scaffolding, with a tab-based design ready for more project types in the future. - -
- -
-

Chat Channels

- -Connect your favorite messaging apps — Telegram, Lark (Feishu), iLink (Weixin), and more — to your AI coding agents. Create tasks, send follow-up messages, approve permissions, resume sessions, and monitor activity — all from your chat app. Receive real-time agent responses with tool-call details, permission prompts, and completion summaries without ever opening a browser. - -### Supported Channels - -| Channel | Protocol | Status | -| -------------- | --------------------------- | -------- | -| Telegram | Bot API (HTTP long-polling) | Built-in | -| Lark (Feishu) | WebSocket + REST API | Built-in | -| iLink (Weixin) | WebSocket + REST API | Built-in | - -> More channels (Discord, Slack, DingTalk, etc.) are planned for future releases. - -Telegram forum supergroups can also use [Telegram topic mode](docs/chat-channels/telegram-topic-mode.md) to bind each topic to a separate Codeg session. - -
- -
-

Office Documents

- -Work with Word, Excel, and PowerPoint files as a first-class workflow. The bundled **officecli** toolset lets your agents create, analyze, proofread, and edit `.docx`, `.xlsx`, and `.pptx` documents — and you can preview the result right inside Codeg. - -### What it does - -- **Create & Edit** — generate new documents or modify existing `.docx` / `.xlsx` / `.pptx` files, including charts, tables, and formatting -- **Analyze & Proofread** — inspect document structure, surface formatting issues, and proofread content -- **Live Preview** — open a `.docx` / `.xlsx` / `.pptx` in a file tab and it renders inline, refreshing automatically as the agent edits — backed by a long-lived `officecli watch` server (reverse-proxied and capability-authenticated so it works in web and standalone-server deployments) -- **Quick Actions** — the welcome page offers Coding, Office, and Scientific Research tabs that drop the matching skill invocation and a prompt template into the composer with one click; a skill that isn't enabled for the selected agent shows a lock badge linking to where you can turn it on -- **Office Tools settings** — a dedicated settings page installs `officecli` and manages its document skills through a skill-by-agent matrix: toggle any (skill, agent) pair, flip a skill across all agents or every skill for one agent, and apply bulk changes at once - -
- -
-

Scientific Research

- -Turn any agent into a rigorous research assistant. Codeg bundles a curated set of MIT-licensed **scientific-research skills** — from ideation to analysis to write-up — that install into the shared central skill store and link into whichever agents you choose, exactly like the expert and office toolsets. - -### What it does - -- **Curated skills** — hypothesis generation, experimental design, statistical power, statistical analysis, exploratory data analysis, scientific visualization, critical appraisal, peer review, citation management, scholar evaluation, paper lookup, and AI schematics -- **Quick Actions** — the welcome page's Scientific Research tab drops the matching skill invocation plus a localized prompt template into the composer with one click -- **Science settings** — a dedicated settings page manages the skills through a skill-by-agent matrix, with badges flagging skills that need an API key or a Python environment - -
- -
-

Automations

- -Turn any composer setup — agent, model, prompt, working directory, and options — into a reusable **Automation** that runs without opening the UI. - -### What it does - -- **Save once, reuse** — capture a fully-configured composer as a named, reusable automation -- **Scheduled or on demand** — run it on a cron schedule or trigger it manually whenever you need it -- **Headless execution** — automations run in the background and create real sessions you can open in the workspace at any time, then return you straight to the workspace when you start one - -
- -
-

Quick Start

- -### Requirements - -- Node.js `>=22` (recommended) -- pnpm `>=10` -- Rust stable (2021 edition) -- Tauri 2 build dependencies (desktop mode only) - -Linux (Debian/Ubuntu) example: +## 🤖 Supported Agents -```bash -sudo apt-get update -sudo apt-get install -y \ - libwebkit2gtk-4.1-dev \ - libayatana-appindicator3-dev \ - librsvg2-dev \ - patchelf -``` - -### Binaries - -Codeg ships three Rust binaries from a single workspace: - -| Binary | Role | Build | -| -------------- | ------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------- | -| `codeg` | Tauri desktop app (window, tray, updater) | `pnpm tauri build` (release) / `pnpm tauri dev` (dev) | -| `codeg-server` | Standalone HTTP + WebSocket server for browser/headless deployments | `pnpm server:build` / `pnpm server:dev` | -| `codeg-mcp` | Per-launch stdio MCP companion that surfaces the `delegate_to_agent` tool to agent CLIs (multi-agent collab) | `pnpm tauri:prepare-sidecars` (auto-invoked by `tauri dev` / `tauri build`) | - -`codeg-mcp` must sit next to its parent binary at runtime — installers, the Docker image, and the Tauri sidecar bundler all place it next to `codeg` / `codeg-server`. Source builds and custom layouts can override the lookup with the `CODEG_MCP_BIN=/abs/path/codeg-mcp` env var. If the companion is missing, delegation is skipped (a single warning is logged) and the rest of the agent session keeps working. +Claude Code · Codex · Gemini · OpenClaw · OpenCode · Cline · Hermes · CodeBuddy · Kimi Code · Pi · Grok · Cursor -### Development +Codeg installs, pins, and updates most of them for you. See [Supported Agents](https://docs.codeg.app/guide/supported-agents) for the full roster, each agent's runtime requirements, and where it keeps its sessions on disk. -```bash -pnpm install +## 🤝 Multi-Agent Collaboration -# Frontend only (Next.js dev server, no Rust) -pnpm dev +Multi-agent collaboration, reduced to a single keystroke: type `@`, pick an agent, hit send. Codeg handles the scheduling — it launches each mentioned agent as its own session, hands over the task, and streams the work back into the thread you're already in. Mention two and they run side by side: Claude Code drafting while Codex reviews. No context switching, no copy-pasting between terminals. -# Frontend static export to out/ -pnpm build +![Delegating a task to sub-agents from a single Codeg conversation](./docs/images/collaboration-light.gif#gh-light-mode-only) +![Delegating a task to sub-agents from a single Codeg conversation](./docs/images/collaboration-dark.gif#gh-dark-mode-only) -# Full desktop app (Tauri + Next.js, builds codeg-mcp sidecar automatically) -pnpm tauri dev +## 📄 Office Documents -# Desktop release build (bundles codeg-mcp as externalBin) -pnpm tauri build +Ask for a deck, a report, or a workbook and the agent builds a real `.pptx` / `.docx` / `.xlsx` — while the pane on the right renders it live. Every edit lands in the preview on its own: slides fill in, tables take shape, numbers land in cells. Don't like slide 4? Say so in the next message — the agent edits the same file in place and the preview catches up. No export step, no external Office app, no leaving Codeg. -# Standalone server (no Tauri/GUI required) -pnpm server:dev -pnpm server:build # release binary at src-tauri/target/release/codeg-server +![An agent editing an Office document beside its live in-tab preview](./docs/images/office-light.png#gh-light-mode-only) +![An agent editing an Office document beside its live in-tab preview](./docs/images/office-dark.png#gh-dark-mode-only) -# Build the codeg-mcp companion explicitly (for the host triple) -pnpm tauri:prepare-sidecars # output: src-tauri/binaries/codeg-mcp- +## 💻 Workspace -# Skip sidecar prep when iterating on the frontend and you don't need delegation -CODEG_SKIP_SIDECAR=1 pnpm tauri dev +One workspace, every agent. Whichever one is driving — Claude Code, Codex, Cursor — it works in the same editor, the same live diffs, the same git client, and what it produces is real files in your repo, changing while you watch. -# Lint -pnpm eslint . +**Sessions.** Pull in the history you already have: past sessions from every installed agent, imported in one click and resumable where you left them. Once they're in, they stop being separate silos — `@`-mention an old session and the agent you're talking to can read it, even when a different agent wrote it, so today's Codex run picks up where last week's Claude Code session ended. -# Frontend tests (vitest) -pnpm test -pnpm test:watch -pnpm test:coverage +**Files.** The agent's edits show up as diffs beside the conversation as they land. Open any file in a real editor with syntax highlighting, send a file — or just a selection — straight to the agent with `⌘L`, and preview Markdown, HTML, images, and Office documents in the same pane. -# Rust checks (run in src-tauri/) -cargo check # desktop (default features) -cargo check --no-default-features --bin codeg-server # server mode -cargo check --no-default-features --bin codeg-mcp # MCP companion -cargo clippy --all-targets --features test-utils -- -D warnings +**Git.** A full client, not a status readout: commit and push, browse history with per-commit push state, and branch, merge, rebase, stash, reset, or diff against another branch. Conflicts open a three-pane merge editor where you accept hunk by hunk or type the fix yourself. And worktrees make parallel work one action — a new branch, its own directory, and a fresh conversation rooted in it, so a fleet of agents build different features at once without touching each other's files. -# Rust tests -cargo test --features test-utils # desktop (incl. integration) -cargo test --no-default-features --bin codeg-server --lib # server mode -cargo insta review # accept parser snapshot updates -``` +## ✨ Highlights -> Tip: when you have a fresh `codeg-mcp` build under `src-tauri/target/release/` and want to point a manually-launched `codeg-server` at it without reinstalling, export `CODEG_MCP_BIN=$(pwd)/src-tauri/target/release/codeg-mcp`. +- **[Conversation Aggregation](https://docs.codeg.app/guide/aggregation)** — import sessions from every supported agent into one unified, searchable workspace, and pick any of them up where you left off +- **[Multi-Agent Collaboration](https://docs.codeg.app/guide/multi-agent)** — `@`-mention any agent to delegate: sub-agents of different types run as their own sessions, in parallel, inside a single task +- **[The Workspace](https://docs.codeg.app/guide/workspace)** — the full engineering loop next to the agent: file tree, editor and diff, git changes, commit, and an embedded terminal +- **[Git & Worktrees](https://docs.codeg.app/guide/git)** — review and commit changes, manage Git remote accounts, and run work in parallel with built-in `git worktree` flows +- **[Chat Channels](https://docs.codeg.app/guide/chat-channels)** — drive your agents from Telegram, Lark (Feishu), and iLink (Weixin): create tasks, approve permissions, and get live updates +- **[Automations](https://docs.codeg.app/guide/automations)** — save a fully-configured composer as a reusable automation that runs headlessly, on a cron schedule or on demand +- **[Office Documents](https://docs.codeg.app/guide/office)** — create, analyze, proofread, and edit `.docx` / `.xlsx` / `.pptx` through the bundled `officecli`, with live in-tab preview +- **[Scientific Research](https://docs.codeg.app/guide/research)** — bundled research skills (hypothesis generation, experimental design, statistics, visualization, critical appraisal, literature search) any agent can invoke +- **[Project Boot](https://docs.codeg.app/guide/project-boot)** — scaffold new projects visually, with live preview, then open them straight in the workspace +- **[MCP](https://docs.codeg.app/guide/mcp) & [Skills](https://docs.codeg.app/guide/skills)** — local server scan plus registry search/install, and skills managed at global or project scope +- **[Desktop, Server & Docker](https://docs.codeg.app/getting-started/deployment)** — a native desktop app, a standalone `codeg-server` you reach from any browser, or `docker compose up` -### Server Deployment +## 📦 Install & Run -Codeg can run as a standalone web server without a desktop environment. +**Desktop** — download the installer for macOS, Windows, or Linux from [Releases](https://github.com/xintaofei/codeg/releases), then follow [Installation](https://docs.codeg.app/getting-started/installation). -#### Option 1: One-line install (Linux / macOS) +**Server** — run Codeg headless and reach it from any browser: ```bash curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash -``` - -Install a specific version or to a custom directory: - -```bash -curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash -s -- --version v0.5.2 --dir ~/.local/bin -``` - -Then run: - -```bash codeg-server ``` -#### Option 2: One-line install (Windows PowerShell) - -```powershell -irm https://raw.githubusercontent.com/xintaofei/codeg/main/install.ps1 | iex -``` - -Or install a specific version: - -```powershell -.\install.ps1 -Version v0.5.2 -``` - -#### Option 3: Download from GitHub Releases - -Pre-built binaries (with bundled web assets) are available on the [Releases](https://github.com/xintaofei/codeg/releases) page: - -| Platform | File | -| ----------- | ---------------------------------- | -| Linux x64 | `codeg-server-linux-x64.tar.gz` | -| Linux arm64 | `codeg-server-linux-arm64.tar.gz` | -| macOS x64 | `codeg-server-darwin-x64.tar.gz` | -| macOS arm64 | `codeg-server-darwin-arm64.tar.gz` | -| Windows x64 | `codeg-server-windows-x64.zip` | - -```bash -# Example: download, extract, and run -tar xzf codeg-server-linux-x64.tar.gz -cd codeg-server-linux-x64 -CODEG_STATIC_DIR=./web ./codeg-server -``` - -> For unattended deployments, start it with `--supervise` so a failed in-place upgrade is automatically rolled back — see [In-place updates](#in-place-updates). - -#### Option 4: Docker +**Docker** — the same server, in one container: ```bash -# Using Docker Compose (recommended) -docker compose up -d - -# Or run directly with Docker docker run -d -p 3080:3080 -v codeg-data:/data ghcr.io/xintaofei/codeg:latest - -# With custom token and project directory mounted -docker run -d -p 3080:3080 \ - -v codeg-data:/data \ - -v /path/to/projects:/projects \ - -e CODEG_TOKEN=your-secret-token \ - ghcr.io/xintaofei/codeg:latest ``` -The Docker image uses a multi-stage build (Node.js + Rust → slim Debian runtime) and includes `git` and `ssh` for repository operations. Data is persisted in the `/data` volume. You can optionally mount project directories to access local repos from within the container. - -#### Option 5: Build from source - -```bash -pnpm install && pnpm build # build frontend -cd src-tauri -cargo build --release --bin codeg-server --no-default-features -cargo build --release --bin codeg-mcp --no-default-features # delegation companion -CODEG_STATIC_DIR=../out ./target/release/codeg-server # codeg-mcp is picked up as a sibling -``` +Compose, prebuilt binaries, source builds, and in-place updates are covered in [Deployment](https://docs.codeg.app/getting-started/deployment); environment variables in [Configuration](https://docs.codeg.app/getting-started/configuration). Building Codeg itself: [Development](https://docs.codeg.app/reference/development) and [Architecture](https://docs.codeg.app/reference/architecture). -If you keep the two binaries in separate directories, set `CODEG_MCP_BIN=/abs/path/to/codeg-mcp` so the runtime can still find the companion; without it, multi-agent delegation is silently disabled. +## 🔒 Privacy & Security -#### In-place updates - -The server can update itself from **Settings → Software Update**: it downloads the signed release for its platform, swaps the binaries and web assets on disk, and restarts — no manual re-deploy. This is Linux/macOS only (disabled on Windows). The previous version is kept as a backup, so the same screen offers a **Roll back** action to return to it. - -**Run under the supervisor for auto-rollback.** Start the standalone server with `--supervise` so a freshly-upgraded process that fails to boot within the trial window is automatically reverted to the previous version: - -```bash -CODEG_STATIC_DIR=./web ./codeg-server --supervise -``` - -Without `--supervise` the server still updates in place (it re-execs itself), but the upgrade is best-effort: there is no supervisor to auto-roll-back a version that can't start. The Docker image already runs under the supervisor. - -**Docker upgrades change the container, not the image.** An in-place upgrade rewrites the binaries and web assets inside the running container's writable layer, so they live only in that container. The `/data` volume persists, but the upgraded files do **not**: recreating the container — `docker compose up --force-recreate`, a fresh `docker run`, or recreating after a `docker pull` — starts from the image again and drops the in-place upgrade. (A `docker pull` on its own only refreshes the local image; nothing reverts until the container is recreated.) To make an upgrade permanent, build or pull an image at the new version and recreate the container from it. - -#### Configuration - -Environment variables: - -| Variable | Default | Description | -| ------------------------------ | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `CODEG_PORT` | `3080` | HTTP port | -| `CODEG_HOST` | `0.0.0.0` | Bind address | -| `CODEG_TOKEN` | _(random)_ | Auth token (printed to stderr on start) | -| `CODEG_DATA_DIR` | `~/.local/share/codeg` | SQLite database directory (also roots `uploads/`, `pets/`) | -| `CODEG_STATIC_DIR` | `./web` or `./out` | Next.js static export directory | -| `CODEG_MCP_BIN` | _(unset)_ | Absolute path to the `codeg-mcp` companion. Overrides the default sibling-of-executable + `PATH` lookup. Use this for source builds or custom layouts where the companion lives outside the server's install directory. | -| `CODEG_SKIP_SIDECAR` | _(unset)_ | Frontend-only convenience for `pnpm tauri dev` / `pnpm tauri build` — when `1`, skips building the `codeg-mcp` sidecar. Delegation is disabled in that build; ship-quality artifacts must leave it unset. | -| `CODEG_UPLOAD_MAX_TOTAL_BYTES` | _(unset)_ | Hard cap on total bytes resident under `/uploads/`. Plain decimal byte count (e.g. `10737418240` for 10 GiB). Unset, `0`, or an unparseable value disables the cap and prints a startup line so the posture is visible. The cap is enforced within a single `codeg-server` process — horizontally-scaled deployments sharing one `uploads/` volume need external coordination (file lock, Redis, reverse-proxy quota). | -| `CODEG_UPLOAD_QUOTA_STRICT` | _(unset)_ | When truthy (`1` / `true` / `yes` / `on`), abort startup with exit code 2 if `CODEG_UPLOAD_MAX_TOTAL_BYTES` is set to an unparseable value, instead of fail-open with a WARN. Use this when your security policy requires "configured quota must be effective". | - -
- -
-

Architecture

- -```text -Next.js 16 (Static Export) + React 19 - | - | invoke() (desktop) / fetch() + WebSocket (web) - v - ┌─────────────────────────┐ - │ Transport Abstraction │ - │ (Tauri IPC or HTTP/WS) │ - └─────────────────────────┘ - | - v -┌─── Tauri Desktop ───┐ ┌─── codeg-server ───┐ -│ Tauri 2 Commands │ │ Axum HTTP + WS │ -│ (window management) │ │ (standalone mode) │ -└──────────┬───────────┘ └──────────┬──────────┘ - └──────────┬───────────────┘ - v - Shared Rust Core - |- AppState - |- ACP Manager - |- Parsers (conversation ingestion) - |- Chat Channels - |- Git / File Tree / Terminal - |- MCP marketplace + config - |- Office Tools (officecli) + Automations - |- SeaORM + SQLite - | - ┌───────┼───────┐ - v v v - Local Filesystem Git Chat Channels - / Git Repos Repos (Telegram, Lark, iLink) -``` - -
- -## Privacy & Security - -- Local-first by default for parsing, storage, and project operations -- Network access happens only on user-triggered actions +- Local-first by default for parsing, storage, and project operations — network access happens only on user-triggered actions +- Web and server modes are guarded by token-based authentication - System proxy support for enterprise environments -- Web service mode uses token-based authentication -## Community +Details in [Privacy & Security](https://docs.codeg.app/reference/privacy). + +## 👥 Community - Scan the QR code below to join our WeChat group for discussions, feedback, and updates @@ -445,13 +143,13 @@ Next.js 16 (Static Export) + React 19 - Thanks to the [LinuxDO](https://linux.do) community for their support -## Acknowledgments +## 🙏 Acknowledgments -- [ACP](https://agentclientprotocol.com) — the Agent Client Protocol (ACP) is the foundation that enables Codeg to connect with multiple agents +- [Agent Client Protocol](https://agentclientprotocol.com) — the foundation that lets Codeg connect to every agent it supports - [Superpowers](https://github.com/obra/superpowers) — powers Codeg's expert skills module - [OfficeCLI](https://github.com/iOfficeAI/OfficeCLI) — powers Codeg's Office documents workflow - [scientific-agent-skills](https://github.com/K-Dense-AI/scientific-agent-skills) — powers Codeg's Scientific Research skills (MIT-licensed subset) -## License +## 📜 License -Apache-2.0. See `LICENSE`. +Apache-2.0. See [LICENSE](./LICENSE). diff --git a/docs/images/collaboration-dark.gif b/docs/images/collaboration-dark.gif new file mode 100644 index 000000000..bef02d8de Binary files /dev/null and b/docs/images/collaboration-dark.gif differ diff --git a/docs/images/collaboration-dark.png b/docs/images/collaboration-dark.png deleted file mode 100644 index c88d85aff..000000000 Binary files a/docs/images/collaboration-dark.png and /dev/null differ diff --git a/docs/images/collaboration-light.gif b/docs/images/collaboration-light.gif new file mode 100644 index 000000000..e650479a5 Binary files /dev/null and b/docs/images/collaboration-light.gif differ diff --git a/docs/images/collaboration-light.png b/docs/images/collaboration-light.png deleted file mode 100644 index 9c983485a..000000000 Binary files a/docs/images/collaboration-light.png and /dev/null differ diff --git a/docs/images/communication-flow.svg b/docs/images/communication-flow.svg deleted file mode 100644 index cf35f3b9a..000000000 --- a/docs/images/communication-flow.svg +++ /dev/null @@ -1,207 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CLIENTS - - - - - - - - - - Web Browser - - - - - - - - - - - Desktop App - - - - - - - - - Telegram - - - - - - - - - - Lark (Feishu) - - - - - - - - - - - - iLink (Weixin) - - More channels ... - - - - - - - - - - - - Codeg - Unified Hub - - - - AGENTS - - - - - - - Claude Code - - - - - - - - Codex CLI - - - - - - - OpenCode - - - - - - - - Gemini CLI - - - - - - - - - - - - OpenClaw - - - - - - - - Cline - - More agents ... - - diff --git a/docs/images/gallery.png b/docs/images/gallery.png deleted file mode 100644 index bf61d6bb5..000000000 Binary files a/docs/images/gallery.png and /dev/null differ diff --git a/docs/images/gallery.svg b/docs/images/gallery.svg deleted file mode 100644 index 6a0dd5d92..000000000 --- a/docs/images/gallery.svg +++ /dev/null @@ -1,304 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Multi-Agent Coding Workspace — Desktop · Server · Docker - - - - - - - - - - - - - - - - - - - - - CLIENTS - - - - - - - - - Web Browser - - - - - - - - - - - Desktop App - - - - - - - - - Telegram - - - - - - - - - Lark (Feishu) - - - - - - - - - - - - iLink (Weixin) - - More channels ... - - - - - - - - - - - - Codeg - Unified Hub - - - - AGENTS - - - - - - - Claude Code - - - - - - - - Codex CLI - - - - - - - OpenCode - - - - - - - - Gemini CLI - - - - - - - - - - - OpenClaw - - - - - - - - Cline - - More agents ... - - - - KEY FEATURES - - - - - - - - - - Conversation - Aggregation - Unified session viewer - - - - - - - - - - Git Worktree - Parallel development - - - - - - - - - Terminal - Integrated shell - - - - - - - - MCP & Skills - Plugin management - - - - - - - - - - Code Editor - Rust-powered backend - - - - - - - - - - Desktop - - - - - - - - - Self-hosted Server - - - - - - - Docker - - Access from anywhere — deploy your way - - diff --git a/docs/images/main-dark.png b/docs/images/main-dark.png deleted file mode 100644 index 27c3189c0..000000000 Binary files a/docs/images/main-dark.png and /dev/null differ diff --git a/docs/images/main-light.png b/docs/images/main-light.png deleted file mode 100644 index c7bcfb2ca..000000000 Binary files a/docs/images/main-light.png and /dev/null differ diff --git a/docs/images/project-boot-dark.png b/docs/images/project-boot-dark.png deleted file mode 100644 index fe643f3b2..000000000 Binary files a/docs/images/project-boot-dark.png and /dev/null differ diff --git a/docs/images/project-boot-light.png b/docs/images/project-boot-light.png deleted file mode 100644 index d76efa630..000000000 Binary files a/docs/images/project-boot-light.png and /dev/null differ diff --git a/docs/images/workspace-dark.png b/docs/images/workspace-dark.png new file mode 100644 index 000000000..9c0aa4f31 Binary files /dev/null and b/docs/images/workspace-dark.png differ diff --git a/docs/images/workspace-light.png b/docs/images/workspace-light.png new file mode 100644 index 000000000..1055e1a40 Binary files /dev/null and b/docs/images/workspace-light.png differ diff --git a/docs/readme/README.ar.md b/docs/readme/README.ar.md index 20af7a878..e442132af 100644 --- a/docs/readme/README.ar.md +++ b/docs/readme/README.ar.md @@ -1,10 +1,8 @@ # Codeg [![Release](https://img.shields.io/github/v/release/xintaofei/codeg)](https://github.com/xintaofei/codeg/releases) +[![Docs](https://img.shields.io/badge/docs-docs.codeg.app-3451b2)](https://docs.codeg.app) [![License](https://img.shields.io/github/license/xintaofei/codeg)](../../LICENSE) -[![Tauri](https://img.shields.io/badge/Tauri-2.x-24C8DB)](https://tauri.app/) -[![Next.js](https://img.shields.io/badge/Next.js-16-black)](https://nextjs.org/) -[![Docker](https://img.shields.io/badge/Docker-ready-2496ED)](../../Dockerfile)

English | @@ -19,11 +17,18 @@ العربية

-Codeg (Code Generation) هو مساحة عمل للبرمجة متعددة الوكلاء. يجمع عدة وكلاء (Claude Code، Codex CLI، OpenCode، Gemini CLI، OpenClaw، Cline، Hermes Agent، CodeBuddy، Kimi Code، Pi، Grok Build، وغيرها) في مساحة عمل واحدة، ويدعم تجميع المحادثات والتعاون بين عدة وكلاء، مع دعم التثبيت على سطح المكتب والنشر على الخادم/Docker. +Codeg (Code Generation) هو مساحة عمل برمجية متعددة الوكلاء: شغّل كل وكلاء البرمجة بالذكاء الاصطناعي في مكان واحد — ودعهم يعملون معًا. -![gallery](../images/gallery.svg) +يجمع جلساتك من كل واجهات الوكلاء المدعومة في مساحة عمل واحدة قابلة للبحث، ويتيح للوكيل الرئيسي أن يفوّض إلى وكلاء فرعيين من أنواع أخرى داخل المهمة نفسها، ويعمل كتطبيق سطح مكتب أو خادم مستقل أو حاوية Docker. -## الرعاة +![مساحة العمل](../images/workspace-light.png#gh-light-mode-only) +![مساحة العمل](../images/workspace-dark.png#gh-dark-mode-only) + +## 📖 التوثيق + +**التوثيق الكامل على [docs.codeg.app](https://docs.codeg.app)** — [البداية](https://docs.codeg.app/getting-started/) · [الدليل](https://docs.codeg.app/guide/) · [المرجع](https://docs.codeg.app/reference/) + +## 💖 الرعاة
@@ -58,385 +63,78 @@ Codeg (Code Generation) هو مساحة عمل للبرمجة متعددة ال > هل ترغب في أن تصبح راعياً لـ Codeg؟ [راسلنا عبر البريد الإلكتروني.](mailto:itpkcn@gmail.com) -## الواجهة الرئيسية - -![Codeg Light](../images/main-light.png#gh-light-mode-only) -![Codeg Dark](../images/main-dark.png#gh-dark-mode-only) - -## التعاون متعدد الوكلاء - -![Codeg Light](../images/collaboration-light.png#gh-light-mode-only) -![Codeg Dark](../images/collaboration-dark.png#gh-dark-mode-only) - -## سير عمل المكتب - -![Codeg Light](../images/office-light.png#gh-light-mode-only) -![Codeg Dark](../images/office-dark.png#gh-dark-mode-only) - -## أبرز المزايا - -- **تجميع المحادثات** — استيراد جلسات جميع الوكلاء المدعومين إلى مساحة عمل موحّدة -- **التعاون متعدد الوكلاء** — داخل جلسة واحدة، يفوّض الوكيل الرئيسي إلى وكلاء فرعيين من أنواع مختلفة (مثل Claude Code يستدعي Codex وGemini) لإنجاز مهمة بشكل مشترك، مع تشغيل كل وكيل فرعي كجلسة مستقلة -- تطوير متوازي مع تدفقات `git worktree` مدمجة -- **مُنشئ المشروع** — إنشاء مشاريع جديدة بصريًا مع معاينة حية -- **مستندات Office** — أنشئ وحلِّل وراجع وحرِّر ملفات .docx / .xlsx / .pptx عبر مجموعة أدوات officecli المدمجة؛ مع معاينة حية في تبويب الملف تُحدَّث فورًا أثناء تعديلات الوكيل -- **البحث العلمي** — مهارات علمية مدمجة (توليد الفرضيات، تصميم التجارب، الإحصاء، التمثيل المرئي، التقييم النقدي، البحث في الأدبيات) يمكن لأي وكيل استدعاؤها، وتُدار لكل وكيل -- **الأتمتة** — احفظ أي إعداد للمُحرِّر كمهمة أتمتة قابلة للإعادة تُنفَّذ بدون واجهة وفق جدول cron أو عند الطلب -- **قنوات الدردشة** — ربط Telegram وLark (Feishu) وiLink (Weixin) والمزيد بوكلاء البرمجة لاستقبال الإشعارات الفورية والتفاعل الكامل مع الجلسات والتحكم عن بُعد في المهام -- إدارة MCP (فحص محلي + بحث/تثبيت من السجل) -- إدارة Skills (نطاق عام ونطاق المشروع) -- إدارة حسابات Git البعيدة (GitHub وخوادم Git الأخرى) -- وضع خدمة الويب — الوصول إلى Codeg من أي متصفح للعمل عن بُعد -- **نشر خادم مستقل** — شغّل `codeg-server` على أي خادم Linux/macOS، والوصول عبر المتصفح -- **دعم Docker** — `docker compose up` أو `docker run`، مع رمز مصادقة ومنفذ قابلين للتخصيص، واستمرارية البيانات وتحميل مجلدات المشاريع -- سجلات وقت التشغيل — عارض سجلات في الوقت الفعلي مدمج مع دعم التصفية وضبط مستويات السجل لكل وحدة -- حلقة هندسية متكاملة (شجرة الملفات، الفروقات، تغييرات git، الإيداع، الطرفية) - -## الوكلاء المدعومون - -| الوكيل | مسار متغير البيئة | الافتراضي في macOS / Linux | الافتراضي في Windows | -| ------------ | ------------------------------------- | ------------------------------------- | ----------------------------------------------------- | -| Claude Code | `$CLAUDE_CONFIG_DIR/projects` | `~/.claude/projects` | `%USERPROFILE%\\.claude\\projects` | -| Codex CLI | `$CODEX_HOME/sessions` | `~/.codex/sessions` | `%USERPROFILE%\\.codex\\sessions` | -| OpenCode | `$XDG_DATA_HOME/opencode/opencode.db` | `~/.local/share/opencode/opencode.db` | `%USERPROFILE%\\.local\\share\\opencode\\opencode.db` | -| Gemini CLI | `$GEMINI_CLI_HOME/.gemini` | `~/.gemini` | `%USERPROFILE%\\.gemini` | -| OpenClaw | — | `~/.openclaw/agents` | `%USERPROFILE%\\.openclaw\\agents` | -| Cline | `$CLINE_DIR` | `~/.cline/data/tasks` | `%USERPROFILE%\\.cline\\data\\tasks` | -| Hermes Agent | `$HERMES_HOME/state.db` | `~/.hermes/state.db` | `%USERPROFILE%\\.hermes\\state.db` | -| CodeBuddy | `$CODEBUDDY_CONFIG_DIR/projects` | `~/.codebuddy/projects` | `%USERPROFILE%\\.codebuddy\\projects` | -| Kimi Code | `$KIMI_CODE_HOME/sessions` | `~/.kimi-code/sessions` | `%USERPROFILE%\\.kimi-code\\sessions` | -| Pi | `$PI_CODING_AGENT_SESSION_DIR` | `~/.pi/agent/sessions` | `%USERPROFILE%\\.pi\\agent\\sessions` | -| Grok Build | `$GROK_HOME/sessions` | `~/.grok/sessions` | `%USERPROFILE%\\.grok\\sessions` | -| Cursor | `$CURSOR_CONFIG_DIR/chats` | `~/.cursor/chats` | `%USERPROFILE%\\.cursor\\chats` | - -> ملاحظة: متغيرات البيئة لها الأولوية على المسارات الافتراضية. - -
-

مُنشئ المشروع

- -أنشئ مشاريع جديدة بصريًا من خلال واجهة مقسّمة: التكوين على اليسار، والمعاينة الحية على اليمين. - -![Project Boot Light](../images/project-boot-light.png#gh-light-mode-only) -![Project Boot Dark](../images/project-boot-dark.png#gh-dark-mode-only) - -### الميزات - -- **تكوين بصري** — اختر النمط وسمة الألوان ومكتبة الأيقونات والخط ونصف قطر الحدود والمزيد من القوائم المنسدلة؛ تتحدث المعاينة فورًا -- **معاينة حية** — شاهد المظهر الذي اخترته مُصيَّرًا في الوقت الفعلي قبل إنشاء أي شيء -- **إنشاء بنقرة واحدة** — اضغط "إنشاء مشروع" ويقوم المُشغّل بتنفيذ `shadcn init` مع إعداداتك المسبقة وقالب الإطار (Next.js / Vite / React Router / Astro / Laravel) ومدير الحزم (pnpm / npm / yarn / bun) -- **اكتشاف مدير الحزم** — يتحقق تلقائيًا من مديري الحزم المثبتين ويعرض إصداراتهم -- **تكامل سلس** — يُفتح المشروع المُنشأ حديثًا مباشرة في مساحة عمل Codeg - -يدعم حاليًا إنشاء مشاريع **shadcn/ui**، مع تصميم قائم على علامات التبويب جاهز لدعم المزيد من أنواع المشاريع في المستقبل. - -
- -
-

قنوات الدردشة

- -اربط تطبيقات المراسلة المفضلة لديك — Telegram وLark (Feishu) وiLink (Weixin) والمزيد — بوكلاء البرمجة بالذكاء الاصطناعي. أنشئ مهامًا، وأرسل رسائل متابعة، ووافق على الأذونات، واستأنف الجلسات، وراقب النشاط من تطبيق الدردشة — واستقبل ردود الوكلاء الفورية مع تفاصيل استدعاءات الأدوات وطلبات الأذونات وملخصات الإنجاز دون الحاجة لفتح المتصفح. - -يمكن للمجموعات الفائقة ذات المنتدى في Telegram استخدام [Telegram topic mode](../chat-channels/telegram-topic-mode.md) لربط كل topic بجلسة Codeg مستقلة. - -### القنوات المدعومة - -| القناة | البروتوكول | الحالة | -| -------------- | --------------------------- | ------ | -| Telegram | Bot API (HTTP long-polling) | مدمج | -| Lark (Feishu) | WebSocket + REST API | مدمج | -| iLink (Weixin) | WebSocket + REST API | مدمج | - -> يُخطَّط لدعم المزيد من القنوات (Discord وSlack وDingTalk وغيرها) في الإصدارات المستقبلية. - -
- -
-

مستندات Office

- -تعامَل مع ملفات Word وExcel وPowerPoint كجزء أصيل من سير العمل. تتيح مجموعة أدوات **officecli** المدمجة لوكلائك إنشاء وتحليل ومراجعة وتحرير مستندات .docx و.xlsx و.pptx — مع إمكانية معاينة النتائج مباشرةً داخل Codeg. - -### الميزات - -- **إنشاء وتحرير** — أنشئ مستندات جديدة أو عدِّل ملفات .docx / .xlsx / .pptx الموجودة، بما في ذلك المخططات والجداول والتنسيق -- **تحليل ومراجعة** — افحص بنية المستند، واكشف مشكلات التنسيق، وراجع المحتوى -- **معاينة حية** — افتح ملف .docx / .xlsx / .pptx في تبويب الملف ليُعرَض تلقائيًا ويتحدّث فورًا مع كل تعديل من الوكيل — مدعومًا بخادم `officecli watch` دائم التشغيل (مع بروكسي عكسي ومصادقة قائمة على القدرات في بيئات الويب والخادم) -- **الإجراءات السريعة** — تتضمن صفحة الترحيب تبويبات «البرمجة» و«Office» و«البحث العلمي» تُتيح بنقرة واحدة إدراج استدعاء المهارة المناسب ونموذج الأمر في المُحرِّر؛ المهارات غير المفعَّلة تظهر بشارة قفل وتوجّهك للتفعيل -- **إعدادات أدوات Office** — صفحة إعدادات مخصصة لتثبيت `officecli` وإدارة مهاراته عبر مصفوفة مهارة×وكيل: بدِّل أي زوج (مهارة، وكيل) وطبِّق التغييرات على دفعات - -
- -
-

البحث العلمي

- -حوِّل أي وكيل إلى مساعد بحثي دقيق. يُضمِّن Codeg مجموعة منتقاة من **مهارات البحث العلمي** المرخّصة بموجب MIT — من توليد الأفكار إلى التحليل إلى الكتابة — تُثبَّت في مخزن المهارات المركزي المشترك وتُربَط بأي وكلاء تختارهم، تمامًا مثل مجموعتَي أدوات الخبراء وOffice. - -### الميزات - -- **مهارات منتقاة** — توليد الفرضيات، تصميم التجارب، القوة الإحصائية، التحليل الإحصائي، التحليل الاستكشافي للبيانات، التمثيل المرئي العلمي، التقييم النقدي، مراجعة الأقران، إدارة الاستشهادات، تقييم الباحثين، البحث عن الأوراق البحثية، والرسوم التخطيطية بالذكاء الاصطناعي -- **الإجراءات السريعة** — يُدرج تبويب «البحث العلمي» في صفحة الترحيب استدعاء المهارة المناسب مع نموذج أمر مُترجَم في المُحرِّر بنقرة واحدة -- **إعدادات البحث العلمي** — صفحة إعدادات مخصصة تدير المهارات عبر مصفوفة مهارة×وكيل، مع شارات تُشير إلى المهارات التي تحتاج مفتاح API أو بيئة Python - -
- -
-

الأتمتة

- -احفظ أي إعداد للمُحرِّر — الوكيل والنموذج والأمر ومجلد العمل والخيارات — كـ**مهمة أتمتة** قابلة للإعادة تعمل دون فتح الواجهة. - -### الميزات - -- **اضبط مرة، استخدم دائمًا** — احفظ إعداد المُحرِّر الكامل كمهمة أتمتة مُسمَّاة -- **مجدوَلة أو عند الطلب** — شغِّلها وفق جدول cron أو افتحها يدويًا متى أردت -- **تنفيذ بلا واجهة** — تعمل مهام الأتمتة في الخلفية وتُنشئ جلسات حقيقية يمكن فتحها في مساحة العمل في أي وقت؛ وبعد الإطلاق تعود الواجهة تلقائيًا إلى مساحة العمل - -
- -
-

البدء السريع

- -### المتطلبات - -- Node.js `>=22` (مُوصى به) -- pnpm `>=10` -- Rust stable (2021 edition) -- تبعيات بناء Tauri 2 (وضع سطح المكتب فقط) - -مثال على Linux (Debian/Ubuntu): +## 🤖 الوكلاء المدعومون -```bash -sudo apt-get update -sudo apt-get install -y \ - libwebkit2gtk-4.1-dev \ - libayatana-appindicator3-dev \ - librsvg2-dev \ - patchelf -``` - -### الملفات التنفيذية - -يوفّر Codeg ثلاثة ملفات تنفيذية بلغة Rust من workspace واحد: - -| الملف التنفيذي | الدور | البناء | -| -------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | -| `codeg` | تطبيق سطح المكتب Tauri (نافذة، شريط النظام، المُحدِّث) | `pnpm tauri build` (إصدار) / `pnpm tauri dev` (تطوير) | -| `codeg-server` | خادم HTTP + WebSocket مستقل لعمليات النشر عبر المتصفح/بدون واجهة | `pnpm server:build` / `pnpm server:dev` | -| `codeg-mcp` | رفيق MCP عبر stdio يُشغَّل لكل جلسة، ويُتيح أداة `delegate_to_agent` لواجهات CLI للوكلاء (التعاون متعدد الوكلاء) | `pnpm tauri:prepare-sidecars` (يُستدعى تلقائيًا من `tauri dev` / `tauri build`) | - -يجب أن يكون `codeg-mcp` بجوار ملفه التنفيذي الأصلي وقت التشغيل — برامج التثبيت وصورة Docker ومُجمِّع sidecar الخاص بـ Tauri جميعها تضعه بجوار `codeg` / `codeg-server`. يمكن لعمليات البناء من المصدر والتخطيطات المخصّصة تجاوز البحث باستخدام متغير البيئة `CODEG_MCP_BIN=/مسار/مطلق/codeg-mcp`. في حال غياب الرفيق، يتم تخطّي التفويض (مع تسجيل تحذير واحد) وتستمر باقي جلسة الوكيل في العمل. +Claude Code · Codex · Gemini · OpenClaw · OpenCode · Cline · Hermes · CodeBuddy · Kimi Code · Pi · Grok · Cursor -### التطوير +يتولّى Codeg تثبيت معظمهم وتثبيت إصداراتهم وتحديثهم نيابةً عنك. راجع [الوكلاء المدعومون](https://docs.codeg.app/guide/supported-agents) للقائمة الكاملة، ومتطلبات تشغيل كل وكيل، وموضع حفظ جلساته على القرص. -```bash -pnpm install +## 🤝 التعاون متعدد الوكلاء -# الواجهة الأمامية فقط (خادم تطوير Next.js، بدون Rust) -pnpm dev +التعاون متعدد الوكلاء، مختصرًا في ضغطة واحدة: اكتب `@`، اختر وكيلاً، ثم أرسل. يتكفّل Codeg بالتنسيق — يشغّل كل وكيل تذكره كجلسة مستقلة، ويسلّمه المهمة، ثم يعيد بثّ عمله إلى المحادثة التي أنت فيها بالفعل. اذكر اثنين ليعملا جنبًا إلى جنب: Claude Code يكتب المسودة بينما يراجع Codex. بلا تبديل للسياق، وبلا نسخ ولصق بين الطرفيات. -# تصدير ثابت للواجهة الأمامية إلى out/ -pnpm build +![تفويض مهمة إلى وكلاء فرعيين من محادثة واحدة في Codeg](../images/collaboration-light.gif#gh-light-mode-only) +![تفويض مهمة إلى وكلاء فرعيين من محادثة واحدة في Codeg](../images/collaboration-dark.gif#gh-dark-mode-only) -# تطبيق سطح المكتب الكامل (Tauri + Next.js، يبني sidecar الخاص بـ codeg-mcp تلقائيًا) -pnpm tauri dev +## 📄 مستندات Office -# بناء إصدار سطح المكتب (يُضمِّن codeg-mcp بوصفه externalBin) -pnpm tauri build +اطلب عرضًا تقديميًا أو تقريرًا أو جدول بيانات، وسينشئ الوكيل ملف `.pptx` / `.docx` / `.xlsx` حقيقيًا — بينما تعرضه لوحة المعاينة مباشرةً. كل تعديل يصل إلى المعاينة من تلقاء نفسه: الشرائح تمتلئ، والجداول تتشكّل، والأرقام تستقر في خلاياها. لم تعجبك الشريحة الرابعة؟ قل ذلك في الرسالة التالية — يعدّل الوكيل الملف نفسه في مكانه، وتلحق به المعاينة. بلا تصدير، وبلا تطبيق Office خارجي، ودون مغادرة Codeg. -# خادم مستقل (بدون Tauri/واجهة رسومية) -pnpm server:dev -pnpm server:build # ملف الإصدار التنفيذي ضمن src-tauri/target/release/codeg-server +![وكيل يحرّر مستند Office بجانب معاينته الحية](../images/office-light.png#gh-light-mode-only) +![وكيل يحرّر مستند Office بجانب معاينته الحية](../images/office-dark.png#gh-dark-mode-only) -# بناء رفيق codeg-mcp بشكل صريح (لثلاثية المضيف) -pnpm tauri:prepare-sidecars # الناتج: src-tauri/binaries/codeg-mcp- +## 💻 مساحة العمل -# تخطّي تحضير sidecar عند التكرار على الواجهة الأمامية ولا تحتاج إلى التفويض -CODEG_SKIP_SIDECAR=1 pnpm tauri dev +مساحة عمل واحدة، وكل الوكلاء. أيًّا كان الوكيل الذي يعمل — Claude Code أو Codex أو Cursor — فهو يعمل داخل المحرّر نفسه، وبالفروقات الحيّة نفسها، وبعميل Git نفسه؛ وما ينتجه ملفات حقيقية في مستودعك، تتغيّر أمام عينيك. -# فحص الأكواد -pnpm eslint . +**الجلسات.** استعِد ما لديك من سجل: جلسات سابقة من كل وكيل مثبَّت، تُستورَد بنقرة واحدة ويمكن استئنافها من حيث توقفت. وبمجرد دخولها لا تبقى جزرًا منفصلة — اذكر جلسة قديمة بـ `@` ليقرأها الوكيل الذي تحادثه، حتى لو كتبها وكيل آخر، فتُكمل جلسة Codex اليوم من حيث انتهت جلسة Claude Code الأسبوع الماضي. -# اختبارات الواجهة الأمامية (vitest) -pnpm test -pnpm test:watch -pnpm test:coverage +**الملفات.** تظهر تعديلات الوكيل على هيئة فروقات بجوار المحادثة فور وقوعها. افتح أي ملف في محرّر حقيقي مع إبراز لبنية الشيفرة، وأرسل ملفًا — أو تحديدًا منه فقط — إلى الوكيل مباشرةً بـ `⌘L`، وعايِن Markdown وHTML والصور ومستندات Office في اللوحة نفسها. -# فحوصات Rust (تنفيذ في src-tauri/) -cargo check # سطح المكتب (الميزات الافتراضية) -cargo check --no-default-features --bin codeg-server # وضع الخادم -cargo check --no-default-features --bin codeg-mcp # رفيق MCP -cargo clippy --all-targets --features test-utils -- -D warnings +**Git.** عميل كامل، لا مجرد عرض للحالة: الإيداع والدفع، وتصفّح السجل مع حالة الدفع لكل إيداع، وإنشاء الفروع والدمج وإعادة الأساس والإخفاء وإعادة الضبط والمقارنة مع فرع آخر. وعند التعارض يُفتح محرّر دمج بثلاث لوحات تقبل فيه التغييرات كتلةً كتلة أو تكتب الحل بنفسك. أما أشجار العمل فتختصر العمل المتوازي إلى إجراء واحد — فرع جديد، ودليل خاص به، ومحادثة جديدة متجذّرة فيه، فيبني أسطول من الوكلاء ميزات مختلفة في الوقت نفسه دون أن يمسّ أحدهم ملفات الآخر. -# اختبارات Rust -cargo test --features test-utils # سطح المكتب (يشمل التكامل) -cargo test --no-default-features --bin codeg-server --lib # وضع الخادم -cargo insta review # قبول تحديثات لقطات المُحلِّل -``` +## ✨ أبرز المزايا -> نصيحة: عند توفّر بناء جديد لـ `codeg-mcp` ضمن `src-tauri/target/release/` وأردت توجيه `codeg-server` مُشغَّل يدويًا إليه دون إعادة التثبيت، صدِّر `CODEG_MCP_BIN=$(pwd)/src-tauri/target/release/codeg-mcp`. +- **[تجميع المحادثات](https://docs.codeg.app/guide/aggregation)** — استورد جلسات كل الوكلاء المدعومين إلى مساحة عمل موحّدة قابلة للبحث، وتابع أيًّا منها من حيث توقفت +- **[التعاون متعدد الوكلاء](https://docs.codeg.app/guide/multi-agent)** — اذكر أي وكيل بـ `@` لتفويضه: وكلاء فرعيون من أنواع مختلفة يعملون كجلسات مستقلة، بالتوازي، داخل مهمة واحدة +- **[مساحة العمل](https://docs.codeg.app/guide/workspace)** — حلقة هندسية كاملة بجوار الوكيل: شجرة الملفات، المحرّر والفروقات، تغييرات git، الإيداع، وطرفية مدمجة +- **[Git والـ worktrees](https://docs.codeg.app/guide/git)** — راجع التغييرات وأودعها، وأدر حسابات Git البعيدة، واعمل بالتوازي عبر تدفقات `git worktree` المدمجة +- **[قنوات الدردشة](https://docs.codeg.app/guide/chat-channels)** — قُد وكلاءك من Telegram وLark (Feishu) وiLink (Weixin): أنشئ المهام، ووافق على الأذونات، وتابع التحديثات لحظيًا +- **[الأتمتة](https://docs.codeg.app/guide/automations)** — احفظ إعدادًا كاملاً للمُحرِّر كمهمة أتمتة قابلة لإعادة الاستخدام تعمل بلا واجهة، وفق جدول cron أو عند الطلب +- **[مستندات Office](https://docs.codeg.app/guide/office)** — أنشئ وحلِّل وراجع وحرِّر ملفات `.docx` / `.xlsx` / `.pptx` عبر `officecli` المدمج، مع معاينة حية داخل التبويب +- **[البحث العلمي](https://docs.codeg.app/guide/research)** — مهارات بحثية مدمجة (توليد الفرضيات، تصميم التجارب، الإحصاء، التمثيل المرئي، التقييم النقدي، البحث في الأدبيات) يمكن لأي وكيل استدعاؤها +- **[مُنشئ المشروع](https://docs.codeg.app/guide/project-boot)** — أنشئ مشاريع جديدة بصريًا مع معاينة حية، ثم افتحها مباشرةً في مساحة العمل +- **[MCP](https://docs.codeg.app/guide/mcp) & [المهارات](https://docs.codeg.app/guide/skills)** — فحص الخوادم المحلية مع البحث والتثبيت من السجل، ومهارات تُدار على النطاق العام أو نطاق المشروع +- **[سطح المكتب والخادم وDocker](https://docs.codeg.app/getting-started/deployment)** — تطبيق سطح مكتب أصلي، أو خادم `codeg-server` مستقل تصل إليه من أي متصفح، أو `docker compose up` -### نشر الخادم +## 📦 التثبيت والتشغيل -يمكن تشغيل Codeg كخادم ويب مستقل بدون بيئة سطح مكتب. +**سطح المكتب** — نزّل المثبّت الخاص بـ macOS أو Windows أو Linux من [Releases](https://github.com/xintaofei/codeg/releases)، ثم اتبع [التثبيت](https://docs.codeg.app/getting-started/installation). -#### الخيار 1: التثبيت بسطر واحد (Linux / macOS) +**الخادم** — شغّل Codeg بلا واجهة وادخل إليه من أي متصفح: ```bash curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash -``` - -تثبيت إصدار محدد أو في دليل مخصص: - -```bash -curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash -s -- --version v0.5.2 --dir ~/.local/bin -``` - -ثم التشغيل: - -```bash codeg-server ``` -#### الخيار 2: التثبيت بسطر واحد (Windows PowerShell) - -```powershell -irm https://raw.githubusercontent.com/xintaofei/codeg/main/install.ps1 | iex -``` - -أو تثبيت إصدار محدد: - -```powershell -.\install.ps1 -Version v0.5.2 -``` - -#### الخيار 3: التنزيل من GitHub Releases - -الملفات التنفيذية المُعدّة مسبقًا (مع موارد الويب المضمّنة) متاحة في صفحة [Releases](https://github.com/xintaofei/codeg/releases): - -| المنصة | الملف | -| ----------- | ---------------------------------- | -| Linux x64 | `codeg-server-linux-x64.tar.gz` | -| Linux arm64 | `codeg-server-linux-arm64.tar.gz` | -| macOS x64 | `codeg-server-darwin-x64.tar.gz` | -| macOS arm64 | `codeg-server-darwin-arm64.tar.gz` | -| Windows x64 | `codeg-server-windows-x64.zip` | - -```bash -# مثال: التنزيل والاستخراج والتشغيل -tar xzf codeg-server-linux-x64.tar.gz -cd codeg-server-linux-x64 -CODEG_STATIC_DIR=./web ./codeg-server -``` - -> لعمليات النشر غير المُراقَبة، شغّله باستخدام `--supervise` حتى يُتراجَع تلقائيًا عن أي ترقية في المكان تفشل — راجع [التحديث في المكان](#التحديث-في-المكان). - -#### الخيار 4: Docker +**Docker** — الخادم نفسه، داخل حاوية واحدة: ```bash -# باستخدام Docker Compose (مُوصى به) -docker compose up -d - -# أو التشغيل مباشرة باستخدام Docker docker run -d -p 3080:3080 -v codeg-data:/data ghcr.io/xintaofei/codeg:latest - -# مع رمز مصادقة مخصص وتحميل مجلد المشروع -docker run -d -p 3080:3080 \ - -v codeg-data:/data \ - -v /path/to/projects:/projects \ - -e CODEG_TOKEN=your-secret-token \ - ghcr.io/xintaofei/codeg:latest ``` -تستخدم صورة Docker بناءً متعدد المراحل (Node.js + Rust → بيئة تشغيل Debian خفيفة) وتتضمن `git` و`ssh` لعمليات المستودعات. يتم تخزين البيانات بشكل دائم في وحدة التخزين `/data`. يمكنك اختياريًا تحميل مجلدات المشاريع للوصول إلى المستودعات المحلية من داخل الحاوية. - -#### الخيار 5: البناء من المصدر - -```bash -pnpm install && pnpm build # بناء الواجهة الأمامية -cd src-tauri -cargo build --release --bin codeg-server --no-default-features -cargo build --release --bin codeg-mcp --no-default-features # رفيق التفويض -CODEG_STATIC_DIR=../out ./target/release/codeg-server # يتم التقاط codeg-mcp بوصفه ملفًا شقيقًا -``` +يغطي [النشر](https://docs.codeg.app/getting-started/deployment) استخدام Compose والملفات التنفيذية الجاهزة والبناء من المصدر والتحديث في المكان؛ وتجد متغيرات البيئة في [الإعداد](https://docs.codeg.app/getting-started/configuration). ولبناء Codeg نفسه: [التطوير](https://docs.codeg.app/reference/development) و[البنية](https://docs.codeg.app/reference/architecture). -إذا احتفظت بالملفين التنفيذيين في دليلين منفصلين، فاضبط `CODEG_MCP_BIN=/مسار/مطلق/إلى/codeg-mcp` حتى يستطيع التشغيل العثور على الرفيق؛ بدون ذلك، يُعطَّل التفويض متعدد الوكلاء بصمت. +## 🔒 الخصوصية والأمان -#### التحديث في المكان - -يمكن للخادم تحديث نفسه من **الإعدادات ← تحديث البرنامج**: إذ يُنزّل الإصدار المُوقَّع الخاص بمنصّته، ويستبدل الملفات التنفيذية وموارد الويب على القرص، ثم يُعيد التشغيل — دون إعادة نشر يدوية. هذه الميزة متاحة على Linux/macOS فقط (مُعطَّلة على Windows). يُحتفَظ بالإصدار السابق كنسخة احتياطية، لذا تُتيح الشاشة نفسها إجراء **التراجع** للعودة إليه. - -**شغّله تحت المُشرِف للتراجع التلقائي.** ابدأ الخادم المستقل باستخدام `--supervise` كي تُعاد العملية المُرقّاة حديثًا تلقائيًا إلى الإصدار السابق إذا فشلت في الإقلاع ضمن نافذة التجربة: - -```bash -CODEG_STATIC_DIR=./web ./codeg-server --supervise -``` - -بدون `--supervise` لا يزال الخادم يُحدِّث نفسه في المكان (إذ يُعيد تنفيذ نفسه)، لكن الترقية تبقى بأفضل جهد ممكن: لا يوجد مُشرِف يتراجع تلقائيًا عن إصدار يعجز عن البدء. أما صورة Docker فتعمل أصلًا تحت المُشرِف. - -**ترقيات Docker تُغيِّر الحاوية لا الصورة.** تُعيد الترقية في المكان كتابة الملفات التنفيذية وموارد الويب داخل الطبقة القابلة للكتابة في الحاوية قيد التشغيل، فتوجد في تلك الحاوية وحدها. تبقى وحدة التخزين `/data` ثابتة، لكن الملفات المُرقّاة **لا تبقى**: إعادة إنشاء الحاوية — عبر `docker compose up --force-recreate` أو `docker run` جديد أو إعادة الإنشاء بعد `docker pull` — تبدأ من الصورة مجددًا وتُسقط الترقية في المكان. (تنفيذ `docker pull` وحده يُحدِّث الصورة المحلية فقط؛ ولا يحدث أي تراجع حتى يُعاد إنشاء الحاوية.) لجعل الترقية دائمة، ابنِ أو اسحب صورة بالإصدار الجديد وأعد إنشاء الحاوية منها. - -#### التكوين - -متغيرات البيئة: - -| المتغير | الافتراضي | الوصف | -| ------------------------------ | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `CODEG_PORT` | `3080` | منفذ HTTP | -| `CODEG_HOST` | `0.0.0.0` | عنوان الربط | -| `CODEG_TOKEN` | _(عشوائي)_ | رمز المصادقة (يُطبع في stderr عند البدء) | -| `CODEG_DATA_DIR` | `~/.local/share/codeg` | دليل قاعدة بيانات SQLite (والجذر أيضاً لـ `uploads/` و `pets/`) | -| `CODEG_STATIC_DIR` | `./web` أو `./out` | دليل التصدير الثابت لـ Next.js | -| `CODEG_MCP_BIN` | _(غير مُحدّد)_ | المسار المطلق لرفيق `codeg-mcp`. يتجاوز البحث الافتراضي (ملف شقيق للملف التنفيذي + `PATH`). استخدمه لعمليات البناء من المصدر أو التخطيطات المخصّصة التي يقع فيها الرفيق خارج دليل تثبيت الخادم. | -| `CODEG_SKIP_SIDECAR` | _(غير مُحدّد)_ | متغير راحة للواجهة الأمامية فقط لـ `pnpm tauri dev` / `pnpm tauri build` — عند `1` يتم تخطّي بناء sidecar الخاص بـ `codeg-mcp`. يُعطَّل التفويض في هذا البناء؛ ويجب ترك المتغير غير مُحدَّد للقطع الصالحة للشحن. | -| `CODEG_UPLOAD_MAX_TOTAL_BYTES` | _(غير مُحدّد)_ | حدّ صارم لإجمالي البايتات المقيمة تحت `/uploads/`. عدد بايتات عشري (مثلاً `10737418240` لـ 10 GiB). إذا كان غير مُحدّد أو `0` أو قيمة لا يمكن تحليلها فسيتم تعطيل الحدّ وطباعة سطر عند البدء حتى تكون الحالة مرئية. يُطبَّق الحدّ داخل عملية `codeg-server` واحدة — تحتاج عمليات النشر الموسَّعة أفقياً التي تتشارك حجم `uploads/` واحداً إلى تنسيق خارجي (قفل ملف، Redis، حصّة عبر بروكسي عكسي). | -| `CODEG_UPLOAD_QUOTA_STRICT` | _(غير مُحدّد)_ | عند كونه صحيحاً (`1` / `true` / `yes` / `on`)، يُلغي البدء برمز خروج 2 إذا كانت `CODEG_UPLOAD_MAX_TOTAL_BYTES` مضبوطة على قيمة لا يمكن تحليلها، بدلاً من المتابعة مع تحذير WARN. استخدم هذا حين تتطلب سياستك الأمنية أن «تكون الحصّة المُعدَّة فعّالة». | - -
- -
-

الهندسة المعمارية

- -```text -Next.js 16 (Static Export) + React 19 - | - | invoke() (desktop) / fetch() + WebSocket (web) - v - ┌─────────────────────────┐ - │ Transport Abstraction │ - │ (Tauri IPC or HTTP/WS) │ - └─────────────────────────┘ - | - v -┌─── Tauri Desktop ───┐ ┌─── codeg-server ───┐ -│ Tauri 2 Commands │ │ Axum HTTP + WS │ -│ (window management) │ │ (standalone mode) │ -└──────────┬───────────┘ └──────────┬──────────┘ - └──────────┬───────────────┘ - v - Shared Rust Core - |- AppState - |- ACP Manager - |- Parsers (conversation ingestion) - |- Chat Channels - |- Git / File Tree / Terminal - |- MCP marketplace + config - |- Office Tools (officecli) + Automations - |- SeaORM + SQLite - | - ┌───────┼───────┐ - v v v - Local Filesystem Git Chat Channels - / Git Repos Repos (Telegram, Lark, iLink) -``` - -
- -## الخصوصية والأمان - -- محلي أولاً بشكل افتراضي للتحليل والتخزين وعمليات المشروع -- الوصول إلى الشبكة يحدث فقط عند الإجراءات التي يبدأها المستخدم +- محلي أولاً بشكل افتراضي في التحليل والتخزين وعمليات المشروع — ولا يحدث أي وصول للشبكة إلا عبر إجراء تبدأه أنت +- وضعا الويب والخادم محميّان بمصادقة قائمة على الرموز - دعم بروكسي النظام لبيئات المؤسسات -- وضع خدمة الويب يستخدم مصادقة قائمة على الرموز -## المجتمع +التفاصيل في [الخصوصية والأمان](https://docs.codeg.app/reference/privacy). + +## 👥 المجتمع - امسح رمز QR أدناه للانضمام إلى مجموعة WeChat الخاصة بنا للنقاشات والملاحظات والتحديثات @@ -445,13 +143,13 @@ Next.js 16 (Static Export) + React 19 - شكراً لمجتمع [LinuxDO](https://linux.do) على دعمه -## شكر وتقدير +## 🙏 شكر وتقدير -- [ACP](https://agentclientprotocol.com) — بروتوكول Agent Client (ACP) هو الأساس الذي يمكّن Codeg من الاتصال بعدة وكلاء +- [Agent Client Protocol](https://agentclientprotocol.com) — الأساس الذي يمكّن Codeg من الاتصال بكل وكيل يدعمه - [Superpowers](https://github.com/obra/superpowers) — يُشغِّل وحدة مهارات الخبراء في Codeg - [OfficeCLI](https://github.com/iOfficeAI/OfficeCLI) — يُشغِّل سير عمل مستندات Office في Codeg - [scientific-agent-skills](https://github.com/K-Dense-AI/scientific-agent-skills) — يُشغِّل مهارات البحث العلمي في Codeg (مجموعة فرعية مرخّصة بموجب MIT) -## الترخيص +## 📜 الترخيص -Apache-2.0. راجع `LICENSE`. +Apache-2.0. راجع [LICENSE](../../LICENSE). diff --git a/docs/readme/README.de.md b/docs/readme/README.de.md index e43d6e6ed..185bf2900 100644 --- a/docs/readme/README.de.md +++ b/docs/readme/README.de.md @@ -1,10 +1,8 @@ # Codeg [![Release](https://img.shields.io/github/v/release/xintaofei/codeg)](https://github.com/xintaofei/codeg/releases) +[![Docs](https://img.shields.io/badge/docs-docs.codeg.app-3451b2)](https://docs.codeg.app) [![License](https://img.shields.io/github/license/xintaofei/codeg)](../../LICENSE) -[![Tauri](https://img.shields.io/badge/Tauri-2.x-24C8DB)](https://tauri.app/) -[![Next.js](https://img.shields.io/badge/Next.js-16-black)](https://nextjs.org/) -[![Docker](https://img.shields.io/badge/Docker-ready-2496ED)](../../Dockerfile)

English | @@ -19,11 +17,18 @@ العربية

-Codeg (Code Generation) ist ein Multi-Agent-Coding-Workspace. Es vereint mehrere Agenten (Claude Code, Codex CLI, OpenCode, Gemini CLI, OpenClaw, Cline, Hermes Agent, CodeBuddy, Kimi Code, Pi, Grok Build, Cursor usw.) in einem Arbeitsbereich, unterstützt Konversationsaggregation und Multi-Agent-Zusammenarbeit sowie Desktop-Installation und Server-/Docker-Bereitstellung. +Codeg (Code Generation) ist ein Multi-Agent-Coding-Workspace: Führe jeden KI-Coding-Agenten an einem Ort aus — und lass sie zusammenarbeiten. -![gallery](../images/gallery.svg) +Codeg bündelt die Sitzungen aller unterstützten Agenten-CLIs in einem durchsuchbaren Workspace, lässt einen Haupt-Agenten innerhalb einer Aufgabe an Sub-Agenten anderer Typen delegieren und läuft als Desktop-App, eigenständiger Server oder Docker-Container. -## Sponsoren +![Workspace](../images/workspace-light.png#gh-light-mode-only) +![Workspace](../images/workspace-dark.png#gh-dark-mode-only) + +## 📖 Dokumentation + +**Die vollständige Dokumentation liegt unter [docs.codeg.app](https://docs.codeg.app)** — [Erste Schritte](https://docs.codeg.app/getting-started/) · [Guide](https://docs.codeg.app/guide/) · [Referenz](https://docs.codeg.app/reference/) + +## 💖 Sponsoren
@@ -58,385 +63,78 @@ Codeg (Code Generation) ist ein Multi-Agent-Coding-Workspace. Es vereint mehrere > Möchten Sie Codeg-Sponsor werden? [Schreiben Sie uns gerne eine E-Mail.](mailto:itpkcn@gmail.com) -## Hauptoberfläche - -![Codeg Light](../images/main-light.png#gh-light-mode-only) -![Codeg Dark](../images/main-dark.png#gh-dark-mode-only) - -## Multi-Agent-Zusammenarbeit - -![Codeg Light](../images/collaboration-light.png#gh-light-mode-only) -![Codeg Dark](../images/collaboration-dark.png#gh-dark-mode-only) - -## Office-Workflow - -![Codeg Light](../images/office-light.png#gh-light-mode-only) -![Codeg Dark](../images/office-dark.png#gh-dark-mode-only) - -## Highlights - -- **Konversations-Aggregation** — Sitzungen aller unterstützten Agenten in einen einheitlichen Workspace importieren -- **Multi-Agent-Kollaboration** — innerhalb einer Sitzung delegiert der Haupt-Agent an Sub-Agenten unterschiedlicher Typen (z. B. Claude Code ruft Codex, Gemini auf), um eine Aufgabe gemeinsam zu erledigen, wobei jeder Sub-Agent als eigenständige Sitzung läuft -- Parallele Entwicklung mit integrierten `git worktree`-Abläufen -- **Projekt-Starter** — neue Projekte visuell erstellen mit Live-Vorschau -- **Office-Dokumente** — erstelle, analysiere, überprüfe und bearbeite .docx / .xlsx / .pptx-Dateien mit dem integrierten officecli-Toolset; Live-Vorschau in einer Datei-Registerkarte, die bei Agent-Bearbeitungen sofort aktualisiert wird -- **Wissenschaftliche Forschung** — gebündelte Wissenschafts-Skills (Hypothesengenerierung, Versuchsplanung, Statistik, Visualisierung, kritische Bewertung, Literaturrecherche), die jeder Agent aufrufen kann, pro Agent verwaltet -- **Automatisierungen** — speichere eine beliebige Composer-Konfiguration als wiederverwendbare Automatisierung, die headless per Cron-Zeitplan oder auf Abruf ausgeführt wird -- **Chat-Kanäle** — Telegram, Lark (Feishu), iLink (Weixin) und mehr mit Ihren Coding-Agenten verbinden für Echtzeit-Benachrichtigungen, vollständige Sitzungsinteraktion und Remote-Aufgabensteuerung -- MCP-Verwaltung (lokaler Scan + Registry-Suche/Installation) -- Skills-Verwaltung (global und projektbezogen) -- Git-Remote-Kontoverwaltung (GitHub und andere Git-Server) -- Webdienst-Modus — Zugriff auf Codeg über jeden Browser für Remote-Arbeit -- **Standalone-Server-Bereitstellung** — `codeg-server` auf jedem Linux/macOS-Server ausführen, Zugriff über den Browser -- **Docker-Unterstützung** — `docker compose up` oder `docker run`, mit benutzerdefiniertem Token/Port, Datenpersistenz und Projektverzeichnis-Mounts -- Laufzeit-Protokolle — integrierter Echtzeit-Protokollviewer mit Filterung und modulbezogenen Protokollstufen -- Integrierter Engineering-Kreislauf (Dateibaum, Diff, Git-Änderungen, Commit, Terminal) - -## Unterstützte Agenten - -| Agent | Umgebungsvariablen-Pfad | macOS / Linux Standard | Windows Standard | -| ------------ | ------------------------------------- | ------------------------------------- | ----------------------------------------------------- | -| Claude Code | `$CLAUDE_CONFIG_DIR/projects` | `~/.claude/projects` | `%USERPROFILE%\\.claude\\projects` | -| Codex CLI | `$CODEX_HOME/sessions` | `~/.codex/sessions` | `%USERPROFILE%\\.codex\\sessions` | -| OpenCode | `$XDG_DATA_HOME/opencode/opencode.db` | `~/.local/share/opencode/opencode.db` | `%USERPROFILE%\\.local\\share\\opencode\\opencode.db` | -| Gemini CLI | `$GEMINI_CLI_HOME/.gemini` | `~/.gemini` | `%USERPROFILE%\\.gemini` | -| OpenClaw | — | `~/.openclaw/agents` | `%USERPROFILE%\\.openclaw\\agents` | -| Cline | `$CLINE_DIR` | `~/.cline/data/tasks` | `%USERPROFILE%\\.cline\\data\\tasks` | -| Hermes Agent | `$HERMES_HOME/state.db` | `~/.hermes/state.db` | `%USERPROFILE%\\.hermes\\state.db` | -| CodeBuddy | `$CODEBUDDY_CONFIG_DIR/projects` | `~/.codebuddy/projects` | `%USERPROFILE%\\.codebuddy\\projects` | -| Kimi Code | `$KIMI_CODE_HOME/sessions` | `~/.kimi-code/sessions` | `%USERPROFILE%\\.kimi-code\\sessions` | -| Pi | `$PI_CODING_AGENT_SESSION_DIR` | `~/.pi/agent/sessions` | `%USERPROFILE%\\.pi\\agent\\sessions` | -| Grok Build | `$GROK_HOME/sessions` | `~/.grok/sessions` | `%USERPROFILE%\\.grok\\sessions` | -| Cursor | `$CURSOR_CONFIG_DIR/chats` | `~/.cursor/chats` | `%USERPROFILE%\\.cursor\\chats` | - -> Hinweis: Umgebungsvariablen haben Vorrang vor Fallback-Pfaden. - -
-

Projekt-Starter

- -Erstellen Sie neue Projekte visuell mit einer geteilten Oberfläche: links konfigurieren, rechts in Echtzeit Vorschau anzeigen. - -![Project Boot Light](../images/project-boot-light.png#gh-light-mode-only) -![Project Boot Dark](../images/project-boot-dark.png#gh-dark-mode-only) - -### Funktionen - -- **Visuelle Konfiguration** — Stil, Farbthema, Icon-Bibliothek, Schrift, Rahmenradius und mehr über Dropdowns auswählen; die Vorschau aktualisiert sich sofort -- **Live-Vorschau** — das gewählte Look & Feel wird in Echtzeit gerendert, bevor etwas erstellt wird -- **Ein-Klick-Erstellung** — klicken Sie auf „Projekt erstellen" und der Launcher führt `shadcn init` mit Ihrem Preset, Framework-Template (Next.js / Vite / React Router / Astro / Laravel) und Paketmanager (pnpm / npm / yarn / bun) aus -- **Paketmanager-Erkennung** — prüft automatisch, welche Paketmanager installiert sind und zeigt ihre Versionen an -- **Nahtlose Integration** — das neu erstellte Projekt wird sofort im Codeg-Workspace geöffnet - -Unterstützt derzeit **shadcn/ui**-Projekt-Scaffolding, mit einem Tab-basierten Design für zukünftige Projekttypen. - -
- -
-

Chat-Kanäle

- -Verbinden Sie Ihre bevorzugten Messaging-Apps — Telegram, Lark (Feishu), iLink (Weixin) und mehr — mit Ihren KI-Coding-Agenten. Erstellen Sie Aufgaben, senden Sie Folgenachrichten, genehmigen Sie Berechtigungen, setzen Sie Sitzungen fort und überwachen Sie die Aktivität direkt aus dem Chat — empfangen Sie Echtzeit-Antworten der Agenten mit Tool-Call-Details, Berechtigungsanfragen und Abschlusszusammenfassungen, ohne einen Browser zu öffnen. - -Telegram-Forum-Supergroups können außerdem den [Telegram topic mode](../chat-channels/telegram-topic-mode.md) verwenden, um jedes topic an eine eigene Codeg-Sitzung zu binden. - -### Unterstützte Kanäle - -| Kanal | Protokoll | Status | -| -------------- | --------------------------- | ---------- | -| Telegram | Bot API (HTTP Long-Polling) | Integriert | -| Lark (Feishu) | WebSocket + REST API | Integriert | -| iLink (Weixin) | WebSocket + REST API | Integriert | - -> Weitere Kanäle (Discord, Slack, DingTalk usw.) sind für zukünftige Releases geplant. - -
- -
-

Office-Dokumente

- -Arbeiten Sie mit Word-, Excel- und PowerPoint-Dateien als erstklassigen Workflow. Das integrierte **officecli**-Toolset ermöglicht es Ihren Agenten, .docx-, .xlsx- und .pptx-Dokumente zu erstellen, zu analysieren, zu korrigieren und zu bearbeiten — und das Ergebnis direkt in Codeg zu prüfen. - -### Funktionen - -- **Erstellen und Bearbeiten** — neue Dokumente generieren oder vorhandene .docx / .xlsx / .pptx-Dateien bearbeiten, einschließlich Diagramme, Tabellen und Formatierung -- **Analysieren und Korrigieren** — Dokumentstruktur prüfen, Formatierungsprobleme aufdecken und Inhalte korrigieren -- **Live-Vorschau** — öffnen Sie eine .docx / .xlsx / .pptx-Datei in einem Datei-Tab; sie wird inline gerendert und aktualisiert sich automatisch, wenn der Agent Änderungen vornimmt — unterstützt durch einen dauerhaft laufenden `officecli watch`-Server (mit Reverse-Proxy und Fähigkeits-Authentifizierung für Web- und Serverumgebungen) -- **Schnellaktionen** — die Willkommensseite bietet Tabs für Codierung, Office und Wissenschaftliche Forschung, die mit einem Klick den passenden Skill-Aufruf und eine Prompt-Vorlage in den Composer einfügen; nicht aktivierte Skills zeigen ein Schloss-Badge und verlinken zur Aktivierung -- **Office-Tools-Einstellungen** — eine dedizierte Einstellungsseite installiert `officecli` und verwaltet dessen Dokument-Skills über eine Skill×Agent-Matrix: beliebige (Skill, Agent)-Paare umschalten und Massenänderungen anwenden - -
- -
-

Wissenschaftliche Forschung

- -Verwandeln Sie jeden Agenten in einen rigorosen Forschungsassistenten. Codeg bündelt eine kuratierte Sammlung MIT-lizenzierter **wissenschaftlicher Forschungs-Skills** — von der Ideenfindung über die Analyse bis zur Ausarbeitung —, die sich in den gemeinsamen zentralen Skill-Speicher installieren und in beliebige von Ihnen ausgewählte Agenten einbinden lassen, genau wie die Experten- und Office-Toolsets. - -### Funktionen - -- **Kuratierte Skills** — Hypothesengenerierung, Versuchsplanung, statistische Power, statistische Analyse, explorative Datenanalyse, wissenschaftliche Visualisierung, kritische Bewertung, Peer-Review, Zitationsverwaltung, Scholar-Bewertung, Paper-Suche und KI-Schaubilder -- **Schnellaktionen** — der Tab „Wissenschaftliche Forschung" der Willkommensseite fügt mit einem Klick den passenden Skill-Aufruf und eine lokalisierte Prompt-Vorlage in den Composer ein -- **Wissenschafts-Einstellungen** — eine dedizierte Einstellungsseite verwaltet die Skills über eine Skill×Agent-Matrix, mit Badges, die Skills kennzeichnen, die einen API-Schlüssel oder eine Python-Umgebung benötigen - -
- -
-

Automatisierungen

- -Speichern Sie jede Composer-Konfiguration — Agent, Modell, Prompt, Arbeitsverzeichnis und Optionen — als wiederverwendbare **Automatisierung**, die ohne geöffnete Benutzeroberfläche ausgeführt wird. - -### Funktionen - -- **Einmal konfigurieren, immer wieder nutzen** — vollständige Composer-Konfiguration als benannte Automatisierung speichern -- **Geplant oder auf Abruf** — nach Cron-Zeitplan oder manuell starten -- **Headless-Ausführung** — Automatisierungen laufen im Hintergrund und erzeugen echte Sitzungen, die jederzeit im Workspace geöffnet werden können; nach dem Start kehrt die Oberfläche automatisch in den Workspace zurück - -
- -
-

Schnellstart

- -### Voraussetzungen - -- Node.js `>=22` (empfohlen) -- pnpm `>=10` -- Rust stable (2021 edition) -- Tauri-2-Build-Abhängigkeiten (nur Desktop-Modus) +## 🤖 Unterstützte Agenten -Linux-Beispiel (Debian/Ubuntu): +Claude Code · Codex · Gemini · OpenClaw · OpenCode · Cline · Hermes · CodeBuddy · Kimi Code · Pi · Grok · Cursor -```bash -sudo apt-get update -sudo apt-get install -y \ - libwebkit2gtk-4.1-dev \ - libayatana-appindicator3-dev \ - librsvg2-dev \ - patchelf -``` - -### Binärdateien - -Codeg liefert drei Rust-Binärdateien aus einem einzigen Workspace: - -| Binärdatei | Rolle | Build | -| -------------- | -------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | -| `codeg` | Tauri-Desktop-App (Fenster, Tray, Updater) | `pnpm tauri build` (Release) / `pnpm tauri dev` (Dev) | -| `codeg-server` | Standalone HTTP- + WebSocket-Server für Browser-/Headless-Deployments | `pnpm server:build` / `pnpm server:dev` | -| `codeg-mcp` | Pro-Launch-stdio-MCP-Begleiter, der Agent-CLIs das Werkzeug `delegate_to_agent` bereitstellt (Multi-Agent-Kollaboration) | `pnpm tauri:prepare-sidecars` (automatisch durch `tauri dev` / `tauri build`) | - -`codeg-mcp` muss zur Laufzeit neben seiner übergeordneten Binärdatei liegen — Installer, das Docker-Image und der Tauri-Sidecar-Bundler legen ihn alle neben `codeg` / `codeg-server` ab. Quellcode-Builds und benutzerdefinierte Layouts können die Suche mit der Umgebungsvariablen `CODEG_MCP_BIN=/abs/pfad/codeg-mcp` überschreiben. Fehlt der Begleiter, wird die Delegation übersprungen (eine einzige Warnung wird protokolliert) und die restliche Agenten-Sitzung funktioniert weiter. +Die meisten davon installiert, fixiert und aktualisiert Codeg für dich. Die vollständige Liste, die Laufzeit-Anforderungen jedes Agenten und den Ablageort seiner Sitzungen findest du unter [Unterstützte Agenten](https://docs.codeg.app/guide/supported-agents). -### Entwicklung +## 🤝 Multi-Agent-Zusammenarbeit -```bash -pnpm install - -# Nur Frontend (Next.js-Dev-Server, kein Rust) -pnpm dev +Multi-Agent-Zusammenarbeit, reduziert auf einen Tastendruck: `@` tippen, Agenten auswählen, absenden. Um die Orchestrierung kümmert sich Codeg — es startet jeden erwähnten Agenten als eigene Sitzung, übergibt die Aufgabe und streamt die Arbeit zurück in den Thread, in dem du ohnehin bist. Erwähne zwei, und sie laufen nebeneinander: Claude Code schreibt, Codex prüft. Kein Kontextwechsel, kein Copy-and-paste zwischen Terminals. -# Frontend-Statikexport nach out/ -pnpm build +![Eine Aufgabe wird aus einer einzigen Codeg-Unterhaltung an Sub-Agenten delegiert](../images/collaboration-light.gif#gh-light-mode-only) +![Eine Aufgabe wird aus einer einzigen Codeg-Unterhaltung an Sub-Agenten delegiert](../images/collaboration-dark.gif#gh-dark-mode-only) -# Vollständige Desktop-App (Tauri + Next.js, baut codeg-mcp-Sidecar automatisch) -pnpm tauri dev +## 📄 Office-Dokumente -# Desktop-Release-Build (bündelt codeg-mcp als externalBin) -pnpm tauri build +Bitte um ein Deck, einen Bericht oder eine Arbeitsmappe, und der Agent baut eine echte `.pptx` / `.docx` / `.xlsx` — während der rechte Bereich sie live rendert. Jede Änderung landet von selbst in der Vorschau: Folien füllen sich, Tabellen nehmen Gestalt an, Zahlen landen in den Zellen. Folie 4 gefällt nicht? Sag es in der nächsten Nachricht — der Agent bearbeitet dieselbe Datei an Ort und Stelle, die Vorschau zieht nach. Kein Export, keine externe Office-App, kein Verlassen von Codeg. -# Standalone-Server (kein Tauri/GUI erforderlich) -pnpm server:dev -pnpm server:build # Release-Binary unter src-tauri/target/release/codeg-server +![Ein Agent bearbeitet ein Office-Dokument neben dessen Live-Vorschau](../images/office-light.png#gh-light-mode-only) +![Ein Agent bearbeitet ein Office-Dokument neben dessen Live-Vorschau](../images/office-dark.png#gh-dark-mode-only) -# codeg-mcp-Begleiter explizit bauen (für das Host-Triple) -pnpm tauri:prepare-sidecars # Ausgabe: src-tauri/binaries/codeg-mcp- +## 💻 Workspace -# Sidecar-Vorbereitung überspringen, wenn am Frontend gearbeitet wird und keine Delegation benötigt wird -CODEG_SKIP_SIDECAR=1 pnpm tauri dev +Ein Workspace, alle Agenten. Egal welcher gerade arbeitet — Claude Code, Codex, Cursor —, er tut es im selben Editor, mit denselben Live-Diffs und demselben Git-Client. Und was dabei entsteht, sind echte Dateien in deinem Repository, die sich vor deinen Augen verändern. -# Lint -pnpm eslint . +**Sitzungen.** Hol dir die Historie, die du schon hast: vergangene Sitzungen aller installierten Agenten, mit einem Klick importiert und dort fortsetzbar, wo du aufgehört hast. Einmal drin, bleiben sie keine getrennten Silos — erwähne eine alte Sitzung mit `@`, und der Agent, mit dem du gerade sprichst, kann sie lesen, auch wenn ein anderer Agent sie geschrieben hat. So macht der heutige Codex-Lauf da weiter, wo die Claude-Code-Sitzung von letzter Woche aufgehört hat. -# Frontend-Tests (vitest) -pnpm test -pnpm test:watch -pnpm test:coverage +**Dateien.** Die Änderungen des Agenten erscheinen als Diffs neben der Unterhaltung, sobald sie landen. Öffne jede Datei in einem echten Editor mit Syntaxhervorhebung, schick eine Datei — oder nur eine Auswahl — mit `⌘L` direkt an den Agenten, und zeig dir Markdown, HTML, Bilder und Office-Dokumente in derselben Ansicht in der Vorschau an. -# Rust-Prüfungen (in src-tauri/ ausführen) -cargo check # Desktop (Standard-Features) -cargo check --no-default-features --bin codeg-server # Server-Modus -cargo check --no-default-features --bin codeg-mcp # MCP-Begleiter -cargo clippy --all-targets --features test-utils -- -D warnings +**Git.** Ein vollwertiger Client, keine Statusanzeige: committen und pushen, die Historie mit dem Push-Status jedes Commits durchgehen, Branches anlegen, mergen, rebasen, stashen, zurücksetzen oder gegen einen anderen Branch diffen. Konflikte öffnen einen dreispaltigen Merge-Editor, in dem du Hunk für Hunk übernimmst oder die Lösung selbst tippst. Und Worktrees machen paralleles Arbeiten zu einer einzigen Aktion — ein neuer Branch, ein eigenes Verzeichnis und eine frische Unterhaltung darin, sodass eine ganze Flotte von Agenten gleichzeitig an verschiedenen Features baut, ohne einander in die Quere zu kommen. -# Rust-Tests -cargo test --features test-utils # Desktop (inkl. Integration) -cargo test --no-default-features --bin codeg-server --lib # Server-Modus -cargo insta review # Parser-Snapshot-Updates akzeptieren -``` +## ✨ Highlights -> Tipp: Wenn unter `src-tauri/target/release/` ein frischer `codeg-mcp`-Build vorliegt und Sie einen manuell gestarteten `codeg-server` darauf zeigen lassen wollen, ohne ihn neu zu installieren, exportieren Sie `CODEG_MCP_BIN=$(pwd)/src-tauri/target/release/codeg-mcp`. +- **[Sitzungs-Aggregation](https://docs.codeg.app/guide/aggregation)** — importiert Sitzungen aller unterstützten Agenten in einen einheitlichen, durchsuchbaren Workspace — und du machst dort weiter, wo du aufgehört hast +- **[Multi-Agent-Zusammenarbeit](https://docs.codeg.app/guide/multi-agent)** — per `@`-Erwähnung an jeden Agenten delegieren: Sub-Agenten unterschiedlicher Typen laufen als eigene Sitzungen, parallel, innerhalb einer Aufgabe +- **[Der Workspace](https://docs.codeg.app/guide/workspace)** — der komplette Engineering-Loop direkt neben dem Agenten: Dateibaum, Editor und Diff, Git-Änderungen, Commit und ein eingebettetes Terminal +- **[Git & Worktrees](https://docs.codeg.app/guide/git)** — Änderungen prüfen und committen, Git-Remote-Konten verwalten und mit integrierten `git worktree`-Abläufen parallel arbeiten +- **[Chat-Kanäle](https://docs.codeg.app/guide/chat-channels)** — steuere deine Agenten aus Telegram, Lark (Feishu) und iLink (Weixin): Aufgaben anlegen, Berechtigungen freigeben, Live-Updates erhalten +- **[Automatisierungen](https://docs.codeg.app/guide/automations)** — einen fertig konfigurierten Composer als wiederverwendbare Automatisierung sichern und headless per Cron-Zeitplan oder auf Zuruf ausführen +- **[Office-Dokumente](https://docs.codeg.app/guide/office)** — `.docx` / `.xlsx` / `.pptx` mit dem mitgelieferten `officecli` erstellen, analysieren, korrigieren und bearbeiten — mit Live-Vorschau im Tab +- **[Wissenschaftliche Recherche](https://docs.codeg.app/guide/research)** — mitgelieferte Research-Skills (Hypothesenbildung, Versuchsplanung, Statistik, Visualisierung, kritische Bewertung, Literatursuche), die jeder Agent aufrufen kann +- **[Project Boot](https://docs.codeg.app/guide/project-boot)** — neue Projekte visuell aufsetzen, mit Live-Vorschau, und direkt im Workspace öffnen +- **[MCP](https://docs.codeg.app/guide/mcp) & [Skills](https://docs.codeg.app/guide/skills)** — lokaler Server-Scan plus Suche/Installation aus der Registry, Skills global oder pro Projekt verwaltet +- **[Desktop, Server & Docker](https://docs.codeg.app/getting-started/deployment)** — eine native Desktop-App, ein eigenständiger `codeg-server` für den Browser oder `docker compose up` -### Server-Bereitstellung +## 📦 Installation & Betrieb -Codeg kann als eigenständiger Webserver ohne Desktop-Umgebung betrieben werden. +**Desktop** — Lade den Installer für macOS, Windows oder Linux aus den [Releases](https://github.com/xintaofei/codeg/releases) und folge der [Installation](https://docs.codeg.app/getting-started/installation). -#### Option 1: Ein-Zeilen-Installation (Linux / macOS) +**Server** — Codeg headless betreiben und aus jedem Browser erreichen: ```bash curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash -``` - -Eine bestimmte Version oder in ein benutzerdefiniertes Verzeichnis installieren: - -```bash -curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash -s -- --version v0.5.2 --dir ~/.local/bin -``` - -Dann ausführen: - -```bash codeg-server ``` -#### Option 2: Ein-Zeilen-Installation (Windows PowerShell) - -```powershell -irm https://raw.githubusercontent.com/xintaofei/codeg/main/install.ps1 | iex -``` - -Oder eine bestimmte Version installieren: - -```powershell -.\install.ps1 -Version v0.5.2 -``` - -#### Option 3: Von GitHub Releases herunterladen - -Vorkompilierte Binärdateien (mit gebündelten Web-Assets) sind auf der [Releases](https://github.com/xintaofei/codeg/releases)-Seite verfügbar: - -| Plattform | Datei | -| ----------- | ---------------------------------- | -| Linux x64 | `codeg-server-linux-x64.tar.gz` | -| Linux arm64 | `codeg-server-linux-arm64.tar.gz` | -| macOS x64 | `codeg-server-darwin-x64.tar.gz` | -| macOS arm64 | `codeg-server-darwin-arm64.tar.gz` | -| Windows x64 | `codeg-server-windows-x64.zip` | +**Docker** — derselbe Server, in einem Container: ```bash -# Beispiel: Herunterladen, Entpacken und Ausführen -tar xzf codeg-server-linux-x64.tar.gz -cd codeg-server-linux-x64 -CODEG_STATIC_DIR=./web ./codeg-server -``` - -> Für unbeaufsichtigte Deployments starten Sie ihn mit `--supervise`, damit ein fehlgeschlagenes In-Place-Upgrade automatisch zurückgesetzt wird — siehe [In-Place-Updates](#in-place-updates). - -#### Option 4: Docker - -```bash -# Mit Docker Compose (empfohlen) -docker compose up -d - -# Oder direkt mit Docker ausführen docker run -d -p 3080:3080 -v codeg-data:/data ghcr.io/xintaofei/codeg:latest - -# Mit benutzerdefiniertem Token und Projektverzeichnis-Mount -docker run -d -p 3080:3080 \ - -v codeg-data:/data \ - -v /path/to/projects:/projects \ - -e CODEG_TOKEN=your-secret-token \ - ghcr.io/xintaofei/codeg:latest -``` - -Das Docker-Image verwendet einen Multi-Stage-Build (Node.js + Rust → schlanke Debian-Laufzeitumgebung) und enthält `git` und `ssh` für Repository-Operationen. Daten werden im `/data`-Volume persistent gespeichert. Optional können Projektverzeichnisse gemountet werden, um aus dem Container auf lokale Repositories zuzugreifen. - -#### Option 5: Aus Quellcode kompilieren - -```bash -pnpm install && pnpm build # Frontend kompilieren -cd src-tauri -cargo build --release --bin codeg-server --no-default-features -cargo build --release --bin codeg-mcp --no-default-features # Delegations-Begleiter -CODEG_STATIC_DIR=../out ./target/release/codeg-server # codeg-mcp wird als Geschwisterdatei erkannt ``` -Wenn Sie die beiden Binärdateien in getrennten Verzeichnissen halten, setzen Sie `CODEG_MCP_BIN=/abs/pfad/zu/codeg-mcp`, damit die Laufzeit den Begleiter dennoch findet; ohne diese Variable wird die Multi-Agent-Delegation stillschweigend deaktiviert. - -#### In-Place-Updates - -Der Server kann sich selbst über **Einstellungen → Softwareupdate** aktualisieren: Er lädt das signierte Release für seine Plattform herunter, tauscht die Binärdateien und Web-Assets auf der Festplatte aus und startet neu — keine manuelle erneute Bereitstellung. Dies ist nur unter Linux/macOS verfügbar (unter Windows deaktiviert). Die vorherige Version wird als Sicherung aufbewahrt, sodass dieselbe Seite eine **Zurücksetzen**-Aktion anbietet, um zu ihr zurückzukehren. - -**Für automatisches Zurücksetzen unter dem Supervisor ausführen.** Starten Sie den Standalone-Server mit `--supervise`, sodass ein frisch aktualisierter Prozess, der innerhalb des Testfensters nicht startet, automatisch auf die vorherige Version zurückgesetzt wird: - -```bash -CODEG_STATIC_DIR=./web ./codeg-server --supervise -``` - -Ohne `--supervise` aktualisiert sich der Server dennoch an Ort und Stelle (er führt sich selbst per re-exec neu aus), doch das Upgrade erfolgt nach dem Best-Effort-Prinzip: Es gibt keinen Supervisor, der eine Version, die nicht startet, automatisch zurücksetzt. Das Docker-Image läuft bereits unter dem Supervisor. - -**Docker-Upgrades verändern den Container, nicht das Image.** Ein In-Place-Upgrade überschreibt die Binärdateien und Web-Assets in der beschreibbaren Schicht des laufenden Containers, sodass sie nur in diesem Container existieren. Das `/data`-Volume bleibt erhalten, die aktualisierten Dateien jedoch **nicht**: Beim Neuerstellen des Containers — `docker compose up --force-recreate`, ein frisches `docker run` oder ein Neuerstellen nach einem `docker pull` — wird erneut vom Image ausgegangen und das In-Place-Upgrade verworfen. (Ein `docker pull` allein aktualisiert nur das lokale Image; nichts wird zurückgesetzt, bevor der Container neu erstellt wird.) Um ein Upgrade dauerhaft zu machen, bauen oder ziehen Sie ein Image mit der neuen Version und erstellen den Container daraus neu. - -#### Konfiguration - -Umgebungsvariablen: - -| Variable | Standardwert | Beschreibung | -| ------------------------------ | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `CODEG_PORT` | `3080` | HTTP-Port | -| `CODEG_HOST` | `0.0.0.0` | Bind-Adresse | -| `CODEG_TOKEN` | _(zufällig)_ | Authentifizierungstoken (wird beim Start auf stderr ausgegeben) | -| `CODEG_DATA_DIR` | `~/.local/share/codeg` | SQLite-Datenbankverzeichnis (auch Wurzel für `uploads/`, `pets/`) | -| `CODEG_STATIC_DIR` | `./web` oder `./out` | Next.js-Statikexport-Verzeichnis | -| `CODEG_MCP_BIN` | _(nicht gesetzt)_ | Absoluter Pfad zum `codeg-mcp`-Begleiter. Überschreibt die Standardsuche (Geschwisterdatei der ausführbaren Datei + `PATH`). Verwenden Sie dies für Quellcode-Builds oder benutzerdefinierte Layouts, bei denen der Begleiter außerhalb des Installationsverzeichnisses des Servers liegt. | -| `CODEG_SKIP_SIDECAR` | _(nicht gesetzt)_ | Frontend-only Komfortvariable für `pnpm tauri dev` / `pnpm tauri build` — bei `1` wird der Build des `codeg-mcp`-Sidecars übersprungen. Die Delegation ist in diesem Build deaktiviert; produktionsreife Artefakte dürfen diese Variable nicht gesetzt haben. | -| `CODEG_UPLOAD_MAX_TOTAL_BYTES` | _(nicht gesetzt)_ | Harte Obergrenze für die Gesamtzahl an Bytes unter `/uploads/`. Dezimaler Byte-Wert (z. B. `10737418240` für 10 GiB). Nicht gesetzt, `0` oder ein nicht parsbarer Wert deaktiviert das Limit und gibt eine Startzeile aus, damit der Zustand sichtbar ist. Das Limit wird innerhalb eines einzelnen `codeg-server`-Prozesses durchgesetzt — horizontal skalierte Deployments, die sich ein `uploads/`-Volume teilen, benötigen externe Koordination (Datei-Lock, Redis, Reverse-Proxy-Quota). | -| `CODEG_UPLOAD_QUOTA_STRICT` | _(nicht gesetzt)_ | Wenn wahr (`1` / `true` / `yes` / `on`), wird der Start mit Exit-Code 2 abgebrochen, falls `CODEG_UPLOAD_MAX_TOTAL_BYTES` auf einen nicht parsbaren Wert gesetzt ist, statt mit einer WARN fail-open zu starten. Verwenden Sie dies, wenn Ihre Sicherheitsrichtlinie verlangt, dass „die konfigurierte Quota wirksam sein muss". | - -
- -
-

Architektur

- -```text -Next.js 16 (Static Export) + React 19 - | - | invoke() (desktop) / fetch() + WebSocket (web) - v - ┌─────────────────────────┐ - │ Transport Abstraction │ - │ (Tauri IPC or HTTP/WS) │ - └─────────────────────────┘ - | - v -┌─── Tauri Desktop ───┐ ┌─── codeg-server ───┐ -│ Tauri 2 Commands │ │ Axum HTTP + WS │ -│ (window management) │ │ (standalone mode) │ -└──────────┬───────────┘ └──────────┬──────────┘ - └──────────┬───────────────┘ - v - Shared Rust Core - |- AppState - |- ACP Manager - |- Parsers (conversation ingestion) - |- Chat Channels - |- Git / File Tree / Terminal - |- MCP marketplace + config - |- Office Tools (officecli) + Automations - |- SeaORM + SQLite - | - ┌───────┼───────┐ - v v v - Local Filesystem Git Chat Channels - / Git Repos Repos (Telegram, Lark, iLink) -``` +Compose, vorgebaute Binaries, Builds aus dem Quellcode und In-place-Updates stehen unter [Deployment](https://docs.codeg.app/getting-started/deployment); Umgebungsvariablen unter [Konfiguration](https://docs.codeg.app/getting-started/configuration). Codeg selbst bauen: [Entwicklung](https://docs.codeg.app/reference/development) und [Architektur](https://docs.codeg.app/reference/architecture). -
+## 🔒 Datenschutz und Sicherheit -## Datenschutz und Sicherheit +- Standardmäßig local-first bei Parsing, Speicherung und Projektoperationen — Netzwerkzugriffe passieren nur bei von dir ausgelösten Aktionen +- Web- und Server-Modus sind durch Token-basierte Authentifizierung geschützt +- System-Proxy-Unterstützung für Unternehmensumgebungen -- Standardmäßig lokal für Analyse, Speicherung und Projektoperationen -- Netzwerkzugriff erfolgt nur bei benutzergesteuerten Aktionen -- Systemproxy-Unterstützung für Unternehmensumgebungen -- Der Webdienst-Modus verwendet tokenbasierte Authentifizierung +Details unter [Datenschutz und Sicherheit](https://docs.codeg.app/reference/privacy). -## Community +## 👥 Community - Scannen Sie den unten stehenden QR-Code, um unserer WeChat-Gruppe für Diskussionen, Feedback und Updates beizutreten @@ -445,13 +143,13 @@ Next.js 16 (Static Export) + React 19 - Danke an die [LinuxDO](https://linux.do)-Community für ihre Unterstützung -## Danksagungen +## 🙏 Danksagungen -- [ACP](https://agentclientprotocol.com) — das Agent Client Protocol (ACP) ist die Grundlage, die es Codeg ermöglicht, sich mit mehreren Agenten zu verbinden +- [Agent Client Protocol](https://agentclientprotocol.com) — die Grundlage, auf der Codeg sich mit jedem unterstützten Agenten verbindet - [Superpowers](https://github.com/obra/superpowers) — unterstützt das Experten-Skills-Modul von Codeg - [OfficeCLI](https://github.com/iOfficeAI/OfficeCLI) — unterstützt den Office-Dokument-Workflow von Codeg - [scientific-agent-skills](https://github.com/K-Dense-AI/scientific-agent-skills) — unterstützt die wissenschaftlichen Forschungs-Skills von Codeg (MIT-lizenzierte Teilmenge) -## Lizenz +## 📜 Lizenz -Apache-2.0. Siehe `LICENSE`. +Apache-2.0. Siehe [LICENSE](../../LICENSE). diff --git a/docs/readme/README.es.md b/docs/readme/README.es.md index 6e1a8d645..8314b7740 100644 --- a/docs/readme/README.es.md +++ b/docs/readme/README.es.md @@ -1,10 +1,8 @@ # Codeg [![Release](https://img.shields.io/github/v/release/xintaofei/codeg)](https://github.com/xintaofei/codeg/releases) +[![Docs](https://img.shields.io/badge/docs-docs.codeg.app-3451b2)](https://docs.codeg.app) [![License](https://img.shields.io/github/license/xintaofei/codeg)](../../LICENSE) -[![Tauri](https://img.shields.io/badge/Tauri-2.x-24C8DB)](https://tauri.app/) -[![Next.js](https://img.shields.io/badge/Next.js-16-black)](https://nextjs.org/) -[![Docker](https://img.shields.io/badge/Docker-ready-2496ED)](../../Dockerfile)

English | @@ -19,11 +17,18 @@ العربية

-Codeg (Code Generation) es un espacio de trabajo de codificación multiagente. Unifica varios agentes (Claude Code, Codex CLI, OpenCode, Gemini CLI, OpenClaw, Cline, Hermes Agent, CodeBuddy, Kimi Code, Pi, Grok Build, Cursor, etc.) en un único espacio de trabajo, admite agregación de conversaciones y colaboración multiagente, y permite instalación de escritorio y despliegue en servidor/Docker. +Codeg (Code Generation) es un espacio de trabajo de programación multiagente: ejecuta todos tus agentes de IA en un mismo lugar y deja que trabajen juntos. -![gallery](../images/gallery.svg) +Reúne las sesiones de todas las CLI de agentes compatibles en un único espacio de trabajo con búsqueda, permite que un agente principal delegue en subagentes de otros tipos dentro de una misma tarea, y funciona como aplicación de escritorio, servidor independiente o contenedor Docker. -## Patrocinadores +![Espacio de trabajo](../images/workspace-light.png#gh-light-mode-only) +![Espacio de trabajo](../images/workspace-dark.png#gh-dark-mode-only) + +## 📖 Documentación + +**La documentación completa está en [docs.codeg.app](https://docs.codeg.app)** — [Primeros pasos](https://docs.codeg.app/getting-started/) · [Guía](https://docs.codeg.app/guide/) · [Referencia](https://docs.codeg.app/reference/) + +## 💖 Patrocinadores
@@ -58,385 +63,78 @@ Codeg (Code Generation) es un espacio de trabajo de codificación multiagente. U > ¿Quieres convertirte en patrocinador de Codeg? [Contáctanos por correo electrónico.](mailto:itpkcn@gmail.com) -## Interfaz principal - -![Codeg Light](../images/main-light.png#gh-light-mode-only) -![Codeg Dark](../images/main-dark.png#gh-dark-mode-only) - -## Colaboración Multi-Agente - -![Codeg Light](../images/collaboration-light.png#gh-light-mode-only) -![Codeg Dark](../images/collaboration-dark.png#gh-dark-mode-only) - -## Flujo de trabajo de Office - -![Codeg Light](../images/office-light.png#gh-light-mode-only) -![Codeg Dark](../images/office-dark.png#gh-dark-mode-only) - -## Puntos destacados - -- **Agregación de conversaciones** — importa las sesiones de todos los agentes compatibles en un espacio de trabajo unificado -- **Colaboración multi-agente** — dentro de una misma sesión, el agente principal delega en sub-agentes de distintos tipos (p. ej. Claude Code llamando a Codex, Gemini) para completar una tarea de forma conjunta, ejecutándose cada uno como una sesión independiente -- Desarrollo paralelo con flujos integrados de `git worktree` -- **Inicio de Proyecto** — crea nuevos proyectos visualmente con vista previa en tiempo real -- **Documentos Office** — crea, analiza, revisa y edita archivos .docx / .xlsx / .pptx con el toolset officecli integrado; vista previa en tiempo real en pestaña de archivo que se actualiza mientras el agente edita -- **Investigación científica** — habilidades científicas integradas (generación de hipótesis, diseño experimental, estadística, visualización, evaluación crítica, búsqueda bibliográfica) que cualquier agente puede invocar, gestionadas por agente -- **Automatizaciones** — guarda cualquier configuración del compositor como automatización reutilizable que se ejecuta de forma desatendida según cron o bajo demanda -- **Canales de Chat** — conecta Telegram, Lark (Feishu), iLink (Weixin) y más a tus agentes de codificación para notificaciones en tiempo real, interacción completa con sesiones y control remoto de tareas -- Gestión de MCP (escaneo local + búsqueda/instalación desde registro) -- Gestión de Skills (ámbito global y por proyecto) -- Gestión de cuentas remotas de Git (GitHub y otros servidores Git) -- Modo de servicio web — accede a Codeg desde cualquier navegador para trabajo remoto -- **Despliegue como servidor independiente** — ejecuta `codeg-server` en cualquier servidor Linux/macOS, accede desde el navegador -- **Soporte Docker** — `docker compose up` o `docker run`, con token/puerto personalizables, persistencia de datos y montaje de directorios de proyecto -- Registros de ejecución — visor de registros en tiempo real integrado con filtrado y niveles de registro por módulo -- Ciclo de ingeniería integrado (árbol de archivos, diff, cambios git, commit, terminal) - -## Agentes compatibles - -| Agente | Ruta de variable de entorno | Ruta por defecto en macOS / Linux | Ruta por defecto en Windows | -| ------------ | ------------------------------------- | ------------------------------------- | ----------------------------------------------------- | -| Claude Code | `$CLAUDE_CONFIG_DIR/projects` | `~/.claude/projects` | `%USERPROFILE%\\.claude\\projects` | -| Codex CLI | `$CODEX_HOME/sessions` | `~/.codex/sessions` | `%USERPROFILE%\\.codex\\sessions` | -| OpenCode | `$XDG_DATA_HOME/opencode/opencode.db` | `~/.local/share/opencode/opencode.db` | `%USERPROFILE%\\.local\\share\\opencode\\opencode.db` | -| Gemini CLI | `$GEMINI_CLI_HOME/.gemini` | `~/.gemini` | `%USERPROFILE%\\.gemini` | -| OpenClaw | — | `~/.openclaw/agents` | `%USERPROFILE%\\.openclaw\\agents` | -| Cline | `$CLINE_DIR` | `~/.cline/data/tasks` | `%USERPROFILE%\\.cline\\data\\tasks` | -| Hermes Agent | `$HERMES_HOME/state.db` | `~/.hermes/state.db` | `%USERPROFILE%\\.hermes\\state.db` | -| CodeBuddy | `$CODEBUDDY_CONFIG_DIR/projects` | `~/.codebuddy/projects` | `%USERPROFILE%\\.codebuddy\\projects` | -| Kimi Code | `$KIMI_CODE_HOME/sessions` | `~/.kimi-code/sessions` | `%USERPROFILE%\\.kimi-code\\sessions` | -| Pi | `$PI_CODING_AGENT_SESSION_DIR` | `~/.pi/agent/sessions` | `%USERPROFILE%\\.pi\\agent\\sessions` | -| Grok Build | `$GROK_HOME/sessions` | `~/.grok/sessions` | `%USERPROFILE%\\.grok\\sessions` | -| Cursor | `$CURSOR_CONFIG_DIR/chats` | `~/.cursor/chats` | `%USERPROFILE%\\.cursor\\chats` | - -> Nota: las variables de entorno tienen prioridad sobre las rutas de respaldo. - -
-

Inicio de Proyecto

- -Crea nuevos proyectos visualmente con una interfaz de panel dividido: configura a la izquierda, vista previa en tiempo real a la derecha. - -![Project Boot Light](../images/project-boot-light.png#gh-light-mode-only) -![Project Boot Dark](../images/project-boot-dark.png#gh-dark-mode-only) - -### Qué ofrece - -- **Configuración visual** — selecciona estilo, tema de color, biblioteca de iconos, fuente, radio de borde y más desde menús desplegables; la vista previa se actualiza instantáneamente -- **Vista previa en vivo** — visualiza el aspecto elegido renderizado en tiempo real antes de crear nada -- **Creación con un clic** — presiona "Crear proyecto" y el launcher ejecuta `shadcn init` con tu preset, plantilla de framework (Next.js / Vite / React Router / Astro / Laravel) y gestor de paquetes (pnpm / npm / yarn / bun) -- **Detección de gestores de paquetes** — verifica automáticamente qué gestores están instalados y muestra sus versiones -- **Integración fluida** — el proyecto recién creado se abre directamente en el workspace de Codeg - -Actualmente soporta scaffolding de proyectos **shadcn/ui**, con un diseño basado en pestañas preparado para más tipos de proyectos en el futuro. - -
- -
-

Canales de Chat

- -Conecta tus aplicaciones de mensajería favoritas — Telegram, Lark (Feishu), iLink (Weixin) y más — a tus agentes de codificación IA. Crea tareas, envía mensajes de seguimiento, aprueba permisos, reanuda sesiones y monitorea la actividad directamente desde el chat — recibe respuestas del agente en tiempo real con detalles de llamadas a herramientas, solicitudes de permisos y resúmenes de finalización sin necesidad de abrir un navegador. - -Los supergrupos de foro de Telegram también pueden usar [Telegram topic mode](../chat-channels/telegram-topic-mode.md) para vincular cada topic a una sesión de Codeg independiente. - -### Canales soportados - -| Canal | Protocolo | Estado | -| -------------- | --------------------------- | --------- | -| Telegram | Bot API (HTTP long-polling) | Integrado | -| Lark (Feishu) | WebSocket + REST API | Integrado | -| iLink (Weixin) | WebSocket + REST API | Integrado | - -> Se planean más canales (Discord, Slack, DingTalk, etc.) para futuras versiones. - -
- -
-

Documentos Office

- -Trabaja con archivos Word, Excel y PowerPoint como un flujo de trabajo de primera clase. El toolset **officecli** integrado permite a tus agentes crear, analizar, revisar y editar documentos .docx, .xlsx y .pptx — y puedes previsualizar el resultado directamente en Codeg. - -### Qué ofrece - -- **Crear y editar** — genera nuevos documentos o modifica .docx / .xlsx / .pptx existentes, incluyendo gráficos, tablas y formato -- **Analizar y revisar** — inspecciona la estructura del documento, detecta problemas de formato y revisa el contenido -- **Vista previa en vivo** — abre un .docx / .xlsx / .pptx en una pestaña de archivo y se renderiza en línea, actualizándose automáticamente mientras el agente edita — respaldado por un servidor `officecli watch` permanente (con proxy inverso y autenticación por capacidad para entornos web y servidor) -- **Acciones rápidas** — la página de bienvenida ofrece pestañas de Codificación, Office e Investigación científica que insertan la invocación de habilidad correspondiente y una plantilla de prompt con un solo clic; las habilidades no habilitadas muestran un badge de bloqueo y enlazan a donde puedes activarlas -- **Configuración de Office Tools** — una página de ajustes dedicada instala `officecli` y gestiona sus habilidades mediante una matriz de habilidad×agente: alterna cualquier par (habilidad, agente) y aplica cambios masivos - -
- -
-

Investigación científica

- -Convierte cualquier agente en un asistente de investigación riguroso. Codeg incluye un conjunto curado de **habilidades de investigación científica** con licencia MIT — desde la ideación hasta el análisis y la redacción — que se instalan en el almacén central de habilidades compartido y se vinculan a los agentes que elijas, exactamente igual que los toolsets de expertos y de office. - -### Qué ofrece - -- **Habilidades curadas** — generación de hipótesis, diseño experimental, potencia estadística, análisis estadístico, análisis exploratorio de datos, visualización científica, evaluación crítica, revisión por pares, gestión de citas, evaluación de académicos, búsqueda de artículos y esquemas de IA -- **Acciones rápidas** — la pestaña de Investigación científica de la página de bienvenida inserta la invocación de habilidad correspondiente junto con una plantilla de prompt localizada en el compositor con un solo clic -- **Configuración de Ciencia** — una página de ajustes dedicada gestiona las habilidades mediante una matriz de habilidad×agente, con badges que señalan las habilidades que necesitan una clave de API o un entorno de Python - -
- -
-

Automatizaciones

- -Convierte cualquier configuración del compositor — agente, modelo, prompt, directorio de trabajo y opciones — en una **Automatización** reutilizable que se ejecuta sin abrir la interfaz. - -### Qué ofrece - -- **Configurar una vez, reutilizar siempre** — guarda una configuración completa del compositor como automatización con nombre -- **Programada o bajo demanda** — ejecútala según un horario cron o lánzala manualmente cuando lo necesites -- **Ejecución desatendida** — las automatizaciones se ejecutan en segundo plano y crean sesiones reales que puedes abrir en el workspace en cualquier momento; tras iniciarlas, regresan automáticamente al workspace - -
- -
-

Inicio rápido

- -### Requisitos - -- Node.js `>=22` (recomendado) -- pnpm `>=10` -- Rust stable (2021 edition) -- Dependencias de compilación de Tauri 2 (solo modo escritorio) +## 🤖 Agentes compatibles -Ejemplo para Linux (Debian/Ubuntu): +Claude Code · Codex · Gemini · OpenClaw · OpenCode · Cline · Hermes · CodeBuddy · Kimi Code · Pi · Grok · Cursor -```bash -sudo apt-get update -sudo apt-get install -y \ - libwebkit2gtk-4.1-dev \ - libayatana-appindicator3-dev \ - librsvg2-dev \ - patchelf -``` - -### Binarios - -Codeg distribuye tres binarios de Rust desde un único workspace: - -| Binario | Rol | Compilación | -| -------------- | ------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------- | -| `codeg` | Aplicación de escritorio Tauri (ventana, bandeja, actualizador) | `pnpm tauri build` (release) / `pnpm tauri dev` (dev) | -| `codeg-server` | Servidor HTTP + WebSocket independiente para despliegues en navegador/sin interfaz | `pnpm server:build` / `pnpm server:dev` | -| `codeg-mcp` | Compañero stdio MCP por lanzamiento que expone la herramienta `delegate_to_agent` a las CLI de agentes (colaboración multi-agente) | `pnpm tauri:prepare-sidecars` (invocado automáticamente por `tauri dev` / `tauri build`) | - -`codeg-mcp` debe ubicarse junto a su binario padre en tiempo de ejecución — los instaladores, la imagen Docker y el empaquetador de sidecars de Tauri lo colocan junto a `codeg` / `codeg-server`. Las compilaciones desde fuente y los diseños personalizados pueden anular la búsqueda con la variable de entorno `CODEG_MCP_BIN=/abs/path/codeg-mcp`. Si el compañero falta, la delegación se omite (se registra una única advertencia) y el resto de la sesión del agente sigue funcionando. +Codeg instala, fija la versión y actualiza la mayoría de ellos por ti. Consulta [Agentes compatibles](https://docs.codeg.app/guide/supported-agents) para ver la lista completa, los requisitos de ejecución de cada uno y dónde guarda sus sesiones en disco. -### Desarrollo +## 🤝 Colaboración multiagente -```bash -pnpm install - -# Solo frontend (servidor de desarrollo de Next.js, sin Rust) -pnpm dev +La colaboración multiagente, reducida a una sola tecla: escribe `@`, elige un agente y envía. Codeg se encarga de la orquestación: lanza cada agente mencionado como su propia sesión, le entrega la tarea y devuelve su trabajo al hilo en el que ya estás. Menciona dos y avanzarán en paralelo: Claude Code redactando mientras Codex revisa. Sin cambiar de contexto, sin copiar y pegar entre terminales. -# Exportación estática del frontend a out/ -pnpm build +![Delegando una tarea en subagentes desde una sola conversación de Codeg](../images/collaboration-light.gif#gh-light-mode-only) +![Delegando una tarea en subagentes desde una sola conversación de Codeg](../images/collaboration-dark.gif#gh-dark-mode-only) -# Aplicación de escritorio completa (Tauri + Next.js, compila automáticamente el sidecar codeg-mcp) -pnpm tauri dev +## 📄 Documentos de Office -# Compilación de escritorio de release (incluye codeg-mcp como externalBin) -pnpm tauri build +Pide una presentación, un informe o un libro de cálculo y el agente construye un `.pptx` / `.docx` / `.xlsx` de verdad, mientras el panel de la derecha lo renderiza en vivo. Cada cambio llega solo a la vista previa: las diapositivas se llenan, las tablas toman forma, los números caen en sus celdas. ¿No te convence la diapositiva 4? Dilo en el siguiente mensaje: el agente edita ese mismo archivo y la vista previa se pone al día. Sin exportar, sin abrir Office, sin salir de Codeg. -# Servidor independiente (sin Tauri/GUI necesario) -pnpm server:dev -pnpm server:build # binario de release en src-tauri/target/release/codeg-server +![Un agente editando un documento de Office junto a su vista previa en vivo](../images/office-light.png#gh-light-mode-only) +![Un agente editando un documento de Office junto a su vista previa en vivo](../images/office-dark.png#gh-dark-mode-only) -# Compilar explícitamente el compañero codeg-mcp (para el triple del host) -pnpm tauri:prepare-sidecars # salida: src-tauri/binaries/codeg-mcp- +## 💻 Espacio de trabajo -# Saltar la preparación del sidecar al iterar el frontend cuando no necesitas delegación -CODEG_SKIP_SIDECAR=1 pnpm tauri dev +Un espacio de trabajo, todos los agentes. Sea cual sea el que esté trabajando —Claude Code, Codex, Cursor—, lo hace en el mismo editor, con los mismos diffs en vivo y el mismo cliente de git; y lo que produce son archivos reales de tu repositorio, cambiando delante de ti. -# Lint -pnpm eslint . +**Sesiones.** Trae el historial que ya tienes: las sesiones pasadas de todos los agentes instalados, importadas con un clic y listas para retomarse donde las dejaste. Una vez dentro dejan de ser compartimentos estancos: menciona una sesión antigua con `@` y el agente con el que hablas puede leerla, aunque la haya escrito otro agente, así que la ejecución de Codex de hoy sigue donde terminó la sesión de Claude Code de la semana pasada. -# Pruebas frontend (vitest) -pnpm test -pnpm test:watch -pnpm test:coverage +**Archivos.** Las ediciones del agente aparecen como diffs junto a la conversación según van llegando. Abre cualquier archivo en un editor de verdad con resaltado de sintaxis, envía un archivo —o solo una selección— directamente al agente con `⌘L`, y previsualiza Markdown, HTML, imágenes y documentos de Office en el mismo panel. -# Verificaciones de Rust (ejecutar en src-tauri/) -cargo check # escritorio (features por defecto) -cargo check --no-default-features --bin codeg-server # modo servidor -cargo check --no-default-features --bin codeg-mcp # compañero MCP -cargo clippy --all-targets --features test-utils -- -D warnings +**Git.** Un cliente completo, no un indicador de estado: haz commit y push, recorre el historial con el estado de envío de cada commit, y crea ramas, fusiona, rebasa, guarda en stash, resetea o compara con otra rama. Los conflictos abren un editor de fusión de tres paneles donde aceptas hunk a hunk o escribes tú mismo la solución. Y los worktrees convierten el trabajo en paralelo en una sola acción: una rama nueva, su propio directorio y una conversación recién creada dentro de él, para que una flota de agentes construya funciones distintas a la vez sin tocarse los archivos. -# Pruebas de Rust -cargo test --features test-utils # escritorio (incl. integración) -cargo test --no-default-features --bin codeg-server --lib # modo servidor -cargo insta review # aceptar actualizaciones de snapshots del parser -``` +## ✨ Puntos destacados -> Sugerencia: cuando tengas una compilación reciente de `codeg-mcp` en `src-tauri/target/release/` y quieras apuntar un `codeg-server` lanzado manualmente sin reinstalar, exporta `CODEG_MCP_BIN=$(pwd)/src-tauri/target/release/codeg-mcp`. +- **[Agregación de conversaciones](https://docs.codeg.app/guide/aggregation)** — importa las sesiones de todos los agentes compatibles a un espacio de trabajo unificado y con búsqueda, y retómalas donde las dejaste +- **[Colaboración multiagente](https://docs.codeg.app/guide/multi-agent)** — menciona a cualquier agente con `@` para delegar: los subagentes de distintos tipos se ejecutan como sesiones propias, en paralelo, dentro de una misma tarea +- **[El espacio de trabajo](https://docs.codeg.app/guide/workspace)** — todo el ciclo de ingeniería junto al agente: árbol de archivos, editor y diff, cambios de git, commit y una terminal integrada +- **[Git y worktrees](https://docs.codeg.app/guide/git)** — revisa y confirma cambios, gestiona cuentas remotas de Git y trabaja en paralelo con flujos `git worktree` integrados +- **[Canales de chat](https://docs.codeg.app/guide/chat-channels)** — maneja tus agentes desde Telegram, Lark (Feishu) e iLink (Weixin): crea tareas, aprueba permisos y recibe novedades en vivo +- **[Automatizaciones](https://docs.codeg.app/guide/automations)** — guarda un compositor ya configurado como una automatización reutilizable que se ejecuta sin interfaz, por cron o cuando la lances +- **[Documentos de Office](https://docs.codeg.app/guide/office)** — crea, analiza, corrige y edita `.docx` / `.xlsx` / `.pptx` con el `officecli` incluido, con vista previa en vivo dentro de la pestaña +- **[Investigación científica](https://docs.codeg.app/guide/research)** — habilidades de investigación incluidas (generación de hipótesis, diseño experimental, estadística, visualización, evaluación crítica, búsqueda bibliográfica) que cualquier agente puede invocar +- **[Project Boot](https://docs.codeg.app/guide/project-boot)** — crea proyectos nuevos de forma visual, con vista previa en vivo, y ábrelos directamente en el espacio de trabajo +- **[MCP](https://docs.codeg.app/guide/mcp) & [Habilidades](https://docs.codeg.app/guide/skills)** — escaneo de servidores locales más búsqueda e instalación desde el registro, y habilidades gestionadas a nivel global o de proyecto +- **[Escritorio, servidor y Docker](https://docs.codeg.app/getting-started/deployment)** — una aplicación de escritorio nativa, un `codeg-server` independiente al que llegas desde cualquier navegador, o `docker compose up` -### Despliegue del servidor +## 📦 Instalación y ejecución -Codeg puede ejecutarse como un servidor web independiente sin entorno de escritorio. +**Escritorio** — descarga el instalador para macOS, Windows o Linux desde [Releases](https://github.com/xintaofei/codeg/releases) y sigue la [Instalación](https://docs.codeg.app/getting-started/installation). -#### Opción 1: Instalación en una línea (Linux / macOS) +**Servidor** — ejecuta Codeg sin interfaz y accede desde cualquier navegador: ```bash curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash -``` - -Instalar una versión específica o en un directorio personalizado: - -```bash -curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash -s -- --version v0.5.2 --dir ~/.local/bin -``` - -Luego ejecutar: - -```bash codeg-server ``` -#### Opción 2: Instalación en una línea (Windows PowerShell) - -```powershell -irm https://raw.githubusercontent.com/xintaofei/codeg/main/install.ps1 | iex -``` - -O instalar una versión específica: - -```powershell -.\install.ps1 -Version v0.5.2 -``` - -#### Opción 3: Descargar desde GitHub Releases - -Los binarios precompilados (con recursos web incluidos) están disponibles en la página de [Releases](https://github.com/xintaofei/codeg/releases): - -| Plataforma | Archivo | -| ----------- | ---------------------------------- | -| Linux x64 | `codeg-server-linux-x64.tar.gz` | -| Linux arm64 | `codeg-server-linux-arm64.tar.gz` | -| macOS x64 | `codeg-server-darwin-x64.tar.gz` | -| macOS arm64 | `codeg-server-darwin-arm64.tar.gz` | -| Windows x64 | `codeg-server-windows-x64.zip` | +**Docker** — el mismo servidor, en un solo contenedor: ```bash -# Ejemplo: descargar, extraer y ejecutar -tar xzf codeg-server-linux-x64.tar.gz -cd codeg-server-linux-x64 -CODEG_STATIC_DIR=./web ./codeg-server -``` - -> Para despliegues desatendidos, inícialo con `--supervise` para que una actualización in situ fallida se revierta automáticamente — consulta [Actualizaciones in situ](#actualizaciones-in-situ). - -#### Opción 4: Docker - -```bash -# Usando Docker Compose (recomendado) -docker compose up -d - -# O ejecutar directamente con Docker docker run -d -p 3080:3080 -v codeg-data:/data ghcr.io/xintaofei/codeg:latest - -# Con token personalizado y directorio de proyecto montado -docker run -d -p 3080:3080 \ - -v codeg-data:/data \ - -v /path/to/projects:/projects \ - -e CODEG_TOKEN=your-secret-token \ - ghcr.io/xintaofei/codeg:latest -``` - -La imagen Docker utiliza una compilación multi-etapa (Node.js + Rust → runtime Debian slim) e incluye `git` y `ssh` para operaciones con repositorios. Los datos se persisten en el volumen `/data`. Opcionalmente, puedes montar directorios de proyecto para acceder a repositorios locales desde el contenedor. - -#### Opción 5: Compilar desde el código fuente - -```bash -pnpm install && pnpm build # compilar frontend -cd src-tauri -cargo build --release --bin codeg-server --no-default-features -cargo build --release --bin codeg-mcp --no-default-features # compañero de delegación -CODEG_STATIC_DIR=../out ./target/release/codeg-server # codeg-mcp se detecta como hermano ``` -Si mantienes los dos binarios en directorios separados, define `CODEG_MCP_BIN=/abs/path/to/codeg-mcp` para que el runtime pueda seguir encontrando el compañero; sin esto, la delegación multi-agente se desactiva silenciosamente. - -#### Actualizaciones in situ - -El servidor puede actualizarse a sí mismo desde **Ajustes → Actualización de software**: descarga la versión firmada para su plataforma, reemplaza los binarios y los recursos web en disco, y se reinicia — sin necesidad de volver a desplegar manualmente. Esto es solo para Linux/macOS (desactivado en Windows). La versión anterior se conserva como copia de seguridad, por lo que la misma pantalla ofrece una acción **Revertir** para volver a ella. - -**Ejecuta bajo el supervisor para la reversión automática.** Inicia el servidor independiente con `--supervise` para que un proceso recién actualizado que no arranque dentro de la ventana de prueba se revierta automáticamente a la versión anterior: - -```bash -CODEG_STATIC_DIR=./web ./codeg-server --supervise -``` - -Sin `--supervise` el servidor sigue actualizándose in situ (se vuelve a ejecutar a sí mismo), pero la actualización es de mejor esfuerzo: no hay ningún supervisor que revierta automáticamente una versión que no puede arrancar. La imagen Docker ya se ejecuta bajo el supervisor. - -**Las actualizaciones en Docker cambian el contenedor, no la imagen.** Una actualización in situ reescribe los binarios y los recursos web dentro de la capa de escritura del contenedor en ejecución, por lo que solo existen en ese contenedor. El volumen `/data` persiste, pero los archivos actualizados **no**: recrear el contenedor — `docker compose up --force-recreate`, un nuevo `docker run`, o recrearlo tras un `docker pull` — vuelve a partir de la imagen y descarta la actualización in situ. (Un `docker pull` por sí solo únicamente actualiza la imagen local; nada se revierte hasta que se recrea el contenedor.) Para que una actualización sea permanente, compila o descarga una imagen con la nueva versión y recrea el contenedor a partir de ella. - -#### Configuración - -Variables de entorno: - -| Variable | Valor por defecto | Descripción | -| ------------------------------ | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `CODEG_PORT` | `3080` | Puerto HTTP | -| `CODEG_HOST` | `0.0.0.0` | Dirección de enlace | -| `CODEG_TOKEN` | _(aleatorio)_ | Token de autenticación (se imprime en stderr al iniciar) | -| `CODEG_DATA_DIR` | `~/.local/share/codeg` | Directorio de la base de datos SQLite (también raíz de `uploads/`, `pets/`) | -| `CODEG_STATIC_DIR` | `./web` o `./out` | Directorio de exportación estática de Next.js | -| `CODEG_MCP_BIN` | _(sin definir)_ | Ruta absoluta al compañero `codeg-mcp`. Anula la búsqueda por defecto de hermano-del-ejecutable + `PATH`. Úsalo para compilaciones desde fuente o diseños personalizados donde el compañero reside fuera del directorio de instalación del servidor. | -| `CODEG_SKIP_SIDECAR` | _(sin definir)_ | Conveniencia solo de frontend para `pnpm tauri dev` / `pnpm tauri build` — cuando vale `1`, omite la compilación del sidecar `codeg-mcp`. La delegación queda desactivada en esa compilación; los artefactos de calidad de release deben dejarla sin definir. | -| `CODEG_UPLOAD_MAX_TOTAL_BYTES` | _(sin definir)_ | Límite máximo de bytes totales residentes en `/uploads/`. Conteo de bytes en decimal (p. ej. `10737418240` para 10 GiB). Si no se define, vale `0` o tiene un valor no analizable, el límite se desactiva y se imprime una línea de inicio para que la configuración sea visible. El límite se aplica dentro de un único proceso `codeg-server` — los despliegues escalados horizontalmente que comparten un mismo volumen `uploads/` requieren coordinación externa (bloqueo de archivos, Redis, cuota de proxy inverso). | -| `CODEG_UPLOAD_QUOTA_STRICT` | _(sin definir)_ | Cuando es verdadero (`1` / `true` / `yes` / `on`), aborta el inicio con código de salida 2 si `CODEG_UPLOAD_MAX_TOTAL_BYTES` tiene un valor no analizable, en vez de continuar con un WARN. Úselo cuando su política de seguridad requiera que «la cuota configurada debe ser efectiva». | - -
- -
-

Arquitectura

- -```text -Next.js 16 (Static Export) + React 19 - | - | invoke() (desktop) / fetch() + WebSocket (web) - v - ┌─────────────────────────┐ - │ Transport Abstraction │ - │ (Tauri IPC or HTTP/WS) │ - └─────────────────────────┘ - | - v -┌─── Tauri Desktop ───┐ ┌─── codeg-server ───┐ -│ Tauri 2 Commands │ │ Axum HTTP + WS │ -│ (window management) │ │ (standalone mode) │ -└──────────┬───────────┘ └──────────┬──────────┘ - └──────────┬───────────────┘ - v - Shared Rust Core - |- AppState - |- ACP Manager - |- Parsers (conversation ingestion) - |- Chat Channels - |- Git / File Tree / Terminal - |- MCP marketplace + config - |- Office Tools (officecli) + Automations - |- SeaORM + SQLite - | - ┌───────┼───────┐ - v v v - Local Filesystem Git Chat Channels - / Git Repos Repos (Telegram, Lark, iLink) -``` +Compose, binarios precompilados, compilación desde el código y actualizaciones in situ se cubren en [Despliegue](https://docs.codeg.app/getting-started/deployment); las variables de entorno, en [Configuración](https://docs.codeg.app/getting-started/configuration). Para compilar Codeg: [Desarrollo](https://docs.codeg.app/reference/development) y [Arquitectura](https://docs.codeg.app/reference/architecture). -
+## 🔒 Privacidad y seguridad -## Privacidad y seguridad +- Local por defecto para el análisis, el almacenamiento y las operaciones sobre proyectos: solo se accede a la red en acciones iniciadas por ti +- Los modos web y servidor están protegidos con autenticación por token +- Compatible con el proxy del sistema para entornos corporativos -- Enfoque local por defecto para análisis, almacenamiento y operaciones de proyecto -- El acceso a la red solo ocurre mediante acciones iniciadas por el usuario -- Soporte de proxy del sistema para entornos empresariales -- El modo de servicio web utiliza autenticación basada en tokens +Más detalles en [Privacidad y seguridad](https://docs.codeg.app/reference/privacy). -## Comunidad +## 👥 Comunidad - Escanea el código QR de abajo para unirte a nuestro grupo de WeChat para discusiones, comentarios y actualizaciones @@ -445,13 +143,13 @@ Next.js 16 (Static Export) + React 19 - Gracias a la comunidad de [LinuxDO](https://linux.do) por su apoyo -## Agradecimientos +## 🙏 Agradecimientos -- [ACP](https://agentclientprotocol.com) — el Agent Client Protocol (ACP) es la base que permite a Codeg conectarse con múltiples agentes +- [Agent Client Protocol](https://agentclientprotocol.com) — la base que permite a Codeg conectarse con todos los agentes que soporta - [Superpowers](https://github.com/obra/superpowers) — impulsa el módulo de habilidades de expertos de Codeg - [OfficeCLI](https://github.com/iOfficeAI/OfficeCLI) — impulsa el flujo de trabajo de documentos Office de Codeg - [scientific-agent-skills](https://github.com/K-Dense-AI/scientific-agent-skills) — impulsa las habilidades de Investigación científica de Codeg (subconjunto con licencia MIT) -## Licencia +## 📜 Licencia -Apache-2.0. Ver `LICENSE`. +Apache-2.0. Consulta [LICENSE](../../LICENSE). diff --git a/docs/readme/README.fr.md b/docs/readme/README.fr.md index 27e96e95a..aa7d1524e 100644 --- a/docs/readme/README.fr.md +++ b/docs/readme/README.fr.md @@ -1,10 +1,8 @@ # Codeg [![Release](https://img.shields.io/github/v/release/xintaofei/codeg)](https://github.com/xintaofei/codeg/releases) +[![Docs](https://img.shields.io/badge/docs-docs.codeg.app-3451b2)](https://docs.codeg.app) [![License](https://img.shields.io/github/license/xintaofei/codeg)](../../LICENSE) -[![Tauri](https://img.shields.io/badge/Tauri-2.x-24C8DB)](https://tauri.app/) -[![Next.js](https://img.shields.io/badge/Next.js-16-black)](https://nextjs.org/) -[![Docker](https://img.shields.io/badge/Docker-ready-2496ED)](../../Dockerfile)

English | @@ -19,11 +17,18 @@ العربية

-Codeg (Code Generation) est un espace de travail de codage multi-agent. Il réunit plusieurs agents (Claude Code, Codex CLI, OpenCode, Gemini CLI, OpenClaw, Cline, Hermes Agent, CodeBuddy, Kimi Code, Pi, Grok Build, Cursor, etc.) dans un seul espace de travail, prend en charge l'agrégation des conversations et la collaboration multi-agent, ainsi que l'installation desktop et le déploiement serveur/Docker. +Codeg (Code Generation) est un espace de travail de programmation multi-agents : faites tourner tous vos agents de codage IA au même endroit — et laissez-les travailler ensemble. -![gallery](../images/gallery.svg) +Il regroupe les sessions de toutes les CLI d'agents supportées dans un espace de travail unique et consultable, permet à un agent principal de déléguer à des sous-agents d'autres types au sein d'une même tâche, et fonctionne en application de bureau, en serveur autonome ou en conteneur Docker. -## Sponsors +![Espace de travail](../images/workspace-light.png#gh-light-mode-only) +![Espace de travail](../images/workspace-dark.png#gh-dark-mode-only) + +## 📖 Documentation + +**La documentation complète se trouve sur [docs.codeg.app](https://docs.codeg.app)** — [Démarrage](https://docs.codeg.app/getting-started/) · [Guide](https://docs.codeg.app/guide/) · [Référence](https://docs.codeg.app/reference/) + +## 💖 Sponsors
@@ -58,385 +63,78 @@ Codeg (Code Generation) est un espace de travail de codage multi-agent. Il réun > Vous souhaitez devenir sponsor de Codeg ? [Contactez-nous par e-mail.](mailto:itpkcn@gmail.com) -## Interface principale - -![Codeg Light](../images/main-light.png#gh-light-mode-only) -![Codeg Dark](../images/main-dark.png#gh-dark-mode-only) - -## Collaboration multi-agents - -![Codeg Light](../images/collaboration-light.png#gh-light-mode-only) -![Codeg Dark](../images/collaboration-dark.png#gh-dark-mode-only) - -## Flux de travail Office - -![Codeg Light](../images/office-light.png#gh-light-mode-only) -![Codeg Dark](../images/office-dark.png#gh-dark-mode-only) - -## Points forts - -- **Agrégation de conversations** — importez les sessions de tous les agents pris en charge dans un workspace unifié -- **Collaboration multi-agents** — au sein d'une même session, l'agent principal délègue à des sous-agents de différents types (p. ex. Claude Code appelant Codex, Gemini) pour accomplir une tâche conjointement, chacun s'exécutant comme une session indépendante -- Développement parallèle avec flux `git worktree` intégré -- **Lanceur de projet** — créez visuellement de nouveaux projets avec aperçu en temps réel -- **Documents Office** — créez, analysez, relisez et modifiez des fichiers .docx / .xlsx / .pptx via l'outillage officecli intégré ; aperçu en temps réel dans un onglet de fichier mis à jour instantanément lors des modifications de l'agent -- **Recherche scientifique** — compétences scientifiques intégrées (génération d'hypothèses, conception expérimentale, statistiques, visualisation, évaluation critique, recherche bibliographique) que n'importe quel agent peut invoquer, gérées par agent -- **Automatisations** — enregistrez n'importe quelle configuration du compositeur comme automatisation réutilisable s'exécutant sans interface, selon un calendrier cron ou à la demande -- **Canaux de chat** — connectez Telegram, Lark (Feishu), iLink (Weixin) et plus à vos agents de codage pour des notifications en temps réel, une interaction complète avec les sessions et le contrôle à distance des tâches -- Gestion MCP (scan local + recherche/installation depuis le registre) -- Gestion des Skills (portée globale et projet) -- Gestion des comptes distants Git (GitHub et autres serveurs Git) -- Mode service web — accédez à Codeg depuis n'importe quel navigateur pour le travail à distance -- **Déploiement en serveur autonome** — exécutez `codeg-server` sur n'importe quel serveur Linux/macOS, accédez via le navigateur -- **Support Docker** — `docker compose up` ou `docker run`, avec token/port personnalisables, persistance des données et montage de répertoires de projets -- Journaux d'exécution — visualiseur de journaux en temps réel intégré avec filtrage et niveaux de journalisation par module -- Boucle d'ingénierie intégrée (arborescence de fichiers, diff, changements git, commit, terminal) - -## Agents supportés - -| Agent | Chemin via variable d'environnement | Défaut macOS / Linux | Défaut Windows | -| ------------ | ------------------------------------- | ------------------------------------- | ----------------------------------------------------- | -| Claude Code | `$CLAUDE_CONFIG_DIR/projects` | `~/.claude/projects` | `%USERPROFILE%\\.claude\\projects` | -| Codex CLI | `$CODEX_HOME/sessions` | `~/.codex/sessions` | `%USERPROFILE%\\.codex\\sessions` | -| OpenCode | `$XDG_DATA_HOME/opencode/opencode.db` | `~/.local/share/opencode/opencode.db` | `%USERPROFILE%\\.local\\share\\opencode\\opencode.db` | -| Gemini CLI | `$GEMINI_CLI_HOME/.gemini` | `~/.gemini` | `%USERPROFILE%\\.gemini` | -| OpenClaw | — | `~/.openclaw/agents` | `%USERPROFILE%\\.openclaw\\agents` | -| Cline | `$CLINE_DIR` | `~/.cline/data/tasks` | `%USERPROFILE%\\.cline\\data\\tasks` | -| Hermes Agent | `$HERMES_HOME/state.db` | `~/.hermes/state.db` | `%USERPROFILE%\\.hermes\\state.db` | -| CodeBuddy | `$CODEBUDDY_CONFIG_DIR/projects` | `~/.codebuddy/projects` | `%USERPROFILE%\\.codebuddy\\projects` | -| Kimi Code | `$KIMI_CODE_HOME/sessions` | `~/.kimi-code/sessions` | `%USERPROFILE%\\.kimi-code\\sessions` | -| Pi | `$PI_CODING_AGENT_SESSION_DIR` | `~/.pi/agent/sessions` | `%USERPROFILE%\\.pi\\agent\\sessions` | -| Grok Build | `$GROK_HOME/sessions` | `~/.grok/sessions` | `%USERPROFILE%\\.grok\\sessions` | -| Cursor | `$CURSOR_CONFIG_DIR/chats` | `~/.cursor/chats` | `%USERPROFILE%\\.cursor\\chats` | - -> Remarque : les variables d'environnement ont priorité sur les chemins par défaut. - -
-

Lanceur de projet

- -Créez visuellement de nouveaux projets avec une interface à panneaux divisés : configuration à gauche, aperçu en temps réel à droite. - -![Project Boot Light](../images/project-boot-light.png#gh-light-mode-only) -![Project Boot Dark](../images/project-boot-dark.png#gh-dark-mode-only) - -### Fonctionnalités - -- **Configuration visuelle** — sélectionnez le style, le thème de couleur, la bibliothèque d'icônes, la police, le rayon de bordure et plus dans les menus déroulants ; l'aperçu se met à jour instantanément -- **Aperçu en direct** — visualisez le rendu de votre configuration en temps réel avant de créer quoi que ce soit -- **Création en un clic** — cliquez sur « Créer un projet » et le launcher exécute `shadcn init` avec votre preset, le template de framework (Next.js / Vite / React Router / Astro / Laravel) et le gestionnaire de paquets (pnpm / npm / yarn / bun) -- **Détection des gestionnaires de paquets** — vérifie automatiquement quels gestionnaires sont installés et affiche leurs versions -- **Intégration transparente** — le projet nouvellement créé s'ouvre directement dans l'espace de travail Codeg - -Prend actuellement en charge le scaffolding de projets **shadcn/ui**, avec un design à onglets prêt pour d'autres types de projets à l'avenir. - -
- -
-

Canaux de chat

- -Connectez vos applications de messagerie préférées — Telegram, Lark (Feishu), iLink (Weixin) et plus — à vos agents de codage IA. Créez des tâches, envoyez des messages de suivi, approuvez les permissions, reprenez des sessions et surveillez l'activité directement depuis votre chat — recevez les réponses des agents en temps réel avec les détails des appels d'outils, les demandes de permissions et les résumés de complétion, le tout sans ouvrir de navigateur. - -Les supergroupes forum Telegram peuvent aussi utiliser le [Telegram topic mode](../chat-channels/telegram-topic-mode.md) pour lier chaque topic à une session Codeg distincte. - -### Canaux pris en charge - -| Canal | Protocole | Statut | -| -------------- | --------------------------- | ------- | -| Telegram | Bot API (HTTP long-polling) | Intégré | -| Lark (Feishu) | WebSocket + REST API | Intégré | -| iLink (Weixin) | WebSocket + REST API | Intégré | - -> D'autres canaux (Discord, Slack, DingTalk, etc.) sont prévus pour de futures versions. - -
- -
-

Documents Office

- -Travaillez avec des fichiers Word, Excel et PowerPoint comme flux de travail de premier plan. L'outillage **officecli** intégré permet à vos agents de créer, analyser, relire et modifier des documents .docx, .xlsx et .pptx — et de prévisualiser le résultat directement dans Codeg. - -### Fonctionnalités - -- **Créer et modifier** — générez de nouveaux documents ou modifiez des .docx / .xlsx / .pptx existants, y compris graphiques, tableaux et mise en forme -- **Analyser et relire** — inspectez la structure du document, détectez les problèmes de mise en forme et relisez le contenu -- **Aperçu en direct** — ouvrez un .docx / .xlsx / .pptx dans un onglet de fichier et il s'affiche en ligne, se mettant à jour automatiquement à chaque modification de l'agent — alimenté par un serveur `officecli watch` persistant (avec proxy inverse et authentification par capacité pour les environnements web et serveur) -- **Actions rapides** — la page d'accueil propose des onglets Codage, Office et Recherche scientifique qui insèrent en un clic l'invocation de compétence correspondante et un modèle de prompt dans le compositeur ; les compétences non activées affichent un badge de verrouillage et renvoient vers l'activation -- **Paramètres Office Tools** — une page de paramètres dédiée installe `officecli` et gère ses compétences documentaires via une matrice compétence×agent : basculez n'importe quelle paire (compétence, agent) et appliquez des modifications en bloc - -
- -
-

Recherche scientifique

- -Transformez n'importe quel agent en assistant de recherche rigoureux. Codeg intègre un ensemble sélectionné de **compétences de recherche scientifique** sous licence MIT — de l'idéation à l'analyse jusqu'à la rédaction — qui s'installent dans le magasin central de compétences partagé et se lient aux agents de votre choix, exactement comme les outillages expert et office. - -### Fonctionnalités - -- **Compétences sélectionnées** — génération d'hypothèses, conception expérimentale, puissance statistique, analyse statistique, analyse exploratoire des données, visualisation scientifique, évaluation critique, évaluation par les pairs, gestion des citations, évaluation des chercheurs, recherche d'articles et schémas IA -- **Actions rapides** — l'onglet Recherche scientifique de la page d'accueil insère en un clic l'invocation de compétence correspondante ainsi qu'un modèle de prompt localisé dans le compositeur -- **Paramètres scientifiques** — une page de paramètres dédiée gère les compétences via une matrice compétence×agent, avec des badges signalant les compétences nécessitant une clé API ou un environnement Python - -
- -
-

Automatisations

- -Transformez n'importe quelle configuration du compositeur — agent, modèle, prompt, répertoire de travail et options — en une **Automatisation** réutilisable s'exécutant sans ouvrir l'interface. - -### Fonctionnalités - -- **Configurer une fois, réutiliser à volonté** — enregistrez une configuration complète du compositeur comme automatisation nommée -- **Planifiée ou à la demande** — exécutez-la selon un calendrier cron ou déclenchez-la manuellement -- **Exécution sans interface** — les automatisations s'exécutent en arrière-plan et créent de vraies sessions que vous pouvez ouvrir dans le workspace à tout moment ; après le démarrage, l'interface revient automatiquement au workspace - -
- -
-

Démarrage rapide

- -### Prérequis - -- Node.js `>=22` (recommandé) -- pnpm `>=10` -- Rust stable (2021 edition) -- Dépendances de build Tauri 2 (mode bureau uniquement) - -Exemple Linux (Debian/Ubuntu) : +## 🤖 Agents supportés -```bash -sudo apt-get update -sudo apt-get install -y \ - libwebkit2gtk-4.1-dev \ - libayatana-appindicator3-dev \ - librsvg2-dev \ - patchelf -``` - -### Binaires - -Codeg fournit trois binaires Rust issus d'un seul workspace : - -| Binaire | Rôle | Build | -| -------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | -| `codeg` | Application de bureau Tauri (fenêtre, tray, updater) | `pnpm tauri build` (release) / `pnpm tauri dev` (dev) | -| `codeg-server` | Serveur HTTP + WebSocket autonome pour les déploiements navigateur/headless | `pnpm server:build` / `pnpm server:dev` | -| `codeg-mcp` | Compagnon MCP stdio lancé par session, qui expose l'outil `delegate_to_agent` aux CLI d'agents (collaboration multi-agents) | `pnpm tauri:prepare-sidecars` (invoqué automatiquement par `tauri dev` / `tauri build`) | - -`codeg-mcp` doit se trouver à côté de son binaire parent au moment de l'exécution — les installeurs, l'image Docker et le bundler de sidecar Tauri le placent tous à côté de `codeg` / `codeg-server`. Les builds depuis les sources et les agencements personnalisés peuvent surcharger la recherche via la variable d'environnement `CODEG_MCP_BIN=/chemin/abs/codeg-mcp`. Si le compagnon est absent, la délégation est ignorée (un seul avertissement est journalisé) et le reste de la session de l'agent continue de fonctionner. +Claude Code · Codex · Gemini · OpenClaw · OpenCode · Cline · Hermes · CodeBuddy · Kimi Code · Pi · Grok · Cursor -### Développement +Codeg installe, épingle et met à jour la plupart d'entre eux pour vous. Voir [Agents supportés](https://docs.codeg.app/guide/supported-agents) pour la liste complète, les prérequis d'exécution de chacun et l'emplacement de ses sessions sur le disque. -```bash -pnpm install +## 🤝 Collaboration multi-agents -# Frontend uniquement (serveur de dev Next.js, sans Rust) -pnpm dev +La collaboration multi-agents, réduite à une seule touche : tapez `@`, choisissez un agent, envoyez. Codeg s'occupe de l'orchestration — il lance chaque agent mentionné dans sa propre session, lui confie la tâche et renvoie son travail dans le fil où vous êtes déjà. Mentionnez-en deux et ils avancent côte à côte : Claude Code rédige pendant que Codex relit. Aucun changement de contexte, aucun copier-coller entre terminaux. -# Export statique du frontend vers out/ -pnpm build +![Délégation d'une tâche à des sous-agents depuis une seule conversation Codeg](../images/collaboration-light.gif#gh-light-mode-only) +![Délégation d'une tâche à des sous-agents depuis une seule conversation Codeg](../images/collaboration-dark.gif#gh-dark-mode-only) -# Application de bureau complète (Tauri + Next.js, compile automatiquement le sidecar codeg-mcp) -pnpm tauri dev +## 📄 Documents Office -# Build de release de l'application de bureau (intègre codeg-mcp comme externalBin) -pnpm tauri build +Demandez une présentation, un rapport ou un classeur : l'agent produit un vrai `.pptx` / `.docx` / `.xlsx` — pendant que le volet de droite le rend en direct. Chaque modification arrive d'elle-même dans l'aperçu : les diapositives se remplissent, les tableaux prennent forme, les chiffres se posent dans les cellules. La diapositive 4 ne vous plaît pas ? Dites-le au message suivant — l'agent modifie le même fichier sur place et l'aperçu suit. Aucun export, aucune application Office externe, aucune sortie de Codeg. -# Serveur autonome (sans Tauri/GUI requis) -pnpm server:dev -pnpm server:build # binaire de release dans src-tauri/target/release/codeg-server +![Un agent modifiant un document Office à côté de son aperçu en direct](../images/office-light.png#gh-light-mode-only) +![Un agent modifiant un document Office à côté de son aperçu en direct](../images/office-dark.png#gh-dark-mode-only) -# Compiler explicitement le compagnon codeg-mcp (pour la triplet hôte) -pnpm tauri:prepare-sidecars # sortie : src-tauri/binaries/codeg-mcp- +## 💻 Espace de travail -# Sauter la préparation du sidecar lors d'itérations sur le frontend sans besoin de délégation -CODEG_SKIP_SIDECAR=1 pnpm tauri dev +Un seul espace de travail, tous les agents. Quel que soit celui qui travaille — Claude Code, Codex, Cursor —, il le fait dans le même éditeur, avec les mêmes diffs en direct et le même client git ; et ce qu'il produit, ce sont de vrais fichiers de votre dépôt, qui changent sous vos yeux. -# Lint -pnpm eslint . +**Sessions.** Récupérez l'historique que vous avez déjà : les sessions passées de tous les agents installés, importées en un clic et reprenables là où vous les aviez laissées. Une fois dedans, elles cessent d'être des silos séparés — mentionnez une ancienne session avec `@` et l'agent auquel vous parlez peut la lire, même si un autre agent l'a écrite ; l'exécution Codex d'aujourd'hui repart donc de là où la session Claude Code de la semaine dernière s'est arrêtée. -# Tests frontend (vitest) -pnpm test -pnpm test:watch -pnpm test:coverage +**Fichiers.** Les modifications de l'agent apparaissent sous forme de diffs à côté de la conversation, au fur et à mesure. Ouvrez n'importe quel fichier dans un vrai éditeur avec coloration syntaxique, envoyez un fichier — ou juste une sélection — directement à l'agent avec `⌘L`, et prévisualisez Markdown, HTML, images et documents Office dans le même volet. -# Vérifications Rust (exécuter dans src-tauri/) -cargo check # bureau (features par défaut) -cargo check --no-default-features --bin codeg-server # mode serveur -cargo check --no-default-features --bin codeg-mcp # compagnon MCP -cargo clippy --all-targets --features test-utils -- -D warnings +**Git.** Un client complet, pas un simple indicateur d'état : committez et poussez, parcourez l'historique avec l'état d'envoi de chaque commit, créez des branches, fusionnez, rebasez, remisez, réinitialisez ou comparez avec une autre branche. Les conflits ouvrent un éditeur de fusion à trois volets où vous acceptez bloc par bloc ou tapez vous-même la résolution. Et les worktrees réduisent le travail en parallèle à une seule action — une nouvelle branche, son propre répertoire et une conversation toute neuve enracinée dedans, pour qu'une flotte d'agents construise des fonctionnalités différentes en même temps sans se marcher sur les fichiers. -# Tests Rust -cargo test --features test-utils # bureau (avec intégration) -cargo test --no-default-features --bin codeg-server --lib # mode serveur -cargo insta review # accepter les mises à jour de snapshots de parser -``` +## ✨ Points forts -> Astuce : lorsque vous avez un build récent de `codeg-mcp` sous `src-tauri/target/release/` et que vous voulez y faire pointer un `codeg-server` lancé manuellement sans réinstaller, exportez `CODEG_MCP_BIN=$(pwd)/src-tauri/target/release/codeg-mcp`. +- **[Agrégation des conversations](https://docs.codeg.app/guide/aggregation)** — importez les sessions de tous les agents supportés dans un espace de travail unifié et consultable, et reprenez-les là où vous vous étiez arrêté +- **[Collaboration multi-agents](https://docs.codeg.app/guide/multi-agent)** — mentionnez un agent avec `@` pour déléguer : les sous-agents de types différents s'exécutent chacun dans sa session, en parallèle, au sein d'une même tâche +- **[L'espace de travail](https://docs.codeg.app/guide/workspace)** — toute la boucle d'ingénierie à côté de l'agent : arborescence, éditeur et diff, changements git, commit et terminal intégré +- **[Git et worktrees](https://docs.codeg.app/guide/git)** — relisez et validez vos changements, gérez vos comptes Git distants et travaillez en parallèle grâce aux flux `git worktree` intégrés +- **[Canaux de discussion](https://docs.codeg.app/guide/chat-channels)** — pilotez vos agents depuis Telegram, Lark (Feishu) et iLink (Weixin) : créez des tâches, approuvez des permissions, suivez l'avancement en direct +- **[Automatisations](https://docs.codeg.app/guide/automations)** — enregistrez un compositeur entièrement configuré comme une automatisation réutilisable, exécutée sans interface, selon un planning cron ou à la demande +- **[Documents Office](https://docs.codeg.app/guide/office)** — créez, analysez, relisez et modifiez des `.docx` / `.xlsx` / `.pptx` via l'`officecli` intégré, avec aperçu en direct dans l'onglet +- **[Recherche scientifique](https://docs.codeg.app/guide/research)** — des compétences de recherche intégrées (formulation d'hypothèses, plan d'expérience, statistiques, visualisation, évaluation critique, recherche bibliographique) que n'importe quel agent peut invoquer +- **[Project Boot](https://docs.codeg.app/guide/project-boot)** — créez visuellement de nouveaux projets, avec aperçu en direct, puis ouvrez-les directement dans l'espace de travail +- **[MCP](https://docs.codeg.app/guide/mcp) & [Skills](https://docs.codeg.app/guide/skills)** — scan des serveurs locaux, recherche et installation depuis le registre, et compétences gérées au niveau global ou projet +- **[Bureau, serveur et Docker](https://docs.codeg.app/getting-started/deployment)** — une application de bureau native, un `codeg-server` autonome accessible depuis n'importe quel navigateur, ou `docker compose up` -### Déploiement du serveur +## 📦 Installation et exécution -Codeg peut fonctionner comme un serveur web autonome sans environnement de bureau. +**Bureau** — téléchargez l'installateur macOS, Windows ou Linux depuis les [Releases](https://github.com/xintaofei/codeg/releases), puis suivez l'[Installation](https://docs.codeg.app/getting-started/installation). -#### Option 1 : Installation en une ligne (Linux / macOS) +**Serveur** — faites tourner Codeg sans interface et accédez-y depuis n'importe quel navigateur : ```bash curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash -``` - -Installer une version spécifique ou dans un répertoire personnalisé : - -```bash -curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash -s -- --version v0.5.2 --dir ~/.local/bin -``` - -Puis exécuter : - -```bash codeg-server ``` -#### Option 2 : Installation en une ligne (Windows PowerShell) - -```powershell -irm https://raw.githubusercontent.com/xintaofei/codeg/main/install.ps1 | iex -``` - -Ou installer une version spécifique : - -```powershell -.\install.ps1 -Version v0.5.2 -``` - -#### Option 3 : Télécharger depuis GitHub Releases - -Les binaires pré-compilés (avec les ressources web incluses) sont disponibles sur la page [Releases](https://github.com/xintaofei/codeg/releases) : - -| Plateforme | Fichier | -| ----------- | ---------------------------------- | -| Linux x64 | `codeg-server-linux-x64.tar.gz` | -| Linux arm64 | `codeg-server-linux-arm64.tar.gz` | -| macOS x64 | `codeg-server-darwin-x64.tar.gz` | -| macOS arm64 | `codeg-server-darwin-arm64.tar.gz` | -| Windows x64 | `codeg-server-windows-x64.zip` | - -```bash -# Exemple : télécharger, extraire et exécuter -tar xzf codeg-server-linux-x64.tar.gz -cd codeg-server-linux-x64 -CODEG_STATIC_DIR=./web ./codeg-server -``` - -> Pour les déploiements sans surveillance, démarrez-le avec `--supervise` afin qu'une mise à jour sur place échouée soit automatiquement annulée — voir [Mises à jour sur place](#mises-à-jour-sur-place). - -#### Option 4 : Docker +**Docker** — le même serveur, dans un conteneur : ```bash -# Avec Docker Compose (recommandé) -docker compose up -d - -# Ou exécuter directement avec Docker docker run -d -p 3080:3080 -v codeg-data:/data ghcr.io/xintaofei/codeg:latest - -# Avec token personnalisé et répertoire de projet monté -docker run -d -p 3080:3080 \ - -v codeg-data:/data \ - -v /path/to/projects:/projects \ - -e CODEG_TOKEN=your-secret-token \ - ghcr.io/xintaofei/codeg:latest ``` -L'image Docker utilise un build multi-stage (Node.js + Rust → runtime Debian allégé) et inclut `git` et `ssh` pour les opérations sur les dépôts. Les données sont persistées dans le volume `/data`. Vous pouvez optionnellement monter des répertoires de projets pour accéder aux dépôts locaux depuis le conteneur. - -#### Option 5 : Compiler depuis les sources - -```bash -pnpm install && pnpm build # compiler le frontend -cd src-tauri -cargo build --release --bin codeg-server --no-default-features -cargo build --release --bin codeg-mcp --no-default-features # compagnon de délégation -CODEG_STATIC_DIR=../out ./target/release/codeg-server # codeg-mcp est détecté comme fichier voisin -``` +Compose, binaires précompilés, compilation depuis les sources et mises à jour sur place sont traités dans [Déploiement](https://docs.codeg.app/getting-started/deployment) ; les variables d'environnement dans [Configuration](https://docs.codeg.app/getting-started/configuration). Pour compiler Codeg lui-même : [Développement](https://docs.codeg.app/reference/development) et [Architecture](https://docs.codeg.app/reference/architecture). -Si vous conservez les deux binaires dans des répertoires séparés, définissez `CODEG_MCP_BIN=/chemin/abs/vers/codeg-mcp` pour que le runtime puisse toujours trouver le compagnon ; sans cela, la délégation multi-agents est désactivée silencieusement. +## 🔒 Confidentialité et sécurité -#### Mises à jour sur place - -Le serveur peut se mettre à jour lui-même depuis **Paramètres → Mise à jour logicielle** : il télécharge la version signée correspondant à sa plateforme, remplace les binaires et les ressources web sur disque, puis redémarre — sans redéploiement manuel. Cette fonctionnalité est réservée à Linux/macOS (désactivée sous Windows). La version précédente est conservée comme sauvegarde, si bien que le même écran propose une action **Revenir en arrière** pour y retourner. - -**Exécutez sous le superviseur pour bénéficier du retour arrière automatique.** Démarrez le serveur autonome avec `--supervise` afin qu'un processus fraîchement mis à jour qui ne parvient pas à démarrer dans la fenêtre d'essai soit automatiquement restauré vers la version précédente : - -```bash -CODEG_STATIC_DIR=./web ./codeg-server --supervise -``` - -Sans `--supervise`, le serveur se met tout de même à jour sur place (il se ré-exécute lui-même), mais la mise à jour est effectuée au mieux : aucun superviseur n'est présent pour restaurer automatiquement une version incapable de démarrer. L'image Docker s'exécute déjà sous le superviseur. - -**Les mises à jour Docker modifient le conteneur, pas l'image.** Une mise à jour sur place réécrit les binaires et les ressources web à l'intérieur de la couche inscriptible du conteneur en cours d'exécution ; ils n'existent donc que dans ce conteneur. Le volume `/data` persiste, mais les fichiers mis à jour **non** : recréer le conteneur — `docker compose up --force-recreate`, un nouveau `docker run`, ou une recréation après un `docker pull` — repart de l'image et abandonne la mise à jour sur place. (Un `docker pull` seul ne fait que rafraîchir l'image locale ; rien n'est restauré tant que le conteneur n'est pas recréé.) Pour rendre une mise à jour permanente, construisez ou téléchargez une image à la nouvelle version et recréez-en le conteneur. - -#### Configuration - -Variables d'environnement : - -| Variable | Valeur par défaut | Description | -| ------------------------------ | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `CODEG_PORT` | `3080` | Port HTTP | -| `CODEG_HOST` | `0.0.0.0` | Adresse de liaison | -| `CODEG_TOKEN` | _(aléatoire)_ | Jeton d'authentification (affiché sur stderr au démarrage) | -| `CODEG_DATA_DIR` | `~/.local/share/codeg` | Répertoire de la base de données SQLite (racine également de `uploads/`, `pets/`) | -| `CODEG_STATIC_DIR` | `./web` ou `./out` | Répertoire d'export statique Next.js | -| `CODEG_MCP_BIN` | _(non défini)_ | Chemin absolu vers le compagnon `codeg-mcp`. Remplace la recherche par défaut (fichier voisin de l'exécutable + `PATH`). À utiliser pour les builds depuis les sources ou les agencements personnalisés où le compagnon réside en dehors du répertoire d'installation du serveur. | -| `CODEG_SKIP_SIDECAR` | _(non défini)_ | Variable de confort réservée au frontend pour `pnpm tauri dev` / `pnpm tauri build` — lorsqu'elle vaut `1`, la compilation du sidecar `codeg-mcp` est ignorée. La délégation est désactivée dans ce build ; les artefacts de qualité production doivent la laisser non définie. | -| `CODEG_UPLOAD_MAX_TOTAL_BYTES` | _(non défini)_ | Limite stricte du nombre total d'octets résidant sous `/uploads/`. Nombre d'octets en décimal (p. ex. `10737418240` pour 10 Gio). Non défini, `0` ou une valeur non analysable désactive la limite et imprime une ligne au démarrage pour que la configuration soit visible. La limite est appliquée au sein d'un seul processus `codeg-server` — les déploiements à mise à l'échelle horizontale partageant un même volume `uploads/` nécessitent une coordination externe (verrou de fichier, Redis, quota de proxy inverse). | -| `CODEG_UPLOAD_QUOTA_STRICT` | _(non défini)_ | Lorsque vrai (`1` / `true` / `yes` / `on`), interrompt le démarrage avec le code de sortie 2 si `CODEG_UPLOAD_MAX_TOTAL_BYTES` est défini sur une valeur non analysable, au lieu de continuer avec un WARN. Utilisez ceci lorsque votre politique de sécurité exige que « le quota configuré doit être effectif ». | - -
- -
-

Architecture

- -```text -Next.js 16 (Static Export) + React 19 - | - | invoke() (desktop) / fetch() + WebSocket (web) - v - ┌─────────────────────────┐ - │ Transport Abstraction │ - │ (Tauri IPC or HTTP/WS) │ - └─────────────────────────┘ - | - v -┌─── Tauri Desktop ───┐ ┌─── codeg-server ───┐ -│ Tauri 2 Commands │ │ Axum HTTP + WS │ -│ (window management) │ │ (standalone mode) │ -└──────────┬───────────┘ └──────────┬──────────┘ - └──────────┬───────────────┘ - v - Shared Rust Core - |- AppState - |- ACP Manager - |- Parsers (conversation ingestion) - |- Chat Channels - |- Git / File Tree / Terminal - |- MCP marketplace + config - |- Office Tools (officecli) + Automations - |- SeaORM + SQLite - | - ┌───────┼───────┐ - v v v - Local Filesystem Git Chat Channels - / Git Repos Repos (Telegram, Lark, iLink) -``` - -
- -## Confidentialité et sécurité - -- Local-first par défaut pour l'analyse, le stockage et les opérations sur le projet -- L'accès réseau ne se produit que lors d'actions déclenchées par l'utilisateur +- Local d'abord par défaut pour l'analyse, le stockage et les opérations sur les projets — les accès réseau n'ont lieu que sur des actions que vous déclenchez +- Les modes web et serveur sont protégés par une authentification par jeton - Prise en charge du proxy système pour les environnements d'entreprise -- Le mode service web utilise l'authentification par jeton -## Communauté +Détails dans [Confidentialité et sécurité](https://docs.codeg.app/reference/privacy). + +## 👥 Communauté - Scannez le QR code ci-dessous pour rejoindre notre groupe WeChat pour des discussions, des retours et des mises à jour @@ -445,13 +143,13 @@ Next.js 16 (Static Export) + React 19 - Merci à la communauté [LinuxDO](https://linux.do) pour son soutien -## Remerciements +## 🙏 Remerciements -- [ACP](https://agentclientprotocol.com) — l'Agent Client Protocol (ACP) est la base qui permet à Codeg de se connecter à plusieurs agents +- [Agent Client Protocol](https://agentclientprotocol.com) — le socle qui permet à Codeg de se connecter à tous les agents qu'il supporte - [Superpowers](https://github.com/obra/superpowers) — alimente le module de compétences d'experts de Codeg - [OfficeCLI](https://github.com/iOfficeAI/OfficeCLI) — alimente le flux de travail des documents Office de Codeg - [scientific-agent-skills](https://github.com/K-Dense-AI/scientific-agent-skills) — alimente les compétences de Recherche scientifique de Codeg (sous-ensemble sous licence MIT) -## Licence +## 📜 Licence -Apache-2.0. Voir `LICENSE`. +Apache-2.0. Voir [LICENSE](../../LICENSE). diff --git a/docs/readme/README.ja.md b/docs/readme/README.ja.md index 52539353e..1b22b75f2 100644 --- a/docs/readme/README.ja.md +++ b/docs/readme/README.ja.md @@ -1,10 +1,8 @@ # Codeg [![Release](https://img.shields.io/github/v/release/xintaofei/codeg)](https://github.com/xintaofei/codeg/releases) +[![Docs](https://img.shields.io/badge/docs-docs.codeg.app-3451b2)](https://docs.codeg.app) [![License](https://img.shields.io/github/license/xintaofei/codeg)](../../LICENSE) -[![Tauri](https://img.shields.io/badge/Tauri-2.x-24C8DB)](https://tauri.app/) -[![Next.js](https://img.shields.io/badge/Next.js-16-black)](https://nextjs.org/) -[![Docker](https://img.shields.io/badge/Docker-ready-2496ED)](../../Dockerfile)

English | @@ -19,11 +17,18 @@ العربية

-Codeg(Code Generation)は、マルチエージェント・コーディングワークスペースです。Claude Code、Codex CLI、OpenCode、Gemini CLI、OpenClaw、Cline、Hermes Agent、CodeBuddy、Kimi Code、Pi、Grok Build、Cursor などの複数のエージェントを 1 つのワークスペースに統合し、会話の集約とマルチエージェント協働に対応します。デスクトップへのインストールに加え、サーバー/Docker デプロイにも対応しています。 +Codeg(Code Generation)はマルチエージェント・コーディングワークスペースです。あらゆる AI コーディングエージェントをひとつの場所で動かし、そして協働させます。 -![gallery](../images/gallery.svg) +対応するすべてのエージェント CLI のセッションを検索可能なワークスペースへ集約し、ひとつのタスクの中でメインエージェントが別種類のサブエージェントへ委譲でき、デスクトップアプリ・スタンドアロンサーバー・Docker コンテナのいずれとしても動作します。 -## スポンサー +![ワークスペース](../images/workspace-light.png#gh-light-mode-only) +![ワークスペース](../images/workspace-dark.png#gh-dark-mode-only) + +## 📖 ドキュメント + +**完全なドキュメントは [docs.codeg.app](https://docs.codeg.app)** — [はじめに](https://docs.codeg.app/getting-started/) · [ガイド](https://docs.codeg.app/guide/) · [リファレンス](https://docs.codeg.app/reference/) + +## 💖 スポンサー
@@ -58,385 +63,78 @@ Codeg(Code Generation)は、マルチエージェント・コーディング > Codeg のスポンサーになりませんか?[メールでお問い合わせください。](mailto:itpkcn@gmail.com) -## メインインターフェース - -![Codeg Light](../images/main-light.png#gh-light-mode-only) -![Codeg Dark](../images/main-dark.png#gh-dark-mode-only) - -## マルチエージェント協調 - -![Codeg Light](../images/collaboration-light.png#gh-light-mode-only) -![Codeg Dark](../images/collaboration-dark.png#gh-dark-mode-only) - -## オフィスワークフロー - -![Codeg Light](../images/office-light.png#gh-light-mode-only) -![Codeg Dark](../images/office-dark.png#gh-dark-mode-only) - -## ハイライト - -- **会話集約** — サポートされているすべてのエージェントのセッションを統合ワークスペースにインポート -- **マルチエージェント協調** — 同一セッション内で、メインエージェントが異なる種類のサブエージェント(例:Claude Code が Codex、Gemini などを呼び出し)を呼び出してタスクを共同で完了し、各サブエージェントは独立したセッションとして動作 -- 内蔵 `git worktree` フローによる並列開発 -- **プロジェクトブート** — ビジュアル設定とライブプレビューで新規プロジェクトを作成 -- **Office ドキュメント** — 内蔵の officecli ツールセットで .docx / .xlsx / .pptx ファイルを作成・分析・校正・編集。ファイルタブ内でリアルタイムプレビューが可能で、エージェントの編集に合わせて即時更新 -- **科学研究** — 科学系スキル(仮説生成、実験計画、統計、可視化、批判的評価、文献検索)を内蔵し、任意のエージェントから呼び出し可能。エージェントごとに管理 -- **オートメーション** — 任意のコンポーザー設定を再利用可能なオートメーションとして保存し、cron スケジュールまたは手動トリガーでヘッドレス実行 -- **チャットチャンネル** — Telegram、Lark(Feishu)、iLink(Weixin)などをコーディング Agent に接続し、リアルタイム通知の受信、フルセッション操作、リモートタスク制御を実行 -- MCP 管理(ローカルスキャン + レジストリ検索/インストール) -- Skills 管理(グローバルおよびプロジェクトスコープ) -- Git リモートアカウント管理(GitHub およびその他の Git サーバー) -- Web サービスモード — ブラウザから Codeg にアクセスでき、リモートワークに対応 -- **スタンドアロンサーバーデプロイ** — 任意の Linux/macOS サーバーで `codeg-server` を実行し、ブラウザからアクセス -- **Docker サポート** — `docker compose up` または `docker run` に対応、カスタムトークン・ポート設定、データ永続化およびプロジェクトディレクトリのマウントをサポート -- ランタイムログ — フィルタリングとモジュール別ログレベルに対応したリアルタイムログビューアを内蔵 -- 統合エンジニアリングループ(ファイルツリー、Diff、Git 変更、コミット、ターミナル) - -## 対応エージェント - -| Agent | 環境変数パス | macOS / Linux デフォルト | Windows デフォルト | -| ------------ | ------------------------------------- | ------------------------------------- | ----------------------------------------------------- | -| Claude Code | `$CLAUDE_CONFIG_DIR/projects` | `~/.claude/projects` | `%USERPROFILE%\\.claude\\projects` | -| Codex CLI | `$CODEX_HOME/sessions` | `~/.codex/sessions` | `%USERPROFILE%\\.codex\\sessions` | -| OpenCode | `$XDG_DATA_HOME/opencode/opencode.db` | `~/.local/share/opencode/opencode.db` | `%USERPROFILE%\\.local\\share\\opencode\\opencode.db` | -| Gemini CLI | `$GEMINI_CLI_HOME/.gemini` | `~/.gemini` | `%USERPROFILE%\\.gemini` | -| OpenClaw | — | `~/.openclaw/agents` | `%USERPROFILE%\\.openclaw\\agents` | -| Cline | `$CLINE_DIR` | `~/.cline/data/tasks` | `%USERPROFILE%\\.cline\\data\\tasks` | -| Hermes Agent | `$HERMES_HOME/state.db` | `~/.hermes/state.db` | `%USERPROFILE%\\.hermes\\state.db` | -| CodeBuddy | `$CODEBUDDY_CONFIG_DIR/projects` | `~/.codebuddy/projects` | `%USERPROFILE%\\.codebuddy\\projects` | -| Kimi Code | `$KIMI_CODE_HOME/sessions` | `~/.kimi-code/sessions` | `%USERPROFILE%\\.kimi-code\\sessions` | -| Pi | `$PI_CODING_AGENT_SESSION_DIR` | `~/.pi/agent/sessions` | `%USERPROFILE%\\.pi\\agent\\sessions` | -| Grok Build | `$GROK_HOME/sessions` | `~/.grok/sessions` | `%USERPROFILE%\\.grok\\sessions` | -| Cursor | `$CURSOR_CONFIG_DIR/chats` | `~/.cursor/chats` | `%USERPROFILE%\\.cursor\\chats` | - -> 注: 環境変数はフォールバックパスより優先されます。 - -
-

プロジェクトブート

- -分割ペインインターフェースで新規プロジェクトをビジュアルに作成:左側で設定、右側でリアルタイムプレビュー。 - -![Project Boot Light](../images/project-boot-light.png#gh-light-mode-only) -![Project Boot Dark](../images/project-boot-dark.png#gh-dark-mode-only) - -### 主な機能 - -- **ビジュアル設定** — ドロップダウンからスタイル、カラーテーマ、アイコンライブラリ、フォント、角丸などを選択でき、プレビューが即座に更新 -- **ライブプレビュー** — プロジェクト作成前に、選んだルック&フィールをリアルタイムで確認 -- **ワンクリック作成** — 「プロジェクト作成」をクリックすると、プリセット設定、フレームワークテンプレート(Next.js / Vite / React Router / Astro / Laravel)、パッケージマネージャー(pnpm / npm / yarn / bun)で `shadcn init` を実行 -- **パッケージマネージャー検出** — インストール済みのパッケージマネージャーを自動検出し、バージョンを表示 -- **シームレスな統合** — 新規作成されたプロジェクトは、すぐに Codeg のワークスペースで開きます - -現在 **shadcn/ui** プロジェクトのスキャフォールディングをサポートしており、タブベースの設計で将来のプロジェクトタイプ追加に対応しています。 - -
- -
-

チャットチャンネル

- -お気に入りのメッセージングアプリ — Telegram、Lark(Feishu)、iLink(Weixin)など — を AI コーディング Agent に接続。チャットからタスクの作成、フォローアップメッセージの送信、権限の承認、セッションの再開、アクティビティの監視が可能です。Agent のレスポンスはツールコール詳細、権限プロンプト、完了サマリーとともにリアルタイムで受信 — ブラウザを開くことなくすべて対応可能。 - -Telegram のフォーラムスーパーグループでは [Telegram topic mode](../chat-channels/telegram-topic-mode.md) を使い、各 topic を独立した Codeg セッションに紐付けられます。 - -### 対応チャンネル - -| チャンネル | プロトコル | 状態 | -| --------------- | -------------------------------- | ---- | -| Telegram | Bot API(HTTP ロングポーリング) | 内蔵 | -| Lark(Feishu) | WebSocket + REST API | 内蔵 | -| iLink(Weixin) | WebSocket + REST API | 内蔵 | - -> その他のチャンネル(Discord、Slack、DingTalk など)は今後のリリースで対応予定。 - -
- -
-

Office ドキュメント

- -Word、Excel、PowerPoint ファイルをファーストクラスのワークフローとして扱えます。内蔵の **officecli** ツールセットにより、エージェントが .docx、.xlsx、.pptx ドキュメントの作成・分析・校正・編集を行い、Codeg 内で直接プレビューできます。 - -### 機能 - -- **作成・編集** — 新規ドキュメントの生成や既存 .docx / .xlsx / .pptx ファイルの編集(グラフ、表、書式設定を含む) -- **分析・校正** — ドキュメント構造の確認、書式の問題の発見、内容の校正 -- **ライブプレビュー** — ファイルタブで .docx / .xlsx / .pptx を開くとインライン表示され、エージェントの編集に合わせて自動更新——常駐の `officecli watch` サーバーが支え(Web およびスタンドアロンサーバー環境ではリバースプロキシ経由で配信、ケイパビリティ認証) -- **クイックアクション** — ウェルカムページの「コーディング」「Office」「科学研究」タブから、対応するスキル呼び出しとプロンプトテンプレートをワンクリックで入力欄に挿入;選択中のエージェントで有効化されていないスキルはロックバッジで表示され、有効化画面へ誘導 -- **Office ツール設定** — 専用設定ページで `officecli` のインストールとドキュメントスキルをスキル×エージェントマトリクスで管理:任意の(スキル、エージェント)ペアを切り替え、一括で有効化/無効化も可能 - -
- -
-

科学研究

- -任意のエージェントを、厳密なリサーチアシスタントに変えます。Codeg には、着想から分析、執筆までをカバーする、MIT ライセンスで厳選された一連の**科学研究スキル**が同梱されています。これらはエキスパートや Office のツールセットとまったく同じように、共有の中央スキルストアにインストールされ、選択した任意のエージェントにリンクされます。 - -### 機能 - -- **厳選スキル** — 仮説生成、実験計画、統計的検出力、統計解析、探索的データ解析、科学的可視化、批判的評価、査読、引用管理、研究者評価、論文検索、AI 模式図 -- **クイックアクション** — ウェルカムページの「科学研究」タブから、対応するスキル呼び出しとローカライズされたプロンプトテンプレートをワンクリックで入力欄に挿入 -- **科学研究設定** — 専用設定ページで、スキルをスキル×エージェントマトリクスで管理。API キーや Python 環境が必要なスキルにはバッジを表示 - -
- -
-

オートメーション

- -コンポーザーの設定——エージェント、モデル、プロンプト、作業ディレクトリ、オプション——を再利用可能な**オートメーション**として保存し、UI を開かずに実行できます。 - -### 機能 - -- **一度設定すれば再利用可能** — 完全なコンポーザー設定を名前付きオートメーションとして保存 -- **スケジュール実行またはオンデマンド** — cron スケジュールで自動実行するか、任意のタイミングで手動トリガー -- **ヘッドレス実行** — バックグラウンドで実行され、通常のセッションを生成。ワークスペースからいつでも開くことができ、起動後はワークスペースに自動で戻る - -
- -
-

クイックスタート

- -### 必要条件 - -- Node.js `>=22`(推奨) -- pnpm `>=10` -- Rust stable(2021 edition) -- Tauri 2 ビルド依存パッケージ(デスクトップモードのみ) +## 🤖 対応エージェント -Linux(Debian/Ubuntu)の例: +Claude Code · Codex · Gemini · OpenClaw · OpenCode · Cline · Hermes · CodeBuddy · Kimi Code · Pi · Grok · Cursor -```bash -sudo apt-get update -sudo apt-get install -y \ - libwebkit2gtk-4.1-dev \ - libayatana-appindicator3-dev \ - librsvg2-dev \ - patchelf -``` - -### バイナリ - -Codeg は単一の workspace から 3 つの Rust バイナリを提供します: - -| バイナリ | 役割 | ビルド | -| -------------- | ------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | -| `codeg` | Tauri デスクトップアプリ(ウィンドウ、トレイ、自動更新) | `pnpm tauri build`(リリース)/ `pnpm tauri dev`(開発) | -| `codeg-server` | ブラウザ/ヘッドレスデプロイ向けスタンドアロン HTTP + WebSocket サーバー | `pnpm server:build` / `pnpm server:dev` | -| `codeg-mcp` | 起動ごとの stdio MCP コンパニオン。agent CLI に `delegate_to_agent` ツールを公開(マルチエージェント協調用) | `pnpm tauri:prepare-sidecars`(`tauri dev` / `tauri build` から自動呼び出し)| - -`codeg-mcp` は実行時に親バイナリと同じディレクトリに配置されている必要があります — インストーラ、Docker イメージ、Tauri sidecar バンドラはすべて `codeg` / `codeg-server` の隣に配置します。ソースビルドやカスタム配置では、`CODEG_MCP_BIN=/abs/path/codeg-mcp` 環境変数で検索パスを上書きできます。コンパニオンが見つからない場合、デリゲートはスキップされ(警告ログが 1 行記録されます)、agent セッションの他の部分は引き続き動作します。 +その多くは Codeg がインストール・バージョン固定・更新まで面倒を見ます。全リスト、各エージェントの実行環境要件、セッションの保存場所は [対応エージェント](https://docs.codeg.app/guide/supported-agents) を参照してください。 -### 開発 +## 🤝 マルチエージェント協調 -```bash -pnpm install - -# フロントエンドのみ(Next.js 開発サーバー、Rust 不要) -pnpm dev +マルチエージェント協調は、キーひとつで完結します。`@` を打ち、エージェントを選び、送信するだけ。あとのスケジューリングは Codeg が引き受けます — 指名されたエージェントをそれぞれ独立したセッションとして起動し、タスクを引き渡し、その作業を今いるスレッドへ流し込みます。ふたつ指名すれば並走します。Claude Code が下書きし、Codex がレビューする。コンテキストの切り替えも、ターミナル間のコピー&ペーストも不要です。 -# フロントエンド静的エクスポート(out/ へ) -pnpm build +![ひとつの Codeg 会話からサブエージェントへタスクを委譲する様子](../images/collaboration-light.gif#gh-light-mode-only) +![ひとつの Codeg 会話からサブエージェントへタスクを委譲する様子](../images/collaboration-dark.gif#gh-dark-mode-only) -# デスクトップアプリ全体(Tauri + Next.js、codeg-mcp sidecar を自動ビルド) -pnpm tauri dev +## 📄 Office ドキュメント -# デスクトップリリースビルド(codeg-mcp を externalBin としてバンドル) -pnpm tauri build +スライドでも、レポートでも、表計算でも、頼めばエージェントは本物の `.pptx` / `.docx` / `.xlsx` を作ります — 右側のペインがそれをリアルタイムに描画しながら。編集は自動でプレビューへ反映され、スライドが埋まり、表が形になり、数値がセルに収まっていきます。4 枚目が気に入らない?次のメッセージでそう伝えるだけ — エージェントは同じファイルをその場で直し、プレビューが追いつきます。書き出しも、外部の Office アプリも、Codeg を離れる必要もありません。 -# スタンドアロンサーバー(Tauri/GUI 不要) -pnpm server:dev -pnpm server:build # リリースバイナリは src-tauri/target/release/codeg-server +![ライブプレビューを横に置いて Office ドキュメントを編集するエージェント](../images/office-light.png#gh-light-mode-only) +![ライブプレビューを横に置いて Office ドキュメントを編集するエージェント](../images/office-dark.png#gh-dark-mode-only) -# codeg-mcp コンパニオンを明示的にビルド(ホストトリプル向け) -pnpm tauri:prepare-sidecars # 出力: src-tauri/binaries/codeg-mcp- +## 💻 ワークスペース -# フロントエンドのイテレーション中でデリゲートが不要な場合に sidecar 準備をスキップ -CODEG_SKIP_SIDECAR=1 pnpm tauri dev +ワークスペースはひとつ、エージェントはすべて。動かしているのが Claude Code でも Codex でも Cursor でも、同じエディタ、同じライブ diff、同じ Git クライアントの中で作業します。そして生まれるのはリポジトリの中の本物のファイル — 目の前で変わっていきます。 -# Lint -pnpm eslint . +**セッション**:すでにある履歴をそのまま引き継げます。インストール済みのすべてのエージェントの過去セッションをワンクリックで取り込み、中断したところから再開できます。取り込んだ後は、もう互いに孤立したままではありません — 古いセッションを `@` で指名すれば、いま話しているエージェントがそれを読めます。別のエージェントが書いたものでも構いません。今日の Codex が、先週の Claude Code が終えたところから続けられます。 -# フロントエンドテスト (vitest) -pnpm test -pnpm test:watch -pnpm test:coverage +**ファイル**:エージェントの編集は、着地するそばから会話の隣に diff として現れます。どのファイルもシンタックスハイライト付きの本物のエディタで開け、`⌘L` でファイルを — あるいは選択範囲だけを — そのままエージェントへ渡せます。Markdown、HTML、画像、Office ドキュメントも同じペインでプレビューできます。 -# Rust チェック(src-tauri/ で実行) -cargo check # デスクトップ(デフォルト features) -cargo check --no-default-features --bin codeg-server # サーバーモード -cargo check --no-default-features --bin codeg-mcp # MCP コンパニオン -cargo clippy --all-targets --features test-utils -- -D warnings +**Git**:状態表示ではなく、完全なクライアントです。コミットとプッシュ、コミットごとのプッシュ状態が分かる履歴、ブランチ、マージ、リベース、スタッシュ、リセット、別ブランチとの差分。コンフリクトは三ペインのマージエディタで開き、ハンク単位で採用するか自分で書きます。そして worktree は並行作業をワンアクションに変えます — 新しいブランチ、専用のディレクトリ、そこに根を張った新しい会話。エージェントの一隊が互いのファイルに触れることなく、別々の機能を同時に作れます。 -# Rust テスト -cargo test --features test-utils # デスクトップ(統合テスト含む) -cargo test --no-default-features --bin codeg-server --lib # サーバーモード -cargo insta review # パーサスナップショットの更新を受理 -``` +## ✨ ハイライト -> ヒント: `src-tauri/target/release/` に新しい `codeg-mcp` ビルドがあり、再インストールせずに手動起動の `codeg-server` をそこに向けたい場合は、`CODEG_MCP_BIN=$(pwd)/src-tauri/target/release/codeg-mcp` をエクスポートしてください。 +- **[会話の集約](https://docs.codeg.app/guide/aggregation)** — 対応するすべてのエージェントのセッションを統一された検索可能なワークスペースへ取り込み、中断した続きから再開できます +- **[マルチエージェント協調](https://docs.codeg.app/guide/multi-agent)** — `@` でエージェントを指名するだけで委譲。異なる種類のサブエージェントがそれぞれ独立したセッションとして、ひとつのタスク内で並行して動きます +- **[ワークスペース](https://docs.codeg.app/guide/workspace)** — エージェントの隣に開発の一連の流れがすべて揃います:ファイルツリー、エディタと diff、Git の変更、コミット、内蔵ターミナル +- **[Git と Worktree](https://docs.codeg.app/guide/git)** — 変更のレビューとコミット、Git リモートアカウントの管理、内蔵の `git worktree` フローによる並行開発 +- **[チャットチャンネル](https://docs.codeg.app/guide/chat-channels)** — Telegram、Lark(飛書)、iLink(微信)からエージェントを操作:タスク作成、権限の承認、進捗のリアルタイム受信 +- **[オートメーション](https://docs.codeg.app/guide/automations)** — 設定済みの入力欄を再利用可能なオートメーションとして保存し、cron スケジュールまたは任意のタイミングでヘッドレス実行 +- **[Office ドキュメント](https://docs.codeg.app/guide/office)** — 同梱の `officecli` で `.docx` / `.xlsx` / `.pptx` を作成・分析・校正・編集し、タブ内でライブプレビュー +- **[科学研究](https://docs.codeg.app/guide/research)** — 同梱の研究スキル(仮説生成、実験計画、統計、可視化、批判的吟味、文献検索)をどのエージェントからも呼び出せます +- **[プロジェクトブート](https://docs.codeg.app/guide/project-boot)** — ライブプレビュー付きで新規プロジェクトを視覚的に構築し、そのままワークスペースで開きます +- **[MCP](https://docs.codeg.app/guide/mcp) & [スキル](https://docs.codeg.app/guide/skills)** — ローカルスキャンとレジストリ検索/インストール、スキルはグローバル/プロジェクト単位で管理 +- **[デスクトップ・サーバー・Docker](https://docs.codeg.app/getting-started/deployment)** — ネイティブなデスクトップアプリ、ブラウザから使えるスタンドアロンの `codeg-server`、あるいは `docker compose up` -### サーバーデプロイ +## 📦 インストールと実行 -Codeg はデスクトップ環境なしでスタンドアロン Web サーバーとして実行できます。 +**デスクトップ** — macOS・Windows・Linux 向けインストーラーを [Releases](https://github.com/xintaofei/codeg/releases) から入手し、[インストール](https://docs.codeg.app/getting-started/installation) の手順に従ってください。 -#### オプション 1: ワンラインインストール(Linux / macOS) +**サーバー** — Codeg をヘッドレスで動かし、任意のブラウザから利用します: ```bash curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash -``` - -特定のバージョンまたはカスタムディレクトリにインストール: - -```bash -curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash -s -- --version v0.5.2 --dir ~/.local/bin -``` - -実行: - -```bash codeg-server ``` -#### オプション 2: ワンラインインストール(Windows PowerShell) - -```powershell -irm https://raw.githubusercontent.com/xintaofei/codeg/main/install.ps1 | iex -``` - -または特定のバージョンをインストール: - -```powershell -.\install.ps1 -Version v0.5.2 -``` - -#### オプション 3: GitHub Releases からダウンロード - -ビルド済みバイナリ(Web アセットをバンドル済み)は [Releases](https://github.com/xintaofei/codeg/releases) ページからダウンロードできます: - -| プラットフォーム | ファイル | -| ---------------- | ---------------------------------- | -| Linux x64 | `codeg-server-linux-x64.tar.gz` | -| Linux arm64 | `codeg-server-linux-arm64.tar.gz` | -| macOS x64 | `codeg-server-darwin-x64.tar.gz` | -| macOS arm64 | `codeg-server-darwin-arm64.tar.gz` | -| Windows x64 | `codeg-server-windows-x64.zip` | +**Docker** — 同じサーバーを、ひとつのコンテナで: ```bash -# 例: ダウンロード、解凍、実行 -tar xzf codeg-server-linux-x64.tar.gz -cd codeg-server-linux-x64 -CODEG_STATIC_DIR=./web ./codeg-server -``` - -> 無人デプロイでは、`--supervise` を付けて起動すると、インプレース更新が失敗した場合に自動的にロールバックされます — [インプレース更新](#インプレース更新)を参照してください。 - -#### オプション 4: Docker - -```bash -# Docker Compose を使用(推奨) -docker compose up -d - -# または Docker で直接実行 docker run -d -p 3080:3080 -v codeg-data:/data ghcr.io/xintaofei/codeg:latest - -# カスタムトークンとプロジェクトディレクトリのマウント -docker run -d -p 3080:3080 \ - -v codeg-data:/data \ - -v /path/to/projects:/projects \ - -e CODEG_TOKEN=your-secret-token \ - ghcr.io/xintaofei/codeg:latest -``` - -Docker イメージはマルチステージビルド(Node.js + Rust → 軽量 Debian ランタイム)を使用し、リポジトリ操作用の `git` と `ssh` を含みます。データは `/data` ボリュームに永続化されます。オプションでプロジェクトディレクトリをマウントして、コンテナ内からローカルリポジトリにアクセスできます。 - -#### オプション 5: ソースからビルド - -```bash -pnpm install && pnpm build # フロントエンドをビルド -cd src-tauri -cargo build --release --bin codeg-server --no-default-features -cargo build --release --bin codeg-mcp --no-default-features # デリゲートコンパニオン -CODEG_STATIC_DIR=../out ./target/release/codeg-server # codeg-mcp は同階層のバイナリとして検出されます ``` -> 2 つのバイナリを別々のディレクトリに置く場合は、`CODEG_MCP_BIN=/abs/path/to/codeg-mcp` を設定して、ランタイムからコンパニオンを見つけられるようにしてください。設定しない場合、マルチエージェントのデリゲートはサイレントに無効化されます。 - -#### インプレース更新 - -サーバーは **設定 → ソフトウェア更新** から自身を更新できます。プラットフォーム向けの署名済みリリースをダウンロードし、ディスク上のバイナリと Web アセットを差し替えて再起動します — 手動での再デプロイは不要です。これは Linux/macOS のみ対応です(Windows では無効)。以前のバージョンはバックアップとして保持されるため、同じ画面から **ロールバック** 操作で元に戻せます。 - -**自動ロールバックにはスーパーバイザー配下で実行してください。** スタンドアロンサーバーを `--supervise` を付けて起動すると、更新直後のプロセスが試用期間内に起動できなかった場合、自動的に以前のバージョンに戻されます: - -```bash -CODEG_STATIC_DIR=./web ./codeg-server --supervise -``` - -`--supervise` なしでもサーバーはインプレースで更新されます(自身を再 exec します)が、更新はベストエフォートです。起動できないバージョンを自動的にロールバックするスーパーバイザーは存在しません。Docker イメージはすでにスーパーバイザー配下で実行されています。 - -**Docker の更新はイメージではなくコンテナを変更します。** インプレース更新は、実行中コンテナの書き込み可能レイヤー内のバイナリと Web アセットを書き換えるため、それらはそのコンテナ内にのみ存在します。`/data` ボリュームは永続化されますが、更新されたファイルは永続化され**ません**。コンテナを再作成すると——`docker compose up --force-recreate`、新規の `docker run`、または `docker pull` 後の再作成——再びイメージから開始され、インプレース更新は破棄されます。(`docker pull` 単体ではローカルイメージを更新するだけで、コンテナを再作成するまで何も戻りません。)更新を恒久化するには、新しいバージョンのイメージをビルドまたはプルし、そこからコンテナを再作成してください。 - -#### 設定 - -環境変数: - -| 変数 | デフォルト | 説明 | -| ------------------------------ | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `CODEG_PORT` | `3080` | HTTP ポート | -| `CODEG_HOST` | `0.0.0.0` | バインドアドレス | -| `CODEG_TOKEN` | _(ランダム)_ | 認証トークン(起動時に stderr に出力) | -| `CODEG_DATA_DIR` | `~/.local/share/codeg` | SQLite データベースディレクトリ(`uploads/`、`pets/` のルートも兼ねる) | -| `CODEG_STATIC_DIR` | `./web` または `./out` | Next.js 静的エクスポートディレクトリ | -| `CODEG_MCP_BIN` | _(未設定)_ | `codeg-mcp` コンパニオンの絶対パス。デフォルトの「実行ファイルと同階層 + `PATH`」検索を上書きします。コンパニオンがサーバーのインストールディレクトリ外にあるソースビルドやカスタム配置で使用します。 | -| `CODEG_SKIP_SIDECAR` | _(未設定)_ | `pnpm tauri dev` / `pnpm tauri build` でのフロントエンド作業向け — `1` を指定すると `codeg-mcp` sidecar のビルドをスキップします。そのビルドではデリゲートが無効になります。出荷品質の成果物では未設定のままにしてください。 | -| `CODEG_UPLOAD_MAX_TOTAL_BYTES` | _(未設定)_ | `/uploads/` 配下に存在するファイルの合計バイト数のハードキャップ。10進数のバイト数(例: `10737418240` で 10 GiB)。未設定、`0`、または解析できない値の場合、キャップは無効になり、起動時に現在の状態が分かるログ行を出力します。このキャップは単一の `codeg-server` プロセス内でのみ強制されます——同じ `uploads/` ボリュームを共有する水平スケール構成では、外部協調(ファイルロック、Redis、リバースプロキシのクォータ)が必要です。 | -| `CODEG_UPLOAD_QUOTA_STRICT` | _(未設定)_ | 真値(`1` / `true` / `yes` / `on`)の場合、`CODEG_UPLOAD_MAX_TOTAL_BYTES` が解析できない値に設定されているときに、WARN を出して fail-open するのではなく、終了コード 2 で起動を中断します。セキュリティポリシーで「設定されたクォータは有効でなければならない」と要求される場合に使用します。 | - -
- -
-

アーキテクチャ

- -```text -Next.js 16 (Static Export) + React 19 - | - | invoke() (desktop) / fetch() + WebSocket (web) - v - ┌─────────────────────────┐ - │ Transport Abstraction │ - │ (Tauri IPC or HTTP/WS) │ - └─────────────────────────┘ - | - v -┌─── Tauri Desktop ───┐ ┌─── codeg-server ───┐ -│ Tauri 2 Commands │ │ Axum HTTP + WS │ -│ (window management) │ │ (standalone mode) │ -└──────────┬───────────┘ └──────────┬──────────┘ - └──────────┬───────────────┘ - v - Shared Rust Core - |- AppState - |- ACP Manager - |- Parsers (conversation ingestion) - |- Chat Channels - |- Git / File Tree / Terminal - |- MCP marketplace + config - |- Office Tools (officecli) + Automations - |- SeaORM + SQLite - | - ┌───────┼───────┐ - v v v - Local Filesystem Git Chat Channels - / Git Repos Repos (Telegram, Lark, iLink) -``` +Compose、ビルド済みバイナリ、ソースからのビルド、その場での更新は [デプロイ](https://docs.codeg.app/getting-started/deployment) に、環境変数は [設定](https://docs.codeg.app/getting-started/configuration) にあります。Codeg 自体のビルドは [開発](https://docs.codeg.app/reference/development) と [アーキテクチャ](https://docs.codeg.app/reference/architecture) を参照。 -
+## 🔒 プライバシーとセキュリティ -## プライバシーとセキュリティ +- 解析・保存・プロジェクト操作はデフォルトでローカル優先 — ネットワークアクセスはユーザーが起点となった操作でのみ発生します +- Web モードとサーバーモードはトークンベースの認証で保護されます +- 企業環境向けにシステムプロキシに対応 -- 解析、ストレージ、プロジェクト操作はデフォルトでローカルファースト -- ネットワークアクセスはユーザーが明示的に操作した場合のみ発生 -- エンタープライズ環境向けのシステムプロキシサポート -- Web サービスモードではトークンベースの認証を使用 +詳細は [プライバシーとセキュリティ](https://docs.codeg.app/reference/privacy) を参照してください。 -## コミュニティ +## 👥 コミュニティ - QRコードをスキャンして、ディスカッション、フィードバック、アップデートのための WeChat グループに参加してください @@ -445,13 +143,13 @@ Next.js 16 (Static Export) + React 19 - [LinuxDO](https://linux.do) コミュニティのサポートに感謝します -## 謝辞 +## 🙏 謝辞 -- [ACP](https://agentclientprotocol.com) — Agent Client Protocol (ACP) は、Codeg が複数のエージェントに接続できる基盤です +- [Agent Client Protocol](https://agentclientprotocol.com) — Codeg が対応するすべてのエージェントへ接続できる土台 - [Superpowers](https://github.com/obra/superpowers) — Codeg のエキスパートスキルモジュールを支えるプロジェクト - [OfficeCLI](https://github.com/iOfficeAI/OfficeCLI) — Codeg の Office ドキュメントワークフローを支えるプロジェクト - [scientific-agent-skills](https://github.com/K-Dense-AI/scientific-agent-skills) — Codeg の科学研究スキルを支えるプロジェクト(MIT ライセンスのサブセット) -## ライセンス +## 📜 ライセンス -Apache-2.0。`LICENSE` を参照してください。 +Apache-2.0。[LICENSE](../../LICENSE) を参照してください。 diff --git a/docs/readme/README.ko.md b/docs/readme/README.ko.md index e0570d8e1..68d1b8e03 100644 --- a/docs/readme/README.ko.md +++ b/docs/readme/README.ko.md @@ -1,10 +1,8 @@ # Codeg [![Release](https://img.shields.io/github/v/release/xintaofei/codeg)](https://github.com/xintaofei/codeg/releases) +[![Docs](https://img.shields.io/badge/docs-docs.codeg.app-3451b2)](https://docs.codeg.app) [![License](https://img.shields.io/github/license/xintaofei/codeg)](../../LICENSE) -[![Tauri](https://img.shields.io/badge/Tauri-2.x-24C8DB)](https://tauri.app/) -[![Next.js](https://img.shields.io/badge/Next.js-16-black)](https://nextjs.org/) -[![Docker](https://img.shields.io/badge/Docker-ready-2496ED)](../../Dockerfile)

English | @@ -19,11 +17,18 @@ العربية

-Codeg(Code Generation)는 멀티 에이전트 코딩 워크스페이스입니다. Claude Code, Codex CLI, OpenCode, Gemini CLI, OpenClaw, Cline, Hermes Agent, CodeBuddy, Kimi Code, Pi, Grok Build, Cursor 등의 여러 에이전트를 하나의 워크스페이스로 통합하며, 대화 집계와 멀티 에이전트 협업을 지원하고 데스크톱 설치와 서버/Docker 배포를 지원합니다. +Codeg(Code Generation)는 멀티 에이전트 코딩 워크스페이스입니다. 모든 AI 코딩 에이전트를 한곳에서 실행하고, 서로 협업하게 만듭니다. -![gallery](../images/gallery.svg) +지원되는 모든 에이전트 CLI의 세션을 검색 가능한 하나의 워크스페이스로 모으고, 하나의 작업 안에서 메인 에이전트가 다른 종류의 서브 에이전트에게 위임할 수 있으며, 데스크톱 앱·독립 서버·Docker 컨테이너 어느 형태로든 실행됩니다. -## 스폰서 +![워크스페이스](../images/workspace-light.png#gh-light-mode-only) +![워크스페이스](../images/workspace-dark.png#gh-dark-mode-only) + +## 📖 문서 + +**전체 문서는 [docs.codeg.app](https://docs.codeg.app)** — [시작하기](https://docs.codeg.app/getting-started/) · [가이드](https://docs.codeg.app/guide/) · [레퍼런스](https://docs.codeg.app/reference/) + +## 💖 스폰서
@@ -58,385 +63,78 @@ Codeg(Code Generation)는 멀티 에이전트 코딩 워크스페이스입니다 > Codeg의 스폰서가 되고 싶으신가요? [이메일로 문의해 주세요.](mailto:itpkcn@gmail.com) -## 메인 인터페이스 - -![Codeg Light](../images/main-light.png#gh-light-mode-only) -![Codeg Dark](../images/main-dark.png#gh-dark-mode-only) - -## 멀티 에이전트 협업 - -![Codeg Light](../images/collaboration-light.png#gh-light-mode-only) -![Codeg Dark](../images/collaboration-dark.png#gh-dark-mode-only) - -## 오피스 워크플로우 - -![Codeg Light](../images/office-light.png#gh-light-mode-only) -![Codeg Dark](../images/office-dark.png#gh-dark-mode-only) - -## 하이라이트 - -- **세션 통합** — 지원되는 모든 에이전트의 세션을 통합 워크스페이스로 가져오기 -- **멀티 에이전트 협업** — 단일 세션 내에서 메인 에이전트가 다양한 유형의 서브 에이전트(예: Claude Code가 Codex, Gemini 등을 호출)를 호출하여 함께 작업을 완료하며, 각 서브 에이전트는 독립된 세션으로 실행 -- 내장 `git worktree` 플로를 통한 병렬 개발 -- **프로젝트 부트** — 시각적 설정과 실시간 미리보기로 새 프로젝트 생성 -- **Office 문서** — 내장 officecli 툴셋으로 .docx / .xlsx / .pptx 파일 생성, 분석, 교정, 편집. 파일 탭 내 실시간 미리보기 지원, 에이전트 편집 시 즉시 갱신 -- **과학 연구** — 모든 에이전트가 호출할 수 있는 내장 과학 스킬(가설 생성, 실험 설계, 통계, 시각화, 비판적 평가, 문헌 검색); 에이전트별로 관리 -- **자동화** — 컴포저 설정을 재사용 가능한 자동화로 저장하고, cron 스케줄 또는 수동 트리거로 헤드리스 실행 -- **채팅 채널** — Telegram, Lark(Feishu), iLink(Weixin) 등을 코딩 에이전트에 연결하여 실시간 알림 수신, 전체 세션 상호작용 및 원격 작업 제어 -- MCP 관리 (로컬 스캔 + 레지스트리 검색/설치) -- Skills 관리 (글로벌 및 프로젝트 범위) -- Git 원격 계정 관리 (GitHub 및 기타 Git 서버) -- Web 서비스 모드 — 브라우저에서 Codeg에 접속하여 원격 작업 가능 -- **독립형 서버 배포** — 모든 Linux/macOS 서버에서 `codeg-server`를 실행하고 브라우저로 접속 -- **Docker 지원** — `docker compose up` 또는 `docker run` 지원, 사용자 정의 토큰/포트, 데이터 영속화 및 프로젝트 디렉토리 마운트 지원 -- 런타임 로그 — 필터링 및 모듈별 로그 레벨 설정을 지원하는 실시간 로그 뷰어 내장 -- 통합 엔지니어링 루프 (파일 트리, Diff, Git 변경사항, 커밋, 터미널) - -## 지원 에이전트 - -| Agent | 환경 변수 경로 | macOS / Linux 기본값 | Windows 기본값 | -| ------------ | ------------------------------------- | ------------------------------------- | ----------------------------------------------------- | -| Claude Code | `$CLAUDE_CONFIG_DIR/projects` | `~/.claude/projects` | `%USERPROFILE%\\.claude\\projects` | -| Codex CLI | `$CODEX_HOME/sessions` | `~/.codex/sessions` | `%USERPROFILE%\\.codex\\sessions` | -| OpenCode | `$XDG_DATA_HOME/opencode/opencode.db` | `~/.local/share/opencode/opencode.db` | `%USERPROFILE%\\.local\\share\\opencode\\opencode.db` | -| Gemini CLI | `$GEMINI_CLI_HOME/.gemini` | `~/.gemini` | `%USERPROFILE%\\.gemini` | -| OpenClaw | — | `~/.openclaw/agents` | `%USERPROFILE%\\.openclaw\\agents` | -| Cline | `$CLINE_DIR` | `~/.cline/data/tasks` | `%USERPROFILE%\\.cline\\data\\tasks` | -| Hermes Agent | `$HERMES_HOME/state.db` | `~/.hermes/state.db` | `%USERPROFILE%\\.hermes\\state.db` | -| CodeBuddy | `$CODEBUDDY_CONFIG_DIR/projects` | `~/.codebuddy/projects` | `%USERPROFILE%\\.codebuddy\\projects` | -| Kimi Code | `$KIMI_CODE_HOME/sessions` | `~/.kimi-code/sessions` | `%USERPROFILE%\\.kimi-code\\sessions` | -| Pi | `$PI_CODING_AGENT_SESSION_DIR` | `~/.pi/agent/sessions` | `%USERPROFILE%\\.pi\\agent\\sessions` | -| Grok Build | `$GROK_HOME/sessions` | `~/.grok/sessions` | `%USERPROFILE%\\.grok\\sessions` | -| Cursor | `$CURSOR_CONFIG_DIR/chats` | `~/.cursor/chats` | `%USERPROFILE%\\.cursor\\chats` | - -> 참고: 환경 변수가 기본 경로보다 우선합니다. - -
-

프로젝트 부트

- -분할 패널 인터페이스로 새 프로젝트를 시각적으로 생성: 왼쪽에서 설정, 오른쪽에서 실시간 미리보기. - -![Project Boot Light](../images/project-boot-light.png#gh-light-mode-only) -![Project Boot Dark](../images/project-boot-dark.png#gh-dark-mode-only) - -### 주요 기능 - -- **시각적 설정** — 드롭다운에서 스타일, 색상 테마, 아이콘 라이브러리, 글꼴, 테두리 반경 등을 선택하면 미리보기가 즉시 업데이트 -- **실시간 미리보기** — 프로젝트 생성 전에 선택한 룩앤필을 실시간으로 확인 -- **원클릭 생성** — "프로젝트 생성"을 클릭하면 프리셋 설정, 프레임워크 템플릿(Next.js / Vite / React Router / Astro / Laravel), 패키지 매니저(pnpm / npm / yarn / bun)로 `shadcn init` 실행 -- **패키지 매니저 감지** — 설치된 패키지 매니저를 자동으로 감지하고 버전 표시 -- **원활한 통합** — 새로 생성된 프로젝트가 Codeg 워크스페이스에서 바로 열림 - -현재 **shadcn/ui** 프로젝트 스캐폴딩을 지원하며, 탭 기반 디자인으로 향후 더 많은 프로젝트 유형을 지원할 준비가 되어 있습니다. - -
- -
-

채팅 채널

- -즐겨 사용하는 메신저 앱 — Telegram, Lark(Feishu), iLink(Weixin) 등 — 을 AI 코딩 에이전트에 연결하세요. 채팅에서 직접 작업을 생성하고, 후속 메시지를 보내고, 권한을 승인하고, 세션을 재개하고, 활동을 모니터링할 수 있습니다 — 도구 호출 상세 정보, 권한 프롬프트, 완료 요약이 포함된 실시간 에이전트 응답을 브라우저를 열지 않고도 받을 수 있습니다. - -Telegram 포럼 슈퍼그룹에서는 [Telegram topic mode](../chat-channels/telegram-topic-mode.md)를 사용해 각 topic을 별도의 Codeg 세션에 바인딩할 수 있습니다. - -### 지원 채널 - -| 채널 | 프로토콜 | 상태 | -| -------------- | --------------------- | ---- | -| Telegram | Bot API (HTTP 롱폴링) | 내장 | -| Lark (Feishu) | WebSocket + REST API | 내장 | -| iLink (Weixin) | WebSocket + REST API | 내장 | - -> 추가 채널(Discord, Slack, DingTalk 등)은 향후 릴리스에서 지원 예정입니다. - -
- -
-

Office 문서

- -Word, Excel, PowerPoint 파일을 일급 워크플로우로 사용하세요. 내장된 **officecli** 툴셋을 통해 에이전트가 .docx, .xlsx, .pptx 문서를 생성·분석·교정·편집하고, Codeg 내에서 바로 미리볼 수 있습니다. - -### 기능 - -- **생성 및 편집** — 새 문서 생성 또는 기존 .docx / .xlsx / .pptx 파일 수정 (차트, 표, 서식 포함) -- **분석 및 교정** — 문서 구조 검사, 서식 문제 발견, 내용 교정 -- **실시간 미리보기** — 파일 탭에서 .docx / .xlsx / .pptx 를 열면 인라인으로 렌더링되고, 에이전트 편집 시 자동 갱신——상시 실행되는 `officecli watch` 서버가 지원 (웹 및 독립 서버 환경에서는 리버스 프록시를 통해 제공, 기능 인증 적용) -- **빠른 실행** — 웰컴 페이지의 「코딩」, 「Office」, 「과학 연구」 탭에서 해당 스킬 호출과 프롬프트 템플릿을 한 번의 클릭으로 입력창에 삽입; 선택된 에이전트에 활성화되지 않은 스킬은 잠금 뱃지로 표시되며 활성화 위치로 안내 -- **Office 도구 설정** — 전용 설정 페이지에서 `officecli` 설치 및 스킬×에이전트 매트릭스로 문서 스킬 관리: 임의의 (스킬, 에이전트) 쌍 토글, 일괄 활성화/비활성화 지원 - -
- -
-

과학 연구

- -모든 에이전트를 엄밀한 연구 조수로 탈바꿈시키세요. Codeg는 아이디어 구상부터 분석, 작성까지 아우르는 엄선된 MIT 라이선스 **과학 연구 스킬** 세트를 내장하며, 이 스킬들은 전문가 및 Office 툴셋과 똑같이 공유 중앙 스킬 저장소에 설치되어 원하는 에이전트에 연결됩니다. - -### 기능 - -- **엄선된 스킬** — 가설 생성, 실험 설계, 통계적 검정력, 통계 분석, 탐색적 데이터 분석, 과학적 시각화, 비판적 평가, 동료 심사, 인용 관리, 학자 평가, 논문 검색, AI 도식 -- **빠른 실행** — 웰컴 페이지의 「과학 연구」 탭에서 해당 스킬 호출과 현지화된 프롬프트 템플릿을 한 번의 클릭으로 입력창에 삽입 -- **과학 설정** — 전용 설정 페이지에서 스킬×에이전트 매트릭스로 스킬을 관리하며, API 키나 Python 환경이 필요한 스킬은 뱃지로 표시 - -
- -
-

자동화

- -컴포저 설정——에이전트, 모델, 프롬프트, 작업 디렉토리, 옵션——을 재사용 가능한 **자동화**로 저장하고, UI 를 열지 않고도 실행하세요. - -### 기능 - -- **한 번 설정, 언제든 재사용** — 완전한 컴포저 설정을 이름 있는 자동화로 저장 -- **예약 또는 온디맨드 실행** — cron 스케줄에 따라 자동 실행하거나, 언제든지 수동으로 트리거 -- **헤드리스 실행** — 자동화는 백그라운드에서 실행되어 실제 세션을 생성하며, 워크스페이스에서 언제든 열 수 있고 시작 후 워크스페이스로 자동 복귀 - -
- -
-

빠른 시작

- -### 요구 사항 - -- Node.js `>=22` (권장) -- pnpm `>=10` -- Rust stable (2021 edition) -- Tauri 2 빌드 의존성 (데스크톱 모드만 해당) +## 🤖 지원 에이전트 -Linux (Debian/Ubuntu) 예시: +Claude Code · Codex · Gemini · OpenClaw · OpenCode · Cline · Hermes · CodeBuddy · Kimi Code · Pi · Grok · Cursor -```bash -sudo apt-get update -sudo apt-get install -y \ - libwebkit2gtk-4.1-dev \ - libayatana-appindicator3-dev \ - librsvg2-dev \ - patchelf -``` - -### 바이너리 - -Codeg는 단일 워크스페이스에서 세 개의 Rust 바이너리를 제공합니다: - -| 바이너리 | 역할 | 빌드 | -| -------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | -| `codeg` | Tauri 데스크톱 앱 (윈도우, 트레이, 업데이터) | `pnpm tauri build` (릴리스) / `pnpm tauri dev` (개발) | -| `codeg-server` | 브라우저/헤드리스 배포용 독립형 HTTP + WebSocket 서버 | `pnpm server:build` / `pnpm server:dev` | -| `codeg-mcp` | 에이전트 CLI에 `delegate_to_agent` 도구를 노출하는 실행별 stdio MCP 컴패니언 (멀티 에이전트 협업) | `pnpm tauri:prepare-sidecars` (`tauri dev` / `tauri build`에서 자동 호출) | - -`codeg-mcp`는 런타임에 부모 바이너리 옆에 위치해야 합니다 — 설치 프로그램, Docker 이미지, Tauri 사이드카 번들러 모두 이를 `codeg` / `codeg-server` 옆에 배치합니다. 소스 빌드나 사용자 정의 레이아웃의 경우 `CODEG_MCP_BIN=/abs/path/codeg-mcp` 환경 변수로 조회 위치를 재정의할 수 있습니다. 컴패니언이 누락된 경우 위임은 건너뛰어지고(경고가 한 번 기록됨) 나머지 에이전트 세션은 계속 작동합니다. +이 중 대부분은 Codeg가 대신 설치하고, 버전을 고정하고, 업데이트합니다. 전체 목록과 각 에이전트의 실행 환경 요구 사항, 세션이 디스크에 저장되는 위치는 [지원 에이전트](https://docs.codeg.app/guide/supported-agents)를 참고하세요. -### 개발 +## 🤝 멀티 에이전트 협업 -```bash -pnpm install - -# 프론트엔드 전용 (Next.js 개발 서버, Rust 없음) -pnpm dev +멀티 에이전트 협업이 키 하나로 끝납니다. `@`를 입력하고, 에이전트를 고르고, 보내기만 하면 됩니다. 나머지 스케줄링은 Codeg가 맡습니다 — 언급된 에이전트를 각각 독립 세션으로 실행하고, 작업을 넘기고, 그 결과를 지금 보고 있는 스레드로 다시 흘려보냅니다. 둘을 언급하면 나란히 진행됩니다. Claude Code가 초안을 쓰는 동안 Codex가 검토하는 식으로요. 컨텍스트 전환도, 터미널 사이를 오가는 복사·붙여넣기도 없습니다. -# 프론트엔드 정적 내보내기 (out/) -pnpm build +![하나의 Codeg 대화에서 서브 에이전트에게 작업을 위임하는 모습](../images/collaboration-light.gif#gh-light-mode-only) +![하나의 Codeg 대화에서 서브 에이전트에게 작업을 위임하는 모습](../images/collaboration-dark.gif#gh-dark-mode-only) -# 전체 데스크톱 앱 (Tauri + Next.js, codeg-mcp 사이드카 자동 빌드) -pnpm tauri dev +## 📄 Office 문서 -# 데스크톱 릴리스 빌드 (codeg-mcp를 externalBin으로 번들링) -pnpm tauri build +덱이든 보고서든 워크북이든, 요청하면 에이전트가 진짜 `.pptx` / `.docx` / `.xlsx` 파일을 만듭니다 — 오른쪽 패널이 그것을 실시간으로 렌더링하는 동안에요. 수정은 알아서 미리보기에 반영됩니다. 슬라이드가 채워지고, 표가 자리를 잡고, 숫자가 셀에 들어갑니다. 4번 슬라이드가 마음에 들지 않나요? 다음 메시지로 말하면 됩니다 — 에이전트가 같은 파일을 그 자리에서 고치고, 미리보기가 따라옵니다. 내보내기도, 외부 Office 앱도, Codeg를 벗어날 일도 없습니다. -# 독립형 서버 (Tauri/GUI 불필요) -pnpm server:dev -pnpm server:build # 릴리스 바이너리 위치: src-tauri/target/release/codeg-server +![라이브 미리보기를 옆에 두고 Office 문서를 편집하는 에이전트](../images/office-light.png#gh-light-mode-only) +![라이브 미리보기를 옆에 두고 Office 문서를 편집하는 에이전트](../images/office-dark.png#gh-dark-mode-only) -# codeg-mcp 컴패니언을 명시적으로 빌드 (호스트 트리플용) -pnpm tauri:prepare-sidecars # 출력: src-tauri/binaries/codeg-mcp- +## 💻 워크스페이스 -# 프론트엔드 작업 중이고 위임이 필요하지 않을 때 사이드카 준비 건너뛰기 -CODEG_SKIP_SIDECAR=1 pnpm tauri dev +워크스페이스는 하나, 에이전트는 전부. 무엇이 일하고 있든 — Claude Code든 Codex든 Cursor든 — 같은 에디터, 같은 실시간 diff, 같은 Git 클라이언트 안에서 움직입니다. 그리고 만들어지는 것은 저장소 안의 진짜 파일이며, 보는 앞에서 바뀝니다. -# Lint -pnpm eslint . +**세션.** 이미 가진 기록을 그대로 가져오세요. 설치된 모든 에이전트의 지난 세션을 클릭 한 번으로 불러오고, 멈춘 지점부터 이어갑니다. 들어온 뒤로는 서로 단절된 섬이 아닙니다 — 예전 세션을 `@`로 언급하면 지금 대화 중인 에이전트가 그것을 읽습니다. 다른 에이전트가 남긴 것이어도 마찬가지라, 오늘의 Codex가 지난주 Claude Code가 끝낸 지점에서 이어갑니다. -# 프론트엔드 테스트 (vitest) -pnpm test -pnpm test:watch -pnpm test:coverage +**파일.** 에이전트의 수정은 반영되는 즉시 대화 옆에 diff로 나타납니다. 어떤 파일이든 구문 강조가 되는 진짜 에디터에서 열고, `⌘L`로 파일 전체나 선택한 부분만 에이전트에게 바로 넘기고, Markdown·HTML·이미지·Office 문서를 같은 패널에서 미리 봅니다. -# Rust 검사 (src-tauri/에서 실행) -cargo check # 데스크톱 (기본 features) -cargo check --no-default-features --bin codeg-server # 서버 모드 -cargo check --no-default-features --bin codeg-mcp # MCP 컴패니언 -cargo clippy --all-targets --features test-utils -- -D warnings +**Git.** 상태 표시가 아니라 완전한 클라이언트입니다. 커밋과 푸시, 커밋별 푸시 상태가 보이는 히스토리, 브랜치·머지·리베이스·스태시·리셋, 다른 브랜치와의 비교까지. 충돌은 3분할 머지 에디터로 열려 헝크 단위로 받아들이거나 직접 고쳐 씁니다. 그리고 워크트리는 병렬 작업을 한 번의 동작으로 만듭니다 — 새 브랜치, 전용 디렉터리, 그리고 그 안에 뿌리내린 새 대화. 여러 에이전트가 서로의 파일을 건드리지 않고 서로 다른 기능을 동시에 만듭니다. -# Rust 테스트 -cargo test --features test-utils # 데스크톱 (통합 포함) -cargo test --no-default-features --bin codeg-server --lib # 서버 모드 -cargo insta review # 파서 스냅샷 업데이트 승인 -``` +## ✨ 하이라이트 -> 팁: `src-tauri/target/release/` 아래에 새 `codeg-mcp` 빌드가 있고 재설치 없이 수동으로 실행한 `codeg-server`가 이를 가리키게 하려면, `CODEG_MCP_BIN=$(pwd)/src-tauri/target/release/codeg-mcp`를 export 하십시오. +- **[대화 통합](https://docs.codeg.app/guide/aggregation)** — 지원되는 모든 에이전트의 세션을 검색 가능한 하나의 워크스페이스로 가져오고, 멈춘 지점부터 이어서 진행합니다 +- **[멀티 에이전트 협업](https://docs.codeg.app/guide/multi-agent)** — `@`로 에이전트를 언급하면 곧 위임입니다. 서로 다른 종류의 서브 에이전트가 각자 독립 세션으로, 하나의 작업 안에서 병렬로 실행됩니다 +- **[워크스페이스](https://docs.codeg.app/guide/workspace)** — 에이전트 옆에 개발의 전 과정이 있습니다: 파일 트리, 에디터와 diff, Git 변경 사항, 커밋, 내장 터미널 +- **[Git과 Worktree](https://docs.codeg.app/guide/git)** — 변경 사항 검토와 커밋, Git 원격 계정 관리, 내장 `git worktree` 흐름을 이용한 병렬 작업 +- **[채팅 채널](https://docs.codeg.app/guide/chat-channels)** — Telegram, Lark(Feishu), iLink(Weixin)에서 에이전트를 조작합니다: 작업 생성, 권한 승인, 실시간 진행 상황 수신 +- **[자동화](https://docs.codeg.app/guide/automations)** — 설정을 마친 입력창을 재사용 가능한 자동화로 저장해 cron 일정이나 필요할 때 헤드리스로 실행합니다 +- **[Office 문서](https://docs.codeg.app/guide/office)** — 내장 `officecli`로 `.docx` / `.xlsx` / `.pptx`를 만들고 분석·교정·편집하며, 탭 안에서 실시간 미리보기를 제공합니다 +- **[과학 연구](https://docs.codeg.app/guide/research)** — 내장 연구 스킬(가설 생성, 실험 설계, 통계, 시각화, 비판적 평가, 문헌 검색)을 어떤 에이전트에서든 호출할 수 있습니다 +- **[프로젝트 부트](https://docs.codeg.app/guide/project-boot)** — 실시간 미리보기와 함께 새 프로젝트를 시각적으로 구성하고, 곧바로 워크스페이스에서 엽니다 +- **[MCP](https://docs.codeg.app/guide/mcp) & [스킬](https://docs.codeg.app/guide/skills)** — 로컬 서버 스캔과 레지스트리 검색/설치, 스킬은 전역 또는 프로젝트 범위로 관리 +- **[데스크톱·서버·Docker](https://docs.codeg.app/getting-started/deployment)** — 네이티브 데스크톱 앱, 브라우저로 접속하는 독립 실행형 `codeg-server`, 또는 `docker compose up` -### 서버 배포 +## 📦 설치 및 실행 -Codeg는 데스크톱 환경 없이 독립형 웹 서버로 실행할 수 있습니다. +**데스크톱** — [Releases](https://github.com/xintaofei/codeg/releases)에서 macOS, Windows, Linux용 설치 프로그램을 내려받은 뒤 [설치](https://docs.codeg.app/getting-started/installation) 안내를 따르세요. -#### 옵션 1: 원라인 설치 (Linux / macOS) +**서버** — Codeg를 헤드리스로 실행하고 어떤 브라우저에서든 접속합니다: ```bash curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash -``` - -특정 버전 또는 사용자 지정 디렉토리에 설치: - -```bash -curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash -s -- --version v0.5.2 --dir ~/.local/bin -``` - -실행: - -```bash codeg-server ``` -#### 옵션 2: 원라인 설치 (Windows PowerShell) - -```powershell -irm https://raw.githubusercontent.com/xintaofei/codeg/main/install.ps1 | iex -``` - -또는 특정 버전 설치: - -```powershell -.\install.ps1 -Version v0.5.2 -``` - -#### 옵션 3: GitHub Releases에서 다운로드 - -사전 빌드된 바이너리(웹 에셋 포함)는 [Releases](https://github.com/xintaofei/codeg/releases) 페이지에서 다운로드할 수 있습니다: - -| 플랫폼 | 파일 | -| ----------- | ---------------------------------- | -| Linux x64 | `codeg-server-linux-x64.tar.gz` | -| Linux arm64 | `codeg-server-linux-arm64.tar.gz` | -| macOS x64 | `codeg-server-darwin-x64.tar.gz` | -| macOS arm64 | `codeg-server-darwin-arm64.tar.gz` | -| Windows x64 | `codeg-server-windows-x64.zip` | +**Docker** — 같은 서버를, 컨테이너 하나로: ```bash -# 예시: 다운로드, 압축 해제, 실행 -tar xzf codeg-server-linux-x64.tar.gz -cd codeg-server-linux-x64 -CODEG_STATIC_DIR=./web ./codeg-server -``` - -> 무인 배포 환경에서는 `--supervise` 옵션과 함께 시작하면 인플레이스 업그레이드 실패 시 자동으로 롤백됩니다 — [인플레이스 업데이트](#인플레이스-업데이트)를 참고하세요. - -#### 옵션 4: Docker - -```bash -# Docker Compose 사용 (권장) -docker compose up -d - -# 또는 Docker로 직접 실행 docker run -d -p 3080:3080 -v codeg-data:/data ghcr.io/xintaofei/codeg:latest - -# 사용자 정의 토큰 및 프로젝트 디렉토리 마운트 -docker run -d -p 3080:3080 \ - -v codeg-data:/data \ - -v /path/to/projects:/projects \ - -e CODEG_TOKEN=your-secret-token \ - ghcr.io/xintaofei/codeg:latest -``` - -Docker 이미지는 멀티 스테이지 빌드(Node.js + Rust → 경량 Debian 런타임)를 사용하며, 저장소 작업을 위한 `git`과 `ssh`가 포함되어 있습니다. 데이터는 `/data` 볼륨에 영속적으로 저장됩니다. 선택적으로 프로젝트 디렉토리를 마운트하여 컨테이너 내에서 로컬 저장소에 접근할 수 있습니다. - -#### 옵션 5: 소스에서 빌드 - -```bash -pnpm install && pnpm build # 프론트엔드 빌드 -cd src-tauri -cargo build --release --bin codeg-server --no-default-features -cargo build --release --bin codeg-mcp --no-default-features # 위임 컴패니언 -CODEG_STATIC_DIR=../out ./target/release/codeg-server # codeg-mcp는 형제 파일로 인식됨 ``` -두 바이너리를 서로 다른 디렉토리에 두는 경우, 런타임이 컴패니언을 찾을 수 있도록 `CODEG_MCP_BIN=/abs/path/to/codeg-mcp`를 설정하십시오. 설정하지 않으면 멀티 에이전트 위임이 조용히 비활성화됩니다. - -#### 인플레이스 업데이트 - -서버는 **설정 → 소프트웨어 업데이트**에서 스스로 업데이트할 수 있습니다: 해당 플랫폼용 서명된 릴리스를 다운로드하고, 디스크의 바이너리와 웹 에셋을 교체한 뒤 재시작합니다 — 수동 재배포가 필요 없습니다. 이 기능은 Linux/macOS 전용입니다(Windows에서는 비활성화). 이전 버전은 백업으로 보관되므로, 같은 화면에서 **롤백** 작업으로 이전 버전으로 되돌릴 수 있습니다. - -**자동 롤백을 위해 슈퍼바이저 아래에서 실행하세요.** 독립형 서버를 `--supervise` 옵션과 함께 시작하면, 새로 업그레이드된 프로세스가 시험 기간 내에 부팅에 실패할 경우 자동으로 이전 버전으로 되돌아갑니다: - -```bash -CODEG_STATIC_DIR=./web ./codeg-server --supervise -``` - -`--supervise` 없이도 서버는 여전히 인플레이스 업데이트를 수행하지만(자기 자신을 re-exec 합니다), 이 업그레이드는 최선 노력(best-effort) 방식입니다: 시작하지 못하는 버전을 자동으로 롤백해 줄 슈퍼바이저가 없습니다. Docker 이미지는 이미 슈퍼바이저 아래에서 실행됩니다. - -**Docker 업그레이드는 이미지가 아니라 컨테이너를 변경합니다.** 인플레이스 업그레이드는 실행 중인 컨테이너의 쓰기 가능 계층 내부에 있는 바이너리와 웹 에셋을 다시 씁니다. 따라서 이 파일들은 해당 컨테이너에만 존재합니다. `/data` 볼륨은 유지되지만 업그레이드된 파일은 **그렇지 않습니다**: 컨테이너를 재생성하면 — `docker compose up --force-recreate`, 새로운 `docker run`, 또는 `docker pull` 이후의 재생성 — 다시 이미지에서 시작하여 인플레이스 업그레이드가 사라집니다. (`docker pull` 자체는 로컬 이미지만 새로 고칠 뿐, 컨테이너를 재생성하기 전까지는 아무것도 되돌아가지 않습니다.) 업그레이드를 영구적으로 적용하려면 새 버전의 이미지를 빌드하거나 pull 한 뒤 그 이미지로 컨테이너를 재생성하세요. - -#### 구성 - -환경 변수: - -| 변수 | 기본값 | 설명 | -| ------------------------------ | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `CODEG_PORT` | `3080` | HTTP 포트 | -| `CODEG_HOST` | `0.0.0.0` | 바인드 주소 | -| `CODEG_TOKEN` | _(랜덤)_ | 인증 토큰 (시작 시 stderr에 출력) | -| `CODEG_DATA_DIR` | `~/.local/share/codeg` | SQLite 데이터베이스 디렉토리(`uploads/`, `pets/`의 루트 역할도 함) | -| `CODEG_STATIC_DIR` | `./web` 또는 `./out` | Next.js 정적 내보내기 디렉토리 | -| `CODEG_MCP_BIN` | _(설정 안 됨)_ | `codeg-mcp` 컴패니언의 절대 경로. 기본 실행 파일 형제 + `PATH` 조회를 재정의합니다. 컴패니언이 서버의 설치 디렉토리 외부에 있는 소스 빌드나 사용자 정의 레이아웃에 사용하십시오. | -| `CODEG_SKIP_SIDECAR` | _(설정 안 됨)_ | `pnpm tauri dev` / `pnpm tauri build`를 위한 프론트엔드 전용 편의 기능 — `1`일 때 `codeg-mcp` 사이드카 빌드를 건너뜁니다. 해당 빌드에서는 위임이 비활성화됩니다. 출시 품질 산출물에서는 설정하지 않아야 합니다. | -| `CODEG_UPLOAD_MAX_TOTAL_BYTES` | _(설정 안 됨)_ | `/uploads/` 아래 상주하는 모든 파일의 총 바이트 수에 대한 하드 한도. 10진수 바이트 수(예: 10 GiB의 경우 `10737418240`). 설정하지 않거나 `0`, 또는 파싱할 수 없는 값이면 한도가 비활성화되며, 현재 상태가 보이도록 시작 시 로그 라인을 출력합니다. 이 한도는 단일 `codeg-server` 프로세스 내에서만 적용됩니다 — 하나의 `uploads/` 볼륨을 공유하는 수평 확장 배포에는 외부 조정(파일 잠금, Redis, 리버스 프록시 쿼터)이 필요합니다. | -| `CODEG_UPLOAD_QUOTA_STRICT` | _(설정 안 됨)_ | 참값(`1` / `true` / `yes` / `on`)으로 설정된 경우, `CODEG_UPLOAD_MAX_TOTAL_BYTES`가 파싱할 수 없는 값으로 설정되어 있으면 WARN과 함께 fail-open 하는 대신 종료 코드 2로 시작을 중단합니다. 보안 정책상 "구성된 쿼터가 반드시 적용되어야 한다"는 요구가 있을 때 사용합니다. | - -
- -
-

아키텍처

- -```text -Next.js 16 (Static Export) + React 19 - | - | invoke() (desktop) / fetch() + WebSocket (web) - v - ┌─────────────────────────┐ - │ Transport Abstraction │ - │ (Tauri IPC or HTTP/WS) │ - └─────────────────────────┘ - | - v -┌─── Tauri Desktop ───┐ ┌─── codeg-server ───┐ -│ Tauri 2 Commands │ │ Axum HTTP + WS │ -│ (window management) │ │ (standalone mode) │ -└──────────┬───────────┘ └──────────┬──────────┘ - └──────────┬───────────────┘ - v - Shared Rust Core - |- AppState - |- ACP Manager - |- Parsers (conversation ingestion) - |- Chat Channels - |- Git / File Tree / Terminal - |- MCP marketplace + config - |- Office Tools (officecli) + Automations - |- SeaORM + SQLite - | - ┌───────┼───────┐ - v v v - Local Filesystem Git Chat Channels - / Git Repos Repos (Telegram, Lark, iLink) -``` +Compose, 사전 빌드 바이너리, 소스 빌드, 무중단 업데이트는 [배포](https://docs.codeg.app/getting-started/deployment)에서, 환경 변수는 [설정](https://docs.codeg.app/getting-started/configuration)에서 다룹니다. Codeg 자체를 빌드하려면 [개발](https://docs.codeg.app/reference/development)과 [아키텍처](https://docs.codeg.app/reference/architecture)를 보세요. -
+## 🔒 개인정보 보호 및 보안 -## 개인정보 보호 및 보안 +- 파싱·저장·프로젝트 작업은 기본적으로 로컬 우선 — 네트워크 접근은 사용자가 시작한 동작에서만 발생합니다 +- 웹 모드와 서버 모드는 토큰 기반 인증으로 보호됩니다 +- 기업 환경을 위한 시스템 프록시 지원 -- 파싱, 저장, 프로젝트 작업은 기본적으로 로컬 우선 -- 네트워크 접근은 사용자가 명시적으로 작업을 실행할 때만 발생 -- 엔터프라이즈 환경을 위한 시스템 프록시 지원 -- 웹 서비스 모드에서는 토큰 기반 인증 사용 +자세한 내용은 [개인정보 보호 및 보안](https://docs.codeg.app/reference/privacy)을 참고하세요. -## 커뮤니티 +## 👥 커뮤니티 - 아래 QR 코드를 스캔하여 토론, 피드백, 업데이트를 위한 WeChat 그룹에 참여하세요 @@ -445,13 +143,13 @@ Next.js 16 (Static Export) + React 19 - [LinuxDO](https://linux.do) 커뮤니티의 지원에 감사드립니다 -## 감사의 말 +## 🙏 감사의 말 -- [ACP](https://agentclientprotocol.com) — Agent Client Protocol(ACP)은 Codeg가 여러 에이전트에 연결할 수 있게 해주는 기반입니다 +- [Agent Client Protocol](https://agentclientprotocol.com) — Codeg가 지원하는 모든 에이전트에 연결할 수 있게 해주는 토대 - [Superpowers](https://github.com/obra/superpowers) — Codeg의 전문가 스킬 모듈을 지원하는 프로젝트 - [OfficeCLI](https://github.com/iOfficeAI/OfficeCLI) — Codeg의 Office 문서 워크플로우를 지원하는 프로젝트 - [scientific-agent-skills](https://github.com/K-Dense-AI/scientific-agent-skills) — Codeg의 과학 연구 스킬을 지원하는 프로젝트 (MIT 라이선스 서브셋) -## 라이선스 +## 📜 라이선스 -Apache-2.0. `LICENSE` 참고. +Apache-2.0. [LICENSE](../../LICENSE)를 참고하세요. diff --git a/docs/readme/README.pt.md b/docs/readme/README.pt.md index 6e1b95e8a..4eb9337d2 100644 --- a/docs/readme/README.pt.md +++ b/docs/readme/README.pt.md @@ -1,10 +1,8 @@ # Codeg [![Release](https://img.shields.io/github/v/release/xintaofei/codeg)](https://github.com/xintaofei/codeg/releases) +[![Docs](https://img.shields.io/badge/docs-docs.codeg.app-3451b2)](https://docs.codeg.app) [![License](https://img.shields.io/github/license/xintaofei/codeg)](../../LICENSE) -[![Tauri](https://img.shields.io/badge/Tauri-2.x-24C8DB)](https://tauri.app/) -[![Next.js](https://img.shields.io/badge/Next.js-16-black)](https://nextjs.org/) -[![Docker](https://img.shields.io/badge/Docker-ready-2496ED)](../../Dockerfile)

English | @@ -19,11 +17,18 @@ العربية

-Codeg (Code Generation) é um workspace de codificação multiagente. Ele reúne vários agentes (Claude Code, Codex CLI, OpenCode, Gemini CLI, OpenClaw, Cline, Hermes Agent, CodeBuddy, Kimi Code, Pi, Grok Build, Cursor, etc.) em um único workspace, com suporte à agregação de conversas e à colaboração multiagente, além de instalação desktop e implantação em servidor/Docker. +O Codeg (Code Generation) é um espaço de trabalho de programação multiagente: rode todos os seus agentes de IA em um só lugar — e deixe que trabalhem juntos. -![gallery](../images/gallery.svg) +Ele agrega as sessões de todas as CLIs de agentes suportadas em um único espaço de trabalho pesquisável, permite que um agente principal delegue a subagentes de outros tipos dentro de uma mesma tarefa e roda como aplicativo de desktop, servidor independente ou contêiner Docker. -## Patrocinadores +![Espaço de trabalho](../images/workspace-light.png#gh-light-mode-only) +![Espaço de trabalho](../images/workspace-dark.png#gh-dark-mode-only) + +## 📖 Documentação + +**A documentação completa fica em [docs.codeg.app](https://docs.codeg.app)** — [Primeiros passos](https://docs.codeg.app/getting-started/) · [Guia](https://docs.codeg.app/guide/) · [Referência](https://docs.codeg.app/reference/) + +## 💖 Patrocinadores
@@ -58,385 +63,78 @@ Codeg (Code Generation) é um workspace de codificação multiagente. Ele reúne > Quer se tornar patrocinador do Codeg? [Entre em contato por e-mail.](mailto:itpkcn@gmail.com) -## Interface principal - -![Codeg Light](../images/main-light.png#gh-light-mode-only) -![Codeg Dark](../images/main-dark.png#gh-dark-mode-only) - -## Colaboração Multi-Agente - -![Codeg Light](../images/collaboration-light.png#gh-light-mode-only) -![Codeg Dark](../images/collaboration-dark.png#gh-dark-mode-only) - -## Fluxo de trabalho do Office - -![Codeg Light](../images/office-light.png#gh-light-mode-only) -![Codeg Dark](../images/office-dark.png#gh-dark-mode-only) - -## Destaques - -- **Agregação de conversas** — importe sessões de todos os agentes suportados para um workspace unificado -- **Colaboração multi-agentes** — dentro de uma mesma sessão, o agente principal delega para sub-agentes de tipos diferentes (p. ex. Claude Code chamando Codex, Gemini) para concluir uma tarefa em conjunto, com cada sub-agente executando como uma sessão independente -- Desenvolvimento paralelo com fluxos `git worktree` integrados -- **Inicializador de Projeto** — crie novos projetos visualmente com pré-visualização em tempo real -- **Documentos Office** — crie, analise, revise e edite arquivos .docx / .xlsx / .pptx com o conjunto de ferramentas officecli integrado; pré-visualização em tempo real em uma aba de arquivo que atualiza enquanto o agente edita -- **Pesquisa científica** — habilidades científicas integradas (geração de hipóteses, design experimental, estatística, visualização, avaliação crítica, busca de literatura) que qualquer agente pode invocar, gerenciadas por agente -- **Automações** — salve qualquer configuração do compositor como automação reutilizável que executa em segundo plano segundo cronograma cron ou sob demanda -- **Canais de Chat** — conecte Telegram, Lark (Feishu), iLink (Weixin) e mais aos seus agentes de codificação para notificações em tempo real, interação completa de sessão e controle remoto de tarefas -- Gerenciamento de MCP (varredura local + busca/instalação no registro) -- Gerenciamento de Skills (escopo global e por projeto) -- Gerenciamento de contas remotas Git (GitHub e outros servidores Git) -- Modo de serviço web — acesse o Codeg de qualquer navegador para trabalho remoto -- **Implantação de servidor standalone** — execute `codeg-server` em qualquer servidor Linux/macOS, acesse via navegador -- **Suporte a Docker** — `docker compose up` ou `docker run`, com token/porta personalizáveis, persistência de dados e montagem de diretórios de projetos -- Registros de execução — visualizador de registros em tempo real integrado com filtragem e níveis de log por módulo -- Ciclo de engenharia integrado (árvore de arquivos, diff, alterações git, commit, terminal) - -## Agentes suportados - -| Agente | Caminho por variável de ambiente | Padrão macOS / Linux | Padrão Windows | -| ------------ | ------------------------------------- | ------------------------------------- | ----------------------------------------------------- | -| Claude Code | `$CLAUDE_CONFIG_DIR/projects` | `~/.claude/projects` | `%USERPROFILE%\\.claude\\projects` | -| Codex CLI | `$CODEX_HOME/sessions` | `~/.codex/sessions` | `%USERPROFILE%\\.codex\\sessions` | -| OpenCode | `$XDG_DATA_HOME/opencode/opencode.db` | `~/.local/share/opencode/opencode.db` | `%USERPROFILE%\\.local\\share\\opencode\\opencode.db` | -| Gemini CLI | `$GEMINI_CLI_HOME/.gemini` | `~/.gemini` | `%USERPROFILE%\\.gemini` | -| OpenClaw | — | `~/.openclaw/agents` | `%USERPROFILE%\\.openclaw\\agents` | -| Cline | `$CLINE_DIR` | `~/.cline/data/tasks` | `%USERPROFILE%\\.cline\\data\\tasks` | -| Hermes Agent | `$HERMES_HOME/state.db` | `~/.hermes/state.db` | `%USERPROFILE%\\.hermes\\state.db` | -| CodeBuddy | `$CODEBUDDY_CONFIG_DIR/projects` | `~/.codebuddy/projects` | `%USERPROFILE%\\.codebuddy\\projects` | -| Kimi Code | `$KIMI_CODE_HOME/sessions` | `~/.kimi-code/sessions` | `%USERPROFILE%\\.kimi-code\\sessions` | -| Pi | `$PI_CODING_AGENT_SESSION_DIR` | `~/.pi/agent/sessions` | `%USERPROFILE%\\.pi\\agent\\sessions` | -| Grok Build | `$GROK_HOME/sessions` | `~/.grok/sessions` | `%USERPROFILE%\\.grok\\sessions` | -| Cursor | `$CURSOR_CONFIG_DIR/chats` | `~/.cursor/chats` | `%USERPROFILE%\\.cursor\\chats` | - -> Nota: as variáveis de ambiente têm prioridade sobre os caminhos padrão. - -
-

Inicializador de Projeto

- -Crie novos projetos visualmente com uma interface de painel dividido: configure à esquerda, pré-visualize em tempo real à direita. - -![Project Boot Light](../images/project-boot-light.png#gh-light-mode-only) -![Project Boot Dark](../images/project-boot-dark.png#gh-dark-mode-only) - -### O que oferece - -- **Configuração visual** — selecione estilo, tema de cores, biblioteca de ícones, fonte, raio de borda e mais nos menus suspensos; o iframe de pré-visualização atualiza instantaneamente -- **Pré-visualização ao vivo** — veja o visual escolhido renderizado em tempo real antes de criar qualquer coisa -- **Criação com um clique** — clique em "Criar Projeto" e o launcher executa `shadcn init` com seu preset, template de framework (Next.js / Vite / React Router / Astro / Laravel) e gerenciador de pacotes (pnpm / npm / yarn / bun) -- **Detecção de gerenciadores de pacotes** — verifica automaticamente quais gerenciadores estão instalados e exibe suas versões -- **Integração perfeita** — o projeto recém-criado abre diretamente no workspace do Codeg - -Atualmente suporta scaffolding de projetos **shadcn/ui**, com um design baseado em abas preparado para mais tipos de projetos no futuro. - -
- -
-

Canais de Chat

- -Conecte seus aplicativos de mensagens favoritos — Telegram, Lark (Feishu), iLink (Weixin) e mais — aos seus agentes de codificação IA. Crie tarefas, envie mensagens de acompanhamento, aprove permissões, retome sessões e monitore a atividade diretamente do chat — recebendo respostas do agente em tempo real com detalhes de chamadas de ferramentas, prompts de permissão e resumos de conclusão, tudo sem abrir o navegador. - -Supergrupos de fórum do Telegram também podem usar o [Telegram topic mode](../chat-channels/telegram-topic-mode.md) para vincular cada topic a uma sessão Codeg separada. - -### Canais suportados - -| Canal | Protocolo | Status | -| -------------- | --------------------------- | --------- | -| Telegram | Bot API (HTTP long-polling) | Integrado | -| Lark (Feishu) | WebSocket + REST API | Integrado | -| iLink (Weixin) | WebSocket + REST API | Integrado | - -> Mais canais (Discord, Slack, DingTalk, etc.) estão planejados para versões futuras. - -
- -
-

Documentos Office

- -Trabalhe com arquivos Word, Excel e PowerPoint como fluxo de trabalho de primeira classe. O conjunto de ferramentas **officecli** integrado permite que seus agentes criem, analisem, revisem e editem documentos .docx, .xlsx e .pptx — e você pode pré-visualizar o resultado diretamente no Codeg. - -### Funcionalidades - -- **Criar e editar** — gere novos documentos ou modifique arquivos .docx / .xlsx / .pptx existentes, incluindo gráficos, tabelas e formatação -- **Analisar e revisar** — inspecione a estrutura do documento, identifique problemas de formatação e revise o conteúdo -- **Pré-visualização em tempo real** — abra um .docx / .xlsx / .pptx em uma aba de arquivo e ele renderiza inline, atualizando automaticamente enquanto o agente edita — suportado por um servidor `officecli watch` persistente (com proxy reverso e autenticação por capacidade para ambientes web e servidor) -- **Ações rápidas** — a página de boas-vindas oferece abas de Codificação, Office e Pesquisa científica que inserem a invocação de habilidade correspondente e um modelo de prompt com um clique; habilidades não habilitadas mostram um badge de bloqueio e redirecionam para onde você pode ativá-las -- **Configurações do Office Tools** — uma página de configurações dedicada instala o `officecli` e gerencia suas habilidades de documentos por meio de uma matriz habilidade×agente: alterne qualquer par (habilidade, agente) e aplique alterações em massa - -
- -
-

Pesquisa científica

- -Transforme qualquer agente em um assistente de pesquisa rigoroso. O Codeg integra um conjunto curado de **habilidades de pesquisa científica** licenciadas sob MIT — da ideação à análise e à redação — que se instalam no repositório central compartilhado de habilidades e se vinculam aos agentes que você escolher, exatamente como os conjuntos de ferramentas de especialistas e de Office. - -### Funcionalidades - -- **Habilidades curadas** — geração de hipóteses, design experimental, poder estatístico, análise estatística, análise exploratória de dados, visualização científica, avaliação crítica, revisão por pares, gerenciamento de citações, avaliação de acadêmicos, busca de artigos e esquemas de IA -- **Ações rápidas** — a aba Pesquisa científica da página de boas-vindas insere no compositor a invocação de habilidade correspondente e um modelo de prompt localizado com um clique -- **Configurações de ciência** — uma página de configurações dedicada gerencia as habilidades por meio de uma matriz habilidade×agente, com badges sinalizando habilidades que exigem uma chave de API ou um ambiente Python - -
- -
-

Automações

- -Transforme qualquer configuração do compositor — agente, modelo, prompt, diretório de trabalho e opções — em uma **Automação** reutilizável que executa sem abrir a interface. - -### Funcionalidades - -- **Configure uma vez, reutilize sempre** — salve uma configuração completa do compositor como automação nomeada -- **Agendada ou sob demanda** — execute segundo um cronograma cron ou dispare manualmente quando necessário -- **Execução sem interface** — automações executam em segundo plano e criam sessões reais que podem ser abertas no workspace a qualquer momento; após iniciar, a interface retorna automaticamente ao workspace - -
- -
-

Início rápido

- -### Requisitos - -- Node.js `>=22` (recomendado) -- pnpm `>=10` -- Rust stable (2021 edition) -- Dependências de build do Tauri 2 (somente modo desktop) - -Exemplo Linux (Debian/Ubuntu): +## 🤖 Agentes suportados -```bash -sudo apt-get update -sudo apt-get install -y \ - libwebkit2gtk-4.1-dev \ - libayatana-appindicator3-dev \ - librsvg2-dev \ - patchelf -``` - -### Binários - -O Codeg fornece três binários Rust a partir de um único workspace: - -| Binário | Função | Build | -| -------------- | ------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------- | -| `codeg` | Aplicativo desktop Tauri (janela, bandeja, atualizador) | `pnpm tauri build` (release) / `pnpm tauri dev` (dev) | -| `codeg-server` | Servidor HTTP + WebSocket standalone para implantações em navegador/headless | `pnpm server:build` / `pnpm server:dev` | -| `codeg-mcp` | Companion stdio MCP por execução que expõe a ferramenta `delegate_to_agent` às CLIs de agentes (colaboração multi-agente) | `pnpm tauri:prepare-sidecars` (invocado automaticamente por `tauri dev` / `tauri build`) | - -`codeg-mcp` deve ficar ao lado de seu binário pai em tempo de execução — instaladores, a imagem Docker e o empacotador de sidecars do Tauri o colocam ao lado de `codeg` / `codeg-server`. Compilações a partir do código-fonte e layouts personalizados podem sobrescrever a busca com a variável de ambiente `CODEG_MCP_BIN=/abs/path/codeg-mcp`. Se o companion estiver ausente, a delegação é ignorada (um único aviso é registrado) e o restante da sessão do agente continua funcionando. +Claude Code · Codex · Gemini · OpenClaw · OpenCode · Cline · Hermes · CodeBuddy · Kimi Code · Pi · Grok · Cursor -### Desenvolvimento +O Codeg instala, fixa a versão e atualiza a maioria deles por você. Veja [Agentes suportados](https://docs.codeg.app/guide/supported-agents) para a lista completa, os requisitos de execução de cada um e onde ele guarda as sessões em disco. -```bash -pnpm install +## 🤝 Colaboração multiagente -# Apenas frontend (servidor de desenvolvimento Next.js, sem Rust) -pnpm dev +Colaboração multiagente reduzida a uma única tecla: digite `@`, escolha um agente e envie. O Codeg cuida da orquestração — inicia cada agente mencionado como sua própria sessão, entrega a tarefa e devolve o trabalho para a conversa em que você já está. Mencione dois e eles seguem lado a lado: o Claude Code redigindo enquanto o Codex revisa. Sem troca de contexto, sem copiar e colar entre terminais. -# Exportação estática do frontend para out/ -pnpm build +![Delegando uma tarefa a subagentes a partir de uma única conversa do Codeg](../images/collaboration-light.gif#gh-light-mode-only) +![Delegando uma tarefa a subagentes a partir de uma única conversa do Codeg](../images/collaboration-dark.gif#gh-dark-mode-only) -# Aplicativo desktop completo (Tauri + Next.js, compila o sidecar codeg-mcp automaticamente) -pnpm tauri dev +## 📄 Documentos do Office -# Build de release do desktop (empacota codeg-mcp como externalBin) -pnpm tauri build +Peça um deck, um relatório ou uma planilha e o agente constrói um `.pptx` / `.docx` / `.xlsx` de verdade — enquanto o painel à direita o renderiza ao vivo. Cada edição chega sozinha à pré-visualização: os slides se preenchem, as tabelas ganham forma, os números caem nas células. Não gostou do slide 4? Diga na mensagem seguinte — o agente edita o mesmo arquivo no lugar e a pré-visualização acompanha. Sem exportar, sem app do Office externo, sem sair do Codeg. -# Servidor standalone (sem Tauri/GUI necessário) -pnpm server:dev -pnpm server:build # binário de release em src-tauri/target/release/codeg-server +![Um agente editando um documento do Office ao lado da pré-visualização ao vivo](../images/office-light.png#gh-light-mode-only) +![Um agente editando um documento do Office ao lado da pré-visualização ao vivo](../images/office-dark.png#gh-dark-mode-only) -# Compilar explicitamente o companion codeg-mcp (para o triple do host) -pnpm tauri:prepare-sidecars # saída: src-tauri/binaries/codeg-mcp- +## 💻 Espaço de trabalho -# Pular a preparação do sidecar ao iterar no frontend quando você não precisa de delegação -CODEG_SKIP_SIDECAR=1 pnpm tauri dev +Um espaço de trabalho, todos os agentes. Seja qual for o que estiver trabalhando — Claude Code, Codex, Cursor —, ele trabalha no mesmo editor, com os mesmos diffs ao vivo e o mesmo cliente git; e o que produz são arquivos reais do seu repositório, mudando diante de você. -# Lint -pnpm eslint . +**Sessões.** Traga o histórico que você já tem: sessões passadas de todos os agentes instalados, importadas com um clique e retomáveis de onde você parou. Uma vez dentro, elas deixam de ser silos separados — mencione uma sessão antiga com `@` e o agente com quem você está falando consegue lê-la, mesmo que outro agente a tenha escrito, de modo que a execução do Codex de hoje continua de onde a sessão do Claude Code da semana passada terminou. -# Testes frontend (vitest) -pnpm test -pnpm test:watch -pnpm test:coverage +**Arquivos.** As edições do agente aparecem como diffs ao lado da conversa conforme acontecem. Abra qualquer arquivo em um editor de verdade com realce de sintaxe, envie um arquivo — ou apenas uma seleção — direto para o agente com `⌘L`, e visualize Markdown, HTML, imagens e documentos do Office no mesmo painel. -# Verificações Rust (executar em src-tauri/) -cargo check # desktop (features padrão) -cargo check --no-default-features --bin codeg-server # modo servidor -cargo check --no-default-features --bin codeg-mcp # companion MCP -cargo clippy --all-targets --features test-utils -- -D warnings +**Git.** Um cliente completo, não um indicador de status: faça commit e push, percorra o histórico com o estado de envio de cada commit, e crie branches, faça merge, rebase, stash, reset ou compare com outro branch. Conflitos abrem um editor de merge de três painéis onde você aceita hunk a hunk ou digita a correção você mesmo. E as worktrees transformam o trabalho paralelo em uma única ação — um branch novo, seu próprio diretório e uma conversa nova enraizada nele, para que uma frota de agentes construa funcionalidades diferentes ao mesmo tempo sem esbarrar nos arquivos uns dos outros. -# Testes Rust -cargo test --features test-utils # desktop (incl. integração) -cargo test --no-default-features --bin codeg-server --lib # modo servidor -cargo insta review # aceitar atualizações de snapshots do parser -``` +## ✨ Destaques -> Dica: quando você tiver um build recente de `codeg-mcp` em `src-tauri/target/release/` e quiser apontar um `codeg-server` lançado manualmente para ele sem reinstalar, exporte `CODEG_MCP_BIN=$(pwd)/src-tauri/target/release/codeg-mcp`. +- **[Agregação de conversas](https://docs.codeg.app/guide/aggregation)** — importe as sessões de todos os agentes suportados para um espaço de trabalho unificado e pesquisável, e retome de onde parou +- **[Colaboração multiagente](https://docs.codeg.app/guide/multi-agent)** — mencione qualquer agente com `@` para delegar: subagentes de tipos diferentes rodam como sessões próprias, em paralelo, dentro de uma mesma tarefa +- **[O espaço de trabalho](https://docs.codeg.app/guide/workspace)** — todo o ciclo de engenharia ao lado do agente: árvore de arquivos, editor e diff, alterações do git, commit e um terminal integrado +- **[Git e worktrees](https://docs.codeg.app/guide/git)** — revise e faça commit das alterações, gerencie contas remotas do Git e trabalhe em paralelo com os fluxos `git worktree` integrados +- **[Canais de chat](https://docs.codeg.app/guide/chat-channels)** — comande seus agentes pelo Telegram, Lark (Feishu) e iLink (Weixin): crie tarefas, aprove permissões e receba atualizações ao vivo +- **[Automações](https://docs.codeg.app/guide/automations)** — salve um compositor totalmente configurado como uma automação reutilizável que roda sem interface, por agendamento cron ou sob demanda +- **[Documentos do Office](https://docs.codeg.app/guide/office)** — crie, analise, revise e edite `.docx` / `.xlsx` / `.pptx` com o `officecli` embutido, com pré-visualização ao vivo na própria aba +- **[Pesquisa científica](https://docs.codeg.app/guide/research)** — habilidades de pesquisa embutidas (geração de hipóteses, desenho experimental, estatística, visualização, avaliação crítica, busca bibliográfica) que qualquer agente pode invocar +- **[Project Boot](https://docs.codeg.app/guide/project-boot)** — crie novos projetos visualmente, com pré-visualização ao vivo, e abra-os direto no espaço de trabalho +- **[MCP](https://docs.codeg.app/guide/mcp) & [Skills](https://docs.codeg.app/guide/skills)** — varredura de servidores locais mais busca/instalação pelo registro, e habilidades gerenciadas em escopo global ou de projeto +- **[Desktop, servidor e Docker](https://docs.codeg.app/getting-started/deployment)** — um app de desktop nativo, um `codeg-server` independente acessível de qualquer navegador, ou `docker compose up` -### Implantação do servidor +## 📦 Instalação e execução -O Codeg pode ser executado como um servidor web standalone sem ambiente desktop. +**Desktop** — baixe o instalador para macOS, Windows ou Linux em [Releases](https://github.com/xintaofei/codeg/releases) e siga a [Instalação](https://docs.codeg.app/getting-started/installation). -#### Opção 1: Instalação em uma linha (Linux / macOS) +**Servidor** — rode o Codeg sem interface e acesse de qualquer navegador: ```bash curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash -``` - -Instalar uma versão específica ou em um diretório personalizado: - -```bash -curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash -s -- --version v0.5.2 --dir ~/.local/bin -``` - -Em seguida, executar: - -```bash codeg-server ``` -#### Opção 2: Instalação em uma linha (Windows PowerShell) - -```powershell -irm https://raw.githubusercontent.com/xintaofei/codeg/main/install.ps1 | iex -``` - -Ou instalar uma versão específica: - -```powershell -.\install.ps1 -Version v0.5.2 -``` - -#### Opção 3: Baixar do GitHub Releases - -Binários pré-compilados (com recursos web incluídos) estão disponíveis na página de [Releases](https://github.com/xintaofei/codeg/releases): - -| Plataforma | Arquivo | -| ----------- | ---------------------------------- | -| Linux x64 | `codeg-server-linux-x64.tar.gz` | -| Linux arm64 | `codeg-server-linux-arm64.tar.gz` | -| macOS x64 | `codeg-server-darwin-x64.tar.gz` | -| macOS arm64 | `codeg-server-darwin-arm64.tar.gz` | -| Windows x64 | `codeg-server-windows-x64.zip` | - -```bash -# Exemplo: baixar, extrair e executar -tar xzf codeg-server-linux-x64.tar.gz -cd codeg-server-linux-x64 -CODEG_STATIC_DIR=./web ./codeg-server -``` - -> Para implantações não assistidas, inicie-o com `--supervise` para que uma atualização no local com falha seja revertida automaticamente — consulte [Atualizações no local](#atualizações-no-local). - -#### Opção 4: Docker +**Docker** — o mesmo servidor, em um contêiner: ```bash -# Usando Docker Compose (recomendado) -docker compose up -d - -# Ou executar diretamente com Docker docker run -d -p 3080:3080 -v codeg-data:/data ghcr.io/xintaofei/codeg:latest - -# Com token personalizado e diretório de projeto montado -docker run -d -p 3080:3080 \ - -v codeg-data:/data \ - -v /path/to/projects:/projects \ - -e CODEG_TOKEN=your-secret-token \ - ghcr.io/xintaofei/codeg:latest ``` -A imagem Docker usa um build multi-stage (Node.js + Rust → runtime Debian slim) e inclui `git` e `ssh` para operações com repositórios. Os dados são persistidos no volume `/data`. Opcionalmente, você pode montar diretórios de projetos para acessar repositórios locais de dentro do contêiner. - -#### Opção 5: Compilar a partir do código-fonte - -```bash -pnpm install && pnpm build # compilar frontend -cd src-tauri -cargo build --release --bin codeg-server --no-default-features -cargo build --release --bin codeg-mcp --no-default-features # companion de delegação -CODEG_STATIC_DIR=../out ./target/release/codeg-server # codeg-mcp é detectado como irmão -``` +Compose, binários pré-compilados, builds a partir do código e atualizações no lugar estão em [Implantação](https://docs.codeg.app/getting-started/deployment); variáveis de ambiente, em [Configuração](https://docs.codeg.app/getting-started/configuration). Para compilar o próprio Codeg: [Desenvolvimento](https://docs.codeg.app/reference/development) e [Arquitetura](https://docs.codeg.app/reference/architecture). -Se você mantiver os dois binários em diretórios separados, defina `CODEG_MCP_BIN=/abs/path/to/codeg-mcp` para que o runtime ainda possa encontrar o companion; sem isso, a delegação multi-agente é desativada silenciosamente. +## 🔒 Privacidade e segurança -#### Atualizações no local - -O servidor pode se atualizar sozinho em **Configurações → Atualização de software**: ele baixa a versão assinada para sua plataforma, substitui os binários e os recursos web em disco e reinicia — sem reimplantação manual. Funciona apenas em Linux/macOS (desativado no Windows). A versão anterior é mantida como backup, então a mesma tela oferece uma ação **Reverter** para voltar a ela. - -**Execute sob o supervisor para reversão automática.** Inicie o servidor standalone com `--supervise` para que um processo recém-atualizado que falhe ao iniciar dentro da janela de avaliação seja revertido automaticamente para a versão anterior: - -```bash -CODEG_STATIC_DIR=./web ./codeg-server --supervise -``` - -Sem `--supervise`, o servidor ainda se atualiza no local (ele re-executa a si mesmo), mas a atualização é de melhor esforço: não há supervisor para reverter automaticamente uma versão que não consegue iniciar. A imagem Docker já é executada sob o supervisor. - -**As atualizações no Docker alteram o contêiner, não a imagem.** Uma atualização no local reescreve os binários e os recursos web dentro da camada gravável do contêiner em execução, de modo que eles existem apenas nesse contêiner. O volume `/data` persiste, mas os arquivos atualizados **não**: recriar o contêiner — `docker compose up --force-recreate`, um novo `docker run` ou recriá-lo após um `docker pull` — parte novamente da imagem e descarta a atualização no local. (Um `docker pull` por si só apenas atualiza a imagem local; nada é revertido até que o contêiner seja recriado.) Para tornar uma atualização permanente, compile ou baixe uma imagem na nova versão e recrie o contêiner a partir dela. - -#### Configuração - -Variáveis de ambiente: - -| Variável | Padrão | Descrição | -| ------------------------------ | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `CODEG_PORT` | `3080` | Porta HTTP | -| `CODEG_HOST` | `0.0.0.0` | Endereço de bind | -| `CODEG_TOKEN` | _(aleatório)_ | Token de autenticação (impresso no stderr ao iniciar) | -| `CODEG_DATA_DIR` | `~/.local/share/codeg` | Diretório do banco de dados SQLite (também raiz de `uploads/`, `pets/`) | -| `CODEG_STATIC_DIR` | `./web` ou `./out` | Diretório de exportação estática do Next.js | -| `CODEG_MCP_BIN` | _(não definido)_ | Caminho absoluto para o companion `codeg-mcp`. Sobrescreve a busca padrão por irmão-do-executável + `PATH`. Use isso para compilações a partir do código-fonte ou layouts personalizados em que o companion reside fora do diretório de instalação do servidor. | -| `CODEG_SKIP_SIDECAR` | _(não definido)_ | Conveniência apenas de frontend para `pnpm tauri dev` / `pnpm tauri build` — quando `1`, pula a compilação do sidecar `codeg-mcp`. A delegação fica desativada nesse build; artefatos de qualidade de release devem deixá-la não definida. | -| `CODEG_UPLOAD_MAX_TOTAL_BYTES` | _(não definido)_ | Limite rígido do total de bytes residentes em `/uploads/`. Contagem decimal de bytes (ex.: `10737418240` para 10 GiB). Não definido, `0` ou um valor não analisável desativa o limite e imprime uma linha de inicialização para tornar o estado visível. O limite é aplicado dentro de um único processo `codeg-server` — implantações escaladas horizontalmente que compartilham um volume `uploads/` precisam de coordenação externa (lock de arquivo, Redis, cota de proxy reverso). | -| `CODEG_UPLOAD_QUOTA_STRICT` | _(não definido)_ | Quando verdadeiro (`1` / `true` / `yes` / `on`), aborta a inicialização com código de saída 2 se `CODEG_UPLOAD_MAX_TOTAL_BYTES` estiver definido como um valor não analisável, em vez de continuar com um WARN. Use isso quando sua política de segurança exigir que "a cota configurada deve ser efetiva". | - -
- -
-

Arquitetura

- -```text -Next.js 16 (Static Export) + React 19 - | - | invoke() (desktop) / fetch() + WebSocket (web) - v - ┌─────────────────────────┐ - │ Transport Abstraction │ - │ (Tauri IPC or HTTP/WS) │ - └─────────────────────────┘ - | - v -┌─── Tauri Desktop ───┐ ┌─── codeg-server ───┐ -│ Tauri 2 Commands │ │ Axum HTTP + WS │ -│ (window management) │ │ (standalone mode) │ -└──────────┬───────────┘ └──────────┬──────────┘ - └──────────┬───────────────┘ - v - Shared Rust Core - |- AppState - |- ACP Manager - |- Parsers (conversation ingestion) - |- Chat Channels - |- Git / File Tree / Terminal - |- MCP marketplace + config - |- Office Tools (officecli) + Automations - |- SeaORM + SQLite - | - ┌───────┼───────┐ - v v v - Local Filesystem Git Chat Channels - / Git Repos Repos (Telegram, Lark, iLink) -``` - -
- -## Privacidade e segurança - -- Local-first por padrão para análise, armazenamento e operações do projeto -- O acesso à rede ocorre apenas em ações iniciadas pelo usuário +- Local em primeiro lugar por padrão para análise, armazenamento e operações de projeto — o acesso à rede só acontece em ações iniciadas por você +- Os modos web e servidor são protegidos por autenticação baseada em token - Suporte a proxy do sistema para ambientes corporativos -- O modo de serviço web usa autenticação baseada em token -## Comunidade +Detalhes em [Privacidade e segurança](https://docs.codeg.app/reference/privacy). + +## 👥 Comunidade - Escaneie o QR code abaixo para entrar em nosso grupo do WeChat para discussões, feedback e atualizações @@ -445,13 +143,13 @@ Next.js 16 (Static Export) + React 19 - Obrigado à comunidade [LinuxDO](https://linux.do) pelo apoio -## Agradecimentos +## 🙏 Agradecimentos -- [ACP](https://agentclientprotocol.com) — o Agent Client Protocol (ACP) é a base que permite ao Codeg conectar-se a múltiplos agentes +- [Agent Client Protocol](https://agentclientprotocol.com) — a base que permite ao Codeg se conectar a todos os agentes que ele suporta - [Superpowers](https://github.com/obra/superpowers) — alimenta o módulo de habilidades de especialistas do Codeg - [OfficeCLI](https://github.com/iOfficeAI/OfficeCLI) — alimenta o fluxo de trabalho de documentos Office do Codeg - [scientific-agent-skills](https://github.com/K-Dense-AI/scientific-agent-skills) — alimenta as habilidades de Pesquisa científica do Codeg (subconjunto licenciado sob MIT) -## Licença +## 📜 Licença -Apache-2.0. Veja `LICENSE`. +Apache-2.0. Veja [LICENSE](../../LICENSE). diff --git a/docs/readme/README.zh-CN.md b/docs/readme/README.zh-CN.md index a7b0073b0..fda80197e 100644 --- a/docs/readme/README.zh-CN.md +++ b/docs/readme/README.zh-CN.md @@ -1,10 +1,8 @@ # Codeg [![Release](https://img.shields.io/github/v/release/xintaofei/codeg)](https://github.com/xintaofei/codeg/releases) +[![Docs](https://img.shields.io/badge/docs-docs.codeg.app-3451b2)](https://docs.codeg.app) [![License](https://img.shields.io/github/license/xintaofei/codeg)](../../LICENSE) -[![Tauri](https://img.shields.io/badge/Tauri-2.x-24C8DB)](https://tauri.app/) -[![Next.js](https://img.shields.io/badge/Next.js-16-black)](https://nextjs.org/) -[![Docker](https://img.shields.io/badge/Docker-ready-2496ED)](../../Dockerfile)

English | @@ -19,11 +17,18 @@ العربية

-Codeg(Code Generation)是一个多智能体编码工作台,它将多个智能体(Claude Code、Codex CLI、OpenCode、Gemini CLI、OpenClaw、Cline、Hermes Agent、CodeBuddy、Kimi Code、Pi、Grok Build、Cursor 等)统一到一个工作区中,支持会话聚合和多智能体协作,支持桌面安装,服务器/Docker 部署。 +Codeg(Code Generation)是一个多智能体编码工作台:把所有 AI 编码智能体收进同一个地方 —— 并让它们协同工作。 -![gallery](../images/gallery.svg) +它将所有受支持智能体 CLI 的会话聚合进一个可搜索的工作区,让主智能体在同一个任务内委派给其它类型的子智能体,并可作为桌面应用、独立服务器或 Docker 容器运行。 -## 赞助 +![工作区](../images/workspace-light.png#gh-light-mode-only) +![工作区](../images/workspace-dark.png#gh-dark-mode-only) + +## 📖 文档 + +**完整文档见 [docs.codeg.app](https://docs.codeg.app)** — [快速开始](https://docs.codeg.app/zh/getting-started/) · [指南](https://docs.codeg.app/zh/guide/) · [参考](https://docs.codeg.app/zh/reference/) + +## 💖 赞助
@@ -58,385 +63,78 @@ Codeg(Code Generation)是一个多智能体编码工作台,它将多个智 > 想成为 Codeg 赞助商?[欢迎通过邮件与我们联系。](mailto:itpkcn@gmail.com) -## 主界面 - -![Codeg Light](../images/main-light.png#gh-light-mode-only) -![Codeg Dark](../images/main-dark.png#gh-dark-mode-only) - -## 多智能体协作 - -![Codeg Light](../images/collaboration-light.png#gh-light-mode-only) -![Codeg Dark](../images/collaboration-dark.png#gh-dark-mode-only) - -## 日常办公 - -![Codeg Light](../images/office-light.png#gh-light-mode-only) -![Codeg Dark](../images/office-dark.png#gh-dark-mode-only) - -## 核心亮点 - -- **会话聚合** — 将所有受支持智能体的会话导入到统一工作台 -- **多智能体协作** — 在同一会话中,主智能体可调用不同类型的子智能体(如 Claude Code 调用 Codex、Gemini 等)协作完成任务,每个子智能体作为独立会话运行 -- 内置 `git worktree` 并行开发流程 -- **项目启动器** — 可视化创建新项目,实时预览效果 -- **Office 文档** — 通过内置的 officecli 工具集创建、分析、校对和编辑 .docx / .xlsx / .pptx 文件,支持在文件标签页内实时预览,随智能体编辑即时刷新 -- **科学研究** — 内置科研技能(假设生成、实验设计、统计、可视化、批判性评估、文献检索),任意智能体均可调用,按智能体管理 -- **自动化** — 将任意输入框配置保存为可复用的自动化任务,按 cron 计划或手动触发、无界面自动运行 -- **消息渠道** — 连接 Telegram、飞书、iLink(微信)等即时通讯应用到编码代理,实时接收通知、完整会话交互、远程任务控制 -- MCP 管理(本地扫描 + 市场搜索/安装) -- Skills 管理(全局与项目级) -- Git 远程账号管理(支持 GitHub 及其它 Git 服务器) -- Web 服务模式 — 开启后可在浏览器中访问 Codeg,支持远程工作 -- **独立服务器部署** — 在任意 Linux/macOS 服务器上运行 `codeg-server`,通过浏览器访问 -- **Docker 支持** — `docker compose up` 或 `docker run`,可自定义令牌、端口,支持数据持久化及项目目录挂载 -- 运行时日志 — 内置实时日志查看器,支持筛选和按模块设置日志级别 -- 集成工程闭环(文件树、Diff、Git 变更、提交、终端) - -## 支持的Agent - -| Agent | 环境变量优先路径 | macOS / Linux 默认路径 | Windows 默认路径 | -| ------------ | ------------------------------------- | ------------------------------------- | ----------------------------------------------------- | -| Claude Code | `$CLAUDE_CONFIG_DIR/projects` | `~/.claude/projects` | `%USERPROFILE%\\.claude\\projects` | -| Codex CLI | `$CODEX_HOME/sessions` | `~/.codex/sessions` | `%USERPROFILE%\\.codex\\sessions` | -| OpenCode | `$XDG_DATA_HOME/opencode/opencode.db` | `~/.local/share/opencode/opencode.db` | `%USERPROFILE%\\.local\\share\\opencode\\opencode.db` | -| Gemini CLI | `$GEMINI_CLI_HOME/.gemini` | `~/.gemini` | `%USERPROFILE%\\.gemini` | -| OpenClaw | — | `~/.openclaw/agents` | `%USERPROFILE%\\.openclaw\\agents` | -| Cline | `$CLINE_DIR` | `~/.cline/data/tasks` | `%USERPROFILE%\\.cline\\data\\tasks` | -| Hermes Agent | `$HERMES_HOME/state.db` | `~/.hermes/state.db` | `%USERPROFILE%\\.hermes\\state.db` | -| CodeBuddy | `$CODEBUDDY_CONFIG_DIR/projects` | `~/.codebuddy/projects` | `%USERPROFILE%\\.codebuddy\\projects` | -| Kimi Code | `$KIMI_CODE_HOME/sessions` | `~/.kimi-code/sessions` | `%USERPROFILE%\\.kimi-code\\sessions` | -| Pi | `$PI_CODING_AGENT_SESSION_DIR` | `~/.pi/agent/sessions` | `%USERPROFILE%\\.pi\\agent\\sessions` | -| Grok Build | `$GROK_HOME/sessions` | `~/.grok/sessions` | `%USERPROFILE%\\.grok\\sessions` | -| Cursor | `$CURSOR_CONFIG_DIR/chats` | `~/.cursor/chats` | `%USERPROFILE%\\.cursor\\chats` | - -> 注意:环境变量的优先级高于默认路径。 - -
-

项目启动器

- -可视化创建新项目:左侧配置面板,右侧实时预览。 - -![Project Boot Light](../images/project-boot-light.png#gh-light-mode-only) -![Project Boot Dark](../images/project-boot-dark.png#gh-dark-mode-only) - -### 功能特性 - -- **可视化配置** — 从下拉菜单中选择样式、颜色主题、图标库、字体、圆角等,预览面板即时更新 -- **实时预览** — 在创建项目前,实时查看所选样式的渲染效果 -- **一键创建** — 点击"创建项目",启动器将使用您的预设配置、框架模板(Next.js / Vite / React Router / Astro / Laravel)和包管理器(pnpm / npm / yarn / bun)执行 `shadcn init` -- **包管理器检测** — 自动检测已安装的包管理器并显示版本号 -- **无缝集成** — 新创建的项目会立即在 Codeg 工作台中打开 - -目前支持 **shadcn/ui** 项目脚手架,选项卡式设计为未来支持更多项目类型做好了准备。 - -
- -
-

消息渠道

- -连接你喜爱的即时通讯应用——Telegram、飞书、iLink(微信)等——到 AI 编码代理。直接在聊天中创建任务、发送后续消息、审批权限、恢复会话、监控活动。实时接收代理响应(包含工具调用详情、权限提示和完成摘要),无需打开浏览器。 - -Telegram 论坛超级群也可以使用 [Telegram topic mode](../chat-channels/telegram-topic-mode.md),将每个 topic 绑定到独立的 Codeg 会话。 - -### 支持的渠道 - -| 渠道 | 协议 | 状态 | -| ------------- | ---------------------- | ---- | -| Telegram | Bot API(HTTP 长轮询) | 内置 | -| 飞书 | WebSocket + REST API | 内置 | -| iLink(微信) | WebSocket + REST API | 内置 | - -> 更多渠道(Discord、Slack、钉钉等)计划在未来版本中支持。 - -
- -
-

Office 文档

- -将 Word、Excel 和 PowerPoint 文件纳入一等工作流。内置的 **officecli** 工具集让你的智能体能够创建、分析、校对和编辑 .docx、.xlsx、.pptx 文档——并可直接在 Codeg 内预览结果。 - -### 功能特性 - -- **创建与编辑** — 生成新文档或修改现有 .docx / .xlsx / .pptx 文件,支持图表、表格和格式设置 -- **分析与校对** — 检查文档结构、发现格式问题、校对内容 -- **实时预览** — 在文件标签页中打开 .docx / .xlsx / .pptx,即可内联渲染,随智能体编辑自动刷新——底层由常驻的 `officecli watch` 服务支撑(在 Web 和独立服务器部署中经反向代理转发,按能力鉴权) -- **快捷操作** — 欢迎页提供「编码」、「Office」和「科学研究」三个标签,一键将对应技能调用和提示词模板填入输入框;未对所选智能体启用的技能会显示锁定标记,并引导你前往可开启的位置 -- **Office 工具设置** — 专属设置页可安装 `officecli` 并通过技能×智能体矩阵管理文档技能:切换任意(技能,智能体)组合,支持一键批量启停 - -
- -
-

科学研究

- -将任意智能体变为严谨的科研助手。Codeg 内置一套精选的、采用 MIT 许可证的**科研技能**——从选题构思到分析再到论文撰写——它们会安装到共享的中央技能库,并按你的选择链接到相应智能体,与专家和 Office 工具集的方式完全一致。 - -### 功能特性 - -- **精选技能** — 假设生成、实验设计、统计功效、统计分析、探索性数据分析、科学可视化、批判性评估、同行评审、引文管理、学者评估、论文检索以及 AI 示意图 -- **快捷操作** — 欢迎页的「科学研究」标签一键将对应的技能调用和本地化提示词模板填入输入框 -- **科学研究设置** — 专属设置页通过技能×智能体矩阵管理这些技能,并以徽标标记需要 API 密钥或 Python 环境的技能 - -
- -
-

自动化

- -将任意输入框配置——智能体、模型、提示词、工作目录和选项——保存为可复用的**自动化**任务,无需打开 UI 即可运行。 - -### 功能特性 - -- **一次配置,随时复用** — 将完整的输入框配置保存为命名自动化任务 -- **定时或按需触发** — 按 cron 计划运行,或随时手动触发 -- **无界面执行** — 自动化任务在后台运行,创建真实会话,可随时在工作台中打开,启动后自动返回工作台 - -
- -
-

快速开始

- -### 环境要求 - -- Node.js `>=22`(推荐) -- pnpm `>=10` -- Rust stable(2021 edition) -- Tauri 2 构建依赖(仅桌面模式) - -Linux(Debian/Ubuntu)示例: +## 🤖 支持的 Agent -```bash -sudo apt-get update -sudo apt-get install -y \ - libwebkit2gtk-4.1-dev \ - libayatana-appindicator3-dev \ - librsvg2-dev \ - patchelf -``` - -### 二进制文件 - -Codeg 在单个 workspace 中提供三个 Rust 二进制文件: - -| 二进制 | 角色 | 构建方式 | -| -------------- | -------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | -| `codeg` | Tauri 桌面应用(窗口、托盘、自动更新) | `pnpm tauri build`(发布)/ `pnpm tauri dev`(开发) | -| `codeg-server` | 用于浏览器/无头部署的独立 HTTP + WebSocket 服务器 | `pnpm server:build` / `pnpm server:dev` | -| `codeg-mcp` | 单次启动的 stdio MCP 协作进程,向 agent CLI 暴露 `delegate_to_agent` 工具(多智能体协作) | `pnpm tauri:prepare-sidecars`(由 `tauri dev` / `tauri build` 自动调用) | - -`codeg-mcp` 在运行时必须与其父二进制位于同一目录——安装器、Docker 镜像和 Tauri sidecar 打包器都会把它放在 `codeg` / `codeg-server` 旁边。源码构建和自定义部署可以通过 `CODEG_MCP_BIN=/abs/path/codeg-mcp` 环境变量覆盖查找路径。如果协作进程缺失,委托功能会被跳过(仅记录一条警告日志),其余 agent 会话仍可正常工作。 +Claude Code · Codex · Gemini · OpenClaw · OpenCode · Cline · Hermes · CodeBuddy · Kimi Code · Pi · Grok · Cursor -### 开发命令 +其中大部分 Codeg 都能替你安装、锁定版本并更新。完整名单、各自的运行环境要求以及会话在磁盘上的存放位置,见 [支持的智能体](https://docs.codeg.app/zh/guide/supported-agents)。 -```bash -pnpm install +## 🤝 多智能体协作 -# 仅前端(Next.js 开发服务器,无需 Rust) -pnpm dev +多智能体协作,从此只需一个按键:输入 `@`,选中智能体,发送。剩下的调度全交给 Codeg —— 它把每个被提及的智能体拉起为独立会话,交付任务,再把工作实时汇流回你正在进行的对话。提及两个,它们就并肩开工:Claude Code 起草,Codex 同步评审。不用来回切换上下文,也不必在多个终端之间复制粘贴。 -# 前端静态导出到 out/ -pnpm build +![在单个 Codeg 会话中将任务委派给子智能体](../images/collaboration-light.gif#gh-light-mode-only) +![在单个 Codeg 会话中将任务委派给子智能体](../images/collaboration-dark.gif#gh-dark-mode-only) -# 完整桌面应用(Tauri + Next.js,自动构建 codeg-mcp sidecar) -pnpm tauri dev +## 📄 Office 文档 -# 桌面发布构建(将 codeg-mcp 作为 externalBin 打包) -pnpm tauri build +让智能体做一份演示、一份报告或一张表,它交付的是真正的 `.pptx` / `.docx` / `.xlsx` —— 右侧面板同时实时渲染。每一次改动都会自己落进预览:幻灯片逐页成形,表格逐步铺开,数字落入单元格。第 4 页不满意?下一条消息说一声就行 —— 智能体原地改同一个文件,预览随即跟上。无需导出,无需外部 Office 应用,全程不用离开 Codeg。 -# 独立服务器(无需 Tauri/GUI) -pnpm server:dev -pnpm server:build # 发布二进制位于 src-tauri/target/release/codeg-server +![智能体编辑 Office 文档,旁边是实时预览](../images/office-light.png#gh-light-mode-only) +![智能体编辑 Office 文档,旁边是实时预览](../images/office-dark.png#gh-dark-mode-only) -# 显式构建 codeg-mcp 协作进程(针对当前主机 triple) -pnpm tauri:prepare-sidecars # 输出:src-tauri/binaries/codeg-mcp- +## 💻 工作区 -# 当只调试前端且不需要委托功能时,跳过 sidecar 准备 -CODEG_SKIP_SIDECAR=1 pnpm tauri dev +一个工作区,容纳所有智能体。无论正在干活的是 Claude Code、Codex 还是 Cursor,它们都在同一个编辑器、同一套实时 diff、同一个 Git 客户端里工作,而产出的是你仓库里真实的文件,就在你眼前变化。 -# Lint -pnpm eslint . +**会话**:把你已有的历史一并接管 —— 所有已安装智能体的过往会话,一键导入,并可从中断处继续。进来之后它们不再是彼此隔绝的孤岛 —— `@` 提及一个旧会话,你正在对话的智能体就能读到它,哪怕那是另一个智能体留下的,于是今天的 Codex 能接着上周 Claude Code 停下的地方往下做。 -# 前端测试(vitest) -pnpm test -pnpm test:watch -pnpm test:coverage +**文件**:智能体的改动会以 diff 的形式,随着落盘即时呈现在对话旁边。任意文件都能在带语法高亮的真实编辑器里打开,用 `⌘L` 把整个文件(或仅一段选区)直接交给智能体,Markdown、HTML、图片与 Office 文档也都在同一面板内预览。 -# Rust 检查(在 src-tauri/ 下执行) -cargo check # 桌面(默认 features) -cargo check --no-default-features --bin codeg-server # 服务器模式 -cargo check --no-default-features --bin codeg-mcp # MCP 协作进程 -cargo clippy --all-targets --features test-utils -- -D warnings +**Git**:一个完整的客户端,而不只是状态展示 —— 提交与推送、带每条提交推送状态的历史、新建分支、合并、变基、贮藏、重置,以及与另一个分支比较。遇到冲突会打开三栏合并编辑器,逐块采纳或自己动手写。而工作树把并行开发压缩成一个动作 —— 新分支、独立目录,外加一个扎根其中的新会话,于是一队智能体可以同时开发不同功能,谁也不碰谁的文件。 -# Rust 测试 -cargo test --features test-utils # 桌面(含集成) -cargo test --no-default-features --bin codeg-server --lib # 服务器模式 -cargo insta review # 接受解析器快照变更 -``` +## ✨ 核心亮点 -> 提示:当你在 `src-tauri/target/release/` 下有新构建的 `codeg-mcp` 并想让手动启动的 `codeg-server` 在不重新安装的情况下指向它时,可以导出 `CODEG_MCP_BIN=$(pwd)/src-tauri/target/release/codeg-mcp`。 +- **[会话聚合](https://docs.codeg.app/zh/guide/aggregation)** — 把所有受支持智能体的会话导入统一、可搜索的工作区,并从上次中断处继续 +- **[多智能体协作](https://docs.codeg.app/zh/guide/multi-agent)** — `@` 提及任意智能体即可委派:不同类型的子智能体各自作为独立会话,在同一个任务内并行运行 +- **[工作区](https://docs.codeg.app/zh/guide/workspace)** — 智能体旁边就是完整的工程闭环:文件树、编辑器与 diff、Git 变更、提交,以及内置终端 +- **[Git 与 Worktree](https://docs.codeg.app/zh/guide/git)** — 查看并提交变更、管理 Git 远程账号,用内置 `git worktree` 流程并行开发 +- **[消息渠道](https://docs.codeg.app/zh/guide/chat-channels)** — 在 Telegram、飞书、iLink(微信)里直接驱动智能体:创建任务、批准权限、实时接收进展 +- **[自动化](https://docs.codeg.app/zh/guide/automations)** — 把配置好的输入框存成可复用的自动化任务,按 cron 计划或手动触发、无界面运行 +- **[Office 文档](https://docs.codeg.app/zh/guide/office)** — 通过内置 `officecli` 创建、分析、校对和编辑 `.docx` / `.xlsx` / `.pptx`,并在标签页内实时预览 +- **[科学研究](https://docs.codeg.app/zh/guide/research)** — 内置科研技能(假设生成、实验设计、统计、可视化、批判性评估、文献检索),任意智能体均可调用 +- **[项目启动器](https://docs.codeg.app/zh/guide/project-boot)** — 可视化创建新项目并实时预览,创建完直接在工作区打开 +- **[MCP](https://docs.codeg.app/zh/guide/mcp) & [技能](https://docs.codeg.app/zh/guide/skills)** — 本地服务器扫描 + 市场搜索/安装,技能支持全局与项目级管理 +- **[桌面端、服务器与 Docker](https://docs.codeg.app/zh/getting-started/deployment)** — 原生桌面应用、可用浏览器访问的独立 `codeg-server`,或者 `docker compose up` -### 服务器部署 +## 📦 安装与运行 -Codeg 可以作为独立 Web 服务器运行,无需桌面环境。 +**桌面端** — 从 [Releases](https://github.com/xintaofei/codeg/releases) 下载 macOS、Windows 或 Linux 的安装包,再按 [安装](https://docs.codeg.app/zh/getting-started/installation) 操作。 -#### 方式一:一键安装(Linux / macOS) +**服务器** — 无界面运行 Codeg,用任意浏览器访问: ```bash curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash -``` - -安装指定版本或到自定义目录: - -```bash -curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash -s -- --version v0.5.2 --dir ~/.local/bin -``` - -然后运行: - -```bash codeg-server ``` -#### 方式二:一键安装(Windows PowerShell) - -```powershell -irm https://raw.githubusercontent.com/xintaofei/codeg/main/install.ps1 | iex -``` - -或安装指定版本: - -```powershell -.\install.ps1 -Version v0.5.2 -``` - -#### 方式三:从 GitHub Releases 下载 - -预构建二进制文件(已打包 Web 前端资源)可在 [Releases](https://github.com/xintaofei/codeg/releases) 页面下载: - -| 平台 | 文件 | -| ----------- | ---------------------------------- | -| Linux x64 | `codeg-server-linux-x64.tar.gz` | -| Linux arm64 | `codeg-server-linux-arm64.tar.gz` | -| macOS x64 | `codeg-server-darwin-x64.tar.gz` | -| macOS arm64 | `codeg-server-darwin-arm64.tar.gz` | -| Windows x64 | `codeg-server-windows-x64.zip` | - -```bash -# 示例:下载、解压、运行 -tar xzf codeg-server-linux-x64.tar.gz -cd codeg-server-linux-x64 -CODEG_STATIC_DIR=./web ./codeg-server -``` - -> 对于无人值守的部署,请以 `--supervise` 启动,这样在就地升级失败时会自动回滚——参见[就地更新](#就地更新)。 - -#### 方式四:Docker +**Docker** — 同一个服务器,装进一个容器: ```bash -# 使用 Docker Compose(推荐) -docker compose up -d - -# 或直接使用 Docker 运行 docker run -d -p 3080:3080 -v codeg-data:/data ghcr.io/xintaofei/codeg:latest - -# 自定义令牌并挂载项目目录 -docker run -d -p 3080:3080 \ - -v codeg-data:/data \ - -v /path/to/projects:/projects \ - -e CODEG_TOKEN=your-secret-token \ - ghcr.io/xintaofei/codeg:latest ``` -Docker 镜像采用多阶段构建(Node.js + Rust → 精简 Debian 运行时),内置 `git` 和 `ssh` 以支持仓库操作。数据持久化存储在 `/data` 卷中。可选挂载项目目录以从容器内访问本地仓库。 - -#### 方式五:从源码构建 - -```bash -pnpm install && pnpm build # 构建前端 -cd src-tauri -cargo build --release --bin codeg-server --no-default-features -cargo build --release --bin codeg-mcp --no-default-features # 委托协作进程 -CODEG_STATIC_DIR=../out ./target/release/codeg-server # codeg-mcp 会作为同级二进制被自动发现 -``` +Compose、预编译二进制、源码构建与就地升级见 [部署](https://docs.codeg.app/zh/getting-started/deployment);环境变量见 [配置](https://docs.codeg.app/zh/getting-started/configuration)。想构建 Codeg 本身:[开发](https://docs.codeg.app/zh/reference/development) 与 [架构](https://docs.codeg.app/zh/reference/architecture)。 -> 如果两个二进制分别存放在不同目录,请设置 `CODEG_MCP_BIN=/abs/path/to/codeg-mcp`,运行时才能找到协作进程;否则多智能体委托会被静默禁用。 +## 🔒 隐私与安全 -#### 就地更新 - -服务器可从**设置 → 软件更新**自行更新:它会下载对应平台的已签名发布包,替换磁盘上的二进制文件和 Web 前端资源,然后重启——无需手动重新部署。此功能仅支持 Linux/macOS(Windows 上已禁用)。上一版本会保留为备份,因此同一界面上还提供**回滚**操作以退回到该版本。 - -**在监护进程下运行以启用自动回滚。** 使用 `--supervise` 启动独立服务器,这样刚完成升级的进程若未能在试运行窗口内启动,便会自动还原到上一版本: - -```bash -CODEG_STATIC_DIR=./web ./codeg-server --supervise -``` - -若不加 `--supervise`,服务器仍会就地更新(它会对自身执行 re-exec),但升级只是尽力而为:没有监护进程来自动回滚无法启动的版本。Docker 镜像已在监护进程下运行。 - -**Docker 升级改变的是容器,而非镜像。** 就地升级会重写正在运行的容器可写层内的二进制文件和 Web 前端资源,因此它们只存在于该容器中。`/data` 卷会持久保存,但升级后的文件**不会**保留:重建容器——`docker compose up --force-recreate`、全新的 `docker run`,或在 `docker pull` 之后重建——都会重新从镜像启动,并丢弃就地升级。(单独执行 `docker pull` 只会刷新本地镜像;在重建容器之前不会有任何回退。)要让升级永久生效,请构建或拉取新版本的镜像,并基于它重建容器。 - -#### 配置 - -环境变量: - -| 变量 | 默认值 | 说明 | -| ------------------------------ | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `CODEG_PORT` | `3080` | HTTP 端口 | -| `CODEG_HOST` | `0.0.0.0` | 绑定地址 | -| `CODEG_TOKEN` | _(随机)_ | 认证令牌(启动时输出到 stderr) | -| `CODEG_DATA_DIR` | `~/.local/share/codeg` | SQLite 数据库目录(同时也是 `uploads/`、`pets/` 的根目录) | -| `CODEG_STATIC_DIR` | `./web` 或 `./out` | Next.js 静态导出目录 | -| `CODEG_MCP_BIN` | _(未设置)_ | `codeg-mcp` 协作进程的绝对路径。会覆盖默认的"可执行文件同级目录 + `PATH`"查找逻辑。用于源码构建或协作进程不在服务端安装目录内的自定义部署。 | -| `CODEG_SKIP_SIDECAR` | _(未设置)_ | 仅供 `pnpm tauri dev` / `pnpm tauri build` 调试前端时使用——当值为 `1` 时,跳过 `codeg-mcp` sidecar 的构建。此类构建不支持委托功能;发布质量的产物必须保持此变量未设置。 | -| `CODEG_UPLOAD_MAX_TOTAL_BYTES` | _(未设置)_ | `/uploads/` 下所有文件总字节数的硬上限。十进制字节数(例如 `10737418240` 表示 10 GiB)。未设置、`0` 或无法解析的值会禁用上限,并在启动时打印一行日志以便观察当前状态。该上限仅在单个 `codeg-server` 进程内生效——共享一个 `uploads/` 卷的横向扩展部署需要外部协调(文件锁、Redis、反向代理配额)。 | -| `CODEG_UPLOAD_QUOTA_STRICT` | _(未设置)_ | 当值为真(`1` / `true` / `yes` / `on`)时,若 `CODEG_UPLOAD_MAX_TOTAL_BYTES` 设置为无法解析的值,则以退出码 2 中止启动,而不是发出 WARN 后继续运行。当安全策略要求"配置的配额必须生效"时使用此选项。 | - -
- -
-

架构

- -```text -Next.js 16 (Static Export) + React 19 - | - | invoke() (desktop) / fetch() + WebSocket (web) - v - ┌─────────────────────────┐ - │ Transport Abstraction │ - │ (Tauri IPC or HTTP/WS) │ - └─────────────────────────┘ - | - v -┌─── Tauri Desktop ───┐ ┌─── codeg-server ───┐ -│ Tauri 2 Commands │ │ Axum HTTP + WS │ -│ (window management) │ │ (standalone mode) │ -└──────────┬───────────┘ └──────────┬──────────┘ - └──────────┬───────────────┘ - v - Shared Rust Core - |- AppState - |- ACP Manager - |- Parsers (conversation ingestion) - |- Chat Channels - |- Git / File Tree / Terminal - |- MCP marketplace + config - |- Office Tools (officecli) + Automations - |- SeaORM + SQLite - | - ┌───────┼───────┐ - v v v - Local Filesystem Git Chat Channels - / Git Repos Repos (Telegram, Lark, iLink) -``` - -
- -## 隐私与安全 - -- 默认本地优先:解析、存储、项目操作均在本地完成 -- 仅在用户主动触发时才访问网络 +- 默认本地优先:解析、存储与项目操作都在本地完成 —— 仅在用户主动触发时才访问网络 +- Web 模式与服务器模式均使用基于令牌的身份认证 - 支持系统代理,适配企业网络环境 -- Web 服务模式使用基于令牌的身份认证 -## 交流 +详见 [隐私与安全](https://docs.codeg.app/zh/reference/privacy)。 + +## 👥 交流 - 扫描下方二维码加入我们的微信群,参与讨论、反馈与更新 @@ -445,13 +143,13 @@ Next.js 16 (Static Export) + React 19 - 感谢 [LinuxDO](https://linux.do) 社区的支持 -## 鸣谢 +## 🙏 鸣谢 -- [ACP](https://agentclientprotocol.com):智能体客户端协议 (ACP) 是 codeg 实现多智能体连接的基础 +- [Agent Client Protocol](https://agentclientprotocol.com):Codeg 得以连接所有受支持智能体的基础 - [Superpowers](https://github.com/obra/superpowers):为 Codeg 的专家技能模块提供支持 - [OfficeCLI](https://github.com/iOfficeAI/OfficeCLI):为 Codeg 的 Office 文档工作流提供支持 - [scientific-agent-skills](https://github.com/K-Dense-AI/scientific-agent-skills):为 Codeg 的科学研究技能提供支持(MIT 许可的子集) -## 许可证 +## 📜 许可证 -Apache-2.0,详见 `LICENSE`。 +Apache-2.0,详见 [LICENSE](../../LICENSE)。 diff --git a/docs/readme/README.zh-TW.md b/docs/readme/README.zh-TW.md index a661c82e7..a55b3e124 100644 --- a/docs/readme/README.zh-TW.md +++ b/docs/readme/README.zh-TW.md @@ -1,10 +1,8 @@ # Codeg [![Release](https://img.shields.io/github/v/release/xintaofei/codeg)](https://github.com/xintaofei/codeg/releases) +[![Docs](https://img.shields.io/badge/docs-docs.codeg.app-3451b2)](https://docs.codeg.app) [![License](https://img.shields.io/github/license/xintaofei/codeg)](../../LICENSE) -[![Tauri](https://img.shields.io/badge/Tauri-2.x-24C8DB)](https://tauri.app/) -[![Next.js](https://img.shields.io/badge/Next.js-16-black)](https://nextjs.org/) -[![Docker](https://img.shields.io/badge/Docker-ready-2496ED)](../../Dockerfile)

English | @@ -19,11 +17,18 @@ العربية

-Codeg(Code Generation)是一個多智慧體編碼工作台,它將多個智慧體(Claude Code、Codex CLI、OpenCode、Gemini CLI、OpenClaw、Cline、Hermes Agent、CodeBuddy、Kimi Code、Pi、Grok Build、Cursor 等)統一到一個工作區中,支援會話彙整和多智慧體協作,支援桌面安裝、伺服器/Docker 部署。 +Codeg(Code Generation)是一個多智慧體編碼工作台:把所有 AI 編碼智慧體收進同一個地方 —— 並讓它們協同工作。 -![gallery](../images/gallery.svg) +它將所有支援的智慧體 CLI 的工作階段聚合進一個可搜尋的工作區,讓主智慧體在同一個任務內委派給其它類型的子智慧體,並可作為桌面應用、獨立伺服器或 Docker 容器執行。 -## 贊助 +![工作區](../images/workspace-light.png#gh-light-mode-only) +![工作區](../images/workspace-dark.png#gh-dark-mode-only) + +## 📖 文件 + +**完整文件見 [docs.codeg.app](https://docs.codeg.app)** — [快速開始](https://docs.codeg.app/zh/getting-started/) · [指南](https://docs.codeg.app/zh/guide/) · [參考](https://docs.codeg.app/zh/reference/) + +## 💖 贊助
@@ -58,385 +63,78 @@ Codeg(Code Generation)是一個多智慧體編碼工作台,它將多個智 > 想成為 Codeg 贊助商?[歡迎透過郵件與我們聯絡。](mailto:itpkcn@gmail.com) -## 主介面 - -![Codeg Light](../images/main-light.png#gh-light-mode-only) -![Codeg Dark](../images/main-dark.png#gh-dark-mode-only) - -## 多智慧體協作 - -![Codeg Light](../images/collaboration-light.png#gh-light-mode-only) -![Codeg Dark](../images/collaboration-dark.png#gh-dark-mode-only) - -## 日常辦公 - -![Codeg Light](../images/office-light.png#gh-light-mode-only) -![Codeg Dark](../images/office-dark.png#gh-dark-mode-only) - -## 核心亮點 - -- **會話聚合** — 將所有受支援智能體的會話匯入到統一工作台 -- **多智能體協作** — 在同一會話中,主智能體可呼叫不同類型的子智能體(如 Claude Code 呼叫 Codex、Gemini 等)協作完成任務,每個子智能體作為獨立會話執行 -- 內建 `git worktree` 並行開發流程 -- **專案啟動器** — 視覺化建立新專案,即時預覽效果 -- **Office 文件** — 透過內建的 officecli 工具集建立、分析、校對和編輯 .docx / .xlsx / .pptx 檔案,支援在檔案標籤頁內即時預覽,隨智慧體編輯即時更新 -- **科學研究** — 內建一系列科學研究技能(假設生成、實驗設計、統計、視覺化、批判性評估、文獻檢索),任意智慧體皆可呼叫,並按智慧體管理 -- **自動化** — 將任意輸入框設定儲存為可複用的自動化任務,按 cron 排程或手動觸發、無介面自動執行 -- **訊息渠道** — 連接 Telegram、飛書、iLink(微信)等即時通訊應用到編碼代理,即時接收通知、完整會話交互、遠端任務控制 -- MCP 管理(本地掃描 + 市場搜尋/安裝) -- Skills 管理(全域與專案級) -- Git 遠端帳號管理(支援 GitHub 及其他 Git 伺服器) -- Web 服務模式 — 開啟後可在瀏覽器中存取 Codeg,支援遠端工作 -- **獨立伺服器部署** — 在任意 Linux/macOS 伺服器上執行 `codeg-server`,透過瀏覽器存取 -- **Docker 支援** — `docker compose up` 或 `docker run`,可自訂令牌、連接埠,支援資料持久化及專案目錄掛載 -- 執行時日誌 — 內建即時日誌檢視器,支援篩選和按模組設定日誌層級 -- 整合工程閉環(檔案樹、Diff、Git 變更、提交、終端) - -## 支援的 Agent - -| Agent | 環境變數優先路徑 | macOS / Linux 預設路徑 | Windows 預設路徑 | -| ------------ | ------------------------------------- | ------------------------------------- | ----------------------------------------------------- | -| Claude Code | `$CLAUDE_CONFIG_DIR/projects` | `~/.claude/projects` | `%USERPROFILE%\\.claude\\projects` | -| Codex CLI | `$CODEX_HOME/sessions` | `~/.codex/sessions` | `%USERPROFILE%\\.codex\\sessions` | -| OpenCode | `$XDG_DATA_HOME/opencode/opencode.db` | `~/.local/share/opencode/opencode.db` | `%USERPROFILE%\\.local\\share\\opencode\\opencode.db` | -| Gemini CLI | `$GEMINI_CLI_HOME/.gemini` | `~/.gemini` | `%USERPROFILE%\\.gemini` | -| OpenClaw | — | `~/.openclaw/agents` | `%USERPROFILE%\\.openclaw\\agents` | -| Cline | `$CLINE_DIR` | `~/.cline/data/tasks` | `%USERPROFILE%\\.cline\\data\\tasks` | -| Hermes Agent | `$HERMES_HOME/state.db` | `~/.hermes/state.db` | `%USERPROFILE%\\.hermes\\state.db` | -| CodeBuddy | `$CODEBUDDY_CONFIG_DIR/projects` | `~/.codebuddy/projects` | `%USERPROFILE%\\.codebuddy\\projects` | -| Kimi Code | `$KIMI_CODE_HOME/sessions` | `~/.kimi-code/sessions` | `%USERPROFILE%\\.kimi-code\\sessions` | -| Pi | `$PI_CODING_AGENT_SESSION_DIR` | `~/.pi/agent/sessions` | `%USERPROFILE%\\.pi\\agent\\sessions` | -| Grok Build | `$GROK_HOME/sessions` | `~/.grok/sessions` | `%USERPROFILE%\\.grok\\sessions` | -| Cursor | `$CURSOR_CONFIG_DIR/chats` | `~/.cursor/chats` | `%USERPROFILE%\\.cursor\\chats` | - -> 注意:環境變數的優先順序高於預設路徑。 - -
-

專案啟動器

- -視覺化建立新專案:左側設定面板,右側即時預覽。 - -![Project Boot Light](../images/project-boot-light.png#gh-light-mode-only) -![Project Boot Dark](../images/project-boot-dark.png#gh-dark-mode-only) - -### 功能特色 - -- **視覺化設定** — 從下拉選單中選擇樣式、色彩主題、圖示庫、字型、圓角等,預覽面板即時更新 -- **即時預覽** — 在建立專案前,即時檢視所選樣式的渲染效果 -- **一鍵建立** — 點擊「建立專案」,啟動器將使用您的預設設定、框架範本(Next.js / Vite / React Router / Astro / Laravel)和套件管理器(pnpm / npm / yarn / bun)執行 `shadcn init` -- **套件管理器偵測** — 自動偵測已安裝的套件管理器並顯示版本號 -- **無縫整合** — 新建立的專案會立即在 Codeg 工作台中開啟 - -目前支援 **shadcn/ui** 專案腳手架,分頁式設計為未來支援更多專案類型做好了準備。 - -
- -
-

訊息渠道

- -連接你喜愛的即時通訊應用——Telegram、飛書、iLink(微信)等——到 AI 編碼代理。直接在聊天中建立任務、發送後續訊息、審批權限請求、恢復會話、監控代理活動——即時接收代理回應,包含工具呼叫詳情、權限提示和完成摘要。 - -Telegram 論壇超級群組也可以使用 [Telegram topic mode](../chat-channels/telegram-topic-mode.md),將每個 topic 綁定到獨立的 Codeg 會話。 - -### 支援的渠道 - -| 渠道 | 協定 | 狀態 | -| ------------- | ---------------------- | ---- | -| Telegram | Bot API(HTTP 長輪詢) | 內建 | -| 飛書 | WebSocket + REST API | 內建 | -| iLink(微信) | WebSocket + REST API | 內建 | - -> 更多渠道(Discord、Slack、釘釘等)計劃在未來版本中支援。 - -
- -
-

Office 文件

- -將 Word、Excel 和 PowerPoint 文件納入一等工作流程。內建的 **officecli** 工具集讓你的智慧體能夠建立、分析、校對和編輯 .docx、.xlsx、.pptx 文件——並可直接在 Codeg 內預覽結果。 - -### 功能特性 - -- **建立與編輯** — 建立新文件或修改現有 .docx / .xlsx / .pptx 檔案,支援圖表、表格和格式設定 -- **分析與校對** — 檢查文件結構、發現格式問題、校對內容 -- **即時預覽** — 在檔案標籤頁中開啟 .docx / .xlsx / .pptx,即可內嵌渲染,隨智慧體編輯自動刷新——底層由常駐的 `officecli watch` 服務支撐(在 Web 和獨立伺服器部署中經反向代理轉發,依能力鑑權) -- **快捷操作** — 歡迎頁提供「編碼」、「Office」和「科學研究」三個標籤,一鍵將對應技能呼叫和提示詞範本填入輸入框;未對所選智慧體啟用的技能會顯示鎖定標記,並引導你前往可開啟的位置 -- **Office 工具設定** — 專屬設定頁可安裝 `officecli` 並透過技能×智慧體矩陣管理文件技能:切換任意(技能,智慧體)組合,支援一鍵批次啟停 - -
- -
-

科學研究

- -將任意智慧體變成嚴謹的研究助手。Codeg 內建一套精選的 MIT 授權**科學研究技能**——從構思到分析再到撰寫——它們會安裝到共用的中央技能庫,並連結到你所選擇的任意智慧體,就像專家與 Office 工具集一樣。 - -### 功能特性 - -- **精選技能** — 假設生成、實驗設計、統計檢定力、統計分析、探索性資料分析、科學視覺化、批判性評估、同儕審查、引用管理、學者評估、論文檢索以及 AI 示意圖 -- **快捷操作** — 歡迎頁的「科學研究」標籤只需一鍵,即可將對應的技能呼叫連同在地化的提示詞範本填入輸入框 -- **科學研究設定** — 專屬設定頁透過技能×智慧體矩陣管理這些技能,並以標記標示需要 API 金鑰或 Python 環境的技能 - -
- -
-

自動化

- -將任意輸入框設定——智慧體、模型、提示詞、工作目錄和選項——儲存為可複用的**自動化**任務,無需開啟 UI 即可執行。 - -### 功能特性 - -- **一次設定,隨時複用** — 將完整的輸入框設定儲存為具名自動化任務 -- **定時或按需觸發** — 按 cron 排程執行,或隨時手動觸發 -- **無介面執行** — 自動化任務在背景執行,建立真實會話,可隨時在工作台中開啟,啟動後自動返回工作台 - -
- -
-

快速開始

- -### 環境需求 - -- Node.js `>=22`(建議) -- pnpm `>=10` -- Rust stable(2021 edition) -- Tauri 2 建置依賴(僅桌面模式) - -Linux(Debian/Ubuntu)範例: +## 🤖 支援的 Agent -```bash -sudo apt-get update -sudo apt-get install -y \ - libwebkit2gtk-4.1-dev \ - libayatana-appindicator3-dev \ - librsvg2-dev \ - patchelf -``` - -### 二進位檔 - -Codeg 在單一 workspace 中提供三個 Rust 二進位檔: - -| 二進位 | 角色 | 建置方式 | -| -------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | -| `codeg` | Tauri 桌面應用程式(視窗、系統匣、自動更新) | `pnpm tauri build`(發行)/ `pnpm tauri dev`(開發) | -| `codeg-server` | 用於瀏覽器/無頭部署的獨立 HTTP + WebSocket 伺服器 | `pnpm server:build` / `pnpm server:dev` | -| `codeg-mcp` | 單次啟動的 stdio MCP 協作行程,向 agent CLI 公開 `delegate_to_agent` 工具(多智慧體協作) | `pnpm tauri:prepare-sidecars`(由 `tauri dev` / `tauri build` 自動呼叫) | - -`codeg-mcp` 在執行階段必須與其父二進位位於同一目錄——安裝程式、Docker 映像和 Tauri sidecar 打包工具都會將它放在 `codeg` / `codeg-server` 旁邊。原始碼建置和自訂部署可以透過 `CODEG_MCP_BIN=/abs/path/codeg-mcp` 環境變數覆寫查詢路徑。若協作行程缺失,委派功能會被略過(僅記錄一則警告日誌),其餘 agent 會話仍可正常運作。 +Claude Code · Codex · Gemini · OpenClaw · OpenCode · Cline · Hermes · CodeBuddy · Kimi Code · Pi · Grok · Cursor -### 開發命令 +其中大部分 Codeg 都能替你安裝、鎖定版本並更新。完整名單、各自的執行環境需求以及工作階段在磁碟上的存放位置,見 [支援的智慧體](https://docs.codeg.app/zh/guide/supported-agents)。 -```bash -pnpm install +## 🤝 多智慧體協作 -# 僅前端(Next.js 開發伺服器,無需 Rust) -pnpm dev +多智慧體協作,從此只需一個按鍵:輸入 `@`,選取智慧體,送出。剩下的排程全交給 Codeg —— 它把每個被提及的智慧體拉起為獨立工作階段,交付任務,再把工作即時匯流回你正在進行的對話。提及兩個,它們就並肩開工:Claude Code 起草,Codex 同步審查。不必來回切換脈絡,也不用在多個終端機之間複製貼上。 -# 前端靜態匯出到 out/ -pnpm build +![在單一 Codeg 對話中將任務委派給子智慧體](../images/collaboration-light.gif#gh-light-mode-only) +![在單一 Codeg 對話中將任務委派給子智慧體](../images/collaboration-dark.gif#gh-dark-mode-only) -# 完整桌面應用(Tauri + Next.js,自動建置 codeg-mcp sidecar) -pnpm tauri dev +## 📄 Office 文件 -# 桌面發行建置(將 codeg-mcp 作為 externalBin 打包) -pnpm tauri build +讓智慧體做一份簡報、一份報告或一張試算表,它交付的是真正的 `.pptx` / `.docx` / `.xlsx` —— 右側面板同時即時算繪。每一次改動都會自己落進預覽:投影片逐頁成形,表格逐步鋪開,數字落入儲存格。第 4 頁不滿意?下一則訊息說一聲就行 —— 智慧體原地修改同一個檔案,預覽隨即跟上。無需匯出,無需外部 Office 應用程式,全程不用離開 Codeg。 -# 獨立伺服器(無需 Tauri/GUI) -pnpm server:dev -pnpm server:build # 發行二進位位於 src-tauri/target/release/codeg-server +![智慧體編輯 Office 文件,旁邊是即時預覽](../images/office-light.png#gh-light-mode-only) +![智慧體編輯 Office 文件,旁邊是即時預覽](../images/office-dark.png#gh-dark-mode-only) -# 顯式建置 codeg-mcp 協作行程(針對當前主機 triple) -pnpm tauri:prepare-sidecars # 輸出:src-tauri/binaries/codeg-mcp- +## 💻 工作區 -# 當僅迭代前端且不需要委派功能時,略過 sidecar 準備 -CODEG_SKIP_SIDECAR=1 pnpm tauri dev +一個工作區,容納所有智慧體。無論正在幹活的是 Claude Code、Codex 還是 Cursor,它們都在同一個編輯器、同一套即時 diff、同一個 Git 用戶端裡工作,而產出的是你儲存庫裡真實的檔案,就在你眼前變化。 -# Lint -pnpm eslint . +**工作階段**:把你已有的歷史一併接管 —— 所有已安裝智慧體的過往工作階段,一鍵匯入,並可從中斷處繼續。進來之後它們不再是彼此隔絕的孤島 —— `@` 提及一個舊工作階段,你正在對話的智慧體就能讀到它,哪怕那是另一個智慧體留下的,於是今天的 Codex 能接著上週 Claude Code 停下的地方往下做。 -# 前端測試(vitest) -pnpm test -pnpm test:watch -pnpm test:coverage +**檔案**:智慧體的改動會以 diff 的形式,隨著落檔即時呈現在對話旁邊。任意檔案都能在帶語法高亮的真實編輯器裡開啟,用 `⌘L` 把整個檔案(或僅一段選取範圍)直接交給智慧體,Markdown、HTML、圖片與 Office 文件也都在同一面板內預覽。 -# Rust 檢查(在 src-tauri/ 下執行) -cargo check # 桌面(預設 features) -cargo check --no-default-features --bin codeg-server # 伺服器模式 -cargo check --no-default-features --bin codeg-mcp # MCP 協作行程 -cargo clippy --all-targets --features test-utils -- -D warnings +**Git**:一個完整的用戶端,而不只是狀態顯示 —— 提交與推送、帶每筆提交推送狀態的歷史、新增分支、合併、變基、貯藏、重設,以及與另一個分支比較。遇到衝突會開啟三欄合併編輯器,逐塊採納或自己動手寫。而工作樹把平行開發壓縮成一個動作 —— 新分支、獨立目錄,外加一個紮根其中的新工作階段,於是一隊智慧體可以同時開發不同功能,誰也不碰誰的檔案。 -# Rust 測試 -cargo test --features test-utils # 桌面(含整合) -cargo test --no-default-features --bin codeg-server --lib # 伺服器模式 -cargo insta review # 接受解析器快照變更 -``` +## ✨ 核心亮點 -> 提示:當你在 `src-tauri/target/release/` 下有新建置的 `codeg-mcp` 並想讓手動啟動的 `codeg-server` 在不重新安裝的情況下指向它時,可以匯出 `CODEG_MCP_BIN=$(pwd)/src-tauri/target/release/codeg-mcp`。 +- **[對話聚合](https://docs.codeg.app/zh/guide/aggregation)** — 把所有支援的智慧體的工作階段匯入統一、可搜尋的工作區,並從上次中斷處繼續 +- **[多智慧體協作](https://docs.codeg.app/zh/guide/multi-agent)** — `@` 提及任一智慧體即可委派:不同類型的子智慧體各自作為獨立工作階段,在同一個任務內平行執行 +- **[工作區](https://docs.codeg.app/zh/guide/workspace)** — 智慧體旁邊就是完整的工程閉環:檔案樹、編輯器與 diff、Git 變更、提交,以及內建終端機 +- **[Git 與 Worktree](https://docs.codeg.app/zh/guide/git)** — 檢視並提交變更、管理 Git 遠端帳號,用內建 `git worktree` 流程平行開發 +- **[訊息渠道](https://docs.codeg.app/zh/guide/chat-channels)** — 在 Telegram、飛書、iLink(微信)裡直接驅動智慧體:建立任務、核准權限、即時接收進展 +- **[自動化](https://docs.codeg.app/zh/guide/automations)** — 把設定好的輸入框存成可重複使用的自動化任務,依 cron 排程或手動觸發、無介面執行 +- **[Office 文件](https://docs.codeg.app/zh/guide/office)** — 透過內建 `officecli` 建立、分析、校對與編輯 `.docx` / `.xlsx` / `.pptx`,並在分頁內即時預覽 +- **[科學研究](https://docs.codeg.app/zh/guide/research)** — 內建科研技能(假設生成、實驗設計、統計、視覺化、批判性評估、文獻檢索),任一智慧體皆可呼叫 +- **[專案啟動器](https://docs.codeg.app/zh/guide/project-boot)** — 視覺化建立新專案並即時預覽,建立完直接在工作區開啟 +- **[MCP](https://docs.codeg.app/zh/guide/mcp) & [技能](https://docs.codeg.app/zh/guide/skills)** — 本機伺服器掃描 + 市集搜尋/安裝,技能支援全域與專案層級管理 +- **[桌面端、伺服器與 Docker](https://docs.codeg.app/zh/getting-started/deployment)** — 原生桌面應用、可用瀏覽器存取的獨立 `codeg-server`,或者 `docker compose up` -### 伺服器部署 +## 📦 安裝與執行 -Codeg 可以作為獨立 Web 伺服器執行,無需桌面環境。 +**桌面端** — 從 [Releases](https://github.com/xintaofei/codeg/releases) 下載 macOS、Windows 或 Linux 的安裝檔,再依 [安裝](https://docs.codeg.app/zh/getting-started/installation) 操作。 -#### 方式一:一鍵安裝(Linux / macOS) +**伺服器** — 無介面執行 Codeg,用任意瀏覽器存取: ```bash curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash -``` - -安裝指定版本或到自訂目錄: - -```bash -curl -fsSL https://raw.githubusercontent.com/xintaofei/codeg/main/install.sh | bash -s -- --version v0.5.2 --dir ~/.local/bin -``` - -然後執行: - -```bash codeg-server ``` -#### 方式二:一鍵安裝(Windows PowerShell) - -```powershell -irm https://raw.githubusercontent.com/xintaofei/codeg/main/install.ps1 | iex -``` - -或安裝指定版本: - -```powershell -.\install.ps1 -Version v0.5.2 -``` - -#### 方式三:從 GitHub Releases 下載 - -預建置二進位檔(已打包 Web 前端資源)可在 [Releases](https://github.com/xintaofei/codeg/releases) 頁面下載: - -| 平台 | 檔案 | -| ----------- | ---------------------------------- | -| Linux x64 | `codeg-server-linux-x64.tar.gz` | -| Linux arm64 | `codeg-server-linux-arm64.tar.gz` | -| macOS x64 | `codeg-server-darwin-x64.tar.gz` | -| macOS arm64 | `codeg-server-darwin-arm64.tar.gz` | -| Windows x64 | `codeg-server-windows-x64.zip` | - -```bash -# 範例:下載、解壓縮、執行 -tar xzf codeg-server-linux-x64.tar.gz -cd codeg-server-linux-x64 -CODEG_STATIC_DIR=./web ./codeg-server -``` - -> 對於無人值守的部署,請以 `--supervise` 啟動,這樣就地升級失敗時便會自動回滾——參見[就地更新](#就地更新)。 - -#### 方式四:Docker +**Docker** — 同一個伺服器,裝進一個容器: ```bash -# 使用 Docker Compose(推薦) -docker compose up -d - -# 或直接使用 Docker 執行 docker run -d -p 3080:3080 -v codeg-data:/data ghcr.io/xintaofei/codeg:latest - -# 自訂令牌並掛載專案目錄 -docker run -d -p 3080:3080 \ - -v codeg-data:/data \ - -v /path/to/projects:/projects \ - -e CODEG_TOKEN=your-secret-token \ - ghcr.io/xintaofei/codeg:latest ``` -Docker 映像採用多階段建置(Node.js + Rust → 精簡 Debian 執行環境),內建 `git` 和 `ssh` 以支援倉庫操作。資料持久化儲存在 `/data` 卷中。可選掛載專案目錄以從容器內存取本地倉庫。 - -#### 方式五:從原始碼建置 - -```bash -pnpm install && pnpm build # 建置前端 -cd src-tauri -cargo build --release --bin codeg-server --no-default-features -cargo build --release --bin codeg-mcp --no-default-features # 委派協作行程 -CODEG_STATIC_DIR=../out ./target/release/codeg-server # codeg-mcp 會作為同級二進位被自動探測 -``` +Compose、預編譯二進位檔、原始碼建置與就地升級見 [部署](https://docs.codeg.app/zh/getting-started/deployment);環境變數見 [設定](https://docs.codeg.app/zh/getting-started/configuration)。想建置 Codeg 本身:[開發](https://docs.codeg.app/zh/reference/development) 與 [架構](https://docs.codeg.app/zh/reference/architecture)。 -> 若兩個二進位分別存放在不同目錄,請設定 `CODEG_MCP_BIN=/abs/path/to/codeg-mcp`,執行階段才能找到協作行程;否則多智慧體委派會被靜默停用。 +## 🔒 隱私與安全 -#### 就地更新 - -伺服器可從 **設定 → 軟體更新** 自行更新:它會下載對應其平台的已簽章發行版本,替換磁碟上的二進位檔與 Web 前端資源,然後重新啟動——無需手動重新部署。此功能僅限 Linux/macOS(在 Windows 上停用)。先前的版本會保留為備份,因此同一畫面也提供 **回滾** 操作以回到該版本。 - -**在監督行程下執行以啟用自動回滾。** 以 `--supervise` 啟動獨立伺服器,這樣剛升級完成的行程若在試執行視窗內無法啟動,便會自動還原至先前的版本: - -```bash -CODEG_STATIC_DIR=./web ./codeg-server --supervise -``` - -若未加上 `--supervise`,伺服器仍會就地更新(它會重新執行自身),但升級屬盡力而為:沒有監督行程可自動回滾無法啟動的版本。Docker 映像已在監督行程下執行。 - -**Docker 升級改變的是容器,而非映像。** 就地升級會改寫執行中容器可寫層內的二進位檔與 Web 前端資源,因此它們只存在於該容器內。`/data` 卷會持久保留,但升級後的檔案**不會**:重新建立容器——`docker compose up --force-recreate`、全新的 `docker run`,或在 `docker pull` 之後重新建立——會再次從映像啟動,並捨棄就地升級的內容。(單獨執行 `docker pull` 只會重新整理本地映像;在容器重新建立之前,不會還原任何內容。)若要讓升級永久生效,請以新版本建置或拉取映像,再據此重新建立容器。 - -#### 設定 - -環境變數: - -| 變數 | 預設值 | 說明 | -| ------------------------------ | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `CODEG_PORT` | `3080` | HTTP 連接埠 | -| `CODEG_HOST` | `0.0.0.0` | 綁定位址 | -| `CODEG_TOKEN` | _(隨機)_ | 認證令牌(啟動時輸出到 stderr) | -| `CODEG_DATA_DIR` | `~/.local/share/codeg` | SQLite 資料庫目錄(同時也是 `uploads/`、`pets/` 的根目錄) | -| `CODEG_STATIC_DIR` | `./web` 或 `./out` | Next.js 靜態匯出目錄 | -| `CODEG_MCP_BIN` | _(未設定)_ | `codeg-mcp` 協作行程的絕對路徑。會覆寫預設的「可執行檔同級目錄 + `PATH`」查詢邏輯。用於原始碼建置或協作行程不在伺服器安裝目錄內的自訂部署。 | -| `CODEG_SKIP_SIDECAR` | _(未設定)_ | 僅供 `pnpm tauri dev` / `pnpm tauri build` 調試前端時使用——當值為 `1` 時,略過 `codeg-mcp` sidecar 的建置。此類建置不支援委派功能;發行品質的產出物必須保持此變數未設定。 | -| `CODEG_UPLOAD_MAX_TOTAL_BYTES` | _(未設定)_ | `/uploads/` 下所有檔案總位元組數的硬上限。十進位位元組數(例如 `10737418240` 表示 10 GiB)。未設定、`0` 或無法解析的值會停用上限,並在啟動時印出一行日誌以便觀察當前狀態。該上限僅在單一 `codeg-server` 行程內生效——共用同一個 `uploads/` 卷的橫向擴展部署需要外部協調(檔案鎖、Redis、反向代理配額)。 | -| `CODEG_UPLOAD_QUOTA_STRICT` | _(未設定)_ | 當值為真(`1` / `true` / `yes` / `on`)時,若 `CODEG_UPLOAD_MAX_TOTAL_BYTES` 設定為無法解析的值,則以結束代碼 2 中止啟動,而不是發出 WARN 後繼續執行。當安全政策要求「設定的配額必須生效」時使用此選項。 | - -
- -
-

架構

- -```text -Next.js 16 (Static Export) + React 19 - | - | invoke() (desktop) / fetch() + WebSocket (web) - v - ┌─────────────────────────┐ - │ Transport Abstraction │ - │ (Tauri IPC or HTTP/WS) │ - └─────────────────────────┘ - | - v -┌─── Tauri Desktop ───┐ ┌─── codeg-server ───┐ -│ Tauri 2 Commands │ │ Axum HTTP + WS │ -│ (window management) │ │ (standalone mode) │ -└──────────┬───────────┘ └──────────┬──────────┘ - └──────────┬───────────────┘ - v - Shared Rust Core - |- AppState - |- ACP Manager - |- Parsers (conversation ingestion) - |- Chat Channels - |- Git / File Tree / Terminal - |- MCP marketplace + config - |- Office Tools (officecli) + Automations - |- SeaORM + SQLite - | - ┌───────┼───────┐ - v v v - Local Filesystem Git Chat Channels - / Git Repos Repos (Telegram, Lark, iLink) -``` - -
- -## 隱私與安全 - -- 預設本地優先:解析、儲存、專案操作均在本地完成 -- 僅在使用者主動觸發時才存取網路 +- 預設本機優先:解析、儲存與專案操作都在本機完成 —— 僅在使用者主動觸發時才存取網路 +- Web 模式與伺服器模式皆使用基於權杖的身分驗證 - 支援系統代理,適配企業網路環境 -- Web 服務模式使用基於令牌的身份認證 -## 交流 +詳見 [隱私與安全](https://docs.codeg.app/zh/reference/privacy)。 + +## 👥 交流 - 掃描下方 QR Code 加入我們的微信群,參與討論、回饋與更新 @@ -445,13 +143,13 @@ Next.js 16 (Static Export) + React 19 - 感謝 [LinuxDO](https://linux.do) 社群的支持 -## 致謝 +## 🙏 致謝 -- [ACP](https://agentclientprotocol.com):智能體客戶端協定 (ACP) 是 codeg 實現多智能體連接的基礎 +- [Agent Client Protocol](https://agentclientprotocol.com):Codeg 得以連接所有支援的智慧體的基礎 - [Superpowers](https://github.com/obra/superpowers):為 Codeg 的專家技能模組提供支援 - [OfficeCLI](https://github.com/iOfficeAI/OfficeCLI):為 Codeg 的 Office 文件工作流程提供支援 - [scientific-agent-skills](https://github.com/K-Dense-AI/scientific-agent-skills):為 Codeg 的科學研究技能提供支援(MIT 授權子集) -## 授權 +## 📜 授權 -Apache-2.0,詳見 `LICENSE`。 +Apache-2.0,詳見 [LICENSE](../../LICENSE)。