vox-code 2.0.0__tar.gz → 2.0.1__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.
- {vox_code-2.0.0 → vox_code-2.0.1}/PKG-INFO +2 -2
- {vox_code-2.0.0 → vox_code-2.0.1}/README.md +1 -1
- {vox_code-2.0.0 → vox_code-2.0.1}/pyproject.toml +1 -1
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/__init__.py +1 -1
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/cli/main.py +1 -1
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/llm/openai_compatible.py +4 -1
- {vox_code-2.0.0 → vox_code-2.0.1}/.env.example +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/.gitignore +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/__main__.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/agent/__init__.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/agent/agent.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/agent/agent_budget.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/agent/agent_orchestrator.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/agent/plan_execute_agent.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/agent/roles.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/agent/sub_agent.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/catalog.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/chat.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/cli/__init__.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/cli/parser.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/config.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/gui/__main__.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/gui/main.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/gui/pet/__init__.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/gui/pet/base.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/gui/pet/coordinator.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/gui/pet/data.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/gui/pet/widgets.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/gui/pet/windows.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/gui/pet/workers.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/gui/pet_app.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/hitl/__init__.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/hitl/handler.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/hitl/policy.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/hitl/request.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/hitl/result.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/hitl/terminal_handler.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/hitl/tool_registry.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/llm/base.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/llm/factory.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/llm/ollama_client.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/memory/base.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/memory/budget.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/memory/compressor.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/memory/entry.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/memory/long_term.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/memory/manager.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/memory/retriever.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/memory/short_term.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/memory/tokenizer.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/plan/__init__.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/plan/execution_plan.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/plan/planner.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/plan/task.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/policy/audit_log.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/policy/command_guard.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/policy/exception.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/policy/path_guard.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/prompting/__init__.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/prompting/presenter.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/rag/__init__.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/rag/analyzer.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/rag/chunk.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/rag/chunker.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/rag/embedding.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/rag/formatter.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/rag/index.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/rag/relation.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/rag/retriever.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/rag/store.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/rag/tokenizer.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/runtime/__init__.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/runtime/session_controller.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/tool/__init__.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/tool/tool_registry.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/util/animation.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/util/ansi.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/util/markdown.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/web/__init__.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/web/base.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/web/extractor.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/web/factory.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/web/fetch_result.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/web/fetcher.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/web/network_policy.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/web/result.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/web/searxng.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/web/serpapi.py +0 -0
- {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/web/zhipu.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: vox-code
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.1
|
|
4
4
|
Summary: Web-aware Tool CLI - 支持 ReAct、Plan-and-Execute、Memory、RAG、Multi-Agent、HITL
|
|
5
5
|
Project-URL: Homepage, https://github.com/faliang1129/vox-cli
|
|
6
6
|
Project-URL: Repository, https://github.com/faliang1129/vox-cli
|
|
@@ -34,7 +34,7 @@ Description-Content-Type: text/markdown
|
|
|
34
34
|
Vox Code 试图把“能聊天的模型”变成“能在本地开发环境里协作的助手”。
|
|
35
35
|
它既可以作为纯终端工具使用,也可以作为桌面编程搭子运行。
|
|
36
36
|
|
|
37
|
-
当前版本:`2.0.
|
|
37
|
+
当前版本:`2.0.1`
|
|
38
38
|
|
|
39
39
|
## Highlights
|
|
40
40
|
|
|
@@ -421,7 +421,7 @@ def main(argv: Optional[Sequence[str]] = None):
|
|
|
421
421
|
def _animate_startup():
|
|
422
422
|
"""Claude Code 风格的启动动画"""
|
|
423
423
|
print(heading("╭──────────────────────────────╮"))
|
|
424
|
-
print(heading("│ Vox Code v2.0.
|
|
424
|
+
print(heading("│ Vox Code v2.0.1 │"))
|
|
425
425
|
print(heading("│ Web-aware Tool CLI │"))
|
|
426
426
|
print(heading("╰──────────────────────────────╯"))
|
|
427
427
|
dots = ProgressDots("Initializing")
|
|
@@ -88,7 +88,10 @@ class OpenAiCompatibleClient(LlmClient):
|
|
|
88
88
|
"stream": True,
|
|
89
89
|
"messages": [],
|
|
90
90
|
}
|
|
91
|
-
|
|
91
|
+
# DeepSeek thinking mode requires previous reasoning_content to be
|
|
92
|
+
# passed back on subsequent turns. Qwen compatible mode still works
|
|
93
|
+
# better without this field by default.
|
|
94
|
+
allow_reasoning_content = self._provider_name != "qwen"
|
|
92
95
|
for msg in messages:
|
|
93
96
|
m: dict = {"role": msg.role}
|
|
94
97
|
content = self._build_message_content(msg)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|