timestamp sanitization, CoT logging, reasoning field fix, persistent queue
- store/types.rs: sanitize timestamps on capnp load — old records had raw offsets instead of unix epoch, breaking sort-by-timestamp queries - agents/api.rs: drain reasoning tokens from UI channel into LLM logs so we can see Qwen's chain-of-thought in agent output - agents/daemon.rs: persistent task queue (pending-tasks.jsonl) — tasks survive daemon restarts. Push before spawn, remove on completion, recover on startup. - api/openai.rs: only send reasoning field when explicitly configured, not on every request (fixes vllm warning) - api/mod.rs: add 600s total request timeout as backstop for hung connections - Cargo.toml: enable tokio-console feature for task introspection Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
869a2fbc38
commit
34937932ab
7 changed files with 477 additions and 30 deletions
|
|
@ -39,6 +39,7 @@ impl ApiClient {
|
|||
pub fn new(base_url: &str, api_key: &str, model: &str) -> Self {
|
||||
let client = Client::builder()
|
||||
.connect_timeout(Duration::from_secs(30))
|
||||
.timeout(Duration::from_secs(600))
|
||||
.build()
|
||||
.expect("failed to build HTTP client");
|
||||
|
||||
|
|
|
|||
|
|
@ -30,10 +30,14 @@ pub async fn stream(
|
|||
max_tokens: Some(16384),
|
||||
temperature: Some(0.6),
|
||||
stream: Some(true),
|
||||
reasoning: Some(ReasoningConfig {
|
||||
enabled: reasoning_effort != "none",
|
||||
effort: Some(reasoning_effort.to_string()),
|
||||
}),
|
||||
reasoning: if reasoning_effort != "none" && reasoning_effort != "default" {
|
||||
Some(ReasoningConfig {
|
||||
enabled: true,
|
||||
effort: Some(reasoning_effort.to_string()),
|
||||
})
|
||||
} else {
|
||||
None
|
||||
},
|
||||
chat_template_kwargs: None,
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue