CJACK.
ec4f178908
Merge pull request #416 from CJackHwang/main
...
Add Star History section to README
Added a Star History section with a chart to the README.
2026-05-03 20:48:53 +08:00
CJACK.
f413d42b0c
Add Star History section to README
...
Added a Star History section with a chart to the README.
v4.4.1
2026-05-03 20:46:22 +08:00
CJACK.
5406f07938
Add Star History section to README
...
Added Star History section with a chart to track repository stars.
2026-05-03 20:45:31 +08:00
CJACK.
fe87ded82b
Merge pull request #415 from CJackHwang/dev
...
[codex] unify response history session management across API backends
2026-05-03 20:41:22 +08:00
CJACK
8ace349f84
feat: refactor context file uploading to support tools and streamline live message construction
2026-05-03 20:27:57 +08:00
CJACK
112bedb05d
refactor: differentiate reference marker handling between stream and non-stream modes
...
- Stream: strip both and [reference:N] markers to prevent
leaking partial link metadata during incremental output
- Non-stream: convert citation/reference markers to Markdown links for
Claude Messages, Gemini generateContent, and OpenAI Chat/Responses
- Remove StripReferenceMarkers option from call sites; behavior is now
determined automatically by stream vs non-stream context
- Extend JS runtime stripReferenceMarkersText() to also match [citation:N]
- Add tests for streaming marker stripping and non-stream link conversion
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-03 17:53:49 +08:00
CJACK
c099a6f7bf
feat: add unified response history session management across Claude, Gemini, and OpenAI API backends
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-03 17:24:38 +08:00
CJACK
5e55cf36d8
refactor: prioritize raw model output in chat history archiving to ensure accurate capture of tool call and thinking markup
2026-05-03 15:44:17 +08:00
CJACK
837dc74ffc
feat: implement DS2API_HISTORY.txt transcript parser to merge history into chat messages
2026-05-03 15:25:06 +08:00
CJACK.
c32fe30239
Merge pull request #408 from CJackHwang/dev
...
v4.4.0: streaming perf + Gemini thinking + DSML parser hardening
v4.4.0
2026-05-03 07:37:14 +08:00
CJACK
03b2acfc9f
docs: add DS2API project value note and link it from docs index
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-03 07:33:04 +08:00
CJACK
a299c7d1c4
refactor: remove thinking content from empty output validation logic to enforce stricter completion requirements
2026-05-03 06:59:20 +08:00
CJACK
51d3578465
fix: ensure CDATA parsing correctly tracks line offsets to preserve compact tool call content
2026-05-03 06:49:22 +08:00
CJACK
072ec57acd
fix: improve CDATA parsing resilience by ignoring structural markers inside markdown fences within tool calls
2026-05-03 06:40:29 +08:00
CJACK
545ab0802f
feat: extend DSML tag prefix to also recognize underscore-connected variants
...
Support `<dsml_tool_calls>`, `<dsml_invoke>`, `<dsml_parameter>` in
addition to the existing pipe, space, hyphen, and collapsed forms.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-03 05:39:49 +08:00
CJACK
a7522b4188
fix: retry thinking-only empty outputs, centralize reference marker stripping
...
- ValidateTurn no longer errors on thinking-only responses, deferring to
ShouldRetryEmptyOutput which now also covers thinking-only outputs.
- Empty output retry uses multi-turn follow-up with a regeneration prompt
suffix and parent_message_id in the same DeepSeek session.
- Centralize StripReferenceMarkersEnabled into textclean package to
eliminate duplicated hardcoded booleans across 4 protocol handlers.
- Log a deprecation warning when the legacy "compat" config key is used.
- Document thinking-only retry and reference marker stripping in API.md.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-03 05:02:26 +08:00
CJACK
1286b02247
refactor: remove legacy compatibility configuration and UI components
2026-05-03 04:14:19 +08:00
CJACK
2f7cb473fc
feat: support hyphenated DSML tag variants in tool-call parsing
...
Add compatibility for <dsml-tool-calls>/<dsml-invoke>/<dsml-parameter>
tag forms alongside the canonical pipe-prefixed DSML shell. Hyphenated
forms only activate when a DSML prefix is detected, preventing false
matches on bare XML lookalikes. Go and Node parsers aligned, with tests
covering here-doc CDATA, streaming sieve, and negative lookalike cases.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-03 03:09:10 +08:00
CJACK
ad80a57efa
docs: add missing directory entries and package descriptions to architecture docs
...
Fill gaps identified in architecture audit: add artifacts/ and static/ to
directory tree, and document 7 auxiliary internal/ packages (textclean,
claudeconv, compat, rawsample, devcapture, util, version) in Section 3.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-03 02:51:19 +08:00
CJACK
5f110e6910
refactor: remove legacy history split configuration and integrate current input file handling into the completion runtime pipeline.
2026-05-03 01:50:50 +08:00
CJACK
7c0bc9ec0f
feat: implement support for thinking blocks in Gemini API and enable thinking by default for supported models
2026-05-03 01:00:06 +08:00
CJACK
a901250de7
refactor: replace bufio.Scanner with bufio.Reader for SSE stream parsing and track emitted text to prevent redundant output blocks
2026-05-02 23:50:35 +08:00
CJACK
dc5bffdf89
refactor: centralize assistant turn semantics and stream accumulation into new assistantturn and completionruntime packages
2026-05-02 23:28:43 +08:00
CJACK
eccd8c957b
fix: prevent continuation replay overlap by trimming redundant text from thinking and response streams
2026-05-02 21:34:36 +08:00
CJACK.
b1d0ee07c0
Merge pull request #406 from wyv202011y/perf/streaming-speed-optimization
...
perf(streaming): optimize TTFT and reduce buffering latency
2026-05-02 21:19:04 +08:00
CJACK
0156f6b45b
Merge origin/dev into PR 406
2026-05-02 21:17:02 +08:00
CJACK
a9f46f5b25
chore: bump version to 4.3.1
2026-05-02 21:04:12 +08:00
CJACK
e7d6807c7c
feat: emit empty completion chunk along with keep-alive heartbeat in chat stream
2026-05-02 20:54:10 +08:00
王
d407ccb773
perf(streaming): optimize TTFT and reduce buffering latency
...
Core changes:
- stream.go: New accumulation buffer architecture with scanner goroutine
+ select loop, MinChars=16, MaxWait=10ms, first-flush-immediate
- dedupe.go: Add TrimContinuationOverlapFromBuilder to avoid string copies
- claude/stream_runtime_core.go: Integrate toolstream for incremental text
- claude/stream_runtime_finalize.go: toolstream flush support
- stream_emitter.js: Reduce DeltaCoalescer thresholds (160->16 chars, 80->20ms)
- empty_retry: Add thinking-aware empty output detection
- Fix reasoning_content leak and finish_reason=null in edge cases
- Fix tail content truncation when max_tokens exceeded
Tests: sync test expectations with upstream for thinking content
2026-05-02 20:28:30 +08:00
CJACK
c8f7b6b371
refactor streaming accumulation and chat history UI
2026-05-02 20:15:38 +08:00
CJACK.
20d71f528a
Merge pull request #404 from NgoQuocViet2001/ai/openai-file-retrieve
...
feat(openai): retrieve uploaded file metadata
2026-05-02 15:42:40 +08:00
NgoQuocViet2001
36d0239dc6
feat(openai): retrieve uploaded file metadata
2026-05-02 14:33:42 +07:00
CJACK.
e620752e2b
Merge pull request #403 from VanceHud/main
...
修复了使用Zeabur部署会失败的问题
2026-05-02 14:10:18 +08:00
VanceHud
44cb27872c
Merge branch 'CJackHwang:main' into main
2026-05-02 12:19:09 +08:00
CJACK
3d52040b3b
merge: sync release smoke fix from dev
v4.3.0
2026-05-02 04:23:02 +08:00
CJACK
049e40e5f1
fix: drop obsolete release smoke check
2026-05-02 04:19:23 +08:00
CJACK.
217e0e9f01
Merge pull request #398 from CJackHwang/dev
...
feat: enhanced input validation, tool call resilience & performance
2026-05-02 04:04:44 +08:00
CJACK
b3c54fcf3d
chore: bump version to 4.3.0
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-02 03:55:36 +08:00
CJACK
1c38709d32
feat: add support for parsing loose JSON lists into arrays in tool call parameters
2026-05-02 03:26:43 +08:00
CJACK
28e800c670
chore: remove obsolete planning and gate target files
2026-05-02 02:40:57 +08:00
CJACK
4389e02b29
feat: implement sync.Pool for tiktoken encoding instances to optimize token counting performance
2026-05-02 02:31:24 +08:00
CJACK
e2756f800d
feat: introduce JSON UTF-8 validation middleware and prepend output integrity guard system prompt to messages
2026-05-02 02:22:34 +08:00
CJACK
55abf64717
feat: add model type support for file uploads with automatic resolution and header propagation
2026-05-02 00:55:17 +08:00
CJACK
76ee2faa12
chore: bump version to 4.2.2 and update documentation to reflect improved release workflows, CI dependencies, and project structure
2026-05-01 23:44:07 +08:00
CJACK.
9c3696194c
Merge pull request #393 from CJackHwang/dev
...
Merge pull request #391 from BigUncle/fix/vercel-admin-history-rewrite
Fix: add missing Vercel rewrite rules for admin API routes
2026-05-01 23:28:03 +08:00
CJACK
0bca6e2cee
feat: implement context cancellation handling for chat and response stream runtimes to ensure clean termination without retries
2026-05-01 23:20:46 +08:00
CJACK.
934b40e572
Merge pull request #392 from wyv202011y/fix/timeout-and-context-cancel
...
fix: increase stream timeout constants for large-context models; guar…
2026-05-01 23:17:31 +08:00
CJACK
dd5a0c5213
refactor: update and standardize current input file continuation prompt instructions
2026-05-01 22:27:59 +08:00
CJACK
43402e7a26
refactor: rename history file constant from HISTORY.txt to DS2API_HISTORY.txt across codebase and tests
2026-05-01 22:05:45 +08:00
CJACK.
6373c001f5
Merge pull request #391 from BigUncle/fix/vercel-admin-history-rewrite
...
Fix: add missing Vercel rewrite rules for admin API routes
2026-05-01 21:45:14 +08:00