{"id":51706767,"url":"https://github.com/vnt-dev/seekcode","last_synced_at":"2026-07-16T16:38:07.559Z","repository":{"id":369649626,"uuid":"1283952686","full_name":"vnt-dev/seekcode","owner":"vnt-dev","description":null,"archived":false,"fork":false,"pushed_at":"2026-07-06T08:33:24.000Z","size":1076,"stargazers_count":3,"open_issues_count":1,"forks_count":2,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-07-06T10:12:54.040Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vnt-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-06-29T11:42:06.000Z","updated_at":"2026-07-06T08:33:29.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/vnt-dev/seekcode","commit_stats":null,"previous_names":["vnt-dev/seekcode"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/vnt-dev/seekcode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vnt-dev%2Fseekcode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vnt-dev%2Fseekcode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vnt-dev%2Fseekcode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vnt-dev%2Fseekcode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vnt-dev","download_url":"https://codeload.github.com/vnt-dev/seekcode/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vnt-dev%2Fseekcode/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35551282,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-16T02:00:06.687Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-07-16T16:38:07.122Z","updated_at":"2026-07-16T16:38:07.551Z","avatar_url":"https://github.com/vnt-dev.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SeekCode\n\nSeekCode is a desktop coding assistant built with Tauri, React, and Rust. It\nprovides workspace-scoped AI chats, streaming reasoning/tool-call output,\npersistent sessions, model-provider configuration, and local command execution\nfor coding workflows.\n\nChinese documentation is available in [README_zh.md](README_zh.md).\n\n## Features\n\n- Workspace and session management with SQLite persistence.\n- Streaming assistant responses, reasoning output, and tool-call progress.\n- DeepSeek by default, with support for additional OpenAI-compatible providers.\n- Per-session model selection, thinking mode, and reasoning-effort controls.\n- Context-window tracking and automatic context compaction for long sessions.\n- Session statistics for model calls, tokens, cache hits, and elapsed time.\n- Built-in `run_command` tool for non-interactive commands in the selected workspace.\n- Local settings saved under the user's home directory.\n\n## Tech Stack\n\n- Frontend: React 19, Vite, Tauri JavaScript APIs, lucide-react.\n- Desktop shell: Tauri 2.\n- Backend: Rust workspace with async services on Tokio.\n- Storage: SQLite through `sqlx`.\n- Model client: DeepSeek/OpenAI-compatible chat completions API.\n\n## Prerequisites\n\n- Node.js and npm.\n- Rust stable toolchain.\n- Tauri 2 CLI:\n\n```bash\ncargo install tauri-cli --version \"^2\" --locked\n```\n\nFollow the official Tauri setup for your operating system if the native build\ntoolchain or WebView runtime is missing.\n\n## Quick Start\n\nInstall JavaScript dependencies:\n\n```bash\nnpm ci\n```\n\nRun the desktop app in development mode:\n\n```bash\ncargo tauri dev\n```\n\nRun the Vite frontend only:\n\n```bash\nnpm run dev\n```\n\nThe dev frontend is served at `http://127.0.0.1:1420`.\n\n## Configuration\n\nOpen the in-app settings page to configure the default provider and optional\nadditional providers. Settings are persisted to:\n\n- Windows: `%USERPROFILE%\\.seekcode\\config.toml`\n- macOS/Linux: `$HOME/.seekcode/config.toml`\n\nThe default settings use DeepSeek:\n\n```toml\nbase_url = \"https://api.deepseek.com\"\napi_key = \"\"\ntitle_model = \"deepseek-v4-flash\"\ncontext_window = \"1M\"\n\n[[models]]\nid = \"deepseek-v4-pro\"\nlabel = \"DeepSeek V4 Pro\"\n\n[[models]]\nid = \"deepseek-v4-flash\"\nlabel = \"DeepSeek V4 Flash\"\n```\n\nAdditional providers must expose OpenAI-compatible endpoints:\n\n- `GET /models` for model discovery.\n- `POST /chat/completions` for chat completions.\n\nConversation data is stored in:\n\n- Windows: `%USERPROFILE%\\.seekcode\\seekcode.sqlite`\n- macOS/Linux: `$HOME/.seekcode/seekcode.sqlite`\n\n## Development Commands\n\n```bash\n# Frontend tests\nnpm test\n\n# Rust tests\ncargo test --workspace\n\n# Build frontend assets\nnpm run build\n\n# Build desktop bundles\ncargo tauri build\n```\n\nOn Windows, the release workflow builds NSIS and MSI installers with:\n\n```bash\ncargo tauri build --bundles nsis,msi\n```\n\n## Project Structure\n\n```text\n.\n|-- src/                         # React UI\n|   |-- components/              # UI components\n|   |-- lib/                     # Frontend state and formatting helpers\n|   `-- styles/                  # CSS modules by UI area\n|-- src-tauri/                   # Tauri app, commands, config, logging\n|-- crates/\n|   |-- agent-core/              # Agent task lifecycle and runner\n|   |-- app-kernel/              # Application service orchestration\n|   |-- common/                  # Shared IDs, errors, DTOs, telemetry\n|   |-- deepseek-client/         # DeepSeek/OpenAI-compatible model client\n|   |-- storage/                 # SQLite storage layer and migrations\n|   `-- tool-system/             # Tool registry and built-in system tools\n|-- package.json                 # Frontend scripts and dependencies\n`-- Cargo.toml                   # Rust workspace manifest\n```\n\n## Local Tool Safety\n\nSeekCode exposes a `run_command` tool to the model. Commands run through the\nplatform shell with the selected workspace as the default working directory.\nReview prompts and model behavior carefully before allowing destructive changes\nto important files.\n\n## Testing\n\nThe project includes both frontend unit tests and Rust crate tests:\n\n```bash\nnpm test\ncargo test --workspace\n```\n\nRun both before opening a pull request or shipping a local build.\n\n## Exhibition\n![p1](assets/p1.png)\n![p2](assets/p2.png)\n![p3](assets/p3.png)\n![p4](assets/p4.png)\n![p5](assets/p5.png)\n![p6](assets/p6.png)\n![p7](assets/p7.png)\n\n## License\n\nSeekCode is licensed under the MIT License. See [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvnt-dev%2Fseekcode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvnt-dev%2Fseekcode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvnt-dev%2Fseekcode/lists"}