[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-76296":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":35,"readmeContent":36,"aiSummary":37,"trendingCount":16,"starSnapshotCount":16,"syncStatus":15,"lastSyncTime":38,"discoverSource":39},76296,"openseek","LichAmnesia\u002Fopenseek","LichAmnesia","OpenSeek - 广度求索: open-source TUI coding agent with multi-provider routing, MCP, LSP, and Plan\u002FAgent\u002FYOLO modes.","https:\u002F\u002Fopenseek.dev\u002F",null,"TypeScript",321,6,70,2,0,61,103,305,183,92.54,"MIT License",false,"main",true,[27,28,29,30,31,32,33,34],"ai-agent","bun","cli","coding-agent","lsp","mcp","tui","typescript","2026-06-12 04:01:21","# OpenSeek - 广度求索\n\n> 中文: [README-zh.md](.\u002FREADME-zh.md)\n> Website: https:\u002F\u002Fopenseek.dev\u002F\n\nOpen-source TUI coding agent — a TypeScript \u002F Bun monorepo.\n\nLightweight terminal coding companion with multi-provider routing\n(OpenAI-compatible \u002F Anthropic \u002F Bedrock \u002F Vertex \u002F Azure), 50+ tools,\n100+ slash commands, Plan \u002F Agent \u002F YOLO modes, MCP client, LSP feedback,\nand a headless HTTP\u002FSSE runtime API.\n\n## Requirements\n\n- macOS or Linux (Windows: use WSL2)\n- [Bun](https:\u002F\u002Fbun.sh) ≥ 1.3 — **required at runtime, not optional.** The\n  codebase uses `Bun.spawn` \u002F `Bun.serve` \u002F `Bun.file`; node alone cannot run\n  it. Even if you install via `npm i -g`, the `openseek` command shells out\n  to `bun` at startup and will fail with `env: bun: No such file or directory`\n  if bun is not on your PATH.\n\n## Install\n\n### Step 1 — install bun (skip if already installed)\n\n```bash\ncurl -fsSL https:\u002F\u002Fbun.sh\u002Finstall | bash   # any Unix\nbrew install oven-sh\u002Fbun\u002Fbun               # macOS (Homebrew)\n```\n\nVerify: `bun --version` should print ≥ `1.3.0`.\n\n### Step 2 — install openseek\n\nPick one. All three put `openseek` on your PATH.\n\n```bash\n# A. npm\nnpm install -g openseek\n\n# B. bun (same registry as A, smoother if you already use bun)\nbun add -g openseek\n\n# C. From source (recommended while iterating)\ngit clone https:\u002F\u002Fgithub.com\u002FLichAmnesia\u002Fopenseek.git\ncd openseek\nbun install\nbun run build\nln -sf \"$PWD\u002Fbin\u002Fopenseek\" ~\u002F.local\u002Fbin\u002Fopenseek\n```\n\n### Step 3 — run\n\n```bash\nopenseek               # start the TUI\nopenseek doctor        # print resolved config + per-field source layer\nopenseek serve --http  # headless HTTP\u002FSSE on :7117\n```\n\n## Configuration\n\nOpenSeek resolves each setting (provider \u002F model \u002F API key \u002F base URL) from\nthe highest layer that defines it. Higher layers override lower ones.\n\n| # | Layer | Location | Notes |\n|---|---|---|---|\n| 1 | **env** | `OPENSEEK_PROVIDER`, `OPENSEEK_MODEL`, `OPENSEEK_API_KEY`, `OPENSEEK_BASE_URL` | Plus provider-specific keys (`DEEPSEEK_API_KEY`, `ANTHROPIC_API_KEY`, etc.) |\n| 2 | **project overlay** | `\u003Cworkspace>\u002F.openseek\u002Fconfig.toml` | Sandboxed — only `model` is honored. `api_key` \u002F `base_url` \u002F `provider` are silently dropped so a checked-in overlay can't leak secrets or hijack the provider. |\n| 3 | **user config** | `~\u002F.openseek\u002Fconfig.toml` | Persisted by the first-run wizard (`openseek setup`). 0600 perms. |\n| 4 | **default** | hard-coded fallbacks | What ships in the binary. |\n\nRun `openseek doctor` to see exactly where each value resolved from:\n\n```\n$ openseek doctor\nopenseek doctor\n\nResolved configuration:\n  provider   deepseek                       ← user (~\u002F.openseek\u002Fconfig.toml)\n  model      deepseek-v4-flash              ← user (~\u002F.openseek\u002Fconfig.toml)\n  api_key    sk-a…b8e2                      ← env\n  base_url   (provider default)             ← built-in default\n\nPrecedence (highest first):\n  1. env       OPENSEEK_PROVIDER \u002F OPENSEEK_MODEL \u002F OPENSEEK_API_KEY \u002F OPENSEEK_BASE_URL\n  2. project   \u003Cworkspace>\u002F.openseek\u002Fconfig.toml  (model only — secrets ignored)\n  3. user      ~\u002F.openseek\u002Fconfig.toml\n  4. default   built-in fallbacks\n```\n\nInside the TUI, `\u002Fhelp` lists all slash commands grouped by category;\n`\u002Fhelp \u003Cname>` shows details for one command, `\u002Fhelp \u003Ccategory>` filters\nto a single category (`session` \u002F `config` \u002F `tools` \u002F `git` \u002F `agent` \u002F\n`skills` \u002F `diagnostics` \u002F `advanced` \u002F …), and `\u002Fhelp all` is a flat list.\n\n## Develop\n\n```bash\nbun install\nbun run dev          # boots the CLI directly from TypeScript sources, no build needed\n```\n\n## Verify\n\n```bash\nbun run lint        # biome\nbun run typecheck   # tsc --noEmit\nbun run test        # bun test\nbun run verify      # all three\n```\n\n## Repo layout\n\n```\nopenseek\u002F\n├── packages\u002F         14 workspace packages\n│   ├── core\u002F         shared leaf utilities\n│   ├── provider\u002F     25+ provider adapters (Vercel ai SDK)\n│   ├── session\u002F      main agent loop + compaction strategies\n│   ├── tool\u002F         built-in tool registry\n│   ├── command\u002F      slash-command registry\n│   ├── tui\u002F          @opentui\u002Fsolid terminal renderer\n│   ├── mcp\u002F          MCP client (stdio \u002F SSE \u002F websocket)\n│   ├── skill\u002F        skill loader\n│   ├── agent\u002F        sub-agents + RLM fan-out\n│   ├── memory\u002F       SessionMemory\n│   ├── plugin\u002F       plugin protocol\n│   ├── server\u002F       HTTP \u002F SSE runtime API\n│   ├── lsp\u002F          LSP client (tsserver, rust-analyzer, pyright, ...)\n│   └── cli\u002F          entrypoint\n├── scripts\u002F          init \u002F build \u002F lint \u002F typecheck \u002F test \u002F verify\n├── tests\u002F            cross-package smoke \u002F e2e \u002F coverage gate\n├── install\u002F          curl-bash installer + Brewfile + Nix expression\n├── bin\u002Fopenseek      executable shim\n└── package.json      bun workspaces root\n```\n\n## License\n\nSee `LICENSE`.\n","OpenSeek 是一个开源的终端用户界面（TUI）编程助手，支持多提供商路由、MCP客户端和LSP反馈等功能。项目采用TypeScript编写，并基于Bun运行时环境构建，提供了超过50种工具和100多个斜杠命令，以适应不同的开发需求。它具备计划模式、代理模式以及YOLO模式等特性，能够帮助开发者通过简单的文本界面高效地完成编码任务。此外，OpenSeek还提供了一个无头HTTP\u002FSSE运行时API接口，方便集成到其他系统中。该项目特别适合那些偏好使用命令行工具进行软件开发或希望在终端环境中利用AI辅助编程的专业人士。","2026-06-11 03:54:54","CREATED_QUERY"]