oracle-cli 1.24.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- oracle_cli-1.24.0/PKG-INFO +89 -0
- oracle_cli-1.24.0/README.md +53 -0
- oracle_cli-1.24.0/pyproject.toml +126 -0
- oracle_cli-1.24.0/src/kimi_cli/CHANGELOG.md +1024 -0
- oracle_cli-1.24.0/src/kimi_cli/__init__.py +29 -0
- oracle_cli-1.24.0/src/kimi_cli/__main__.py +30 -0
- oracle_cli-1.24.0/src/kimi_cli/acp/AGENTS.md +92 -0
- oracle_cli-1.24.0/src/kimi_cli/acp/__init__.py +13 -0
- oracle_cli-1.24.0/src/kimi_cli/acp/convert.py +128 -0
- oracle_cli-1.24.0/src/kimi_cli/acp/kaos.py +270 -0
- oracle_cli-1.24.0/src/kimi_cli/acp/mcp.py +46 -0
- oracle_cli-1.24.0/src/kimi_cli/acp/server.py +448 -0
- oracle_cli-1.24.0/src/kimi_cli/acp/session.py +477 -0
- oracle_cli-1.24.0/src/kimi_cli/acp/tools.py +158 -0
- oracle_cli-1.24.0/src/kimi_cli/acp/types.py +13 -0
- oracle_cli-1.24.0/src/kimi_cli/acp/version.py +45 -0
- oracle_cli-1.24.0/src/kimi_cli/agents/default/agent.yaml +31 -0
- oracle_cli-1.24.0/src/kimi_cli/agents/default/sub.yaml +14 -0
- oracle_cli-1.24.0/src/kimi_cli/agents/default/system.md +142 -0
- oracle_cli-1.24.0/src/kimi_cli/agents/okabe/agent.yaml +18 -0
- oracle_cli-1.24.0/src/kimi_cli/agentspec.py +143 -0
- oracle_cli-1.24.0/src/kimi_cli/app.py +422 -0
- oracle_cli-1.24.0/src/kimi_cli/auth/__init__.py +5 -0
- oracle_cli-1.24.0/src/kimi_cli/auth/oauth.py +793 -0
- oracle_cli-1.24.0/src/kimi_cli/auth/platforms.py +295 -0
- oracle_cli-1.24.0/src/kimi_cli/background/__init__.py +36 -0
- oracle_cli-1.24.0/src/kimi_cli/background/ids.py +17 -0
- oracle_cli-1.24.0/src/kimi_cli/background/manager.py +405 -0
- oracle_cli-1.24.0/src/kimi_cli/background/models.py +89 -0
- oracle_cli-1.24.0/src/kimi_cli/background/store.py +195 -0
- oracle_cli-1.24.0/src/kimi_cli/background/summary.py +61 -0
- oracle_cli-1.24.0/src/kimi_cli/background/worker.py +209 -0
- oracle_cli-1.24.0/src/kimi_cli/cli/__init__.py +859 -0
- oracle_cli-1.24.0/src/kimi_cli/cli/__main__.py +8 -0
- oracle_cli-1.24.0/src/kimi_cli/cli/_lazy_group.py +222 -0
- oracle_cli-1.24.0/src/kimi_cli/cli/export.py +74 -0
- oracle_cli-1.24.0/src/kimi_cli/cli/info.py +62 -0
- oracle_cli-1.24.0/src/kimi_cli/cli/mcp.py +349 -0
- oracle_cli-1.24.0/src/kimi_cli/cli/plugin.py +302 -0
- oracle_cli-1.24.0/src/kimi_cli/cli/toad.py +73 -0
- oracle_cli-1.24.0/src/kimi_cli/cli/vis.py +22 -0
- oracle_cli-1.24.0/src/kimi_cli/cli/web.py +80 -0
- oracle_cli-1.24.0/src/kimi_cli/config.py +369 -0
- oracle_cli-1.24.0/src/kimi_cli/constant.py +33 -0
- oracle_cli-1.24.0/src/kimi_cli/exception.py +43 -0
- oracle_cli-1.24.0/src/kimi_cli/llm.py +273 -0
- oracle_cli-1.24.0/src/kimi_cli/metadata.py +79 -0
- oracle_cli-1.24.0/src/kimi_cli/notifications/__init__.py +33 -0
- oracle_cli-1.24.0/src/kimi_cli/notifications/llm.py +77 -0
- oracle_cli-1.24.0/src/kimi_cli/notifications/manager.py +137 -0
- oracle_cli-1.24.0/src/kimi_cli/notifications/models.py +50 -0
- oracle_cli-1.24.0/src/kimi_cli/notifications/notifier.py +41 -0
- oracle_cli-1.24.0/src/kimi_cli/notifications/store.py +99 -0
- oracle_cli-1.24.0/src/kimi_cli/notifications/wire.py +21 -0
- oracle_cli-1.24.0/src/kimi_cli/plugin/__init__.py +124 -0
- oracle_cli-1.24.0/src/kimi_cli/plugin/manager.py +153 -0
- oracle_cli-1.24.0/src/kimi_cli/plugin/tool.py +173 -0
- oracle_cli-1.24.0/src/kimi_cli/prompts/__init__.py +6 -0
- oracle_cli-1.24.0/src/kimi_cli/prompts/compact.md +73 -0
- oracle_cli-1.24.0/src/kimi_cli/prompts/init.md +21 -0
- oracle_cli-1.24.0/src/kimi_cli/py.typed +0 -0
- oracle_cli-1.24.0/src/kimi_cli/session.py +286 -0
- oracle_cli-1.24.0/src/kimi_cli/session_state.py +52 -0
- oracle_cli-1.24.0/src/kimi_cli/share.py +16 -0
- oracle_cli-1.24.0/src/kimi_cli/skill/__init__.py +310 -0
- oracle_cli-1.24.0/src/kimi_cli/skill/flow/__init__.py +99 -0
- oracle_cli-1.24.0/src/kimi_cli/skill/flow/d2.py +482 -0
- oracle_cli-1.24.0/src/kimi_cli/skill/flow/mermaid.py +266 -0
- oracle_cli-1.24.0/src/kimi_cli/skills/kimi-cli-help/SKILL.md +55 -0
- oracle_cli-1.24.0/src/kimi_cli/skills/skill-creator/SKILL.md +367 -0
- oracle_cli-1.24.0/src/kimi_cli/soul/__init__.py +282 -0
- oracle_cli-1.24.0/src/kimi_cli/soul/agent.py +407 -0
- oracle_cli-1.24.0/src/kimi_cli/soul/approval.py +159 -0
- oracle_cli-1.24.0/src/kimi_cli/soul/compaction.py +189 -0
- oracle_cli-1.24.0/src/kimi_cli/soul/context.py +215 -0
- oracle_cli-1.24.0/src/kimi_cli/soul/denwarenji.py +39 -0
- oracle_cli-1.24.0/src/kimi_cli/soul/dynamic_injection.py +66 -0
- oracle_cli-1.24.0/src/kimi_cli/soul/dynamic_injections/__init__.py +0 -0
- oracle_cli-1.24.0/src/kimi_cli/soul/dynamic_injections/plan_mode.py +238 -0
- oracle_cli-1.24.0/src/kimi_cli/soul/kimisoul.py +1091 -0
- oracle_cli-1.24.0/src/kimi_cli/soul/message.py +88 -0
- oracle_cli-1.24.0/src/kimi_cli/soul/slash.py +285 -0
- oracle_cli-1.24.0/src/kimi_cli/soul/toolset.py +530 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/AGENTS.md +5 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/__init__.py +109 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/ask_user/__init__.py +134 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/ask_user/description.md +19 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/background/__init__.py +317 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/background/list.md +10 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/background/output.md +11 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/background/stop.md +8 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/display.py +43 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/dmail/__init__.py +38 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/dmail/dmail.md +17 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/file/__init__.py +30 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/file/glob.md +17 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/file/glob.py +148 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/file/grep.md +5 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/file/grep_local.py +314 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/file/plan_mode.py +45 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/file/read.md +14 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/file/read.py +189 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/file/read_media.md +24 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/file/read_media.py +215 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/file/replace.md +7 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/file/replace.py +191 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/file/utils.py +257 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/file/write.md +5 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/file/write.py +176 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/multiagent/__init__.py +7 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/multiagent/create.md +11 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/multiagent/create.py +58 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/multiagent/task.md +26 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/multiagent/task.py +167 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/plan/__init__.py +295 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/plan/description.md +25 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/plan/enter.py +158 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/plan/enter_description.md +29 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/plan/heroes.py +277 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/shell/__init__.py +228 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/shell/bash.md +35 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/shell/powershell.md +30 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/test.py +55 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/think/__init__.py +21 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/think/think.md +1 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/todo/__init__.py +33 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/todo/set_todo_list.md +15 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/utils.py +191 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/web/__init__.py +4 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/web/fetch.md +1 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/web/fetch.py +161 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/web/search.md +1 -0
- oracle_cli-1.24.0/src/kimi_cli/tools/web/search.py +132 -0
- oracle_cli-1.24.0/src/kimi_cli/ui/__init__.py +0 -0
- oracle_cli-1.24.0/src/kimi_cli/ui/acp/__init__.py +99 -0
- oracle_cli-1.24.0/src/kimi_cli/ui/print/__init__.py +143 -0
- oracle_cli-1.24.0/src/kimi_cli/ui/print/visualize.py +180 -0
- oracle_cli-1.24.0/src/kimi_cli/ui/shell/__init__.py +611 -0
- oracle_cli-1.24.0/src/kimi_cli/ui/shell/console.py +32 -0
- oracle_cli-1.24.0/src/kimi_cli/ui/shell/debug.py +190 -0
- oracle_cli-1.24.0/src/kimi_cli/ui/shell/echo.py +17 -0
- oracle_cli-1.24.0/src/kimi_cli/ui/shell/export_import.py +111 -0
- oracle_cli-1.24.0/src/kimi_cli/ui/shell/keyboard.py +300 -0
- oracle_cli-1.24.0/src/kimi_cli/ui/shell/mcp_status.py +108 -0
- oracle_cli-1.24.0/src/kimi_cli/ui/shell/oauth.py +143 -0
- oracle_cli-1.24.0/src/kimi_cli/ui/shell/placeholders.py +530 -0
- oracle_cli-1.24.0/src/kimi_cli/ui/shell/prompt.py +1939 -0
- oracle_cli-1.24.0/src/kimi_cli/ui/shell/replay.py +207 -0
- oracle_cli-1.24.0/src/kimi_cli/ui/shell/setup.py +212 -0
- oracle_cli-1.24.0/src/kimi_cli/ui/shell/slash.py +551 -0
- oracle_cli-1.24.0/src/kimi_cli/ui/shell/startup.py +32 -0
- oracle_cli-1.24.0/src/kimi_cli/ui/shell/task_browser.py +504 -0
- oracle_cli-1.24.0/src/kimi_cli/ui/shell/update.py +215 -0
- oracle_cli-1.24.0/src/kimi_cli/ui/shell/usage.py +278 -0
- oracle_cli-1.24.0/src/kimi_cli/ui/shell/visualize.py +1604 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/__init__.py +0 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/aiohttp.py +12 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/aioqueue.py +72 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/broadcast.py +37 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/changelog.py +108 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/clipboard.py +169 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/datetime.py +37 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/diff.py +87 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/editor.py +91 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/environment.py +58 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/envvar.py +12 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/export.py +690 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/frontmatter.py +50 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/io.py +27 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/logging.py +124 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/media_tags.py +29 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/message.py +24 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/path.py +140 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/proctitle.py +33 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/pyinstaller.py +32 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/rich/__init__.py +33 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/rich/columns.py +99 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/rich/markdown.py +900 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/rich/markdown_sample.md +108 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/rich/markdown_sample_short.md +2 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/rich/syntax.py +113 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/signals.py +43 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/slashcmd.py +124 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/string.py +22 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/subprocess_env.py +52 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/term.py +168 -0
- oracle_cli-1.24.0/src/kimi_cli/utils/typing.py +20 -0
- oracle_cli-1.24.0/src/kimi_cli/vis/__init__.py +0 -0
- oracle_cli-1.24.0/src/kimi_cli/vis/api/__init__.py +5 -0
- oracle_cli-1.24.0/src/kimi_cli/vis/api/sessions.py +504 -0
- oracle_cli-1.24.0/src/kimi_cli/vis/api/statistics.py +209 -0
- oracle_cli-1.24.0/src/kimi_cli/vis/api/system.py +16 -0
- oracle_cli-1.24.0/src/kimi_cli/vis/app.py +177 -0
- oracle_cli-1.24.0/src/kimi_cli/web/__init__.py +5 -0
- oracle_cli-1.24.0/src/kimi_cli/web/api/__init__.py +15 -0
- oracle_cli-1.24.0/src/kimi_cli/web/api/config.py +208 -0
- oracle_cli-1.24.0/src/kimi_cli/web/api/open_in.py +197 -0
- oracle_cli-1.24.0/src/kimi_cli/web/api/sessions.py +1384 -0
- oracle_cli-1.24.0/src/kimi_cli/web/app.py +545 -0
- oracle_cli-1.24.0/src/kimi_cli/web/auth.py +191 -0
- oracle_cli-1.24.0/src/kimi_cli/web/models.py +98 -0
- oracle_cli-1.24.0/src/kimi_cli/web/runner/__init__.py +5 -0
- oracle_cli-1.24.0/src/kimi_cli/web/runner/messages.py +57 -0
- oracle_cli-1.24.0/src/kimi_cli/web/runner/process.py +745 -0
- oracle_cli-1.24.0/src/kimi_cli/web/runner/worker.py +87 -0
- oracle_cli-1.24.0/src/kimi_cli/web/store/__init__.py +1 -0
- oracle_cli-1.24.0/src/kimi_cli/web/store/sessions.py +517 -0
- oracle_cli-1.24.0/src/kimi_cli/wire/__init__.py +148 -0
- oracle_cli-1.24.0/src/kimi_cli/wire/file.py +151 -0
- oracle_cli-1.24.0/src/kimi_cli/wire/jsonrpc.py +247 -0
- oracle_cli-1.24.0/src/kimi_cli/wire/protocol.py +2 -0
- oracle_cli-1.24.0/src/kimi_cli/wire/serde.py +26 -0
- oracle_cli-1.24.0/src/kimi_cli/wire/server.py +814 -0
- oracle_cli-1.24.0/src/kimi_cli/wire/types.py +550 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
|
+
Name: oracle-cli
|
|
3
|
+
Version: 1.24.0
|
|
4
|
+
Summary: Oracle CLI — AI agent for the terminal, powered by Mythic Oracle
|
|
5
|
+
Requires-Dist: agent-client-protocol==0.8.0
|
|
6
|
+
Requires-Dist: aiofiles>=24.0,<26.0
|
|
7
|
+
Requires-Dist: aiohttp==3.13.3
|
|
8
|
+
Requires-Dist: typer==0.21.1
|
|
9
|
+
Requires-Dist: kosong[contrib]==0.45.0
|
|
10
|
+
Requires-Dist: loguru>=0.6.0,<0.8
|
|
11
|
+
Requires-Dist: prompt-toolkit==3.0.52
|
|
12
|
+
Requires-Dist: pillow==12.1.0
|
|
13
|
+
Requires-Dist: pyyaml==6.0.3
|
|
14
|
+
Requires-Dist: rich==14.2.0
|
|
15
|
+
Requires-Dist: ripgrepy==2.2.0
|
|
16
|
+
Requires-Dist: streamingjson==0.0.5
|
|
17
|
+
Requires-Dist: trafilatura==2.0.0
|
|
18
|
+
Requires-Dist: lxml==6.0.2
|
|
19
|
+
Requires-Dist: tenacity==9.1.2
|
|
20
|
+
Requires-Dist: fastmcp==2.12.5
|
|
21
|
+
Requires-Dist: pydantic==2.12.5
|
|
22
|
+
Requires-Dist: httpx[socks]==0.28.1
|
|
23
|
+
Requires-Dist: pykaos==0.7.0
|
|
24
|
+
Requires-Dist: batrachian-toad==0.5.23 ; python_full_version >= '3.14'
|
|
25
|
+
Requires-Dist: tomlkit==0.14.0
|
|
26
|
+
Requires-Dist: jinja2==3.1.6
|
|
27
|
+
Requires-Dist: pyobjc-framework-cocoa>=12.1 ; sys_platform == 'darwin'
|
|
28
|
+
Requires-Dist: fastapi>=0.115.0
|
|
29
|
+
Requires-Dist: uvicorn[standard]>=0.32.0
|
|
30
|
+
Requires-Dist: scalar-fastapi>=1.5.0
|
|
31
|
+
Requires-Dist: websockets>=14.0
|
|
32
|
+
Requires-Dist: keyring>=25.7.0
|
|
33
|
+
Requires-Dist: setproctitle>=1.3.0
|
|
34
|
+
Requires-Python: >=3.12
|
|
35
|
+
Description-Content-Type: text/markdown
|
|
36
|
+
|
|
37
|
+
# Oracle CLI
|
|
38
|
+
|
|
39
|
+
AI agent for the terminal, powered by [Mythic Oracle](https://mythicoracle.ai).
|
|
40
|
+
|
|
41
|
+
Built on [kimi-cli](https://github.com/MoonshotAI/kimi-cli) by MoonshotAI. Customized by [Mythic Labs](https://mythiclabs.io).
|
|
42
|
+
|
|
43
|
+
## Install
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
pip install oracle-cli
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Quick Start
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# Set your API key
|
|
53
|
+
export ORACLE_API_KEY=sk-your-key
|
|
54
|
+
|
|
55
|
+
# Or login with OAuth
|
|
56
|
+
oracle login
|
|
57
|
+
|
|
58
|
+
# Start chatting
|
|
59
|
+
oracle
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Features
|
|
63
|
+
|
|
64
|
+
- Terminal AI agent with code editing, shell commands, web search
|
|
65
|
+
- Powered by Kimi K2.5 (1T parameters, 32B active)
|
|
66
|
+
- OAuth login via mythicoracle.ai
|
|
67
|
+
- Web UI (Technical Preview): `oracle web`
|
|
68
|
+
- MCP server support: `oracle mcp`
|
|
69
|
+
- VS Code / Zed / JetBrains integration
|
|
70
|
+
|
|
71
|
+
## Configuration
|
|
72
|
+
|
|
73
|
+
Config lives at `~/.oracle/config.toml`. Set your API key:
|
|
74
|
+
|
|
75
|
+
```toml
|
|
76
|
+
[providers.oracle]
|
|
77
|
+
type = "kimi"
|
|
78
|
+
base_url = "https://api.moonshot.ai/v1"
|
|
79
|
+
api_key = "sk-your-key"
|
|
80
|
+
|
|
81
|
+
[models.oracle]
|
|
82
|
+
provider = "oracle"
|
|
83
|
+
model = "kimi-k2.5"
|
|
84
|
+
max_context_size = 131072
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## License
|
|
88
|
+
|
|
89
|
+
Apache 2.0 — see [LICENSE](LICENSE)
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Oracle CLI
|
|
2
|
+
|
|
3
|
+
AI agent for the terminal, powered by [Mythic Oracle](https://mythicoracle.ai).
|
|
4
|
+
|
|
5
|
+
Built on [kimi-cli](https://github.com/MoonshotAI/kimi-cli) by MoonshotAI. Customized by [Mythic Labs](https://mythiclabs.io).
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
pip install oracle-cli
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Quick Start
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# Set your API key
|
|
17
|
+
export ORACLE_API_KEY=sk-your-key
|
|
18
|
+
|
|
19
|
+
# Or login with OAuth
|
|
20
|
+
oracle login
|
|
21
|
+
|
|
22
|
+
# Start chatting
|
|
23
|
+
oracle
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Features
|
|
27
|
+
|
|
28
|
+
- Terminal AI agent with code editing, shell commands, web search
|
|
29
|
+
- Powered by Kimi K2.5 (1T parameters, 32B active)
|
|
30
|
+
- OAuth login via mythicoracle.ai
|
|
31
|
+
- Web UI (Technical Preview): `oracle web`
|
|
32
|
+
- MCP server support: `oracle mcp`
|
|
33
|
+
- VS Code / Zed / JetBrains integration
|
|
34
|
+
|
|
35
|
+
## Configuration
|
|
36
|
+
|
|
37
|
+
Config lives at `~/.oracle/config.toml`. Set your API key:
|
|
38
|
+
|
|
39
|
+
```toml
|
|
40
|
+
[providers.oracle]
|
|
41
|
+
type = "kimi"
|
|
42
|
+
base_url = "https://api.moonshot.ai/v1"
|
|
43
|
+
api_key = "sk-your-key"
|
|
44
|
+
|
|
45
|
+
[models.oracle]
|
|
46
|
+
provider = "oracle"
|
|
47
|
+
model = "kimi-k2.5"
|
|
48
|
+
max_context_size = 131072
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## License
|
|
52
|
+
|
|
53
|
+
Apache 2.0 — see [LICENSE](LICENSE)
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "oracle-cli"
|
|
3
|
+
version = "1.24.0"
|
|
4
|
+
description = "Oracle CLI — AI agent for the terminal, powered by Mythic Oracle"
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
requires-python = ">=3.12"
|
|
7
|
+
dependencies = [
|
|
8
|
+
"agent-client-protocol==0.8.0",
|
|
9
|
+
"aiofiles>=24.0,<26.0",
|
|
10
|
+
"aiohttp==3.13.3",
|
|
11
|
+
"typer==0.21.1",
|
|
12
|
+
"kosong[contrib]==0.45.0",
|
|
13
|
+
# loguru stays >=0.6.0 because notify-py (via batrachian-toad) caps it at <=0.6.0 on 3.14+.
|
|
14
|
+
"loguru>=0.6.0,<0.8",
|
|
15
|
+
"prompt-toolkit==3.0.52",
|
|
16
|
+
"pillow==12.1.0",
|
|
17
|
+
"pyyaml==6.0.3",
|
|
18
|
+
"rich==14.2.0",
|
|
19
|
+
"ripgrepy==2.2.0",
|
|
20
|
+
"streamingjson==0.0.5",
|
|
21
|
+
"trafilatura==2.0.0",
|
|
22
|
+
# lxml is used by trafilatura/htmldate/justext; keep pinned for binary wheels.
|
|
23
|
+
"lxml==6.0.2",
|
|
24
|
+
"tenacity==9.1.2",
|
|
25
|
+
"fastmcp==2.12.5",
|
|
26
|
+
"pydantic==2.12.5",
|
|
27
|
+
"httpx[socks]==0.28.1",
|
|
28
|
+
"pykaos==0.7.0",
|
|
29
|
+
"batrachian-toad==0.5.23; python_version >= \"3.14\"",
|
|
30
|
+
"tomlkit==0.14.0",
|
|
31
|
+
"jinja2==3.1.6",
|
|
32
|
+
"pyobjc-framework-cocoa>=12.1 ; sys_platform == 'darwin'",
|
|
33
|
+
"fastapi>=0.115.0",
|
|
34
|
+
"uvicorn[standard]>=0.32.0",
|
|
35
|
+
"scalar-fastapi>=1.5.0",
|
|
36
|
+
"websockets>=14.0",
|
|
37
|
+
"keyring>=25.7.0",
|
|
38
|
+
"setproctitle>=1.3.0",
|
|
39
|
+
]
|
|
40
|
+
|
|
41
|
+
[dependency-groups]
|
|
42
|
+
dev = [
|
|
43
|
+
"pyinstaller==6.18.0",
|
|
44
|
+
"inline-snapshot[black]>=0.31.1",
|
|
45
|
+
"pyright>=1.1.407",
|
|
46
|
+
"ty>=0.0.9",
|
|
47
|
+
"pytest>=9.0.2",
|
|
48
|
+
"pytest-asyncio>=1.3.0",
|
|
49
|
+
"ruff>=0.14.10",
|
|
50
|
+
]
|
|
51
|
+
|
|
52
|
+
[build-system]
|
|
53
|
+
requires = ["uv_build>=0.8.5,<0.10.0"]
|
|
54
|
+
build-backend = "uv_build"
|
|
55
|
+
|
|
56
|
+
[tool.uv.build-backend]
|
|
57
|
+
module-name = ["kimi_cli"]
|
|
58
|
+
source-exclude = ["examples/**/*", "tests/**/*", "src/kimi_cli/deps/**/*"]
|
|
59
|
+
|
|
60
|
+
[tool.uv.workspace]
|
|
61
|
+
members = [
|
|
62
|
+
"packages/kosong",
|
|
63
|
+
"packages/kaos",
|
|
64
|
+
"packages/kimi-code",
|
|
65
|
+
"sdks/kimi-sdk",
|
|
66
|
+
]
|
|
67
|
+
|
|
68
|
+
[tool.uv.sources]
|
|
69
|
+
kosong = { workspace = true }
|
|
70
|
+
pykaos = { workspace = true }
|
|
71
|
+
kimi-cli = { workspace = true }
|
|
72
|
+
|
|
73
|
+
[project.scripts]
|
|
74
|
+
oracle = "kimi_cli.__main__:main"
|
|
75
|
+
oracle-cli = "kimi_cli.__main__:main"
|
|
76
|
+
kimi = "kimi_cli.__main__:main"
|
|
77
|
+
kimi-cli = "kimi_cli.__main__:main"
|
|
78
|
+
|
|
79
|
+
[tool.ruff]
|
|
80
|
+
line-length = 100
|
|
81
|
+
|
|
82
|
+
[tool.ruff.lint]
|
|
83
|
+
select = [
|
|
84
|
+
"E", # pycodestyle
|
|
85
|
+
"F", # Pyflakes
|
|
86
|
+
"UP", # pyupgrade
|
|
87
|
+
"B", # flake8-bugbear
|
|
88
|
+
"SIM", # flake8-simplify
|
|
89
|
+
"I", # isort
|
|
90
|
+
]
|
|
91
|
+
|
|
92
|
+
[tool.ruff.lint.per-file-ignores]
|
|
93
|
+
"tests/**/*.py" = ["E501"]
|
|
94
|
+
"tests_e2e/**/*.py" = ["E501"]
|
|
95
|
+
"src/kimi_cli/web/api/**/*.py" = ["B008"] # FastAPI Depends() is standard usage
|
|
96
|
+
|
|
97
|
+
[tool.pyright]
|
|
98
|
+
typeCheckingMode = "standard"
|
|
99
|
+
pythonVersion = "3.14"
|
|
100
|
+
include = [
|
|
101
|
+
"src/**/*.py",
|
|
102
|
+
"tests/**/*.py",
|
|
103
|
+
"tests_ai/scripts/**/*.py",
|
|
104
|
+
"tests_e2e/**/*.py",
|
|
105
|
+
]
|
|
106
|
+
strict = ["src/kimi_cli/**/*.py"]
|
|
107
|
+
|
|
108
|
+
[tool.ty.environment]
|
|
109
|
+
python-version = "3.14"
|
|
110
|
+
|
|
111
|
+
[tool.ty.src]
|
|
112
|
+
include = [
|
|
113
|
+
"src/**/*.py",
|
|
114
|
+
"tests/**/*.py",
|
|
115
|
+
"tests_ai/scripts/**/*.py",
|
|
116
|
+
"tests_e2e/**/*.py",
|
|
117
|
+
]
|
|
118
|
+
|
|
119
|
+
[tool.typos.files]
|
|
120
|
+
extend-exclude = ["kimi.spec", "pyinstaller.py"]
|
|
121
|
+
|
|
122
|
+
[tool.typos.default.extend-words]
|
|
123
|
+
datas = "datas"
|
|
124
|
+
Seeked = "Seeked"
|
|
125
|
+
seeked = "seeked"
|
|
126
|
+
iterm = "iterm"
|