First choose a mode by deliverable
| What you want to get | Client entry point | Result criterion |
|---|---|---|
| Specified plugin's fields, raw records, or interface capabilities | Work/Agent + K3 Extreme Thinking, see "Plugin data retrieval loop" below | Trajectory of actual plugin calls, with source fields and verification against independent authoritative sources |
| An independent long-form research report | Chat → Deep Research + K3 Extreme, see references/driving-kimi-app.md"Chat Deep Research" |
The original report and attachments after task completion, verification of sources and load-bearing assertions |
One actual Chat Deep Research run produced Markdown and a chart ZIP;this is not evidence of a successful Work/Agent plugin data retrieval. If the same task requires both kinds of results, dispatch them separately, keep each one's original files and mode labels, and do not treat the report as a plugin interface receipt.
What the plugin data retrieval channel is
The Kimi desktop client (Kimi.app,com.moonshot.kimichat) ships with a plugin ecosystem: Tianyancha, Hithink iFinD, Caixin Data, S&P Global Market Intelligence, Hundsun聚源, SEC, IMF, World Bank, academic databases, legal databases, etc. These plugins run onthe user's own login session—no extra API key is needed, no scraping is needed, and permissions come from the subscription the user's account already has.Access does not mean free calls: some interfaces still deduct account credits per call.
By driving this client's GUI with computer-use, the agent turns this entire row of data sources into its own data retrieval channel. The specific tools and input methods are subject to the API loaded by the current host; see references/driving-kimi-app.md。
This channel has two non-obvious properties, both of which have exacted real costs, and they determine why half of this skill is about driving and half is about verification:
- "Installed" ≠ "callable", and the testimony of "not callable" depends on mode × model. The plugin list can only be seen by opening the client's "Plugins → Installed" page; whether it can be called can only be determined by actually running a probe. ⚠️ A probe'snegativeconclusion is only credible if obtained under Work/Agent mode + K3 Extreme Thinking—the "not callable" testimony under Chat/fast model (K2.6) has been overturned in actual tests (see the Wind entry on the capability boundaries page); affirmative results (actually called, data carries source labels) are not subject to this limitation.
- The answer is rendered on the screen. Screen transcription silently mis-copies Chinese proper nouns and mistakes truncation for the full set (actual test: 6 of 20 shareholder names mis-copied, yet the shareholding ratios were all correct digit by digit; "all 20 items" was actually 50 items). Data landed from this channelmust not be written into deliverables without verification against authoritative sources。
Routing: when to use this channel
If a dedicated channel exists, use the dedicated channel first—this skill is a "broad gateway when there is no dedicated channel", not a universal first choice:
| Requirement | Which route to take |
|---|---|
| Corporate business registration data, and a dedicated CLI (such as qcc) is available on this machine | The dedicated CLI is the authoritative source; the Kimi Tianyancha plugin serves asa cross-check channel |
| Have your own iFinD account credentials | Direct API-type tools (if an iFinD API skill/client is installed locally) — structured, no GUI overhead |
| A-share brokerage research reports | Go first throughthe East Money research report public JSON API(reportapi.eastmoney.com, free, no proxy needed, no GUI overhead; for parameters and test results see references/plugin-capabilities.md); on the Kimi side, use Hang Seng Juyuan asa second channel and take the union— the two tested sources do not contain each other |
| Drive the kimi.com web version in a browser | kimi-webbridge skill (the skill of the Kimi Browser Extension, not in this repo; local daemon, does not go through the GUI) |
| The Kimi client generates an independent deep research report | This skill's Chat Deep Researchbranch; does not follow the plugin probe's mode restrictions |
| Use kimi-cu to drive any macOS desktop application(Electron / webview / native; form filling, pop-ups, bringing to foreground, AX tree recovery) | references/kimi-cu-desktop-automation.md— reliability layering and operation recipes, unrelated to Kimi.app business logic and usable independently |
| No credentials / data sources that exist only as plugins / needing to span multiple sources at once | This skill |
The routing table governs "which route to take by default"; when the user explicitly says face-to-face "just use Kimi to look it up," it does not stand in the way — Kimi is a data-retrieval channel and the dedicated CLI is a verification channel; the two roles do not conflict.
Environment boundaries: tested only on macOS (Kimi.app desktop client). A Windows version of the Kimi client exists, but this process has not been verified on Windows — when using it on Windows, treat it as "unverified," get the driver chain working first, then retrieve data.
Step 0: Driver check (30 seconds, cannot be skipped)
For the driver mechanisms of different hosts and versions, see references/driving-kimi-app.md:
- Claude Code: the computer-use MCP tools are deferred tools— first
ToolSearchsearch "computer-use" to load them so they appear in the tool list.Asserting "this environment has no computer use" without searching is a factual error; falling back toosascript/screencapturedoes not count as computer use; do not substitute it that way. ⚠️ Availability follows the current provider(verified and pinned on 2026-08-18): in a session segment switched to the Kimi(k3) provider, the harness willexplicitly remove computer-use and claude-in-chrome (mcp_instructions_delta removedNamesdocumented); when the same session is switched back to the Anthropic provider segment, the tools are re-injected, and in testing all 57 real calls ran under Anthropic models. So when ToolSearch cannot find them, first check the current provider — the k3 segment structurally does not have them; to drive, switch to an Anthropic-segment session or switch to Codex.No search results and the provider is correct = this environment has no computer-use configured: stop and report to the user, let the user decide the configuration, do not degrade and pretend, and do not treat it as already checked. - Codex: first check the currently available computer-use tools. The old computer plugin uses
element_index; the current CUA's input selection and send checks followreferences/driving-kimi-app.md"File input and recipient confirmation." Only report an environment block when none of the available interfaces exist or are usable. - Confirm that Kimi.app is installed (
/Applications/Kimi.app)。The login state cannot be confirmed at this moment— the ability to see the screen only becomes available after the authorization in step 1; once opened, if the first screen stays on the login page = not logged in, stop and hand it over to the user to scan the QR code.
Plugin data retrieval loop (Work/Agent only)
Step-by-step operational details (tool signatures, coordinate system, multiple monitors, artifact paths) are all in references/driving-kimi-app.md, here is the skeleton:
- Request access and open Kimi.app (Claude Code first
request_accessto get authorization). ⚠️ Authorization is an exclusive lock on the same machine: only one session holds it at any given time, parallel sessions will be rejected; the toolset has no release interface—if rejected, first uselist_granted_applicationsto check who holds the lock yourself, wait for the other party to finish or ask it to run on your behalf, and do not misjudge it as "the tool is broken". - Plugin data retrieval locks in Work/Agent mode + K3 extreme thinking; do not use Chat's plugin testimony as a counterproof. 2026-08-18 the user required for plugin data retrieval not to use Chat: ① Chat mode has records of being unable to reach plugins (named iFind still fell back to ordinary chat paraphrasing the company profile); ②The K2.6 fast model does not have the complete financial plugin surface—the user compared and tested on the same day: of the three installed plugins K2.6 claimed were "not callable", under K3 extreme, two were callable for the same query and returned interface details; K2.6's self-reported enumeration of available data sources was itself incomplete. This limitation does not apply to the Chat deep research in the table above. Before sending, read back "K3 extreme" in the model selector; the current two-step selection method is in
references/driving-kimi-app.md. When creating a new task in Work, you can select "Do not use a folder" under "Select Project"; this way files may still be produced in Kimi's own task directory, and only select an isolated directory when you want to write directly to a specified location. First confirm the actual options; if a directory is selected, the files produced by the task must be collected and put back in place. After sending the query, followreferences/driving-kimi-app.md"Confirmation checkpoints after sending" to verify the actual calls; if evidence is missing, first check the original task, do not directly resend. Do not continue to use sessions that have gone off track. - Open the "Plugins → Installed" page to read the authoritative list(the category page is the full catalog and includes uninstalled items, do not mix up the two). Select the plugins to name for this query. Before sending the Work task, according to Query and verification disciplinelook up the
is_free, credit or charging rules of the relevant interface; if not found, keep it as unknown. Being logged in, the plugin being installed, and the user requesting to "use Kimi" do not amount to authorization for arbitrary point deductions. If Work will autonomously choose a paid/unknown-cost sub-tool and cannot stop before each call, and the current task has no clear authorization for the call scope and quota,do not send this Work task; instead use a channel that can control precise calls or mark this route as suspended. "Do not pay" in the prompt cannot replace this gate. - Design the query(pattern library in
references/query-and-verification.md): name the plugin + honesty clause ("if not found, say so plainly, do not fill in with training knowledge") + mark source field by field + entity anchoring (full company name/stock code) + time scope. When a certain plugin/data type isused for the first time, only after completing the billing verification in the previous step, send a probe query within the declared coverage. ⚠️ When interpreting probe results, distinguish between "capability" and "the thing that carries it":the absence of that plugin's MCP tools in the session, or the gateway returning 503, does not mean the plugin is not callable(both were actually encountered once each, and after retrying/switching to a helper script, data was retrieved in both cases). - Poll and wait after sending— Only fetch after the task has completely finished; partial results must not be stored.
- Extract artifacts: Use
references/driving-kimi-app.md"Extract artifacts" to choose download/export or the task's actual file directory and verify the originals. Keep the query parameters, the raw success or failure responses, and the actual credit consumption for each call separately; for retries after failure, use a new filename and do not overwrite the first failure. When you see a truncated preview, first read the complete CSV already written to disk, then decide whether to query further, to avoid repeated calls for data already returned. - Verify against authoritative sources before writing to disk(see pitfalls 2/3/4/6 below): Errors have three layers of mechanism—screen transcription miswriting proper names, Kimi getting the source values wrong, andtwo channels consistently landing on the same definition that is not the one you want—soboth load-bearing proper names and load-bearing values must be verified through independent channels, and the verification must also check the definition; while Kimi is running, use the gap to pull official sources in parallel (original announcements, exchange filings).
- Label three things when writing to disk: data source, definition (time point/reporting period), and acquisition date. For changed values, keep both the "original + corrected" layers; do not silently overwrite.
Pitfalls bought with real data
Each comes from an actual test session; battle examples and evidence are kept in two places—references/plugin-capabilities.md(pitfall 1) and references/query-and-verification.md(pitfalls 2/3/4/6):
- "Installed" ≠ "callable" — and testimony of "not callable" depends on mode × model: negative conclusions under Chat/K2.6 should all be treated as unverified. Capability can only be judged by actually running a probe under the correct mode + model.
- Screen transcription miswrites Chinese proper names — in actual testing, 6 of 20 shareholder names were miswritten (errors in visually or phonetically similar characters), while the numbers were all correct digit by digit. The "copy the value" discipline cannot catch this kind of error—the value was indeed copied, but the screen recognition itself was wrong—only switching to an authoritative source can catch it.
- A count is not the full set — the "all 20 items" on screen was actually 50 items (truncated); and switching to the API channel does not remove this either: the
hits: 10provided by the interface itself is likewise onlythe number it has indexed, and in actual testing it missed 10 articles that another channel could find. Write "first N items"; for coverage-type tasks, take the union of both channels. - Kimi can be flatly wrong — in actual testing it wrote the clawback ratio of a certain Hong Kong IPO as 50%, while the official announcement was 20%. During data retrieval, pull the same batch of numbers from authoritative sources in parallel, and reconcile before writing to disk.
- Asserting there is no tool without loading it — computer-use is deferred; use ToolSearch first, and do not fall back to osascript.
- Two channels agreeing only proves they agree on the same definition — Kimi's two plugins both gave 1688.38 billion for the same year's revenue (identical digit by digit, and the year-on-year figure also matched), while two brokerages on a third independent channel each gave 1720.54 billion; the growth rates were almost the same, and the absolute value differed by 32.16 billion = a definition difference is not an error(one is the secondary line item "operating revenue", the other is the market-standard definition). When writing financial values to disk, you must record the line-item level together with the parent line-item name.
References
references/driving-kimi-app.md— Claude Code MCP, the old Codex computer plugin and the current CUA driver flow; the modes, security, and artifact extraction of Work plugin data retrieval and Chat deep researchreferences/kimi-cu-desktop-automation.md— kimi-cu general desktop automation operation method: reliability layering (set_value > keyboard > click), foregrounding and primary, AX tree recovery, form/dialog recipes, delivery verificationreferences/plugin-capabilities.md— plugin manifest snapshot, tested capability boundaries (with dates and evidence levels), the two channels for brokerage research reports and their mutual non-inclusionreferences/query-and-verification.md— query prompt pattern library + data verification discipline (including battle cases)