我的DS2API登上GitHubTrending单日全榜了和Go榜,有点意外和激动,还有一点小担忧

接之前话题 https://linux.do/t/topic/1623235?u=CJackHwang 最近发现star数涨得老快了 然后就上Trending了,梁圣会不会制裁我啊 很感谢大家的支持和反馈啊,于是我连更两天把项目优化了亿下 最新的版本是v4.1.1-2,与之前版本比起来现在除了上下文...
我的DS2API登上GitHubTrending单日全榜了和Go榜,有点意外和激动,还有一点小担忧
我的DS2API登上GitHubTrending单日全榜了和Go榜,有点意外和激动,还有一点小担忧

接之前话题

https://linux.do/t/topic/1623235?u=CJackHwang

IMG_20260428_022010

最近发现star数涨得老快了 然后就上Trending了,梁圣会不会制裁我啊

很感谢大家的支持和反馈啊,于是我连更两天把项目优化了亿下

最新的版本是v4.1.1-2,与之前版本比起来现在除了上下文有时候不太敏感以外,现在几乎接近原生API的水平了

不吹牛吧,试过就知道,我觉得至少应该是目前DeepSeek2API里面工具调用效果最好的,没有之一


具体实现思路项目内有非常详细的技术文档

入口在ds2api/docs/README.md at dev · CJackHwang/ds2api · GitHub

重点看

github.com/CJackHwang/ds2api docs%2Fprompt-compatibility.md dev
# API -> 网页对话纯文本兼容主链路说明

文档导航:[总览](../README.MD) / [架构说明](./ARCHITECTURE.md) / [接口文档](../API.md) / [测试指南](./TESTING.md)

> 本文档是 DS2API“把 OpenAI / Claude / Gemini 风格 API 请求兼容成 DeepSeek 网页对话纯文本上下文”的专项说明。
> 这是项目最重要的兼容产物之一。凡是修改消息标准化、tool prompt 注入、tool history 保留、文件引用、current input file / legacy history_split、下游 completion payload 组装等行为,都必须同步更新本文档。

## 1. 核心结论

DS2API 当前的核心思路,不是把客户端传来的 `messages`、`tools`、`attachments` 原样转发给下游。

而是把这些高层 API 语义,统一压缩成 DeepSeek 网页对话更容易理解的三类输入:

1. `prompt`
   一个单字符串,里面带有角色标记、system 指令、历史消息、assistant reasoning 标签、历史 tool call XML 等。
2. `ref_file_ids`
   一个文件引用数组,承载附件、inline 上传文件,以及必要时被拆出去的历史文件。
3. 控制位
   例如 `thinking_enabled`、`search_enabled`、部分 passthrough 参数。

此文件已被截断。 显示原始文件 github.com/CJackHwang/ds2api docs%2Ftoolcall-semantics.md dev
# Tool call parsing semantics(Go/Node 统一语义)

本文档描述当前代码中的**实际行为**,以 `internal/toolcall`、`internal/toolstream` 与 `internal/js/helpers/stream-tool-sieve` 为准。

文档导航:[总览](../README.MD) / [架构说明](./ARCHITECTURE.md) / [测试指南](./TESTING.md)

## 1) 当前可执行格式

当前版本推荐模型输出 DSML 外壳:

```xml
<|DSML|tool_calls>
  <|DSML|invoke name="read_file">
    <|DSML|parameter name="path"><![CDATA[README.MD]]></|DSML|parameter>
  </|DSML|invoke>
</|DSML|tool_calls>
```

兼容层仍接受旧式 canonical XML:

此文件已被截断。 显示原始文件

这两个文档
希望我项目工程实现对大家有启发

Screenshot_2026-04-28-02-28-27-254_com.tencent.tim-edit

用DeepSeek在本项目接cc从0-1写的react博客系统

Image_1777183767675

Image_1777183764580

工具调用部分 参考了官方v4技术文档 然后再结合外部我们的解析器和上下文工程实现比较稳定的输出

Image_1777218370292

我们项目现在也默认启用内置的Max思考注入 后台可以关闭

9 个帖子 - 9 位参与者

阅读完整话题

来源: linux.do查看原文