dsh-web-search-ddg
aooyoo
Zero-token DuckDuckGo search provider for the DeepSeek Harness (DSH) web seam — local headless browser, no API key, no m…
PROJECT TOPICS
PROJECT README
python install.py
pip install kimix
python -m kimix.cli
# or
kimix
python -m kimix
Note: This repo supports not only KIMI LLM but also various API keys! Like OpenAI, Anthropic, etc. Default config templates are in
docs/; usekimix --config=xx.jsonafter setup.

Kimi-CLI-X is a deep optimization of the original Kimi-CLI, focusing on prompt efficiency, tool reliability, and extensibility, plus new tools for real-world development.
kimi-cli/tests/core/test_create_llm.py and the Supported Providers list.| Capability | Description |
|---|---|
| Interactive shell tools | Start and continue Bash/Powershell/Run sessions via task_id, with optional wait_for_pattern. |
| Docx / PDF conversion | Built-in document conversion without external deps. |
| Python script execution | Agent can run Python scripts directly. |
| Error logging | Records tool-call errors for model backtracking and improvement. |
| Script system | Combines prompts with Python logic to orchestrate complex tasks. |
| Enhanced web fetch (fetch_url) | Headless-browser-based Markdown output (not plain text), supports output_path and auto-truncation for超长 content; zero external service dependency. |
Best-of-N sampling (AgentSwarm parallel_sample) |
Run the SAME task N times in isolated workspaces (git worktree / temp copy), pick the winner via self_eval or majority selection, then apply and verify the winning diff — never a silent accept. |
Unlike traditional CLI interaction where you type commands one by one, Kimi-CLI-X lets you write Python scripts to orchestrate entire workflows. You can combine prompts, loops, conditionals, and tool calls into fully automated, reproducible task pipelines:
from kimix import *
from pathlib import Path
clear_default_context()
for i in Path('docs').glob('*.md'):
prompt(f'''According to the new git commits, update document `{i}`''')
Benefits:
for loops, file globbing) to fire tasks at multiple files at once.Kimi-CLI-X embeds an automatic context memory system inside the KimiSoul core loop, keeping long conversations coherent without manual intervention. Three layers work together:
Every user/assistant message is automatically indexed by BM25 inverted index (N-gram, n=2) on append, persisted to <session>/history_index/<id>.json, and survives process restarts. Cap at 500 rounds; oldest evicted automatically.
Triggered when context token ratio hits compaction_trigger_ratio or free space falls below reserved_context_size:
adaptive_preserve_depth — deepened on errors, thinking, multi-file edits, etc.); first message always kept (primacy effect).COMPACT_CASCADE prompt to prevent information degradation.is_compacted in HistoryIndex for future retrieval._maybe_auto_retrieve_history): Each round, if user input ≥10 chars, BM25-searches HistoryIndex for matching compacted rounds; injects matches above auto_retrieve_history_threshold as [Auto-retrieved from past conversation].retrieve tool: the agent can actively search all archived history (including compacted rounds) by natural-language query, returning verbatim excerpts with relevance scores (or fetch a turn by id).┌──────────────┐ append ┌──────────────┐ overflow ┌──────────────────┐
│ Context │ ───────────► │ HistoryIndex │ ────────────► │ SimpleCompaction │
│ (live window)│ │ (BM25 index) │ │ (LLM summary) │
└──────────────┘ └──────────────┘ └──────────────────┘
▲ │ │
│ auto-retrieve │ │
└────────────────────────────┘ │
│ Retrieve (agent主动recall) │
└────────────────────────────────────────────────────────────┘
The KimiSoul core loop actively keeps long runs on track — no manual babysitting. It works in CLI, server, and sub-agent sessions alike.
Retrieve tool.Decisions & Conclusions and a Verification Status section, so early decisions and verified work survive.The todo_write tool tracks multi-step plans:
todo_push/todo_pop with todo_update(parent=...), showing a Stack: breadcrumb.AgentSwarm's parallel_sample mode runs the same task N times in isolated workspaces (git worktree / temp copy), picks the winner by model self-evaluation or majority vote, then applies and verifies the winning diff. Failures are explicit errors — never silently accepted.
| Document | Description |
|---|---|
docs/tutorials/1_quick_start_en.md |
Quick start guide: Git submodules, uv env setup, CLI args, and interactive commands. |
docs/tutorials/2_long_task_en.md |
Long task strategy in KimiX. |
docs/tutorials/3_builtin_tools_en.md |
Complete built-in tool guide: file I/O, search, code execution, process management, doc conversion, plan mode, sub-agents, plus prompt strategies and best practices. |
docs/tutorials/4_skills_en.md |
Custom skill authoring: design principles, directory structure, SKILL.md spec, resource organization, testing, packaging, and installation. |
docs/tutorials/5_server_en.md |
HTTP server tutorial: FastAPI + SSE, OpenCode-compatible REST API, session management, event streaming, SSE CLI debugger, dummy mode, and client implementation. |
docs/tutorials/6_multi_provider_en.md |
Multi-provider configuration: route sub-agents and planner to different LLM providers with role-tagged sub_providers. |
| File | Description |
|---|---|
docs/config.json |
Sample model config with model, url, api_key, capabilities, etc. |
.kimix/config.json |
Workspace behavior config: protected_write_paths, protected_read_paths, forbidden_commands, etc. |
.kimix/skill.json |
Workspace skill directory config: skill_dir field (string or array) for extra skill directories, resolved relative to workspace. |
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。