[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-2048":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":12,"openIssues":13,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":14,"stars30d":12,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":15,"rankGlobal":9,"rankLanguage":9,"license":16,"archived":17,"fork":17,"defaultBranch":18,"hasWiki":17,"hasPages":17,"topics":19,"createdAt":9,"pushedAt":9,"updatedAt":20,"readmeContent":21,"aiSummary":22,"trendingCount":14,"starSnapshotCount":14,"syncStatus":23,"lastSyncTime":24,"discoverSource":25},2048,"cliq-agent","cogine-ai\u002Fcliq-agent","cogine-ai","Every team has their own agent. Cliq is ours.",null,"TypeScript",132,1,22,0,0.9,"MIT License",false,"main",[],"2026-06-12 02:00:36","# Cliq\n\n[![npm version](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002F@cogineai\u002Fcliq.svg)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@cogineai\u002Fcliq)\n[![license: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue.svg)](.\u002FLICENSE)\n\nEvery team has their own agent. This is ours.\n\nCliq is a tiny local coding agent harness built around a minimal, provider-agnostic action protocol.\n\n## What it is\n\n- **Local-first**: runs in the directory where you invoke it\n- **Provider-agnostic protocol**: the model responds with plain JSON actions\n- **Minimal by design**: small surface area, easy to inspect, easy to extend\n- **Persistent sessions**: each workspace keeps its own local session state\n\n## Quick start\n\nRequirements: Node.js 22 or newer.\n\n```bash\nnpm install -g @cogineai\u002Fcliq\n```\n\n## Usage\n\nStart in any project directory:\n\n```bash\ncd path\u002Fto\u002Fyour-project\ncliq\n```\n\nRunning `cliq` with no arguments starts interactive chat. `cliq chat` is the explicit equivalent.\n\nRun a one-shot task:\n\n```bash\ncliq \"inspect this repo and summarize the architecture\"\n```\n\n### Interactive UI\n\nWhen you launch `cliq` (or `cliq chat`) on a TTY, you enter the Ink-based TUI by default. It renders an inline three-zone layout — scrolling transcript, input bar, and status line — and stays compatible with shell scrollback (no alt-screen).\n\nInside the TUI:\n\n- Slash commands (`\u002Fexit`, `\u002Fquit`, `\u002Freset`, `\u002Fhelp`, `\u002Fpolicy \u003Cmode>`) open a\n  palette popover and support Tab completion. `\u002Fhelp` lists commands,\n  shortcuts, and mode behavior.\n- ↑ \u002F ↓ recall previously submitted prompts while preserving any in-progress\n  draft; ← \u002F → move the cursor inside the input buffer.\n- The status line shows the current mode in user-facing language, such as\n  `Plan`, `? Default`, `+ Accept Edits`, or `! YOLO`.\n- Shift+Tab rotates through modes and confirms the new mode in the transcript;\n  Ctrl+C cancels an active turn or clears input; Ctrl+D exits on empty input;\n  Ctrl+O folds or unfolds the most recent tool output.\n- The input area shows short state-aware hints: idle hints point to `\u002Fhelp` and\n  mode switching, slash input shows completion help, and active turns show the\n  cancellation shortcut.\n- An approval modal handles `--policy default`, `--policy accept-edits`, and interactive `--tx-apply` decisions.\n\nThe TUI runs by default on a TTY, but you can opt in explicitly with `--tui` (useful when scripting around the default). Opt out with `--classic` or `CLIQ_TUI=0` to fall back to the legacy readline REPL:\n\n```bash\ncliq --classic\nCLIQ_TUI=0 cliq chat\n```\n\nOne-shot runs (`cliq \"task\"`) and headless modes (`cliq run --jsonl`) are unaffected.\n\n#### Known limitation: terminal resize during an active turn\n\nThe TUI uses Ink's *inline* render mode (no alt-screen) so prior turns stay in the shell scrollback and you can search\u002Fcopy them like any normal output. The cost is that **resizing the terminal while a turn is actively rendering** (the model is still streaming) can leave duplicated rows in scrollback — Ink can't reach back past the current frame to clean them up. Resizing between turns is fine. If this bites you often, drop into `--classic` for that session, or wait for the turn to finish before resizing.\n\n## Current scope\n\nCliq is intentionally small right now. It supports:\n\n- Interactive chat and one-shot tasks\n- Machine-readable JSONL headless runs\n- Structured file inspection with read, list, find, and grep\n- Shell command execution\n- Exact text replacement edits\n- Local session persistence, checkpoints, forks, compactions, and handoffs\n- Final assistant responses after tool work completes\n\n## Why this shape\n\n- No dependency on provider-native tool calling\n- Keeps the runtime protocol inspectable\n- Makes local execution and replay straightforward\n- Provides a simple base for a local coding agent\n\n## Develop from source\n\n```bash\nnpm install\nnpm run build\nnpm link\n```\n\n## Model Providers\n\nCliq is local-first. If you do not configure a provider or model, Cliq tries local Ollama first:\n\n```bash\nollama pull qwen3:4b\ncliq \"inspect this repo\"\n```\n\nOn startup, Cliq calls `http:\u002F\u002Flocalhost:11434\u002Fapi\u002Ftags`. If local models exist, it chooses the first model whose name contains `qwen`; otherwise it uses the first model returned by Ollama. If Ollama has no models, Cliq prints a configuration error with next steps instead of silently falling back to a remote provider.\n\nSelect a provider from the CLI:\n\n```bash\ncliq --provider anthropic --model claude-sonnet-4-20250514 \"inspect this repo\"\ncliq --provider openai --model gpt-5.2 \"inspect this repo\"\ncliq --provider ollama --model qwen3:4b \"inspect this repo\"\n```\n\nUse `.cliq\u002Fconfig.json` for workspace defaults:\n\n```json\n{\n  \"model\": {\n    \"provider\": \"ollama\",\n    \"model\": \"qwen3:4b\",\n    \"baseUrl\": \"http:\u002F\u002Flocalhost:11434\",\n    \"streaming\": \"auto\"\n  }\n}\n```\n\nSupported providers:\n\n- `openrouter`: requires `OPENROUTER_API_KEY`\n- `anthropic`: requires `ANTHROPIC_API_KEY`\n- `openai`: requires `OPENAI_API_KEY`\n- `openai-compatible`: requires `--base-url` or `CLIQ_MODEL_BASE_URL`; uses `CLIQ_MODEL_API_KEY` when set\n- `ollama`: uses local `http:\u002F\u002Flocalhost:11434` by default, can auto-discover an installed model, and does not require an API key\n\nOpenAI-compatible streaming modes:\n\n- `auto` (default): first sends `stream: true`; if the endpoint rejects streaming before response-body consumption with a compatibility-style HTTP status (`400`, `404`, `405`, `415`, or `422`), Cliq retries once with `stream: false`\n- `on`: sends `stream: true` and does not fall back\n- `off`: sends `stream: false`\n\n## Commands\n\nRun a one-shot task in the current directory:\n\n```bash\ncliq \"inspect this repo and add a tiny README improvement\"\n```\n\nStart interactive chat:\n\n```bash\ncliq\ncliq chat\n```\n\nReset persisted conversation for the current directory:\n\n```bash\ncliq reset\n```\n\nPrint raw persisted session:\n\n```bash\ncliq history\n```\n\nRun with a stricter policy mode:\n\n```bash\ncliq --policy plan \"inspect the runner and explain how tool dispatch works\"\n```\n\nActivate one or more skills for a run:\n\n```bash\ncliq --skill reviewer --skill safe-edit \"inspect the runtime and suggest a minimal refactor\"\n```\n\nRun a headless task with structured JSONL events:\n\n```bash\ncliq run --jsonl \"inspect this repo\"\n```\n\n`--jsonl` writes one JSON object per line to stdout and keeps human terminal text out of the event stream. The event stream is versioned and includes run lifecycle, model lifecycle, tool lifecycle, checkpoint, compaction, final, and error events. Exit codes are stable: `0` for completed runs, `1` for failed runs, and `130` for cancelled runs.\n\n### Stdio JSON-RPC\n\n`cliq rpc` starts a newline-delimited JSON-RPC 2.0 server over stdio. It is intended for local GUI, gateway, automation, and future subagent orchestrators that need to start runs, subscribe to events, cancel work, and query stable artifacts without scraping terminal output.\n\nInitial methods:\n\n```text\nrun.start(params: HeadlessRunRequest) -> { runId }\nrun.cancel(params: { runId: string }) -> { status: 'cancelled' | 'not-found' | 'already-finished' }\nsession.get(params: { cwd: string; sessionId?: string }) -> SessionView\nartifact.get(params: { cwd: string; artifactId: string; sessionId?: string }) -> ArtifactView\nskills.list(params: { cwd: string }) -> { cwd, skills, activeSkills }\n```\n\nRuntime events are emitted as notifications:\n\n```json\n{\"jsonrpc\":\"2.0\",\"method\":\"run.event\",\"params\":{\"schemaVersion\":2,\"eventId\":\"evt_001\",\"runId\":\"run_abc\",\"sessionId\":\"ses_123\",\"turn\":4,\"timestamp\":\"2026-05-03T00:00:00.000Z\",\"type\":\"run-start\",\"payload\":{\"cwd\":\"\u002Frepo\",\"policy\":\"default\",\"model\":{\"provider\":\"openai\",\"model\":\"example-model\"}}}}\n```\n\n`run.cancel` returning `cancelled` means the abort signal was delivered. Clients should wait for the terminal `run.event` with `type: \"run-end\"` before treating the run as finished. Clients that send notification-style `run.start` requests without an `id` must read the `runId` from subsequent `run.event` notifications.\n\nThe first version allows one active run per `cliq rpc` process. The public protocol still carries `runId` on events so future orchestrators can run multiple Cliq workers or migrate to a multi-run process without changing event consumers.\n\nBatch requests are not supported in v1.\n\nCreate and inspect workflow artifacts:\n\n```bash\ncliq checkpoint create \"before refactor\"\ncliq checkpoint list\ncliq checkpoint fork CHECKPOINT_ID \"alternate approach\"\ncliq checkpoint restore CHECKPOINT_ID --scope session\ncliq checkpoint restore CHECKPOINT_ID --scope files --yes\ncliq compact create --summary \"Stable context summary\"\ncliq compact list\ncliq handoff create\n```\n\n## Safety model\n\nCliq runs tools on your local machine in the current workspace. It is not a sandbox.\n\nWorkspace trust decides whether Cliq enters the workspace runtime layer that reads `.\u002F.cliq\u002Fconfig.json`: hooks (including lifecycle command hooks), extension modules, validators, instructions, skills, etc. Trusted access is **orthogonal** to tool policy (`--policy` \u002F `CLIQ_POLICY_MODE`): confirming trust does **not** auto-approve edits or shell commands—that remains policy’s job.\n\n- **Interactive terminals** (`cliq` \u002F `cliq chat` when stdin+stdout are TTY): the first encounter with a canonical workspace prompts once; approvals persist under `CLIQ_HOME` (`workspaces\u002F\u003CworkspaceId>\u002Ftrust.json`), keyed by symlink-resolving real path.\n- **Non-interactive & automation** (`cliq \"task…\"`, `cliq run --jsonl`, `cliq rpc`, `cliq tx validate|apply`): fail-closed unless the workspace already has a persisted `trusted` record or `CLIQ_TRUST_WORKSPACE=trust` is set deliberately (use `trust`\u002F`trusted` synonyms; prefer `deny`\u002F`untrusted` to forbid).\n- Ordering matters: Cliq resolves trust **before** reading repo-controlled `.cliq` config layers (supply-chain tooling should not get a loading-order shortcut).\n\nThe default policy mode is `default`, which asks before edits, shell commands, transaction apply, and permission requests. For unfamiliar repositories or exploratory review, prefer:\n\n```bash\ncliq --policy plan \"inspect this repo\"\n```\n\nFor day-to-day coding, `default` provides approval checkpoints; `accept-edits` lets file edits proceed while still asking before shell commands.\n\n## Policy modes\n\n- `? Default` (`default`): ask before edits, shell commands, transaction apply, and permission requests\n- `+ Accept Edits` (`accept-edits`): allow edits and successful transaction apply; ask before shell commands\n- `Plan` (`plan`): inspect and produce a plan; block edits, shell commands, transaction apply, and permission requests\n- `! YOLO` (`yolo`): auto-approve normal tool calls and permission requests, subject to built-in and explicit deny rules\n\nSet the default with:\n\n```bash\nexport CLIQ_POLICY_MODE=plan\n# or per-invocation:\ncliq --policy plan \"inspect this repo\"\n# --preset is an alias for --policy (mutually exclusive):\ncliq --preset accept-edits \"fix the failing test\"\n```\n\n## Tool permissions\n\nOn top of the `PolicyMode` preset above, you can layer per-action **allow \u002F deny \u002F ask** rules. Rules are matched before the preset; **deny always wins**, and a small set of built-in denies (e.g. `bash: rm`, `fs-write: .git\u002F*`) cannot be overridden.\n\nRule grammar: `\"\u003Cchannel>: \u003Cpattern>\"`.\n\nChannels: `fs-read`, `fs-write`, `bash`, `mcp`, `network`.\nPatterns: literal string, `*` wildcard, `prefix *` for command\u002Fpath prefixes (e.g. `npm *`, `docs\u002F*`).\n\n### CLI flags (repeatable)\n\n```bash\ncliq \\\n  --allow \"bash: git *\" \\\n  --allow \"fs-read: docs\u002F*\" \\\n  --deny  \"fs-write: .env\" \\\n  --ask   \"fs-write: src\u002F*\" \\\n  \"ship a fix\"\n```\n\n`--allow\u002F--deny\u002F--ask` produce `'cli'`-tagged rules and are stacked on top of any workspace and persisted rules.\n\n### Workspace config\n\nAdd a `permissions` section to `.\u002F.cliq\u002Fconfig.json`:\n\n```json\n{\n  \"permissions\": {\n    \"preset\": \"default\",\n    \"allow\": [\"bash: git *\", \"fs-read: docs\u002F*\"],\n    \"deny\":  [\"fs-write: .env\"],\n    \"ask\":   [\"fs-write: src\u002F*\"]\n  }\n}\n```\n\n### Approval modal scopes (TUI)\n\nWhen the TUI asks for approval, you can pick:\n\n| Key | Scope | Persistence |\n|---|---|---|\n| `y` | Allow this action only | none |\n| `a` | Allow this and any further asks in the **same turn** | none (tool subjects only) |\n| `s` | Allow matching actions for the rest of this **session** | in-process |\n| `Shift+W` | **Always allow** matching actions in this **workspace** | `~\u002F.cliq\u002Fworkspaces\u002F\u003Cid>\u002Fpermissions.json` |\n| `n` \u002F `Esc` | Deny this action | none |\n\nCapital `W` for the workspace scope is intentional — it's the most sticky decision, so it requires a deliberate shift keystroke.\n\nHeadless \u002F `--json` \u002F `rpc` \u002F non-TTY runs are restricted to single-action allows: hooks that emit `scope: 'session'` or `scope: 'workspace'` are coerced down to `'once'` and `permissions.json` is never written from a non-interactive run.\n\n### Layer ordering\n\nWhen deciding a tool call, Cliq walks layers in this fixed order; the first matching rule wins, otherwise the `PolicyMode` preset decides:\n\n1. **Built-in deny** (small, non-overridable shadow list)\n2. **Workspace config** `permissions.{allow,deny,ask}`\n3. **Persisted** `~\u002F.cliq\u002Fworkspaces\u002F\u003Cid>\u002Fpermissions.json`\n4. **CLI flags** `--allow \u002F --deny \u002F --ask`\n5. **Session memory** (TUI \"Allow this session\" picks)\n6. **PolicyMode preset** (fallthrough)\n\nWithin each layer, `deny` always wins over `allow`. All of layers 2–5 only load after the workspace trust gate has approved this workspace.\n\n## Workspace config\n\nCliq reads optional runtime config from `.\u002F.cliq\u002Fconfig.json` in the current workspace.\n\n```json\n{\n  \"instructionFiles\": [\".cliq\u002Finstructions.md\"],\n  \"extensions\": [\"builtin:policy-instructions\", \".\u002F.cliq\u002Fextensions\u002Flog-turns.js\"],\n  \"defaultSkills\": [\"reviewer\"],\n  \"model\": {\n    \"provider\": \"ollama\",\n    \"model\": \"qwen3:4b\",\n    \"baseUrl\": \"http:\u002F\u002Flocalhost:11434\",\n    \"streaming\": \"auto\"\n  }\n}\n```\n\nAll fields are optional. If the file is missing, Cliq uses no repo-local prompt, skill, or extension overrides and resolves the model with its local-first Ollama default.\n\n## Transactions (preview)\n\nCliq's transactional workspace runtime is available as an opt-in preview. When tx mode is enabled, `edit` actions are staged into a transaction overlay, validators run against the staged view, and the staged diff is applied to the real workspace only after the tx passes the apply policy.\n\nEnable per run:\n\n```bash\ncliq --tx edit --tx-apply auto-on-pass \"fix the failing parser test\"\n```\n\nUseful tx commands:\n\n```bash\n# Open an explicit tx. The positional argument is an optional human-readable\n# label; the persistent identifier (txId, e.g. `tx_01HX...`) is generated by\n# cliq and printed to stdout.\ncliq tx open refactor-auth\n\n# List tx in the current workspace\ncliq tx list\n\n# Inspect a specific tx (use the auto-generated tx_… id from `tx open`\u002F`tx list`)\ncliq tx status \u003CtxId>\n\n# Run validators against the staged view\ncliq tx validate \u003CtxId>\n\n# Approve a validated tx, optionally overriding a blocking validator\ncliq tx approve \u003CtxId> --override tsc --reason \"known flaky check\"\n\n# Apply a tx; this walks through missing finalize -> validate -> approve stages\ncliq tx apply \u003CtxId>\n\n# Abort a tx in any non-terminal state\ncliq tx abort \u003CtxId>\n```\n\nCurrent preview limits:\n\n- `edit-tx` stages text replacements in existing files. File creation, deletion, rename, mode changes, and shell-driven mutations are still outside the staged diff.\n- `bash` runs against the real workspace. Its side effects are recorded as `BashEffect`s for review, but they are not rolled back if the tx is aborted.\n- Validator override names must match the validator result name exactly. Shell validators use the configured `name` as-is, for example `tsc`; Cliq does not add a `shell:` prefix.\n- `transactions.bashPolicy=confirm` is accepted by config, but the interactive prompt callback isn't yet wired into the tx-mode bash tool, so invocations conservatively deny. Use `passthrough` or `deny` until the prompt is connected to the TUI.\n\nWhen a transaction's apply leaves files partially written (e.g., a disk error mid-write), aborting requires an explicit `--restore-confirmed` (rolls back via the pre-apply ghost snapshot) or `--keep-partial` (leaves the partial state in place).\n\nSee `docs\u002Fsuperpowers\u002Fspecs\u002F2026-05-02-cliq-transactional-workspace-runtime-design.md` for the full design.\n\n## Skills\n\nCliq ships a small built-in system skill set:\n\n- `skill-creator`\n- `skill-installer`\n- `skill-doctor`\n\nBuilt-in skills are shipped inside the `@cogineai\u002Fcliq` package and synced on\nfirst use into `${CLIQ_HOME:-~\u002F.cliq}\u002Fskills\u002F.system`. Cliq creates a missing or\nempty built-in skill directory there, but it does not overwrite a non-empty\nsame-name skill directory in this release. Upgrading built-in skills means\nupgrading the Cliq package, for example `npm install -g @cogineai\u002Fcliq@latest`,\nthen letting Cliq merge in missing built-in skills on the next run.\n\nLocal project skills are discovered from project roots after workspace trust has been decided:\n\n- Project: `.\u002F.cliq\u002Fskills\u002F\u003Cname>\u002FSKILL.md` and `.\u002F.agents\u002Fskills\u002F\u003Cname>\u002FSKILL.md`\n- User: `~\u002F.cliq\u002Fskills\u002F\u003Cname>\u002FSKILL.md` and `~\u002F.agents\u002Fskills\u002F\u003Cname>\u002FSKILL.md`\n- Built-in: `${CLIQ_HOME:-~\u002F.cliq}\u002Fskills\u002F.system\u002F\u003Cname>\u002FSKILL.md`, synced from\n  the installed Cliq package\n\nProject skills win over user skills, and user skills win over built-in skills when names collide. Workspace `defaultSkills` can activate only project-owned skills; `--skill \u003Cname>`, headless `skills`, TUI `\u002Fskill \u003Cname>`, and the model `{\"skill\":{\"name\":\"...\"}}` action can explicitly activate discovered project, user, or built-in skills. Activation injects instructions only; it does not grant bash, edit, network, or MCP permissions.\n\n```md\n---\nname: reviewer\ndescription: inspection-first review mode\n---\n\nPrefer plan-mode inspection first. Summarize structure before proposing mutations.\n```\n\nOptional frontmatter fields include `license`, `compatibility`, `metadata`, and `allowed-tools`. `allowed-tools` is descriptive metadata only; tool authorization still goes through Cliq's normal policy engine.\n\nActivated skills can expose bundled resources. The model can read or list them through `skillResource`, and the resolver keeps paths relative to the activated skill directory with traversal, symlink-escape, binary, and size checks.\n\n## Extensions\n\nPhase 2 extensions add instruction overlays and runtime hooks.\n\nEnable the built-in policy overlay:\n\n```json\n{\n  \"extensions\": [\"builtin:policy-instructions\"]\n}\n```\n\nEnable a local workspace extension module:\n\n```json\n{\n  \"extensions\": [\".\u002F.cliq\u002Fextensions\u002Flog-turns.js\"]\n}\n```\n\nExtensions are intentionally limited to hooks and instruction contributions. They do not register new model-callable top-level actions.\n\n## Session model\n\nBy default, session state is stored outside the project:\n\n```txt\n~\u002F.cliq\u002F\n```\n\nCliq stores sessions and workflow artifacts under `CLIQ_HOME`, which defaults to `~\u002F.cliq`. Workspaces are tracked by real path, so multiple projects can keep separate active sessions without writing conversation history into the repository. The workspace-local `.\u002F.cliq\u002Fconfig.json`, instruction files, skills, and extensions remain opt-in project configuration.\n\nCliq replays prior records back into the model in order, including normalized tool results. Runtime-composed instructions are rebuilt on each turn from the current workspace config, loaded skills, and extensions; they are not persisted as session records.\n\n## Internal architecture\n\nThe Phase 0 runtime split organizes the code into focused modules:\n\n- `src\u002Fsession` for persistence, lifecycle state, and migration\n- `src\u002Fprotocol` for action parsing and protocol types\n- `src\u002Fmodel` for provider registry, config resolution, adapters, and streaming transport\n- `src\u002Ftools` for executable tool definitions and registry lookup\n- `src\u002Fruntime` for turn execution and lifecycle hooks\n- `src\u002Fcli.ts` for CLI and REPL behavior\n\n## Non-goals for the current version\n\nThe current version is an early open source starting point. It does **not** yet aim to provide:\n\n- sandboxing\n- rich approval UX\n- token-by-token final answer rendering\n- broad tool surface area\n- multi-agent orchestration\n- remote execution\n\n## Roadmap themes\n\nNear-term priorities are:\n\n1. TX review polish: `tx diff\u002Fshow\u002Fvalidators` and clearer apply review\n2. payload-aware approvals and reusable hook control-plane\n3. cost and token governance\n4. observability, audit export, and debug\u002Freplay\n5. richer local UX, worktree isolation, and automation on top of the same runtime interfaces\n\n## Contributing\n\nContributions are welcome. See [CONTRIBUTING.md](.\u002FCONTRIBUTING.md).\n\n## License\n\nMIT\n","Cliq 是一个轻量级的本地编码助手，旨在为开发团队提供高效便捷的代码辅助服务。它基于最小化且与提供商无关的动作协议构建，支持在任何项目目录中运行，并能够保持每个工作区的本地会话状态。Cliq 采用 TypeScript 编写，具有简洁的设计和易于扩展的特点。适用于需要快速获取代码建议、执行一次性任务或进行交互式代码审查的场景。无论是通过命令行直接调用还是使用其内置的 TUI 界面，Cliq 都能帮助开发者提高工作效率。",2,"2026-06-11 02:47:47","CREATED_QUERY"]